From e7cac481bf35081065f4a69ce134e11cbb0edd0a Mon Sep 17 00:00:00 2001 From: leojay-net Date: Thu, 24 Apr 2025 13:58:58 +0100 Subject: [PATCH 1/2] feat: Add deployment script and configuration for Organization contracts - Updated foundry.toml to enable optimizer and set optimizer runs. - Created remappings.txt for library path configuration. - Added deploy script (deploy.s.sol) for deploying OrganizationFactory and creating organizations and recipients. - Included script_command.txt for executing the deployment script with necessary parameters. - Added verify_command.txt for verifying the deployed contracts on Etherscan. --- README.md | 146 ++++++++--- .../deploy.s.sol/4202/run-1745498012.json | 240 ++++++++++++++++++ .../deploy.s.sol/4202/run-1745498130.json | 240 ++++++++++++++++++ .../deploy.s.sol/4202/run-1745498326.json | 240 ++++++++++++++++++ .../deploy.s.sol/4202/run-1745498368.json | 240 ++++++++++++++++++ broadcast/deploy.s.sol/4202/run-latest.json | 240 ++++++++++++++++++ foundry.toml | 3 + remappings.txt | 1 + script/deploy.s.sol | 53 ++++ script_command.txt | 3 + verify_command.txt | 1 + 11 files changed, 1368 insertions(+), 39 deletions(-) create mode 100644 broadcast/deploy.s.sol/4202/run-1745498012.json create mode 100644 broadcast/deploy.s.sol/4202/run-1745498130.json create mode 100644 broadcast/deploy.s.sol/4202/run-1745498326.json create mode 100644 broadcast/deploy.s.sol/4202/run-1745498368.json create mode 100644 broadcast/deploy.s.sol/4202/run-latest.json create mode 100644 remappings.txt create mode 100644 script/deploy.s.sol create mode 100644 script_command.txt create mode 100644 verify_command.txt diff --git a/README.md b/README.md index 9265b45..880a0fa 100644 --- a/README.md +++ b/README.md @@ -1,66 +1,134 @@ -## Foundry +# HR_Project_Web3Bridge -**Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust.** +This repository contains the smart contracts and related scripts for the HR_Project_Web3Bridge, a blockchain-based solution for managing organizations and contracts. The project leverages [Foundry](https://book.getfoundry.sh/) for development, testing, and deployment of Solidity smart contracts. -Foundry consists of: +## Deployed Contracts (Sepolia Network) -- **Forge**: Ethereum testing framework (like Truffle, Hardhat and DappTools). -- **Cast**: Swiss army knife for interacting with EVM smart contracts, sending transactions and getting chain data. -- **Anvil**: Local Ethereum node, akin to Ganache, Hardhat Network. -- **Chisel**: Fast, utilitarian, and verbose solidity REPL. +- **OrganizationFactory**: [0xe1db6db5f799feeb969088ac1ec7072b295a55a0](https://sepolia-blockscout.lisk.com/address/0xe1db6db5f799feeb969088ac1ec7072b295a55a0) +- **OrganizationContract**: [0xe90d6a043c34ab9c03f541e99c21dbe48d14e92b](https://sepolia-blockscout.lisk.com/address/0xe90d6a043c34ab9c03f541e99c21dbe48d14e92b) -## Documentation +## Table of Contents -https://book.getfoundry.sh/ +- [Overview](#overview) +- [Project Structure](#project-structure) +- [Installation](#installation) +- [Usage](#usage) +- [Smart Contracts](#smart-contracts) +- [Testing](#testing) +- [Deployment](#deployment) +- [Contributing](#contributing) +- [License](#license) -## Usage +## Overview -### Build +HR_Project_Web3Bridge is a decentralized solution that enables organizations to manage their operations on the blockchain. The project consists of multiple smart contracts that handle organization creation, management, and token operations. -```shell -$ forge build -``` +### Key Features + +- Organization creation and management +- Token management system +- Secure contract interactions +- Full test coverage +- Foundry-based development environment -### Test +## Project Structure -```shell -$ forge test +``` +contracts/ +├── src/ +│ ├── contracts/ # Main contract implementations +│ ├── interfaces/ # Contract interfaces +│ └── libraries/ # Shared libraries and utilities +├── script/ # Deployment scripts +├── test/ # Contract test files +└── lib/ # Dependencies and libraries ``` -### Format +## Installation -```shell -$ forge fmt -``` +1. **Prerequisites** + - [Foundry](https://book.getfoundry.sh/getting-started/installation.html) + - Git -### Gas Snapshots +2. **Clone the Repository** + ```bash + git clone + cd HR_Project_Web3Bridge/contracts + ``` -```shell -$ forge snapshot -``` +3. **Install Dependencies** + ```bash + forge install + ``` -### Anvil +## Usage -```shell -$ anvil +### Compiling Contracts +```bash +forge build ``` -### Deploy +### Running Tests +```bash +forge test +``` -```shell -$ forge script script/Counter.s.sol:CounterScript --rpc-url --private-key +### Deploying Contracts +```bash +forge script script/deploy.s.sol --rpc-url --private-key --broadcast ``` -### Cast +## Smart Contracts + +### OrganizationFactory +- Main contract for creating and managing organizations +- Handles organization deployment and registration +- Maintains organization registry + +### OrganizationContract +- Implements organization-specific logic +- Manages organization members and roles +- Handles organization-specific operations -```shell -$ cast +### Additional Components +- **IERC20.sol**: Standard ERC20 interface implementation +- **Tokens.sol**: Token management functionality +- **errors.sol**: Custom error definitions +- **structs.sol**: Shared data structures + +## Testing + +The project includes comprehensive tests for all smart contracts. Test files are located in the `test/` directory: + +- OrganizationContract.t.sol +- OrganizationFactory.t.sol +- Token.t.sol + +To run specific tests: +```bash +forge test --match-contract OrganizationFactoryTest ``` -### Help +## Deployment + +The project uses Foundry's deployment system through scripts in the `script/` directory. The main deployment script is `deploy.s.sol`. -```shell -$ forge --help -$ anvil --help -$ cast --help +### Deployment Commands +```bash +# Deploy to local network +forge script script/deploy.s.sol --fork-url http://localhost:8545 --broadcast + +# Deploy to testnet +forge script script/deploy.s.sol --rpc-url --private-key --broadcast --verify ``` + +### Verification Commands +Verification commands can be found in `verify_command.txt` + +## Contributing + +1. Fork the repository +2. Create a feature branch +3. Commit your changes +4. Push to the branch +5. Open a Pull Request diff --git a/broadcast/deploy.s.sol/4202/run-1745498012.json b/broadcast/deploy.s.sol/4202/run-1745498012.json new file mode 100644 index 0000000..b515115 --- /dev/null +++ b/broadcast/deploy.s.sol/4202/run-1745498012.json @@ -0,0 +1,240 @@ +{ + "transactions": [ + { + "hash": "0xba186b5e258644010da513f80bac36826403973448e110f2fb4013ecad78df0a", + "transactionType": "CREATE", + "contractName": "OrganizationFactory", + "contractAddress": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "function": null, + "arguments": [ + "0xCcB723EDa6201FB9655e0301AA1C2d73dd5aa51F" + ], + "transaction": { + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "gas": "0x498758", + "value": "0x0", + "input": "0x608034608457601f6141c338819003918201601f19168301916001600160401b03831184841017608857808492602094604052833981010312608457516001600160a01b038116908190036084575f8054336001600160a01b0319818116928116929092171790915560038054909116919091179055604051614126908161009d8239f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080806040526004361015610012575f80fd5b5f905f3560e01c9081630a38111c14610da5575080631d16392314610d885780635a1f740614610ce65780635fa7b58414610bda57806361ba81d814610aae57806368c4ac2614610a765780636a2b20c214610a365780636f0fccab146109d157806374d27f341461092f57806375151b63146108d75780638da5cb5b146108b0578063a411ef20146103fb578063b0b22c2c146101d1578063be27432f14610117578063c415b95c146100ee5763e49fba6b146100ce575f80fd5b346100eb57806003193601126100eb576020600254604051908152f35b80fd5b50346100eb57806003193601126100eb576003546040516001600160a01b039091168152602090f35b50346100eb5760403660031901126100eb57610131610de4565b9061013a610dfa565b91610143610fca565b6001600160a01b039081168252600460205260408220541680156101c2578192813b156101be576040516301485b9d60e71b81526001600160a01b0390911660048201529082908290602490829084905af180156101b3576101a25750f35b816101ac91610e78565b6100eb5780f35b6040513d84823e3d90fd5b5050fd5b639551f8b360e01b8252600482fd5b50346100eb5760403660031901126100eb5760043567ffffffffffffffff81116103f757610203903690600401610f5e565b61020b610dfa565b610213610fca565b61021b610fca565b8151156103e8576001600160a01b03169081156103d95781835260016020526102476040842054610e10565b6103ca57818352600160205260408320815167ffffffffffffffff81116103b6576102728254610e10565b601f811161037b575b506020601f821160011461031c5790806102a9928791610311575b508160011b915f199060031b1c19161790565b90555b6002545f1981146102fd577f7afee0f1b802cc0f66c67890e26b4566251859cf2cd8de79b86aed7251d9756a9160016102f79201600255604051918291602083526020830190610f3a565b0390a280f35b634e487b7160e01b84526011600452602484fd5b90508401515f610296565b82865280862090601f198316875b8181106103635750908360019493921061034b575b5050811b0190556102ac565b8501515f1960f88460031b161c191690555f8061033f565b9192602060018192868a01518155019401920161032a565b6103a69083875260208720601f840160051c810191602085106103ac575b601f0160051c0190610fb4565b5f61027b565b9091508190610399565b634e487b7160e01b85526041600452602485fd5b63c78e82ad60e01b8352600483fd5b630f58058360e11b8352600483fd5b6316c31e7760e21b8352600483fd5b5080fd5b50346100eb5760403660031901126100eb5760043567ffffffffffffffff81116103f75761042d903690600401610f5e565b60243567ffffffffffffffff81116108ac5761044d903690600401610f5e565b9080511561089d5781511561088e57338352600460205260408320546001600160a01b031661087f5760035460405190613104808301916001600160a01b03169067ffffffffffffffff83118484101761086b57916104de918493610fed8539338252306020830152604082015260a060608201526104cf60a0820186610f3a565b90608081830391015285610f3a565b039084f080156108605760018060a01b03169133845260046020526040842060018060a01b0384166bffffffffffffffffffffffff60a01b82541617905560405160208101903360601b82524260348201526034815261053f605482610e78565b5190206040519061054f82610e48565b8152602081018381526040820183815260608301338152608084019142835260a0850193428552338a52600560205260408a2095518655600186019051805167ffffffffffffffff811161084c578b6105a88454610e10565b601f811161081c575b505060208c601f83116001146107ba57906105e093836106dc575b50508160011b915f199060031b1c19161790565b90555b518051600286019167ffffffffffffffff82116107a6579060209a83926106108c9a999897969554610e10565b601f8111610777575b508c91601f84116001146106e757836106c7999794600597947ff4b9821f6bc54fe8ce60a727c514af1fe81e7be7f09ba6b32b23e7da12fb92ae9c9a979461067494926106dc5750508160011b915f199060031b1c19161790565b90555b516003850180546001600160a01b0319166001600160a01b039290921691909117905551600484015551910155604051606080825290956106ba91870190610f3a565b9085820388870152610f3a565b924260408201528033940390a3604051908152f35b015190505f806105cc565b9190601f198416858452828420935b81811061075d575093600596937ff4b9821f6bc54fe8ce60a727c514af1fe81e7be7f09ba6b32b23e7da12fb92ae9b999693600193836106c79d9b9810610745575b505050811b019055610677565b01515f1960f88460031b161c191690555f8080610738565b8383015185558e9c50600190940193928f01928f016106f6565b6107a0908584528e8420601f860160051c810191602087106103ac57601f0160051c0190610fb4565b5f610619565b634e487b7160e01b8b52604160045260248bfd5b9192601f198416858452828420935b81811061080457509084600195949392106107ec575b505050811b0190556105e3565b01515f1960f88460031b161c191690555f80806107df565b929360206001819287860151815501950193016107c9565b60208286610845945220601f840160051c810191602085106103ac57601f0160051c0190610fb4565b8b5f6105b1565b634e487b7160e01b8c52604160045260248cfd5b6040513d85823e3d90fd5b634e487b7160e01b87526041600452602487fd5b6369c24f0b60e01b8352600483fd5b633e61080d60e01b8352600483fd5b636cc61e7360e11b8352600483fd5b8280fd5b50346100eb57806003193601126100eb57546040516001600160a01b039091168152602090f35b50346100eb5760203660031901126100eb576001600160a01b036108f9610de4565b168015610920576040826109169260209452600184522054610e10565b1515604051908152f35b630f58058360e11b8252600482fd5b50346109be5760403660031901126109be57610949610de4565b610951610fca565b6001600160a01b039081165f908152600460205260409020541680156109c257803b156109be575f809160246040518094819363096a8ab760e01b8352833560048401525af180156109b3576109a5575080f35b6109b191505f90610e78565b005b6040513d5f823e3d90fd5b5f80fd5b639551f8b360e01b5f5260045ffd5b346109be5760203660031901126109be576001600160a01b036109f2610de4565b168015610a27575f526001602052610a23610a0f60405f20610e9a565b604051918291602083526020830190610f3a565b0390f35b630f58058360e11b5f5260045ffd5b346109be5760203660031901126109be576001600160a01b03610a57610de4565b165f526004602052602060018060a01b0360405f205416604051908152f35b346109be5760203660031901126109be576001600160a01b03610a97610de4565b165f526001602052610a23610a0f60405f20610e9a565b346109be5760203660031901126109be57610ac7610de4565b5f60a0604051610ad681610e48565b8281526060602082015260606040820152826060820152826080820152015260018060a01b0316805f52600560205260405f2054156109c2575f52600560205260405f20604051610b2681610e48565b81548152610b3660018301610e9a565b9160208201928352610b4a60028201610e9a565b6040830190815260018060a01b036003830154169160608401928352610bba60056004830154926080870193845201549260a08601938452610ba7604051978897602089525160208901525160c0604089015260e0880190610f3a565b9051868203601f19016060880152610f3a565b92516001600160a01b031660808501525160a08401525160c08301520390f35b346109be5760203660031901126109be57610bf3610de4565b610bfb610fca565b6001600160a01b03168015610cd757610c12610fca565b805f526001602052610c2760405f2054610e10565b15610cd757805f52600160205260405f20610c428154610e10565b9081610c94575b50506002548015610c80575f19016002557f4c910b69fe65a61f7531b9c5042b2329ca7179c77290aa7e2eb3afa3c8511fd35f80a2005b634e487b7160e01b5f52601160045260245ffd5b81601f5f9311600114610cab5750555b8180610c49565b81835260208320610cc791601f0160051c810190600101610fb4565b8082528160208120915555610ca4565b63c1ab6dc160e01b5f5260045ffd5b346109be5760203660031901126109be576001600160a01b03610d07610de4565b165f52600560205260405f208054610d2160018301610e9a565b91610d2e60028201610e9a565b60018060a01b0360038301541691610d746005600483015492015492610d66604051978897885260c0602089015260c0880190610f3a565b908682036040880152610f3a565b926060850152608084015260a08301520390f35b346109be575f3660031901126109be576020600254604051908152f35b346109be5760203660031901126109be576020906001600160a01b03610dc9610de4565b165f9081526004835260409020546001600160a01b03168152f35b600435906001600160a01b03821682036109be57565b602435906001600160a01b03821682036109be57565b90600182811c92168015610e3e575b6020831014610e2a57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610e1f565b60c0810190811067ffffffffffffffff821117610e6457604052565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff821117610e6457604052565b9060405191825f825492610ead84610e10565b8084529360018116908115610f185750600114610ed4575b50610ed292500383610e78565b565b90505f9291925260205f20905f915b818310610efc575050906020610ed2928201015f610ec5565b6020919350806001915483858901015201910190918492610ee3565b905060209250610ed294915060ff191682840152151560051b8201015f610ec5565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b81601f820112156109be5780359067ffffffffffffffff8211610e645760405192610f93601f8401601f191660200185610e78565b828452602083830101116109be57815f926020809301838601378301015290565b818110610fbf575050565b5f8155600101610fb4565b5f546001600160a01b03163303610fdd57565b631a27eac360e11b5f5260045ffdfe6080806040523461048a57613104803803809161001c828561048e565b8339810160a08282031261048a57610033826104b1565b90610040602084016104b1565b61004c604085016104b1565b60608501519094906001600160401b03811161048a578361006e9183016104c5565b60808201519093906001600160401b03811161048a5761008e92016104c5565b926001600160a01b03811691821561047b576001600160a01b031694851561047b576001600160a01b031694851561047b5783511561046c5784511561045d578260018060a01b03195f5416175f5560018060a01b03196001541617600155604051602081019160018060601b03199060601b1682524260348201526034815261011960548261048e565b5190206040519093909260c084016001600160401b0381118582101761036057604052848452806020850152604084019182526060840192835260a06080850194428652019442865260035580519060018060401b0382116103605760045490600182811c92168015610453575b60208310146103425781601f8493116103e5575b50602090601f831160011461037f575f92610374575b50508160011b915f199060031b1c1916176004555b518051906001600160401b0382116103605760055490600182811c92168015610356575b60208310146103425781601f8493116102f1575b50602090601f831160011461028b575f92610280575b50508160011b915f199060031b1c1916176005555b60018060a01b0390511660018060a01b031960065416176006555160075551600855603260105560018060a01b0319600254161760025567016345785d8a0000600f556001601155604051612be9908161051b8239f35b015190505f80610214565b60055f9081528281209350601f198516905b8181106102d957509084600195949392106102c1575b505050811b01600555610229565b01515f1960f88460031b161c191690555f80806102b3565b9293602060018192878601518155019501930161029d565b90915060055f5260205f20601f840160051c81019160208510610338575b90601f859493920160051c01905b81811061032a57506101fe565b5f815584935060010161031d565b909150819061030f565b634e487b7160e01b5f52602260045260245ffd5b91607f16916101ea565b634e487b7160e01b5f52604160045260245ffd5b015190505f806101b1565b60045f9081528281209350601f198516905b8181106103cd57509084600195949392106103b5575b505050811b016004556101c6565b01515f1960f88460031b161c191690555f80806103a7565b92936020600181928786015181550195019301610391565b60045f529091507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f840160051c81019160208510610449575b90601f859493920160051c01905b81811061043b575061019b565b5f815584935060010161042e565b9091508190610420565b91607f1691610187565b633e61080d60e01b5f5260045ffd5b636cc61e7360e11b5f5260045ffd5b63e6c4247b60e01b5f5260045ffd5b5f80fd5b601f909101601f19168101906001600160401b0382119082101761036057604052565b51906001600160a01b038216820361048a57565b81601f8201121561048a578051906001600160401b03821161036057604051926104f9601f8401601f19166020018561048e565b8284526020838301011161048a57815f9260208093018386015e830101529056fe60806040526004361015610011575f80fd5b5f3560e01c8063096a8ab71461214c578063150d2ce8146120e5578063182dafff14611e9c57806322eabb8e14611e7f57806325ffb76714611c7d57806341e0c42714611c0557806348f1e4b514611ac45780634e2727d6146117725780635c62c9671461172b57806362812a39146115dd57806371b6d224146115bf57806375151b631461159257806376c751c6146112095780637e9a8de014610c6457806388a72a6f14610c475780638d7942c214610bc65780638da5cb5b14610b9f57806392d5d7fe14610b0e57806399a5d74714610ae85780639ed3edf014610acb578063a42dce8014610a55578063a5e047b8146109f1578063c415b95c146109c9578063c45a0155146109a1578063cc2fd93014610955578063cc5b8baf1461091d578063cef34b9814610900578063dd06ab5f146106c4578063e077c07814610573578063e30909b9146103af578063e894d0a2146102be578063eb820312146102185763f8defa3c14610184575f80fd5b34610214575f366003190112610214576009546101a081612549565b906101ae6040519283612281565b8082526020820160095f527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af5f915b8383106101f657604051806101f2878261248a565b0390f35b60046020600192610206856126b6565b8152019201920191906101dd565b5f80fd5b34610214576020366003190112610214576001600160a01b036102396121b0565b165f52600a60205260405f208054600182015491610259600282016123c8565b600382015491600481015460018060a01b03600583015416906102a06007600685015494015494604051988998895260208901526101006040890152610100880190612466565b946060870152608086015260a085015260c084015260e08301520390f35b34610214575f366003190112610214575f60a06040516102dd81612266565b8281526060602082015260606040820152826060820152826080820152015260405161030881612266565b60035481526103156122a2565b9060208101918252610325612346565b6040820190815260018060a01b036006541690606083019182526007546080840190815261038f6008549260a0860193845261037c604051978897602089525160208901525160c0604089015260e0880190612466565b9051868203601f19016060880152612466565b92516001600160a01b031660808501525160a08401525160c08301520390f35b34610214576040366003190112610214576103c86121b0565b6024356001600160401b038111610214576103e79036906004016124f4565b906103f0612b60565b6001600160a01b0316801561056457805f52600a60205260405f20541561055557815115610546575f52600a60205260405f206002810182516001600160401b0381116105325761044182546121dc565b601f81116104ed575b506020601f821160011461048c57819293945f92610481575b50508160011b915f199060031b1c19161790555b6007429101555f80f35b015190508480610463565b601f19821690835f52805f20915f5b8181106104d5575095836001959697106104bd575b505050811b019055610477565b01515f1960f88460031b161c191690558480806104b0565b9192602060018192868b01518155019401920161049b565b825f5260205f20601f830160051c81019160208410610528575b601f0160051c01905b81811061051d575061044a565b5f8155600101610510565b9091508190610507565b634e487b7160e01b5f52604160045260245ffd5b636cc61e7360e11b5f5260045ffd5b6366a21ffb60e01b5f5260045ffd5b63e6c4247b60e01b5f5260045ffd5b34610214576060366003190112610214576004356001600160401b038111610214576105a3903690600401612560565b6024356001600160401b03811161021457366023820112156102145780600401356105cd81612549565b916105db6040519384612281565b8183526024602084019260051b820101903682116102145760248101925b8284106106955785856044356001600160401b038111610214576106219036906004016125ce565b9161062a612b60565b8051825103610686578051835103610686575f5b81518110156106845760019061067d6001600160a01b0361065f83866126a2565b511661066b83876126a2565b5161067684896126a2565b51916126f4565b500161063e565b005b63b4fa3fb360e01b5f5260045ffd5b83356001600160401b038111610214576020916106b98392602436918701016124f4565b8152019301926105f9565b34610214575f366003190112610214576106dc612b60565b5f5f600d54905b81811061083e575061070d6106f783612549565b926107056040519485612281565b808452612549565b602083019190601f19013683375f5f5b828110610771578385604051918291602083019060208452518091526040830191905f5b81811061074f575050500390f35b82516001600160a01b0316845285945060209384019390920191600101610741565b60018060a01b0381165f52600b60205260405f2060405161079181612214565b600460018060a01b0383541692838352600181015460208401526002810154604084015260038101546060840152015460ff811615918215608082015260c060ff8360081c161592831560a084015260018060a01b039060101c169101528215159182610836575b508161082e575b5061080f575b5060010161071d565b826108279161082160019495896126a2565b52612694565b9190610806565b905087610800565b9150886107f9565b60018060a01b0381165f52600b60205260405f206040519061085f82612214565b600460018060a01b038254169182845260018101546020850152600281015460408501526003810154606085015201549060ff821615928315608082015260c060ff8460081c161593841560a084015260018060a01b039060101c16910152151591826108f8575b50816108f0575b506108dc575b6001016106e3565b916108e8600191612694565b9290506108d4565b9050846108ce565b9150856108c7565b34610214575f366003190112610214576020600e54604051908152f35b34610214576020366003190112610214576001600160a01b0361093e6121b0565b165f52600c602052602060405f2054604051908152f35b34610214576020366003190112610214577f6d34b3f6f48575724889e5dc1271a918c090c0ccd4fb6c361d25585debef14066020600435610994612b60565b80600f55604051908152a1005b34610214575f366003190112610214576001546040516001600160a01b039091168152602090f35b34610214575f366003190112610214576002546040516001600160a01b039091168152602090f35b346102145760203660031901126102145760043560095481101561021457610a1a60809161262b565b50805460018201546002830154600390930154604080516001600160a01b039485168152929093166020830152918101929092526060820152f35b3461021457602036600319011261021457610a6e6121b0565b610a76612b3d565b6001600160a01b03168015610564576020817fe5693914d19c789bdee50a362998c0bc8d035a835f9871da5d51152f0582c34f926bffffffffffffffffffffffff60a01b6002541617600255604051908152a1005b34610214575f366003190112610214576020601054604051908152f35b34610214576020366003190112610214576020610b06600435612b21565b604051908152f35b34610214576020366003190112610214576001600160a01b03610b2f6121b0565b165f52600b60205260e060405f2060018060a01b03815416906001810154906002810154600460038301549201549260405194855260208501526040840152606083015260ff81161515608083015260ff8160081c16151560a083015260018060a01b039060101c1660c0820152f35b34610214575f366003190112610214575f546040516001600160a01b039091168152602090f35b3461021457604036600319011261021457610bdf6121b0565b60243590610beb612b60565b6001600160a01b031690811561056457815f52600a60205260405f2054156105555760207fce085fc5aeaa5dba9675c29e7f91ffb489df67981b590b65a48b1457a1fc308c91835f52600c82528060405f2055604051908152a2005b34610214575f366003190112610214576020600f54604051908152f35b3461021457606036600319011261021457610c7d6121b0565b6024356001600160401b03811161021457610c9c903690600401612560565b906044356001600160401b03811161021457610cbc9036906004016125ce565b916002601154146111fa576002601155610cd4612b60565b8051835103610686576001600160a01b03821691821561056457610cf790612a2c565b156111eb5782905f915f93825194610d0e86612549565b95610d1c6040519788612281565b808752610d2b601f1991612549565b013660208801375f5b8451811015610ecc57610d4781856126a2565b5115610e64576001600160a01b03610d5f82876126a2565b511615610564576001600160a01b03610d7882876126a2565b51165f52600a60205260405f209586541561055557610da0610d9a83876126a2565b516129e4565b610da981612b21565b610db381836129d7565b610dbd85896126a2565b5103610e9257610dd2610dd89260049461265b565b9461265b565b960154908115610e735781610ded82876126a2565b511115610e6457610e0a600192610e0483886126a2565b516129d7565b610e14828a6126a2565b525b610e5b828060a01b03610e2983896126a2565b5116610e3583886126a2565b5160405191610e438361222f565b82528660208301526040820152426060820152612a87565b01949094610d34565b63162908e360e11b5f5260045ffd5b60019150610e8181866126a2565b51610e8c828a6126a2565b52610e16565b60405162461bcd60e51b81526020600482015260126024820152712332b29036b4b9b1b0b631bab630ba34b7b760711b6044820152606490fd5b50928592946040516370a0823160e01b8152336004820152602081602481875afa801561104a5782915f916111b6575b5010610e6457604051636eb1769f60e11b8152336004820152306024820152602081604481875afa801561104a5782915f91611181575b5010611172575f5b82518110156110b5576001600160a01b03610f5682856126a2565b511690815f52600a602052600460405f200154611055575b610fb46020610f7d83896126a2565b516040516323b872dd60e01b81523360048201526001600160a01b0386166024820152604481019190915291829081906064820190565b03815f8a5af190811561104a575f9161101c575b501561100d57600191857f0f64b92a091214409b5000aa33869d5a13c5f95c0b777e4e90ba90aa1d0caf176020610fff858d6126a2565b51604051908152a301610f3b565b6312171d8360e31b5f5260045ffd5b61103d915060203d8111611043575b6110358183612281565b81019061267c565b89610fc8565b503d61102b565b6040513d5f823e3d90fd5b5f828152600a602090815260408083206004908101805490859055600b84529382902001805461ff0019166101001790555191825283917fdf350d510bb8ebdfe431d9cd8936d9adcde99cd7a55657d251e1fc9fc08af27d9190a2610f6e565b50908480611101575b507feb4c91d1e20aae92fc74a1fe60fe3b5060d372d51c3e08869baa24f84874dccb91604091519082519182526020820152a26001601155602060405160018152f35b6002546040516323b872dd60e01b81523360048201526001600160a01b03909116602482015260448101919091526020816064815f885af190811561104a575f91611153575b501561100d57836110be565b61116c915060203d602011611043576110358183612281565b84611147565b6365ba6fc360e01b5f5260045ffd5b9150506020813d6020116111ae575b8161119d60209383612281565b810103126102145781905188610f33565b3d9150611190565b9150506020813d6020116111e3575b816111d260209383612281565b810103126102145781905188610efc565b3d91506111c5565b633dd1b30560e01b5f5260045ffd5b6306fda65d60e31b5f5260045ffd5b34610214576060366003190112610214576112226121b0565b61122a6121c6565b6044356002601154146111fa576002601155611244612b60565b6001600160a01b038316918215610564576001600160a01b038116938415610564578215610e645761127590612a2c565b156111eb57835f52600a60205260405f209081541561055557611297836129e4565b916112a183612b21565b926112ac84826129d7565b85810361154d576040516112dc916112c38261222f565b8982528860208301526040820152426060820152612a87565b6040516370a0823160e01b81523360048201526020816024818a5afa801561104a5782915f91611518575b5010610e6457604051636eb1769f60e11b81523360048201523060248201526020816044818a5afa90811561104a575f916114e6575b501061117257600401805484918161146f575b50506040516323b872dd60e01b81523360048201526001600160a01b039092166024830152604482015260208180606481015b03815f885af190811561104a575f91611450575b501561100d57806113df575b5060207f0f64b92a091214409b5000aa33869d5a13c5f95c0b777e4e90ba90aa1d0caf1791604051908152a36001601155602060405160018152f35b6002546040516323b872dd60e01b81523360048201526001600160a01b03909116602482015260448101919091526020816064815f875af190811561104a575f91611431575b501561100d57836113a3565b61144a915060203d602011611043576110358183612281565b84611425565b611469915060203d602011611043576110358183612281565b85611397565b90809250851115610e645761138392877fdf350d510bb8ebdfe431d9cd8936d9adcde99cd7a55657d251e1fc9fc08af27d6020855f6114af83988c6129d7565b9655835f52600b82525f6004604082208281558260018201558260028201558260038201550155604051908152a292819250611350565b90506020813d602011611510575b8161150160209383612281565b8101031261021457518861133d565b3d91506114f4565b9150506020813d602011611545575b8161153460209383612281565b810103126102145781905189611307565b3d9150611527565b60405162461bcd60e51b815260206004820152601b60248201527f4d69736d6174636820696e206665652063616c63756c6174696f6e00000000006044820152606490fd5b346102145760203660031901126102145760206115b56115b06121b0565b612a2c565b6040519015158152f35b34610214576020366003190112610214576020610b066004356129e4565b34610214576020366003190112610214576115f66121b0565b5f60e06040516116058161224a565b828152826020820152606060408201528260608201528260808201528260a08201528260c0820152015260018060a01b0316801561056457805f52600a60205260405f205415610555575f52600a60205260405f206040516116668161224a565b8154815260018201549160208201928352611683600282016123c8565b604083019081526003820154916060840192835260048101546080850190815260018060a01b036005830154169060a086019182526116fe600760068501549460c0890195865201549460e0880195865260405198899860208a525160208a0152516040890152516101006060890152610120880190612466565b945160808701525160a0860152516001600160a01b031660c08501525160e0840152516101008301520390f35b34610214576060366003190112610214576117446121b0565b6024356001600160401b03811161021457602091611769610b069236906004016124f4565b604435916126f4565b34610214576040366003190112610214576004356001600160401b038111610214576117a29036906004016124f4565b6024356001600160401b038111610214576117c19036906004016124f4565b6117c9612b60565b81511561054657805115611ab5578151916001600160401b038311610532576117f36004546121dc565b601f8111611a4d575b50602092601f81116001146119e157809192935f916119d6575b508160011b915f199060031b1c1916176004555b81516001600160401b038111610532576118456005546121dc565b601f811161196e575b506020601f82116001146118dc5791816118be927f860b8b881bb84f47cb86ac440df8baf77920bf8351874ea568c06605c50cf6da945f916118d1575b508160011b915f199060031b1c1916176005555b426008556118cc60035494604051938493604085526040850190612466565b908382036020850152612466565b0390a2005b90508501518661188b565b601f1982169060055f525f516020612b745f395f51905f52915f5b8181106119565750927f860b8b881bb84f47cb86ac440df8baf77920bf8351874ea568c06605c50cf6da9492600192826118be961061193e575b5050811b0160055561189f565b8701515f1960f88460031b161c191690558680611931565b9192602060018192868a0151815501940192016118f7565b60055f52601f820160051c5f516020612b745f395f51905f520190602083106119c1575b601f0160051c5f516020612b745f395f51905f5201905b8181106119b6575061184e565b5f81556001016119a9565b5f516020612b745f395f51905f529150611992565b905082015184611816565b601f1981169360045f525f516020612b945f395f51905f52905f5b868110611a35575082600194959610611a1d575b5050811b0160045561182a565b8401515f1960f88460031b161c191690558480611a10565b909160206001819285880151815501930191016119fc565b60045f52601f840160051c5f516020612b945f395f51905f52019060208510611aa0575b601f0160051c5f516020612b945f395f51905f5201905b818110611a9557506117fc565b5f8155600101611a88565b5f516020612b945f395f51905f529150611a71565b633e61080d60e01b5f5260045ffd5b3461021457602036600319011261021457611add6121b0565b6009545f916001600160a01b0316825b828110611bce5750611afe83612549565b92611b0c6040519485612281565b808452611b1b601f1991612549565b015f5b818110611b9f5750505f905f5b838110611b4057604051806101f2878261248a565b81611b4a8261262b565b50546001600160a01b031614611b63575b600101611b2b565b91611b97600191611b7c611b768661262b565b506126b6565b611b8682896126a2565b52611b9181886126a2565b50612694565b929050611b5b565b602090604051611bae8161222f565b5f81525f838201525f60408201525f606082015282828801015201611b1e565b81611bd88261262b565b50546001600160a01b031614611bf1575b600101611aed565b92611bfd600191612694565b939050611be9565b34610214575f36600319011261021457600354611c206122a2565b90611c29612346565b60018060a01b036006541690600754611c6960085492611c5b604051978897885260c0602089015260c0880190612466565b908682036040880152612466565b926060850152608084015260a08301520390f35b3461021457604036600319011261021457600435611c996121c6565b335f52600a60205260405f20541561055557611cb481612a2c565b15611e70578115610e6457335f52600c60205260405f20548211610e6457335f52600b60205260405f2060405190611ceb82612214565b600460018060a01b038254169182845260018101546020850152600281015460408501526003810154606085015201549160ff83161515608082015260c060ff8460081c161593841560a084015260018060a01b039060101c1691015215159081611e68575b50611e595760405190611d6382612214565b3380835260208084018581524260408087019182525f606088018181526080890182815260a08a018381526001600160a01b03998a1660c08c01908152988452600b90975292909120975188546001600160a01b0319169716969096178755915160018701555160028601559251600385015591516004939093018054925191516001600160b01b031990931660ff941515949094169390931790151560081b61ff00161760109190911b62010000600160b01b0316179055600e54611e2890612694565b600e556040519081527f19a703b7248cc8f4116eef5d65eb2a9b4a83bd8d37c962f33d021f019278075b60203392a2005b6341abc80160e01b5f5260045ffd5b905083611d51565b63c1ab6dc160e01b5f5260045ffd5b34610214575f366003190112610214576020600d54604051908152f35b3461021457602036600319011261021457611eb56121b0565b6002601154146111fa576002601155611ecc612b60565b6001600160a01b03168015610564575f818152600b6020526040902080546001600160a01b0316908115611e5957600481019182549060ff82166120d6575f52600a60205260405f2054156105555760019060ff191617825542600382015560018101918254845f52600a602052611f4c600460405f200191825461265b565b9055546040516370a0823160e01b815233600482015260109190911c6001600160a01b031692602082602481875afa91821561104a575f926120a2575b5054809110610e6457604051636eb1769f60e11b8152336004820152306024820152602081604481875afa801561104a5782915f9161206d575b50106111725790546040516323b872dd60e01b81523360048201526001600160a01b039091166024820152604481019190915290602090829060649082905f905af190811561104a575f9161204e575b501561100d576040516020917f5a1d60dbcb373a8c141fa80faf8e10467f6bcdfedfa593edc0feb21be4aa111f5f80a2600160115560018152f35b612067915060203d602011611043576110358183612281565b82612013565b9150506020813d60201161209a575b8161208960209383612281565b810103126102145781905186611fc3565b3d915061207c565b9091506020813d6020116120ce575b816120be60209383612281565b8101031261021457519085611f89565b3d91506120b1565b63080fc0bd60e11b5f5260045ffd5b34610214576040366003190112610214576120fe6121b0565b6024359061210a612b60565b6001600160a01b0316801561056457805f52600a60205260405f205415610555578115610e64575f52600a60205260405f209060038201556007429101555f80f35b3461021457602036600319011261021457600435612168612b3d565b605081116121a1576020817f21ea14061974d1886e13e854a8a738e5177a587170a7f767a2b182a3f8b8dcdf92601055604051908152a1005b6358d620b360e01b5f5260045ffd5b600435906001600160a01b038216820361021457565b602435906001600160a01b038216820361021457565b90600182811c9216801561220a575b60208310146121f657565b634e487b7160e01b5f52602260045260245ffd5b91607f16916121eb565b60e081019081106001600160401b0382111761053257604052565b608081019081106001600160401b0382111761053257604052565b61010081019081106001600160401b0382111761053257604052565b60c081019081106001600160401b0382111761053257604052565b90601f801991011681019081106001600160401b0382111761053257604052565b604051905f82600454916122b5836121dc565b808352926001811690811561232757506001146122db575b6122d992500383612281565b565b5060045f90815290915f516020612b945f395f51905f525b81831061230b5750509060206122d9928201016122cd565b60209193508060019154838589010152019101909184926122f3565b602092506122d994915060ff191682840152151560051b8201016122cd565b604051905f8260055491612359836121dc565b8083529260018116908115612327575060011461237c576122d992500383612281565b5060055f90815290915f516020612b745f395f51905f525b8183106123ac5750509060206122d9928201016122cd565b6020919350806001915483858901015201910190918492612394565b9060405191825f8254926123db846121dc565b80845293600181169081156124445750600114612400575b506122d992500383612281565b90505f9291925260205f20905f915b8183106124285750509060206122d9928201015f6123f3565b602091935080600191548385890101520191019091849261240f565b9050602092506122d994915060ff191682840152151560051b8201015f6123f3565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60206040818301928281528451809452019201905f5b8181106124ad5750505090565b825180516001600160a01b039081168652602082810151909116818701526040808301519087015260609182015191860191909152608090940193909201916001016124a0565b81601f82011215610214578035906001600160401b0382116105325760405192612528601f8401601f191660200185612281565b8284526020838301011161021457815f926020809301838601378301015290565b6001600160401b0381116105325760051b60200190565b9080601f830112156102145781359061257882612549565b926125866040519485612281565b82845260208085019360051b82010191821161021457602001915b8183106125ae5750505090565b82356001600160a01b0381168103610214578152602092830192016125a1565b9080601f830112156102145781356125e581612549565b926125f36040519485612281565b81845260208085019260051b82010192831161021457602001905b82821061261b5750505090565b813581526020918201910161260e565b6009548110156126475760095f5260205f209060021b01905f90565b634e487b7160e01b5f52603260045260245ffd5b9190820180921161266857565b634e487b7160e01b5f52601160045260245ffd5b90816020910312610214575180151581036102145790565b5f1981146126685760010190565b80518210156126475760209160051b010190565b906040516126c38161222f565b82546001600160a01b0390811682526001840154166020820152600283015460408201526003909201546060830152565b9291926126ff612b60565b815115610546576001600160a01b03811690811561056457815f52600a60205260405f20546129c85760405160208101916bffffffffffffffffffffffff199060601b1682524260348201526034815261275a605482612281565b519020916003546040519061276e8261224a565b84825260208201908152604082019683885260608301908152608083015f815260a084019086825260c085019242845260e0860194428652885f52600a60205260405f2096518755516001870155600286019a519a8b516001600160401b03811161053257601f9c6127e083546121dc565b9d8e11612982575b8b9c9d505f9b9a9b50602090601f83116001146128c95792827f407385dc1873eabb5f992b55d2de317c1f69aac3f03d91e49a6ea160636109089b9996936128b89b999693600799965f926128be575b50508160011b915f199060031b1c19161790555b516003870155516004860155516005850180546001600160a01b0319166001600160a01b039290921691909117905551600684015551910155600d5461289190612694565b600d55600f54855f52600c60205260405f2055604051918291602083526020830190612466565b0390a390565b015190505f80612838565b601f9b9a9998979695949392919b19821690835f528c5f20915f5b81811061294e5750926007989694927f407385dc1873eabb5f992b55d2de317c1f69aac3f03d91e49a6ea160636109089d9e600193836128b89f9e9d9b999710612936575b505050811b01905561284c565b01515f1960f88460031b161c191690555f8080612929565b939597999b9d9496989a9c5090916020600181928786015181550195019301908f9c9a98969492919d9b999795939d6128e4565b825f5260205f20601f830160051c81019e602084106129be575b601f0160051c019d8e5b81106129b257506127e8565b5f81556001018e6129a6565b909e508e9061299c565b63d8abd7e760e01b5f5260045ffd5b9190820391821161266857565b6127108102908082046127101490151715612668576010549081612710039161271083116126685761271014612a18570490565b634e487b7160e01b5f52601260045260245ffd5b6001546040516375151b6360e01b81526001600160a01b0392831660048201529160209183916024918391165afa90811561104a575f91612a6b575090565b612a84915060203d602011611043576110358183612281565b90565b6009546801000000000000000081101561053257600181016009556009548110156126475760095f5260021b7f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0190805182546001600160a01b03199081166001600160a01b0392831617845560208301516001850180549092169216919091179055604081015160028301556060015160039190910155565b6010549081810291818304149015171561266857612710900490565b6001546001600160a01b03163303612b5157565b631a27eac360e11b5f5260045ffd5b5f546001600160a01b03163303612b515756fe036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db08a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19ba264697066735822122008232c4962bd90900d091417d61b64f45394bf3531eaf11a4b2716ab5b9cd10164736f6c634300081c0033a2646970667358221220f9218596c9dcf73850d7727d5f278b137477cbbc9554e8d05f0fc8a6b36c113464736f6c634300081c0033000000000000000000000000ccb723eda6201fb9655e0301aa1c2d73dd5aa51f", + "nonce": "0x1", + "chainId": "0x106a" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xec38dabd51dd1a3078655ed33a94e7642e32e9915fdddb1f9652a354caefeaec", + "transactionType": "CALL", + "contractName": "OrganizationFactory", + "contractAddress": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "function": "createOrganization(string,string)", + "arguments": [ + "My Organization", + "This is a description of my organization." + ], + "transaction": { + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "gas": "0x3ba233", + "value": "0x0", + "input": "0xa411ef2000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000f4d79204f7267616e697a6174696f6e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029546869732069732061206465736372697074696f6e206f66206d79206f7267616e697a6174696f6e2e0000000000000000000000000000000000000000000000", + "nonce": "0x2", + "chainId": "0x106a" + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0xa9765e241283ca2f713a42f71b8bada7d21c7f6c", + "initCode": "0x6080806040523461048a57613104803803809161001c828561048e565b8339810160a08282031261048a57610033826104b1565b90610040602084016104b1565b61004c604085016104b1565b60608501519094906001600160401b03811161048a578361006e9183016104c5565b60808201519093906001600160401b03811161048a5761008e92016104c5565b926001600160a01b03811691821561047b576001600160a01b031694851561047b576001600160a01b031694851561047b5783511561046c5784511561045d578260018060a01b03195f5416175f5560018060a01b03196001541617600155604051602081019160018060601b03199060601b1682524260348201526034815261011960548261048e565b5190206040519093909260c084016001600160401b0381118582101761036057604052848452806020850152604084019182526060840192835260a06080850194428652019442865260035580519060018060401b0382116103605760045490600182811c92168015610453575b60208310146103425781601f8493116103e5575b50602090601f831160011461037f575f92610374575b50508160011b915f199060031b1c1916176004555b518051906001600160401b0382116103605760055490600182811c92168015610356575b60208310146103425781601f8493116102f1575b50602090601f831160011461028b575f92610280575b50508160011b915f199060031b1c1916176005555b60018060a01b0390511660018060a01b031960065416176006555160075551600855603260105560018060a01b0319600254161760025567016345785d8a0000600f556001601155604051612be9908161051b8239f35b015190505f80610214565b60055f9081528281209350601f198516905b8181106102d957509084600195949392106102c1575b505050811b01600555610229565b01515f1960f88460031b161c191690555f80806102b3565b9293602060018192878601518155019501930161029d565b90915060055f5260205f20601f840160051c81019160208510610338575b90601f859493920160051c01905b81811061032a57506101fe565b5f815584935060010161031d565b909150819061030f565b634e487b7160e01b5f52602260045260245ffd5b91607f16916101ea565b634e487b7160e01b5f52604160045260245ffd5b015190505f806101b1565b60045f9081528281209350601f198516905b8181106103cd57509084600195949392106103b5575b505050811b016004556101c6565b01515f1960f88460031b161c191690555f80806103a7565b92936020600181928786015181550195019301610391565b60045f529091507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f840160051c81019160208510610449575b90601f859493920160051c01905b81811061043b575061019b565b5f815584935060010161042e565b9091508190610420565b91607f1691610187565b633e61080d60e01b5f5260045ffd5b636cc61e7360e11b5f5260045ffd5b63e6c4247b60e01b5f5260045ffd5b5f80fd5b601f909101601f19168101906001600160401b0382119082101761036057604052565b51906001600160a01b038216820361048a57565b81601f8201121561048a578051906001600160401b03821161036057604051926104f9601f8401601f19166020018561048e565b8284526020838301011161048a57815f9260208093018386015e830101529056fe60806040526004361015610011575f80fd5b5f3560e01c8063096a8ab71461214c578063150d2ce8146120e5578063182dafff14611e9c57806322eabb8e14611e7f57806325ffb76714611c7d57806341e0c42714611c0557806348f1e4b514611ac45780634e2727d6146117725780635c62c9671461172b57806362812a39146115dd57806371b6d224146115bf57806375151b631461159257806376c751c6146112095780637e9a8de014610c6457806388a72a6f14610c475780638d7942c214610bc65780638da5cb5b14610b9f57806392d5d7fe14610b0e57806399a5d74714610ae85780639ed3edf014610acb578063a42dce8014610a55578063a5e047b8146109f1578063c415b95c146109c9578063c45a0155146109a1578063cc2fd93014610955578063cc5b8baf1461091d578063cef34b9814610900578063dd06ab5f146106c4578063e077c07814610573578063e30909b9146103af578063e894d0a2146102be578063eb820312146102185763f8defa3c14610184575f80fd5b34610214575f366003190112610214576009546101a081612549565b906101ae6040519283612281565b8082526020820160095f527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af5f915b8383106101f657604051806101f2878261248a565b0390f35b60046020600192610206856126b6565b8152019201920191906101dd565b5f80fd5b34610214576020366003190112610214576001600160a01b036102396121b0565b165f52600a60205260405f208054600182015491610259600282016123c8565b600382015491600481015460018060a01b03600583015416906102a06007600685015494015494604051988998895260208901526101006040890152610100880190612466565b946060870152608086015260a085015260c084015260e08301520390f35b34610214575f366003190112610214575f60a06040516102dd81612266565b8281526060602082015260606040820152826060820152826080820152015260405161030881612266565b60035481526103156122a2565b9060208101918252610325612346565b6040820190815260018060a01b036006541690606083019182526007546080840190815261038f6008549260a0860193845261037c604051978897602089525160208901525160c0604089015260e0880190612466565b9051868203601f19016060880152612466565b92516001600160a01b031660808501525160a08401525160c08301520390f35b34610214576040366003190112610214576103c86121b0565b6024356001600160401b038111610214576103e79036906004016124f4565b906103f0612b60565b6001600160a01b0316801561056457805f52600a60205260405f20541561055557815115610546575f52600a60205260405f206002810182516001600160401b0381116105325761044182546121dc565b601f81116104ed575b506020601f821160011461048c57819293945f92610481575b50508160011b915f199060031b1c19161790555b6007429101555f80f35b015190508480610463565b601f19821690835f52805f20915f5b8181106104d5575095836001959697106104bd575b505050811b019055610477565b01515f1960f88460031b161c191690558480806104b0565b9192602060018192868b01518155019401920161049b565b825f5260205f20601f830160051c81019160208410610528575b601f0160051c01905b81811061051d575061044a565b5f8155600101610510565b9091508190610507565b634e487b7160e01b5f52604160045260245ffd5b636cc61e7360e11b5f5260045ffd5b6366a21ffb60e01b5f5260045ffd5b63e6c4247b60e01b5f5260045ffd5b34610214576060366003190112610214576004356001600160401b038111610214576105a3903690600401612560565b6024356001600160401b03811161021457366023820112156102145780600401356105cd81612549565b916105db6040519384612281565b8183526024602084019260051b820101903682116102145760248101925b8284106106955785856044356001600160401b038111610214576106219036906004016125ce565b9161062a612b60565b8051825103610686578051835103610686575f5b81518110156106845760019061067d6001600160a01b0361065f83866126a2565b511661066b83876126a2565b5161067684896126a2565b51916126f4565b500161063e565b005b63b4fa3fb360e01b5f5260045ffd5b83356001600160401b038111610214576020916106b98392602436918701016124f4565b8152019301926105f9565b34610214575f366003190112610214576106dc612b60565b5f5f600d54905b81811061083e575061070d6106f783612549565b926107056040519485612281565b808452612549565b602083019190601f19013683375f5f5b828110610771578385604051918291602083019060208452518091526040830191905f5b81811061074f575050500390f35b82516001600160a01b0316845285945060209384019390920191600101610741565b60018060a01b0381165f52600b60205260405f2060405161079181612214565b600460018060a01b0383541692838352600181015460208401526002810154604084015260038101546060840152015460ff811615918215608082015260c060ff8360081c161592831560a084015260018060a01b039060101c169101528215159182610836575b508161082e575b5061080f575b5060010161071d565b826108279161082160019495896126a2565b52612694565b9190610806565b905087610800565b9150886107f9565b60018060a01b0381165f52600b60205260405f206040519061085f82612214565b600460018060a01b038254169182845260018101546020850152600281015460408501526003810154606085015201549060ff821615928315608082015260c060ff8460081c161593841560a084015260018060a01b039060101c16910152151591826108f8575b50816108f0575b506108dc575b6001016106e3565b916108e8600191612694565b9290506108d4565b9050846108ce565b9150856108c7565b34610214575f366003190112610214576020600e54604051908152f35b34610214576020366003190112610214576001600160a01b0361093e6121b0565b165f52600c602052602060405f2054604051908152f35b34610214576020366003190112610214577f6d34b3f6f48575724889e5dc1271a918c090c0ccd4fb6c361d25585debef14066020600435610994612b60565b80600f55604051908152a1005b34610214575f366003190112610214576001546040516001600160a01b039091168152602090f35b34610214575f366003190112610214576002546040516001600160a01b039091168152602090f35b346102145760203660031901126102145760043560095481101561021457610a1a60809161262b565b50805460018201546002830154600390930154604080516001600160a01b039485168152929093166020830152918101929092526060820152f35b3461021457602036600319011261021457610a6e6121b0565b610a76612b3d565b6001600160a01b03168015610564576020817fe5693914d19c789bdee50a362998c0bc8d035a835f9871da5d51152f0582c34f926bffffffffffffffffffffffff60a01b6002541617600255604051908152a1005b34610214575f366003190112610214576020601054604051908152f35b34610214576020366003190112610214576020610b06600435612b21565b604051908152f35b34610214576020366003190112610214576001600160a01b03610b2f6121b0565b165f52600b60205260e060405f2060018060a01b03815416906001810154906002810154600460038301549201549260405194855260208501526040840152606083015260ff81161515608083015260ff8160081c16151560a083015260018060a01b039060101c1660c0820152f35b34610214575f366003190112610214575f546040516001600160a01b039091168152602090f35b3461021457604036600319011261021457610bdf6121b0565b60243590610beb612b60565b6001600160a01b031690811561056457815f52600a60205260405f2054156105555760207fce085fc5aeaa5dba9675c29e7f91ffb489df67981b590b65a48b1457a1fc308c91835f52600c82528060405f2055604051908152a2005b34610214575f366003190112610214576020600f54604051908152f35b3461021457606036600319011261021457610c7d6121b0565b6024356001600160401b03811161021457610c9c903690600401612560565b906044356001600160401b03811161021457610cbc9036906004016125ce565b916002601154146111fa576002601155610cd4612b60565b8051835103610686576001600160a01b03821691821561056457610cf790612a2c565b156111eb5782905f915f93825194610d0e86612549565b95610d1c6040519788612281565b808752610d2b601f1991612549565b013660208801375f5b8451811015610ecc57610d4781856126a2565b5115610e64576001600160a01b03610d5f82876126a2565b511615610564576001600160a01b03610d7882876126a2565b51165f52600a60205260405f209586541561055557610da0610d9a83876126a2565b516129e4565b610da981612b21565b610db381836129d7565b610dbd85896126a2565b5103610e9257610dd2610dd89260049461265b565b9461265b565b960154908115610e735781610ded82876126a2565b511115610e6457610e0a600192610e0483886126a2565b516129d7565b610e14828a6126a2565b525b610e5b828060a01b03610e2983896126a2565b5116610e3583886126a2565b5160405191610e438361222f565b82528660208301526040820152426060820152612a87565b01949094610d34565b63162908e360e11b5f5260045ffd5b60019150610e8181866126a2565b51610e8c828a6126a2565b52610e16565b60405162461bcd60e51b81526020600482015260126024820152712332b29036b4b9b1b0b631bab630ba34b7b760711b6044820152606490fd5b50928592946040516370a0823160e01b8152336004820152602081602481875afa801561104a5782915f916111b6575b5010610e6457604051636eb1769f60e11b8152336004820152306024820152602081604481875afa801561104a5782915f91611181575b5010611172575f5b82518110156110b5576001600160a01b03610f5682856126a2565b511690815f52600a602052600460405f200154611055575b610fb46020610f7d83896126a2565b516040516323b872dd60e01b81523360048201526001600160a01b0386166024820152604481019190915291829081906064820190565b03815f8a5af190811561104a575f9161101c575b501561100d57600191857f0f64b92a091214409b5000aa33869d5a13c5f95c0b777e4e90ba90aa1d0caf176020610fff858d6126a2565b51604051908152a301610f3b565b6312171d8360e31b5f5260045ffd5b61103d915060203d8111611043575b6110358183612281565b81019061267c565b89610fc8565b503d61102b565b6040513d5f823e3d90fd5b5f828152600a602090815260408083206004908101805490859055600b84529382902001805461ff0019166101001790555191825283917fdf350d510bb8ebdfe431d9cd8936d9adcde99cd7a55657d251e1fc9fc08af27d9190a2610f6e565b50908480611101575b507feb4c91d1e20aae92fc74a1fe60fe3b5060d372d51c3e08869baa24f84874dccb91604091519082519182526020820152a26001601155602060405160018152f35b6002546040516323b872dd60e01b81523360048201526001600160a01b03909116602482015260448101919091526020816064815f885af190811561104a575f91611153575b501561100d57836110be565b61116c915060203d602011611043576110358183612281565b84611147565b6365ba6fc360e01b5f5260045ffd5b9150506020813d6020116111ae575b8161119d60209383612281565b810103126102145781905188610f33565b3d9150611190565b9150506020813d6020116111e3575b816111d260209383612281565b810103126102145781905188610efc565b3d91506111c5565b633dd1b30560e01b5f5260045ffd5b6306fda65d60e31b5f5260045ffd5b34610214576060366003190112610214576112226121b0565b61122a6121c6565b6044356002601154146111fa576002601155611244612b60565b6001600160a01b038316918215610564576001600160a01b038116938415610564578215610e645761127590612a2c565b156111eb57835f52600a60205260405f209081541561055557611297836129e4565b916112a183612b21565b926112ac84826129d7565b85810361154d576040516112dc916112c38261222f565b8982528860208301526040820152426060820152612a87565b6040516370a0823160e01b81523360048201526020816024818a5afa801561104a5782915f91611518575b5010610e6457604051636eb1769f60e11b81523360048201523060248201526020816044818a5afa90811561104a575f916114e6575b501061117257600401805484918161146f575b50506040516323b872dd60e01b81523360048201526001600160a01b039092166024830152604482015260208180606481015b03815f885af190811561104a575f91611450575b501561100d57806113df575b5060207f0f64b92a091214409b5000aa33869d5a13c5f95c0b777e4e90ba90aa1d0caf1791604051908152a36001601155602060405160018152f35b6002546040516323b872dd60e01b81523360048201526001600160a01b03909116602482015260448101919091526020816064815f875af190811561104a575f91611431575b501561100d57836113a3565b61144a915060203d602011611043576110358183612281565b84611425565b611469915060203d602011611043576110358183612281565b85611397565b90809250851115610e645761138392877fdf350d510bb8ebdfe431d9cd8936d9adcde99cd7a55657d251e1fc9fc08af27d6020855f6114af83988c6129d7565b9655835f52600b82525f6004604082208281558260018201558260028201558260038201550155604051908152a292819250611350565b90506020813d602011611510575b8161150160209383612281565b8101031261021457518861133d565b3d91506114f4565b9150506020813d602011611545575b8161153460209383612281565b810103126102145781905189611307565b3d9150611527565b60405162461bcd60e51b815260206004820152601b60248201527f4d69736d6174636820696e206665652063616c63756c6174696f6e00000000006044820152606490fd5b346102145760203660031901126102145760206115b56115b06121b0565b612a2c565b6040519015158152f35b34610214576020366003190112610214576020610b066004356129e4565b34610214576020366003190112610214576115f66121b0565b5f60e06040516116058161224a565b828152826020820152606060408201528260608201528260808201528260a08201528260c0820152015260018060a01b0316801561056457805f52600a60205260405f205415610555575f52600a60205260405f206040516116668161224a565b8154815260018201549160208201928352611683600282016123c8565b604083019081526003820154916060840192835260048101546080850190815260018060a01b036005830154169060a086019182526116fe600760068501549460c0890195865201549460e0880195865260405198899860208a525160208a0152516040890152516101006060890152610120880190612466565b945160808701525160a0860152516001600160a01b031660c08501525160e0840152516101008301520390f35b34610214576060366003190112610214576117446121b0565b6024356001600160401b03811161021457602091611769610b069236906004016124f4565b604435916126f4565b34610214576040366003190112610214576004356001600160401b038111610214576117a29036906004016124f4565b6024356001600160401b038111610214576117c19036906004016124f4565b6117c9612b60565b81511561054657805115611ab5578151916001600160401b038311610532576117f36004546121dc565b601f8111611a4d575b50602092601f81116001146119e157809192935f916119d6575b508160011b915f199060031b1c1916176004555b81516001600160401b038111610532576118456005546121dc565b601f811161196e575b506020601f82116001146118dc5791816118be927f860b8b881bb84f47cb86ac440df8baf77920bf8351874ea568c06605c50cf6da945f916118d1575b508160011b915f199060031b1c1916176005555b426008556118cc60035494604051938493604085526040850190612466565b908382036020850152612466565b0390a2005b90508501518661188b565b601f1982169060055f525f516020612b745f395f51905f52915f5b8181106119565750927f860b8b881bb84f47cb86ac440df8baf77920bf8351874ea568c06605c50cf6da9492600192826118be961061193e575b5050811b0160055561189f565b8701515f1960f88460031b161c191690558680611931565b9192602060018192868a0151815501940192016118f7565b60055f52601f820160051c5f516020612b745f395f51905f520190602083106119c1575b601f0160051c5f516020612b745f395f51905f5201905b8181106119b6575061184e565b5f81556001016119a9565b5f516020612b745f395f51905f529150611992565b905082015184611816565b601f1981169360045f525f516020612b945f395f51905f52905f5b868110611a35575082600194959610611a1d575b5050811b0160045561182a565b8401515f1960f88460031b161c191690558480611a10565b909160206001819285880151815501930191016119fc565b60045f52601f840160051c5f516020612b945f395f51905f52019060208510611aa0575b601f0160051c5f516020612b945f395f51905f5201905b818110611a9557506117fc565b5f8155600101611a88565b5f516020612b945f395f51905f529150611a71565b633e61080d60e01b5f5260045ffd5b3461021457602036600319011261021457611add6121b0565b6009545f916001600160a01b0316825b828110611bce5750611afe83612549565b92611b0c6040519485612281565b808452611b1b601f1991612549565b015f5b818110611b9f5750505f905f5b838110611b4057604051806101f2878261248a565b81611b4a8261262b565b50546001600160a01b031614611b63575b600101611b2b565b91611b97600191611b7c611b768661262b565b506126b6565b611b8682896126a2565b52611b9181886126a2565b50612694565b929050611b5b565b602090604051611bae8161222f565b5f81525f838201525f60408201525f606082015282828801015201611b1e565b81611bd88261262b565b50546001600160a01b031614611bf1575b600101611aed565b92611bfd600191612694565b939050611be9565b34610214575f36600319011261021457600354611c206122a2565b90611c29612346565b60018060a01b036006541690600754611c6960085492611c5b604051978897885260c0602089015260c0880190612466565b908682036040880152612466565b926060850152608084015260a08301520390f35b3461021457604036600319011261021457600435611c996121c6565b335f52600a60205260405f20541561055557611cb481612a2c565b15611e70578115610e6457335f52600c60205260405f20548211610e6457335f52600b60205260405f2060405190611ceb82612214565b600460018060a01b038254169182845260018101546020850152600281015460408501526003810154606085015201549160ff83161515608082015260c060ff8460081c161593841560a084015260018060a01b039060101c1691015215159081611e68575b50611e595760405190611d6382612214565b3380835260208084018581524260408087019182525f606088018181526080890182815260a08a018381526001600160a01b03998a1660c08c01908152988452600b90975292909120975188546001600160a01b0319169716969096178755915160018701555160028601559251600385015591516004939093018054925191516001600160b01b031990931660ff941515949094169390931790151560081b61ff00161760109190911b62010000600160b01b0316179055600e54611e2890612694565b600e556040519081527f19a703b7248cc8f4116eef5d65eb2a9b4a83bd8d37c962f33d021f019278075b60203392a2005b6341abc80160e01b5f5260045ffd5b905083611d51565b63c1ab6dc160e01b5f5260045ffd5b34610214575f366003190112610214576020600d54604051908152f35b3461021457602036600319011261021457611eb56121b0565b6002601154146111fa576002601155611ecc612b60565b6001600160a01b03168015610564575f818152600b6020526040902080546001600160a01b0316908115611e5957600481019182549060ff82166120d6575f52600a60205260405f2054156105555760019060ff191617825542600382015560018101918254845f52600a602052611f4c600460405f200191825461265b565b9055546040516370a0823160e01b815233600482015260109190911c6001600160a01b031692602082602481875afa91821561104a575f926120a2575b5054809110610e6457604051636eb1769f60e11b8152336004820152306024820152602081604481875afa801561104a5782915f9161206d575b50106111725790546040516323b872dd60e01b81523360048201526001600160a01b039091166024820152604481019190915290602090829060649082905f905af190811561104a575f9161204e575b501561100d576040516020917f5a1d60dbcb373a8c141fa80faf8e10467f6bcdfedfa593edc0feb21be4aa111f5f80a2600160115560018152f35b612067915060203d602011611043576110358183612281565b82612013565b9150506020813d60201161209a575b8161208960209383612281565b810103126102145781905186611fc3565b3d915061207c565b9091506020813d6020116120ce575b816120be60209383612281565b8101031261021457519085611f89565b3d91506120b1565b63080fc0bd60e11b5f5260045ffd5b34610214576040366003190112610214576120fe6121b0565b6024359061210a612b60565b6001600160a01b0316801561056457805f52600a60205260405f205415610555578115610e64575f52600a60205260405f209060038201556007429101555f80f35b3461021457602036600319011261021457600435612168612b3d565b605081116121a1576020817f21ea14061974d1886e13e854a8a738e5177a587170a7f767a2b182a3f8b8dcdf92601055604051908152a1005b6358d620b360e01b5f5260045ffd5b600435906001600160a01b038216820361021457565b602435906001600160a01b038216820361021457565b90600182811c9216801561220a575b60208310146121f657565b634e487b7160e01b5f52602260045260245ffd5b91607f16916121eb565b60e081019081106001600160401b0382111761053257604052565b608081019081106001600160401b0382111761053257604052565b61010081019081106001600160401b0382111761053257604052565b60c081019081106001600160401b0382111761053257604052565b90601f801991011681019081106001600160401b0382111761053257604052565b604051905f82600454916122b5836121dc565b808352926001811690811561232757506001146122db575b6122d992500383612281565b565b5060045f90815290915f516020612b945f395f51905f525b81831061230b5750509060206122d9928201016122cd565b60209193508060019154838589010152019101909184926122f3565b602092506122d994915060ff191682840152151560051b8201016122cd565b604051905f8260055491612359836121dc565b8083529260018116908115612327575060011461237c576122d992500383612281565b5060055f90815290915f516020612b745f395f51905f525b8183106123ac5750509060206122d9928201016122cd565b6020919350806001915483858901015201910190918492612394565b9060405191825f8254926123db846121dc565b80845293600181169081156124445750600114612400575b506122d992500383612281565b90505f9291925260205f20905f915b8183106124285750509060206122d9928201015f6123f3565b602091935080600191548385890101520191019091849261240f565b9050602092506122d994915060ff191682840152151560051b8201015f6123f3565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60206040818301928281528451809452019201905f5b8181106124ad5750505090565b825180516001600160a01b039081168652602082810151909116818701526040808301519087015260609182015191860191909152608090940193909201916001016124a0565b81601f82011215610214578035906001600160401b0382116105325760405192612528601f8401601f191660200185612281565b8284526020838301011161021457815f926020809301838601378301015290565b6001600160401b0381116105325760051b60200190565b9080601f830112156102145781359061257882612549565b926125866040519485612281565b82845260208085019360051b82010191821161021457602001915b8183106125ae5750505090565b82356001600160a01b0381168103610214578152602092830192016125a1565b9080601f830112156102145781356125e581612549565b926125f36040519485612281565b81845260208085019260051b82010192831161021457602001905b82821061261b5750505090565b813581526020918201910161260e565b6009548110156126475760095f5260205f209060021b01905f90565b634e487b7160e01b5f52603260045260245ffd5b9190820180921161266857565b634e487b7160e01b5f52601160045260245ffd5b90816020910312610214575180151581036102145790565b5f1981146126685760010190565b80518210156126475760209160051b010190565b906040516126c38161222f565b82546001600160a01b0390811682526001840154166020820152600283015460408201526003909201546060830152565b9291926126ff612b60565b815115610546576001600160a01b03811690811561056457815f52600a60205260405f20546129c85760405160208101916bffffffffffffffffffffffff199060601b1682524260348201526034815261275a605482612281565b519020916003546040519061276e8261224a565b84825260208201908152604082019683885260608301908152608083015f815260a084019086825260c085019242845260e0860194428652885f52600a60205260405f2096518755516001870155600286019a519a8b516001600160401b03811161053257601f9c6127e083546121dc565b9d8e11612982575b8b9c9d505f9b9a9b50602090601f83116001146128c95792827f407385dc1873eabb5f992b55d2de317c1f69aac3f03d91e49a6ea160636109089b9996936128b89b999693600799965f926128be575b50508160011b915f199060031b1c19161790555b516003870155516004860155516005850180546001600160a01b0319166001600160a01b039290921691909117905551600684015551910155600d5461289190612694565b600d55600f54855f52600c60205260405f2055604051918291602083526020830190612466565b0390a390565b015190505f80612838565b601f9b9a9998979695949392919b19821690835f528c5f20915f5b81811061294e5750926007989694927f407385dc1873eabb5f992b55d2de317c1f69aac3f03d91e49a6ea160636109089d9e600193836128b89f9e9d9b999710612936575b505050811b01905561284c565b01515f1960f88460031b161c191690555f8080612929565b939597999b9d9496989a9c5090916020600181928786015181550195019301908f9c9a98969492919d9b999795939d6128e4565b825f5260205f20601f830160051c81019e602084106129be575b601f0160051c019d8e5b81106129b257506127e8565b5f81556001018e6129a6565b909e508e9061299c565b63d8abd7e760e01b5f5260045ffd5b9190820391821161266857565b6127108102908082046127101490151715612668576010549081612710039161271083116126685761271014612a18570490565b634e487b7160e01b5f52601260045260245ffd5b6001546040516375151b6360e01b81526001600160a01b0392831660048201529160209183916024918391165afa90811561104a575f91612a6b575090565b612a84915060203d602011611043576110358183612281565b90565b6009546801000000000000000081101561053257600181016009556009548110156126475760095f5260021b7f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0190805182546001600160a01b03199081166001600160a01b0392831617845560208301516001850180549092169216919091179055604081015160028301556060015160039190910155565b6010549081810291818304149015171561266857612710900490565b6001546001600160a01b03163303612b5157565b631a27eac360e11b5f5260045ffd5b5f546001600160a01b03163303612b515756fe036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db08a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19ba264697066735822122008232c4962bd90900d091417d61b64f45394bf3531eaf11a4b2716ab5b9cd10164736f6c634300081c00330000000000000000000000005d2d8a217f9523b40ea569d07b8840d005234e080000000000000000000000004e0b37378376bd17ff4736b006809d3168fc5b34000000000000000000000000ccb723eda6201fb9655e0301aa1c2d73dd5aa51f00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000f4d79204f7267616e697a6174696f6e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029546869732069732061206465736372697074696f6e206f66206d79206f7267616e697a6174696f6e2e0000000000000000000000000000000000000000000000" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xd01526c3d74a73d4c09f9ba85a21a48506b7e3f7877060e18853525c29a99137", + "transactionType": "CALL", + "contractName": "OrganizationFactory", + "contractAddress": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "function": "addToken(string,address)", + "arguments": [ + "MyToken", + "0x3677F7827760016702d034837bD2FB8E6Ba618DD" + ], + "transaction": { + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "gas": "0x1852a", + "value": "0x0", + "input": "0xb0b22c2c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000003677f7827760016702d034837bd2fb8e6ba618dd00000000000000000000000000000000000000000000000000000000000000074d79546f6b656e00000000000000000000000000000000000000000000000000", + "nonce": "0x3", + "chainId": "0x106a" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2da24b62dc783283073d7cce6c448cc6648a4f31934e34ae4ace6c23d672990c", + "transactionType": "CALL", + "contractName": "OrganizationContract", + "contractAddress": "0xa9765e241283ca2f713a42f71b8bada7d21c7f6c", + "function": "createRecipient(address,string,uint256)", + "arguments": [ + "0x8A912047689651E7119CD64453D78dBD42030fB5", + "John Doe", + "1000" + ], + "transaction": { + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": "0xa9765e241283ca2f713a42f71b8bada7d21c7f6c", + "gas": "0x4efa0", + "value": "0x0", + "input": "0x5c62c9670000000000000000000000008a912047689651e7119cd64453d78dbd42030fb5000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000000084a6f686e20446f65000000000000000000000000000000000000000000000000", + "nonce": "0x4", + "chainId": "0x106a" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x3943cb", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xba186b5e258644010da513f80bac36826403973448e110f2fb4013ecad78df0a", + "transactionIndex": "0x1", + "blockHash": "0x3a0c1c830e905b6441944fa557e9835b1829b4ae6b95a2e57202c5ba554abb4b", + "blockNumber": "0x1329541", + "gasUsed": "0x388f7f", + "effectiveGasPrice": "0xfe", + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": null, + "contractAddress": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "l1BaseFeeScalar": "0x2af8", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0x109618", + "l1Fee": "0x13f500b3cba7", + "l1GasPrice": "0x31a09d4e1", + "l1GasUsed": "0x248ed" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x64703f", + "logs": [ + { + "address": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "topics": [ + "0xf4b9821f6bc54fe8ce60a727c514af1fe81e7be7f09ba6b32b23e7da12fb92ae", + "0x000000000000000000000000a9765e241283ca2f713a42f71b8bada7d21c7f6c", + "0x0000000000000000000000005d2d8a217f9523b40ea569d07b8840d005234e08" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000680a2d62000000000000000000000000000000000000000000000000000000000000000f4d79204f7267616e697a6174696f6e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029546869732069732061206465736372697074696f6e206f66206d79206f7267616e697a6174696f6e2e0000000000000000000000000000000000000000000000", + "blockHash": "0x3a0c1c830e905b6441944fa557e9835b1829b4ae6b95a2e57202c5ba554abb4b", + "blockNumber": "0x1329541", + "transactionHash": "0xec38dabd51dd1a3078655ed33a94e7642e32e9915fdddb1f9652a354caefeaec", + "transactionIndex": "0x2", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000400000010000000800000000000000000000000001000000000000000000000000000000000000000000000000000001000000000000000200000000000400000000000000000000000800000000000000000", + "type": "0x2", + "transactionHash": "0xec38dabd51dd1a3078655ed33a94e7642e32e9915fdddb1f9652a354caefeaec", + "transactionIndex": "0x2", + "blockHash": "0x3a0c1c830e905b6441944fa557e9835b1829b4ae6b95a2e57202c5ba554abb4b", + "blockNumber": "0x1329541", + "gasUsed": "0x2b2c74", + "effectiveGasPrice": "0xfe", + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "contractAddress": null, + "l1BaseFeeScalar": "0x2af8", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0x109618", + "l1Fee": "0x42b63a4166", + "l1GasPrice": "0x31a09d4e1", + "l1GasUsed": "0x7a3" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x6589ff", + "logs": [ + { + "address": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "topics": [ + "0x7afee0f1b802cc0f66c67890e26b4566251859cf2cd8de79b86aed7251d9756a", + "0x0000000000000000000000003677f7827760016702d034837bd2fb8e6ba618dd" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000074d79546f6b656e00000000000000000000000000000000000000000000000000", + "blockHash": "0x3a0c1c830e905b6441944fa557e9835b1829b4ae6b95a2e57202c5ba554abb4b", + "blockNumber": "0x1329541", + "transactionHash": "0xd01526c3d74a73d4c09f9ba85a21a48506b7e3f7877060e18853525c29a99137", + "transactionIndex": "0x3", + "logIndex": "0x1", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000010000000000000010000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000100000000000000000020000000000001000000000000000000000000000400000000000040000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xd01526c3d74a73d4c09f9ba85a21a48506b7e3f7877060e18853525c29a99137", + "transactionIndex": "0x3", + "blockHash": "0x3a0c1c830e905b6441944fa557e9835b1829b4ae6b95a2e57202c5ba554abb4b", + "blockNumber": "0x1329541", + "gasUsed": "0x119c0", + "effectiveGasPrice": "0xfe", + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "contractAddress": null, + "l1BaseFeeScalar": "0x2af8", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0x109618", + "l1Fee": "0x3697136fe4", + "l1GasPrice": "0x31a09d4e1", + "l1GasUsed": "0x640" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x691cd7", + "logs": [ + { + "address": "0xa9765e241283ca2f713a42f71b8bada7d21c7f6c", + "topics": [ + "0x407385dc1873eabb5f992b55d2de317c1f69aac3f03d91e49a6ea16063610908", + "0x8a492ea4a7ef7db258c33dbf618658527b53baad4e062111c4a93f9bcec3a67e", + "0x0000000000000000000000008a912047689651e7119cd64453d78dbd42030fb5" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000084a6f686e20446f65000000000000000000000000000000000000000000000000", + "blockHash": "0x3a0c1c830e905b6441944fa557e9835b1829b4ae6b95a2e57202c5ba554abb4b", + "blockNumber": "0x1329541", + "transactionHash": "0x2da24b62dc783283073d7cce6c448cc6648a4f31934e34ae4ace6c23d672990c", + "transactionIndex": "0x4", + "logIndex": "0x2", + "removed": false + } + ], + "logsBloom": "0x00010000000000000000000000000000100000000000240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000400000000100000000000000000000000000000000000000000000000000000000000000008000000008000000000000400000000000000000000000010000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x2da24b62dc783283073d7cce6c448cc6648a4f31934e34ae4ace6c23d672990c", + "transactionIndex": "0x4", + "blockHash": "0x3a0c1c830e905b6441944fa557e9835b1829b4ae6b95a2e57202c5ba554abb4b", + "blockNumber": "0x1329541", + "gasUsed": "0x392d8", + "effectiveGasPrice": "0xfe", + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": "0xa9765e241283ca2f713a42f71b8bada7d21c7f6c", + "contractAddress": null, + "l1BaseFeeScalar": "0x2af8", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0x109618", + "l1Fee": "0x3af2e6e227", + "l1GasPrice": "0x31a09d4e1", + "l1GasUsed": "0x6bf" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1745498012, + "chain": 4202, + "commit": "cd6db15" +} \ No newline at end of file diff --git a/broadcast/deploy.s.sol/4202/run-1745498130.json b/broadcast/deploy.s.sol/4202/run-1745498130.json new file mode 100644 index 0000000..99e7e8c --- /dev/null +++ b/broadcast/deploy.s.sol/4202/run-1745498130.json @@ -0,0 +1,240 @@ +{ + "transactions": [ + { + "hash": "0xba186b5e258644010da513f80bac36826403973448e110f2fb4013ecad78df0a", + "transactionType": "CREATE", + "contractName": "OrganizationFactory", + "contractAddress": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "function": null, + "arguments": [ + "0xCcB723EDa6201FB9655e0301AA1C2d73dd5aa51F" + ], + "transaction": { + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "gas": "0x498758", + "value": "0x0", + "input": "0x608034608457601f6141c338819003918201601f19168301916001600160401b03831184841017608857808492602094604052833981010312608457516001600160a01b038116908190036084575f8054336001600160a01b0319818116928116929092171790915560038054909116919091179055604051614126908161009d8239f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080806040526004361015610012575f80fd5b5f905f3560e01c9081630a38111c14610da5575080631d16392314610d885780635a1f740614610ce65780635fa7b58414610bda57806361ba81d814610aae57806368c4ac2614610a765780636a2b20c214610a365780636f0fccab146109d157806374d27f341461092f57806375151b63146108d75780638da5cb5b146108b0578063a411ef20146103fb578063b0b22c2c146101d1578063be27432f14610117578063c415b95c146100ee5763e49fba6b146100ce575f80fd5b346100eb57806003193601126100eb576020600254604051908152f35b80fd5b50346100eb57806003193601126100eb576003546040516001600160a01b039091168152602090f35b50346100eb5760403660031901126100eb57610131610de4565b9061013a610dfa565b91610143610fca565b6001600160a01b039081168252600460205260408220541680156101c2578192813b156101be576040516301485b9d60e71b81526001600160a01b0390911660048201529082908290602490829084905af180156101b3576101a25750f35b816101ac91610e78565b6100eb5780f35b6040513d84823e3d90fd5b5050fd5b639551f8b360e01b8252600482fd5b50346100eb5760403660031901126100eb5760043567ffffffffffffffff81116103f757610203903690600401610f5e565b61020b610dfa565b610213610fca565b61021b610fca565b8151156103e8576001600160a01b03169081156103d95781835260016020526102476040842054610e10565b6103ca57818352600160205260408320815167ffffffffffffffff81116103b6576102728254610e10565b601f811161037b575b506020601f821160011461031c5790806102a9928791610311575b508160011b915f199060031b1c19161790565b90555b6002545f1981146102fd577f7afee0f1b802cc0f66c67890e26b4566251859cf2cd8de79b86aed7251d9756a9160016102f79201600255604051918291602083526020830190610f3a565b0390a280f35b634e487b7160e01b84526011600452602484fd5b90508401515f610296565b82865280862090601f198316875b8181106103635750908360019493921061034b575b5050811b0190556102ac565b8501515f1960f88460031b161c191690555f8061033f565b9192602060018192868a01518155019401920161032a565b6103a69083875260208720601f840160051c810191602085106103ac575b601f0160051c0190610fb4565b5f61027b565b9091508190610399565b634e487b7160e01b85526041600452602485fd5b63c78e82ad60e01b8352600483fd5b630f58058360e11b8352600483fd5b6316c31e7760e21b8352600483fd5b5080fd5b50346100eb5760403660031901126100eb5760043567ffffffffffffffff81116103f75761042d903690600401610f5e565b60243567ffffffffffffffff81116108ac5761044d903690600401610f5e565b9080511561089d5781511561088e57338352600460205260408320546001600160a01b031661087f5760035460405190613104808301916001600160a01b03169067ffffffffffffffff83118484101761086b57916104de918493610fed8539338252306020830152604082015260a060608201526104cf60a0820186610f3a565b90608081830391015285610f3a565b039084f080156108605760018060a01b03169133845260046020526040842060018060a01b0384166bffffffffffffffffffffffff60a01b82541617905560405160208101903360601b82524260348201526034815261053f605482610e78565b5190206040519061054f82610e48565b8152602081018381526040820183815260608301338152608084019142835260a0850193428552338a52600560205260408a2095518655600186019051805167ffffffffffffffff811161084c578b6105a88454610e10565b601f811161081c575b505060208c601f83116001146107ba57906105e093836106dc575b50508160011b915f199060031b1c19161790565b90555b518051600286019167ffffffffffffffff82116107a6579060209a83926106108c9a999897969554610e10565b601f8111610777575b508c91601f84116001146106e757836106c7999794600597947ff4b9821f6bc54fe8ce60a727c514af1fe81e7be7f09ba6b32b23e7da12fb92ae9c9a979461067494926106dc5750508160011b915f199060031b1c19161790565b90555b516003850180546001600160a01b0319166001600160a01b039290921691909117905551600484015551910155604051606080825290956106ba91870190610f3a565b9085820388870152610f3a565b924260408201528033940390a3604051908152f35b015190505f806105cc565b9190601f198416858452828420935b81811061075d575093600596937ff4b9821f6bc54fe8ce60a727c514af1fe81e7be7f09ba6b32b23e7da12fb92ae9b999693600193836106c79d9b9810610745575b505050811b019055610677565b01515f1960f88460031b161c191690555f8080610738565b8383015185558e9c50600190940193928f01928f016106f6565b6107a0908584528e8420601f860160051c810191602087106103ac57601f0160051c0190610fb4565b5f610619565b634e487b7160e01b8b52604160045260248bfd5b9192601f198416858452828420935b81811061080457509084600195949392106107ec575b505050811b0190556105e3565b01515f1960f88460031b161c191690555f80806107df565b929360206001819287860151815501950193016107c9565b60208286610845945220601f840160051c810191602085106103ac57601f0160051c0190610fb4565b8b5f6105b1565b634e487b7160e01b8c52604160045260248cfd5b6040513d85823e3d90fd5b634e487b7160e01b87526041600452602487fd5b6369c24f0b60e01b8352600483fd5b633e61080d60e01b8352600483fd5b636cc61e7360e11b8352600483fd5b8280fd5b50346100eb57806003193601126100eb57546040516001600160a01b039091168152602090f35b50346100eb5760203660031901126100eb576001600160a01b036108f9610de4565b168015610920576040826109169260209452600184522054610e10565b1515604051908152f35b630f58058360e11b8252600482fd5b50346109be5760403660031901126109be57610949610de4565b610951610fca565b6001600160a01b039081165f908152600460205260409020541680156109c257803b156109be575f809160246040518094819363096a8ab760e01b8352833560048401525af180156109b3576109a5575080f35b6109b191505f90610e78565b005b6040513d5f823e3d90fd5b5f80fd5b639551f8b360e01b5f5260045ffd5b346109be5760203660031901126109be576001600160a01b036109f2610de4565b168015610a27575f526001602052610a23610a0f60405f20610e9a565b604051918291602083526020830190610f3a565b0390f35b630f58058360e11b5f5260045ffd5b346109be5760203660031901126109be576001600160a01b03610a57610de4565b165f526004602052602060018060a01b0360405f205416604051908152f35b346109be5760203660031901126109be576001600160a01b03610a97610de4565b165f526001602052610a23610a0f60405f20610e9a565b346109be5760203660031901126109be57610ac7610de4565b5f60a0604051610ad681610e48565b8281526060602082015260606040820152826060820152826080820152015260018060a01b0316805f52600560205260405f2054156109c2575f52600560205260405f20604051610b2681610e48565b81548152610b3660018301610e9a565b9160208201928352610b4a60028201610e9a565b6040830190815260018060a01b036003830154169160608401928352610bba60056004830154926080870193845201549260a08601938452610ba7604051978897602089525160208901525160c0604089015260e0880190610f3a565b9051868203601f19016060880152610f3a565b92516001600160a01b031660808501525160a08401525160c08301520390f35b346109be5760203660031901126109be57610bf3610de4565b610bfb610fca565b6001600160a01b03168015610cd757610c12610fca565b805f526001602052610c2760405f2054610e10565b15610cd757805f52600160205260405f20610c428154610e10565b9081610c94575b50506002548015610c80575f19016002557f4c910b69fe65a61f7531b9c5042b2329ca7179c77290aa7e2eb3afa3c8511fd35f80a2005b634e487b7160e01b5f52601160045260245ffd5b81601f5f9311600114610cab5750555b8180610c49565b81835260208320610cc791601f0160051c810190600101610fb4565b8082528160208120915555610ca4565b63c1ab6dc160e01b5f5260045ffd5b346109be5760203660031901126109be576001600160a01b03610d07610de4565b165f52600560205260405f208054610d2160018301610e9a565b91610d2e60028201610e9a565b60018060a01b0360038301541691610d746005600483015492015492610d66604051978897885260c0602089015260c0880190610f3a565b908682036040880152610f3a565b926060850152608084015260a08301520390f35b346109be575f3660031901126109be576020600254604051908152f35b346109be5760203660031901126109be576020906001600160a01b03610dc9610de4565b165f9081526004835260409020546001600160a01b03168152f35b600435906001600160a01b03821682036109be57565b602435906001600160a01b03821682036109be57565b90600182811c92168015610e3e575b6020831014610e2a57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610e1f565b60c0810190811067ffffffffffffffff821117610e6457604052565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff821117610e6457604052565b9060405191825f825492610ead84610e10565b8084529360018116908115610f185750600114610ed4575b50610ed292500383610e78565b565b90505f9291925260205f20905f915b818310610efc575050906020610ed2928201015f610ec5565b6020919350806001915483858901015201910190918492610ee3565b905060209250610ed294915060ff191682840152151560051b8201015f610ec5565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b81601f820112156109be5780359067ffffffffffffffff8211610e645760405192610f93601f8401601f191660200185610e78565b828452602083830101116109be57815f926020809301838601378301015290565b818110610fbf575050565b5f8155600101610fb4565b5f546001600160a01b03163303610fdd57565b631a27eac360e11b5f5260045ffdfe6080806040523461048a57613104803803809161001c828561048e565b8339810160a08282031261048a57610033826104b1565b90610040602084016104b1565b61004c604085016104b1565b60608501519094906001600160401b03811161048a578361006e9183016104c5565b60808201519093906001600160401b03811161048a5761008e92016104c5565b926001600160a01b03811691821561047b576001600160a01b031694851561047b576001600160a01b031694851561047b5783511561046c5784511561045d578260018060a01b03195f5416175f5560018060a01b03196001541617600155604051602081019160018060601b03199060601b1682524260348201526034815261011960548261048e565b5190206040519093909260c084016001600160401b0381118582101761036057604052848452806020850152604084019182526060840192835260a06080850194428652019442865260035580519060018060401b0382116103605760045490600182811c92168015610453575b60208310146103425781601f8493116103e5575b50602090601f831160011461037f575f92610374575b50508160011b915f199060031b1c1916176004555b518051906001600160401b0382116103605760055490600182811c92168015610356575b60208310146103425781601f8493116102f1575b50602090601f831160011461028b575f92610280575b50508160011b915f199060031b1c1916176005555b60018060a01b0390511660018060a01b031960065416176006555160075551600855603260105560018060a01b0319600254161760025567016345785d8a0000600f556001601155604051612be9908161051b8239f35b015190505f80610214565b60055f9081528281209350601f198516905b8181106102d957509084600195949392106102c1575b505050811b01600555610229565b01515f1960f88460031b161c191690555f80806102b3565b9293602060018192878601518155019501930161029d565b90915060055f5260205f20601f840160051c81019160208510610338575b90601f859493920160051c01905b81811061032a57506101fe565b5f815584935060010161031d565b909150819061030f565b634e487b7160e01b5f52602260045260245ffd5b91607f16916101ea565b634e487b7160e01b5f52604160045260245ffd5b015190505f806101b1565b60045f9081528281209350601f198516905b8181106103cd57509084600195949392106103b5575b505050811b016004556101c6565b01515f1960f88460031b161c191690555f80806103a7565b92936020600181928786015181550195019301610391565b60045f529091507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f840160051c81019160208510610449575b90601f859493920160051c01905b81811061043b575061019b565b5f815584935060010161042e565b9091508190610420565b91607f1691610187565b633e61080d60e01b5f5260045ffd5b636cc61e7360e11b5f5260045ffd5b63e6c4247b60e01b5f5260045ffd5b5f80fd5b601f909101601f19168101906001600160401b0382119082101761036057604052565b51906001600160a01b038216820361048a57565b81601f8201121561048a578051906001600160401b03821161036057604051926104f9601f8401601f19166020018561048e565b8284526020838301011161048a57815f9260208093018386015e830101529056fe60806040526004361015610011575f80fd5b5f3560e01c8063096a8ab71461214c578063150d2ce8146120e5578063182dafff14611e9c57806322eabb8e14611e7f57806325ffb76714611c7d57806341e0c42714611c0557806348f1e4b514611ac45780634e2727d6146117725780635c62c9671461172b57806362812a39146115dd57806371b6d224146115bf57806375151b631461159257806376c751c6146112095780637e9a8de014610c6457806388a72a6f14610c475780638d7942c214610bc65780638da5cb5b14610b9f57806392d5d7fe14610b0e57806399a5d74714610ae85780639ed3edf014610acb578063a42dce8014610a55578063a5e047b8146109f1578063c415b95c146109c9578063c45a0155146109a1578063cc2fd93014610955578063cc5b8baf1461091d578063cef34b9814610900578063dd06ab5f146106c4578063e077c07814610573578063e30909b9146103af578063e894d0a2146102be578063eb820312146102185763f8defa3c14610184575f80fd5b34610214575f366003190112610214576009546101a081612549565b906101ae6040519283612281565b8082526020820160095f527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af5f915b8383106101f657604051806101f2878261248a565b0390f35b60046020600192610206856126b6565b8152019201920191906101dd565b5f80fd5b34610214576020366003190112610214576001600160a01b036102396121b0565b165f52600a60205260405f208054600182015491610259600282016123c8565b600382015491600481015460018060a01b03600583015416906102a06007600685015494015494604051988998895260208901526101006040890152610100880190612466565b946060870152608086015260a085015260c084015260e08301520390f35b34610214575f366003190112610214575f60a06040516102dd81612266565b8281526060602082015260606040820152826060820152826080820152015260405161030881612266565b60035481526103156122a2565b9060208101918252610325612346565b6040820190815260018060a01b036006541690606083019182526007546080840190815261038f6008549260a0860193845261037c604051978897602089525160208901525160c0604089015260e0880190612466565b9051868203601f19016060880152612466565b92516001600160a01b031660808501525160a08401525160c08301520390f35b34610214576040366003190112610214576103c86121b0565b6024356001600160401b038111610214576103e79036906004016124f4565b906103f0612b60565b6001600160a01b0316801561056457805f52600a60205260405f20541561055557815115610546575f52600a60205260405f206002810182516001600160401b0381116105325761044182546121dc565b601f81116104ed575b506020601f821160011461048c57819293945f92610481575b50508160011b915f199060031b1c19161790555b6007429101555f80f35b015190508480610463565b601f19821690835f52805f20915f5b8181106104d5575095836001959697106104bd575b505050811b019055610477565b01515f1960f88460031b161c191690558480806104b0565b9192602060018192868b01518155019401920161049b565b825f5260205f20601f830160051c81019160208410610528575b601f0160051c01905b81811061051d575061044a565b5f8155600101610510565b9091508190610507565b634e487b7160e01b5f52604160045260245ffd5b636cc61e7360e11b5f5260045ffd5b6366a21ffb60e01b5f5260045ffd5b63e6c4247b60e01b5f5260045ffd5b34610214576060366003190112610214576004356001600160401b038111610214576105a3903690600401612560565b6024356001600160401b03811161021457366023820112156102145780600401356105cd81612549565b916105db6040519384612281565b8183526024602084019260051b820101903682116102145760248101925b8284106106955785856044356001600160401b038111610214576106219036906004016125ce565b9161062a612b60565b8051825103610686578051835103610686575f5b81518110156106845760019061067d6001600160a01b0361065f83866126a2565b511661066b83876126a2565b5161067684896126a2565b51916126f4565b500161063e565b005b63b4fa3fb360e01b5f5260045ffd5b83356001600160401b038111610214576020916106b98392602436918701016124f4565b8152019301926105f9565b34610214575f366003190112610214576106dc612b60565b5f5f600d54905b81811061083e575061070d6106f783612549565b926107056040519485612281565b808452612549565b602083019190601f19013683375f5f5b828110610771578385604051918291602083019060208452518091526040830191905f5b81811061074f575050500390f35b82516001600160a01b0316845285945060209384019390920191600101610741565b60018060a01b0381165f52600b60205260405f2060405161079181612214565b600460018060a01b0383541692838352600181015460208401526002810154604084015260038101546060840152015460ff811615918215608082015260c060ff8360081c161592831560a084015260018060a01b039060101c169101528215159182610836575b508161082e575b5061080f575b5060010161071d565b826108279161082160019495896126a2565b52612694565b9190610806565b905087610800565b9150886107f9565b60018060a01b0381165f52600b60205260405f206040519061085f82612214565b600460018060a01b038254169182845260018101546020850152600281015460408501526003810154606085015201549060ff821615928315608082015260c060ff8460081c161593841560a084015260018060a01b039060101c16910152151591826108f8575b50816108f0575b506108dc575b6001016106e3565b916108e8600191612694565b9290506108d4565b9050846108ce565b9150856108c7565b34610214575f366003190112610214576020600e54604051908152f35b34610214576020366003190112610214576001600160a01b0361093e6121b0565b165f52600c602052602060405f2054604051908152f35b34610214576020366003190112610214577f6d34b3f6f48575724889e5dc1271a918c090c0ccd4fb6c361d25585debef14066020600435610994612b60565b80600f55604051908152a1005b34610214575f366003190112610214576001546040516001600160a01b039091168152602090f35b34610214575f366003190112610214576002546040516001600160a01b039091168152602090f35b346102145760203660031901126102145760043560095481101561021457610a1a60809161262b565b50805460018201546002830154600390930154604080516001600160a01b039485168152929093166020830152918101929092526060820152f35b3461021457602036600319011261021457610a6e6121b0565b610a76612b3d565b6001600160a01b03168015610564576020817fe5693914d19c789bdee50a362998c0bc8d035a835f9871da5d51152f0582c34f926bffffffffffffffffffffffff60a01b6002541617600255604051908152a1005b34610214575f366003190112610214576020601054604051908152f35b34610214576020366003190112610214576020610b06600435612b21565b604051908152f35b34610214576020366003190112610214576001600160a01b03610b2f6121b0565b165f52600b60205260e060405f2060018060a01b03815416906001810154906002810154600460038301549201549260405194855260208501526040840152606083015260ff81161515608083015260ff8160081c16151560a083015260018060a01b039060101c1660c0820152f35b34610214575f366003190112610214575f546040516001600160a01b039091168152602090f35b3461021457604036600319011261021457610bdf6121b0565b60243590610beb612b60565b6001600160a01b031690811561056457815f52600a60205260405f2054156105555760207fce085fc5aeaa5dba9675c29e7f91ffb489df67981b590b65a48b1457a1fc308c91835f52600c82528060405f2055604051908152a2005b34610214575f366003190112610214576020600f54604051908152f35b3461021457606036600319011261021457610c7d6121b0565b6024356001600160401b03811161021457610c9c903690600401612560565b906044356001600160401b03811161021457610cbc9036906004016125ce565b916002601154146111fa576002601155610cd4612b60565b8051835103610686576001600160a01b03821691821561056457610cf790612a2c565b156111eb5782905f915f93825194610d0e86612549565b95610d1c6040519788612281565b808752610d2b601f1991612549565b013660208801375f5b8451811015610ecc57610d4781856126a2565b5115610e64576001600160a01b03610d5f82876126a2565b511615610564576001600160a01b03610d7882876126a2565b51165f52600a60205260405f209586541561055557610da0610d9a83876126a2565b516129e4565b610da981612b21565b610db381836129d7565b610dbd85896126a2565b5103610e9257610dd2610dd89260049461265b565b9461265b565b960154908115610e735781610ded82876126a2565b511115610e6457610e0a600192610e0483886126a2565b516129d7565b610e14828a6126a2565b525b610e5b828060a01b03610e2983896126a2565b5116610e3583886126a2565b5160405191610e438361222f565b82528660208301526040820152426060820152612a87565b01949094610d34565b63162908e360e11b5f5260045ffd5b60019150610e8181866126a2565b51610e8c828a6126a2565b52610e16565b60405162461bcd60e51b81526020600482015260126024820152712332b29036b4b9b1b0b631bab630ba34b7b760711b6044820152606490fd5b50928592946040516370a0823160e01b8152336004820152602081602481875afa801561104a5782915f916111b6575b5010610e6457604051636eb1769f60e11b8152336004820152306024820152602081604481875afa801561104a5782915f91611181575b5010611172575f5b82518110156110b5576001600160a01b03610f5682856126a2565b511690815f52600a602052600460405f200154611055575b610fb46020610f7d83896126a2565b516040516323b872dd60e01b81523360048201526001600160a01b0386166024820152604481019190915291829081906064820190565b03815f8a5af190811561104a575f9161101c575b501561100d57600191857f0f64b92a091214409b5000aa33869d5a13c5f95c0b777e4e90ba90aa1d0caf176020610fff858d6126a2565b51604051908152a301610f3b565b6312171d8360e31b5f5260045ffd5b61103d915060203d8111611043575b6110358183612281565b81019061267c565b89610fc8565b503d61102b565b6040513d5f823e3d90fd5b5f828152600a602090815260408083206004908101805490859055600b84529382902001805461ff0019166101001790555191825283917fdf350d510bb8ebdfe431d9cd8936d9adcde99cd7a55657d251e1fc9fc08af27d9190a2610f6e565b50908480611101575b507feb4c91d1e20aae92fc74a1fe60fe3b5060d372d51c3e08869baa24f84874dccb91604091519082519182526020820152a26001601155602060405160018152f35b6002546040516323b872dd60e01b81523360048201526001600160a01b03909116602482015260448101919091526020816064815f885af190811561104a575f91611153575b501561100d57836110be565b61116c915060203d602011611043576110358183612281565b84611147565b6365ba6fc360e01b5f5260045ffd5b9150506020813d6020116111ae575b8161119d60209383612281565b810103126102145781905188610f33565b3d9150611190565b9150506020813d6020116111e3575b816111d260209383612281565b810103126102145781905188610efc565b3d91506111c5565b633dd1b30560e01b5f5260045ffd5b6306fda65d60e31b5f5260045ffd5b34610214576060366003190112610214576112226121b0565b61122a6121c6565b6044356002601154146111fa576002601155611244612b60565b6001600160a01b038316918215610564576001600160a01b038116938415610564578215610e645761127590612a2c565b156111eb57835f52600a60205260405f209081541561055557611297836129e4565b916112a183612b21565b926112ac84826129d7565b85810361154d576040516112dc916112c38261222f565b8982528860208301526040820152426060820152612a87565b6040516370a0823160e01b81523360048201526020816024818a5afa801561104a5782915f91611518575b5010610e6457604051636eb1769f60e11b81523360048201523060248201526020816044818a5afa90811561104a575f916114e6575b501061117257600401805484918161146f575b50506040516323b872dd60e01b81523360048201526001600160a01b039092166024830152604482015260208180606481015b03815f885af190811561104a575f91611450575b501561100d57806113df575b5060207f0f64b92a091214409b5000aa33869d5a13c5f95c0b777e4e90ba90aa1d0caf1791604051908152a36001601155602060405160018152f35b6002546040516323b872dd60e01b81523360048201526001600160a01b03909116602482015260448101919091526020816064815f875af190811561104a575f91611431575b501561100d57836113a3565b61144a915060203d602011611043576110358183612281565b84611425565b611469915060203d602011611043576110358183612281565b85611397565b90809250851115610e645761138392877fdf350d510bb8ebdfe431d9cd8936d9adcde99cd7a55657d251e1fc9fc08af27d6020855f6114af83988c6129d7565b9655835f52600b82525f6004604082208281558260018201558260028201558260038201550155604051908152a292819250611350565b90506020813d602011611510575b8161150160209383612281565b8101031261021457518861133d565b3d91506114f4565b9150506020813d602011611545575b8161153460209383612281565b810103126102145781905189611307565b3d9150611527565b60405162461bcd60e51b815260206004820152601b60248201527f4d69736d6174636820696e206665652063616c63756c6174696f6e00000000006044820152606490fd5b346102145760203660031901126102145760206115b56115b06121b0565b612a2c565b6040519015158152f35b34610214576020366003190112610214576020610b066004356129e4565b34610214576020366003190112610214576115f66121b0565b5f60e06040516116058161224a565b828152826020820152606060408201528260608201528260808201528260a08201528260c0820152015260018060a01b0316801561056457805f52600a60205260405f205415610555575f52600a60205260405f206040516116668161224a565b8154815260018201549160208201928352611683600282016123c8565b604083019081526003820154916060840192835260048101546080850190815260018060a01b036005830154169060a086019182526116fe600760068501549460c0890195865201549460e0880195865260405198899860208a525160208a0152516040890152516101006060890152610120880190612466565b945160808701525160a0860152516001600160a01b031660c08501525160e0840152516101008301520390f35b34610214576060366003190112610214576117446121b0565b6024356001600160401b03811161021457602091611769610b069236906004016124f4565b604435916126f4565b34610214576040366003190112610214576004356001600160401b038111610214576117a29036906004016124f4565b6024356001600160401b038111610214576117c19036906004016124f4565b6117c9612b60565b81511561054657805115611ab5578151916001600160401b038311610532576117f36004546121dc565b601f8111611a4d575b50602092601f81116001146119e157809192935f916119d6575b508160011b915f199060031b1c1916176004555b81516001600160401b038111610532576118456005546121dc565b601f811161196e575b506020601f82116001146118dc5791816118be927f860b8b881bb84f47cb86ac440df8baf77920bf8351874ea568c06605c50cf6da945f916118d1575b508160011b915f199060031b1c1916176005555b426008556118cc60035494604051938493604085526040850190612466565b908382036020850152612466565b0390a2005b90508501518661188b565b601f1982169060055f525f516020612b745f395f51905f52915f5b8181106119565750927f860b8b881bb84f47cb86ac440df8baf77920bf8351874ea568c06605c50cf6da9492600192826118be961061193e575b5050811b0160055561189f565b8701515f1960f88460031b161c191690558680611931565b9192602060018192868a0151815501940192016118f7565b60055f52601f820160051c5f516020612b745f395f51905f520190602083106119c1575b601f0160051c5f516020612b745f395f51905f5201905b8181106119b6575061184e565b5f81556001016119a9565b5f516020612b745f395f51905f529150611992565b905082015184611816565b601f1981169360045f525f516020612b945f395f51905f52905f5b868110611a35575082600194959610611a1d575b5050811b0160045561182a565b8401515f1960f88460031b161c191690558480611a10565b909160206001819285880151815501930191016119fc565b60045f52601f840160051c5f516020612b945f395f51905f52019060208510611aa0575b601f0160051c5f516020612b945f395f51905f5201905b818110611a9557506117fc565b5f8155600101611a88565b5f516020612b945f395f51905f529150611a71565b633e61080d60e01b5f5260045ffd5b3461021457602036600319011261021457611add6121b0565b6009545f916001600160a01b0316825b828110611bce5750611afe83612549565b92611b0c6040519485612281565b808452611b1b601f1991612549565b015f5b818110611b9f5750505f905f5b838110611b4057604051806101f2878261248a565b81611b4a8261262b565b50546001600160a01b031614611b63575b600101611b2b565b91611b97600191611b7c611b768661262b565b506126b6565b611b8682896126a2565b52611b9181886126a2565b50612694565b929050611b5b565b602090604051611bae8161222f565b5f81525f838201525f60408201525f606082015282828801015201611b1e565b81611bd88261262b565b50546001600160a01b031614611bf1575b600101611aed565b92611bfd600191612694565b939050611be9565b34610214575f36600319011261021457600354611c206122a2565b90611c29612346565b60018060a01b036006541690600754611c6960085492611c5b604051978897885260c0602089015260c0880190612466565b908682036040880152612466565b926060850152608084015260a08301520390f35b3461021457604036600319011261021457600435611c996121c6565b335f52600a60205260405f20541561055557611cb481612a2c565b15611e70578115610e6457335f52600c60205260405f20548211610e6457335f52600b60205260405f2060405190611ceb82612214565b600460018060a01b038254169182845260018101546020850152600281015460408501526003810154606085015201549160ff83161515608082015260c060ff8460081c161593841560a084015260018060a01b039060101c1691015215159081611e68575b50611e595760405190611d6382612214565b3380835260208084018581524260408087019182525f606088018181526080890182815260a08a018381526001600160a01b03998a1660c08c01908152988452600b90975292909120975188546001600160a01b0319169716969096178755915160018701555160028601559251600385015591516004939093018054925191516001600160b01b031990931660ff941515949094169390931790151560081b61ff00161760109190911b62010000600160b01b0316179055600e54611e2890612694565b600e556040519081527f19a703b7248cc8f4116eef5d65eb2a9b4a83bd8d37c962f33d021f019278075b60203392a2005b6341abc80160e01b5f5260045ffd5b905083611d51565b63c1ab6dc160e01b5f5260045ffd5b34610214575f366003190112610214576020600d54604051908152f35b3461021457602036600319011261021457611eb56121b0565b6002601154146111fa576002601155611ecc612b60565b6001600160a01b03168015610564575f818152600b6020526040902080546001600160a01b0316908115611e5957600481019182549060ff82166120d6575f52600a60205260405f2054156105555760019060ff191617825542600382015560018101918254845f52600a602052611f4c600460405f200191825461265b565b9055546040516370a0823160e01b815233600482015260109190911c6001600160a01b031692602082602481875afa91821561104a575f926120a2575b5054809110610e6457604051636eb1769f60e11b8152336004820152306024820152602081604481875afa801561104a5782915f9161206d575b50106111725790546040516323b872dd60e01b81523360048201526001600160a01b039091166024820152604481019190915290602090829060649082905f905af190811561104a575f9161204e575b501561100d576040516020917f5a1d60dbcb373a8c141fa80faf8e10467f6bcdfedfa593edc0feb21be4aa111f5f80a2600160115560018152f35b612067915060203d602011611043576110358183612281565b82612013565b9150506020813d60201161209a575b8161208960209383612281565b810103126102145781905186611fc3565b3d915061207c565b9091506020813d6020116120ce575b816120be60209383612281565b8101031261021457519085611f89565b3d91506120b1565b63080fc0bd60e11b5f5260045ffd5b34610214576040366003190112610214576120fe6121b0565b6024359061210a612b60565b6001600160a01b0316801561056457805f52600a60205260405f205415610555578115610e64575f52600a60205260405f209060038201556007429101555f80f35b3461021457602036600319011261021457600435612168612b3d565b605081116121a1576020817f21ea14061974d1886e13e854a8a738e5177a587170a7f767a2b182a3f8b8dcdf92601055604051908152a1005b6358d620b360e01b5f5260045ffd5b600435906001600160a01b038216820361021457565b602435906001600160a01b038216820361021457565b90600182811c9216801561220a575b60208310146121f657565b634e487b7160e01b5f52602260045260245ffd5b91607f16916121eb565b60e081019081106001600160401b0382111761053257604052565b608081019081106001600160401b0382111761053257604052565b61010081019081106001600160401b0382111761053257604052565b60c081019081106001600160401b0382111761053257604052565b90601f801991011681019081106001600160401b0382111761053257604052565b604051905f82600454916122b5836121dc565b808352926001811690811561232757506001146122db575b6122d992500383612281565b565b5060045f90815290915f516020612b945f395f51905f525b81831061230b5750509060206122d9928201016122cd565b60209193508060019154838589010152019101909184926122f3565b602092506122d994915060ff191682840152151560051b8201016122cd565b604051905f8260055491612359836121dc565b8083529260018116908115612327575060011461237c576122d992500383612281565b5060055f90815290915f516020612b745f395f51905f525b8183106123ac5750509060206122d9928201016122cd565b6020919350806001915483858901015201910190918492612394565b9060405191825f8254926123db846121dc565b80845293600181169081156124445750600114612400575b506122d992500383612281565b90505f9291925260205f20905f915b8183106124285750509060206122d9928201015f6123f3565b602091935080600191548385890101520191019091849261240f565b9050602092506122d994915060ff191682840152151560051b8201015f6123f3565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60206040818301928281528451809452019201905f5b8181106124ad5750505090565b825180516001600160a01b039081168652602082810151909116818701526040808301519087015260609182015191860191909152608090940193909201916001016124a0565b81601f82011215610214578035906001600160401b0382116105325760405192612528601f8401601f191660200185612281565b8284526020838301011161021457815f926020809301838601378301015290565b6001600160401b0381116105325760051b60200190565b9080601f830112156102145781359061257882612549565b926125866040519485612281565b82845260208085019360051b82010191821161021457602001915b8183106125ae5750505090565b82356001600160a01b0381168103610214578152602092830192016125a1565b9080601f830112156102145781356125e581612549565b926125f36040519485612281565b81845260208085019260051b82010192831161021457602001905b82821061261b5750505090565b813581526020918201910161260e565b6009548110156126475760095f5260205f209060021b01905f90565b634e487b7160e01b5f52603260045260245ffd5b9190820180921161266857565b634e487b7160e01b5f52601160045260245ffd5b90816020910312610214575180151581036102145790565b5f1981146126685760010190565b80518210156126475760209160051b010190565b906040516126c38161222f565b82546001600160a01b0390811682526001840154166020820152600283015460408201526003909201546060830152565b9291926126ff612b60565b815115610546576001600160a01b03811690811561056457815f52600a60205260405f20546129c85760405160208101916bffffffffffffffffffffffff199060601b1682524260348201526034815261275a605482612281565b519020916003546040519061276e8261224a565b84825260208201908152604082019683885260608301908152608083015f815260a084019086825260c085019242845260e0860194428652885f52600a60205260405f2096518755516001870155600286019a519a8b516001600160401b03811161053257601f9c6127e083546121dc565b9d8e11612982575b8b9c9d505f9b9a9b50602090601f83116001146128c95792827f407385dc1873eabb5f992b55d2de317c1f69aac3f03d91e49a6ea160636109089b9996936128b89b999693600799965f926128be575b50508160011b915f199060031b1c19161790555b516003870155516004860155516005850180546001600160a01b0319166001600160a01b039290921691909117905551600684015551910155600d5461289190612694565b600d55600f54855f52600c60205260405f2055604051918291602083526020830190612466565b0390a390565b015190505f80612838565b601f9b9a9998979695949392919b19821690835f528c5f20915f5b81811061294e5750926007989694927f407385dc1873eabb5f992b55d2de317c1f69aac3f03d91e49a6ea160636109089d9e600193836128b89f9e9d9b999710612936575b505050811b01905561284c565b01515f1960f88460031b161c191690555f8080612929565b939597999b9d9496989a9c5090916020600181928786015181550195019301908f9c9a98969492919d9b999795939d6128e4565b825f5260205f20601f830160051c81019e602084106129be575b601f0160051c019d8e5b81106129b257506127e8565b5f81556001018e6129a6565b909e508e9061299c565b63d8abd7e760e01b5f5260045ffd5b9190820391821161266857565b6127108102908082046127101490151715612668576010549081612710039161271083116126685761271014612a18570490565b634e487b7160e01b5f52601260045260245ffd5b6001546040516375151b6360e01b81526001600160a01b0392831660048201529160209183916024918391165afa90811561104a575f91612a6b575090565b612a84915060203d602011611043576110358183612281565b90565b6009546801000000000000000081101561053257600181016009556009548110156126475760095f5260021b7f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0190805182546001600160a01b03199081166001600160a01b0392831617845560208301516001850180549092169216919091179055604081015160028301556060015160039190910155565b6010549081810291818304149015171561266857612710900490565b6001546001600160a01b03163303612b5157565b631a27eac360e11b5f5260045ffd5b5f546001600160a01b03163303612b515756fe036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db08a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19ba264697066735822122008232c4962bd90900d091417d61b64f45394bf3531eaf11a4b2716ab5b9cd10164736f6c634300081c0033a2646970667358221220f9218596c9dcf73850d7727d5f278b137477cbbc9554e8d05f0fc8a6b36c113464736f6c634300081c0033000000000000000000000000ccb723eda6201fb9655e0301aa1c2d73dd5aa51f", + "nonce": "0x1", + "chainId": "0x106a" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xec38dabd51dd1a3078655ed33a94e7642e32e9915fdddb1f9652a354caefeaec", + "transactionType": "CALL", + "contractName": "OrganizationFactory", + "contractAddress": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "function": "createOrganization(string,string)", + "arguments": [ + "My Organization", + "This is a description of my organization." + ], + "transaction": { + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "gas": "0x3ba233", + "value": "0x0", + "input": "0xa411ef2000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000f4d79204f7267616e697a6174696f6e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029546869732069732061206465736372697074696f6e206f66206d79206f7267616e697a6174696f6e2e0000000000000000000000000000000000000000000000", + "nonce": "0x2", + "chainId": "0x106a" + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0xa9765e241283ca2f713a42f71b8bada7d21c7f6c", + "initCode": "0x6080806040523461048a57613104803803809161001c828561048e565b8339810160a08282031261048a57610033826104b1565b90610040602084016104b1565b61004c604085016104b1565b60608501519094906001600160401b03811161048a578361006e9183016104c5565b60808201519093906001600160401b03811161048a5761008e92016104c5565b926001600160a01b03811691821561047b576001600160a01b031694851561047b576001600160a01b031694851561047b5783511561046c5784511561045d578260018060a01b03195f5416175f5560018060a01b03196001541617600155604051602081019160018060601b03199060601b1682524260348201526034815261011960548261048e565b5190206040519093909260c084016001600160401b0381118582101761036057604052848452806020850152604084019182526060840192835260a06080850194428652019442865260035580519060018060401b0382116103605760045490600182811c92168015610453575b60208310146103425781601f8493116103e5575b50602090601f831160011461037f575f92610374575b50508160011b915f199060031b1c1916176004555b518051906001600160401b0382116103605760055490600182811c92168015610356575b60208310146103425781601f8493116102f1575b50602090601f831160011461028b575f92610280575b50508160011b915f199060031b1c1916176005555b60018060a01b0390511660018060a01b031960065416176006555160075551600855603260105560018060a01b0319600254161760025567016345785d8a0000600f556001601155604051612be9908161051b8239f35b015190505f80610214565b60055f9081528281209350601f198516905b8181106102d957509084600195949392106102c1575b505050811b01600555610229565b01515f1960f88460031b161c191690555f80806102b3565b9293602060018192878601518155019501930161029d565b90915060055f5260205f20601f840160051c81019160208510610338575b90601f859493920160051c01905b81811061032a57506101fe565b5f815584935060010161031d565b909150819061030f565b634e487b7160e01b5f52602260045260245ffd5b91607f16916101ea565b634e487b7160e01b5f52604160045260245ffd5b015190505f806101b1565b60045f9081528281209350601f198516905b8181106103cd57509084600195949392106103b5575b505050811b016004556101c6565b01515f1960f88460031b161c191690555f80806103a7565b92936020600181928786015181550195019301610391565b60045f529091507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f840160051c81019160208510610449575b90601f859493920160051c01905b81811061043b575061019b565b5f815584935060010161042e565b9091508190610420565b91607f1691610187565b633e61080d60e01b5f5260045ffd5b636cc61e7360e11b5f5260045ffd5b63e6c4247b60e01b5f5260045ffd5b5f80fd5b601f909101601f19168101906001600160401b0382119082101761036057604052565b51906001600160a01b038216820361048a57565b81601f8201121561048a578051906001600160401b03821161036057604051926104f9601f8401601f19166020018561048e565b8284526020838301011161048a57815f9260208093018386015e830101529056fe60806040526004361015610011575f80fd5b5f3560e01c8063096a8ab71461214c578063150d2ce8146120e5578063182dafff14611e9c57806322eabb8e14611e7f57806325ffb76714611c7d57806341e0c42714611c0557806348f1e4b514611ac45780634e2727d6146117725780635c62c9671461172b57806362812a39146115dd57806371b6d224146115bf57806375151b631461159257806376c751c6146112095780637e9a8de014610c6457806388a72a6f14610c475780638d7942c214610bc65780638da5cb5b14610b9f57806392d5d7fe14610b0e57806399a5d74714610ae85780639ed3edf014610acb578063a42dce8014610a55578063a5e047b8146109f1578063c415b95c146109c9578063c45a0155146109a1578063cc2fd93014610955578063cc5b8baf1461091d578063cef34b9814610900578063dd06ab5f146106c4578063e077c07814610573578063e30909b9146103af578063e894d0a2146102be578063eb820312146102185763f8defa3c14610184575f80fd5b34610214575f366003190112610214576009546101a081612549565b906101ae6040519283612281565b8082526020820160095f527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af5f915b8383106101f657604051806101f2878261248a565b0390f35b60046020600192610206856126b6565b8152019201920191906101dd565b5f80fd5b34610214576020366003190112610214576001600160a01b036102396121b0565b165f52600a60205260405f208054600182015491610259600282016123c8565b600382015491600481015460018060a01b03600583015416906102a06007600685015494015494604051988998895260208901526101006040890152610100880190612466565b946060870152608086015260a085015260c084015260e08301520390f35b34610214575f366003190112610214575f60a06040516102dd81612266565b8281526060602082015260606040820152826060820152826080820152015260405161030881612266565b60035481526103156122a2565b9060208101918252610325612346565b6040820190815260018060a01b036006541690606083019182526007546080840190815261038f6008549260a0860193845261037c604051978897602089525160208901525160c0604089015260e0880190612466565b9051868203601f19016060880152612466565b92516001600160a01b031660808501525160a08401525160c08301520390f35b34610214576040366003190112610214576103c86121b0565b6024356001600160401b038111610214576103e79036906004016124f4565b906103f0612b60565b6001600160a01b0316801561056457805f52600a60205260405f20541561055557815115610546575f52600a60205260405f206002810182516001600160401b0381116105325761044182546121dc565b601f81116104ed575b506020601f821160011461048c57819293945f92610481575b50508160011b915f199060031b1c19161790555b6007429101555f80f35b015190508480610463565b601f19821690835f52805f20915f5b8181106104d5575095836001959697106104bd575b505050811b019055610477565b01515f1960f88460031b161c191690558480806104b0565b9192602060018192868b01518155019401920161049b565b825f5260205f20601f830160051c81019160208410610528575b601f0160051c01905b81811061051d575061044a565b5f8155600101610510565b9091508190610507565b634e487b7160e01b5f52604160045260245ffd5b636cc61e7360e11b5f5260045ffd5b6366a21ffb60e01b5f5260045ffd5b63e6c4247b60e01b5f5260045ffd5b34610214576060366003190112610214576004356001600160401b038111610214576105a3903690600401612560565b6024356001600160401b03811161021457366023820112156102145780600401356105cd81612549565b916105db6040519384612281565b8183526024602084019260051b820101903682116102145760248101925b8284106106955785856044356001600160401b038111610214576106219036906004016125ce565b9161062a612b60565b8051825103610686578051835103610686575f5b81518110156106845760019061067d6001600160a01b0361065f83866126a2565b511661066b83876126a2565b5161067684896126a2565b51916126f4565b500161063e565b005b63b4fa3fb360e01b5f5260045ffd5b83356001600160401b038111610214576020916106b98392602436918701016124f4565b8152019301926105f9565b34610214575f366003190112610214576106dc612b60565b5f5f600d54905b81811061083e575061070d6106f783612549565b926107056040519485612281565b808452612549565b602083019190601f19013683375f5f5b828110610771578385604051918291602083019060208452518091526040830191905f5b81811061074f575050500390f35b82516001600160a01b0316845285945060209384019390920191600101610741565b60018060a01b0381165f52600b60205260405f2060405161079181612214565b600460018060a01b0383541692838352600181015460208401526002810154604084015260038101546060840152015460ff811615918215608082015260c060ff8360081c161592831560a084015260018060a01b039060101c169101528215159182610836575b508161082e575b5061080f575b5060010161071d565b826108279161082160019495896126a2565b52612694565b9190610806565b905087610800565b9150886107f9565b60018060a01b0381165f52600b60205260405f206040519061085f82612214565b600460018060a01b038254169182845260018101546020850152600281015460408501526003810154606085015201549060ff821615928315608082015260c060ff8460081c161593841560a084015260018060a01b039060101c16910152151591826108f8575b50816108f0575b506108dc575b6001016106e3565b916108e8600191612694565b9290506108d4565b9050846108ce565b9150856108c7565b34610214575f366003190112610214576020600e54604051908152f35b34610214576020366003190112610214576001600160a01b0361093e6121b0565b165f52600c602052602060405f2054604051908152f35b34610214576020366003190112610214577f6d34b3f6f48575724889e5dc1271a918c090c0ccd4fb6c361d25585debef14066020600435610994612b60565b80600f55604051908152a1005b34610214575f366003190112610214576001546040516001600160a01b039091168152602090f35b34610214575f366003190112610214576002546040516001600160a01b039091168152602090f35b346102145760203660031901126102145760043560095481101561021457610a1a60809161262b565b50805460018201546002830154600390930154604080516001600160a01b039485168152929093166020830152918101929092526060820152f35b3461021457602036600319011261021457610a6e6121b0565b610a76612b3d565b6001600160a01b03168015610564576020817fe5693914d19c789bdee50a362998c0bc8d035a835f9871da5d51152f0582c34f926bffffffffffffffffffffffff60a01b6002541617600255604051908152a1005b34610214575f366003190112610214576020601054604051908152f35b34610214576020366003190112610214576020610b06600435612b21565b604051908152f35b34610214576020366003190112610214576001600160a01b03610b2f6121b0565b165f52600b60205260e060405f2060018060a01b03815416906001810154906002810154600460038301549201549260405194855260208501526040840152606083015260ff81161515608083015260ff8160081c16151560a083015260018060a01b039060101c1660c0820152f35b34610214575f366003190112610214575f546040516001600160a01b039091168152602090f35b3461021457604036600319011261021457610bdf6121b0565b60243590610beb612b60565b6001600160a01b031690811561056457815f52600a60205260405f2054156105555760207fce085fc5aeaa5dba9675c29e7f91ffb489df67981b590b65a48b1457a1fc308c91835f52600c82528060405f2055604051908152a2005b34610214575f366003190112610214576020600f54604051908152f35b3461021457606036600319011261021457610c7d6121b0565b6024356001600160401b03811161021457610c9c903690600401612560565b906044356001600160401b03811161021457610cbc9036906004016125ce565b916002601154146111fa576002601155610cd4612b60565b8051835103610686576001600160a01b03821691821561056457610cf790612a2c565b156111eb5782905f915f93825194610d0e86612549565b95610d1c6040519788612281565b808752610d2b601f1991612549565b013660208801375f5b8451811015610ecc57610d4781856126a2565b5115610e64576001600160a01b03610d5f82876126a2565b511615610564576001600160a01b03610d7882876126a2565b51165f52600a60205260405f209586541561055557610da0610d9a83876126a2565b516129e4565b610da981612b21565b610db381836129d7565b610dbd85896126a2565b5103610e9257610dd2610dd89260049461265b565b9461265b565b960154908115610e735781610ded82876126a2565b511115610e6457610e0a600192610e0483886126a2565b516129d7565b610e14828a6126a2565b525b610e5b828060a01b03610e2983896126a2565b5116610e3583886126a2565b5160405191610e438361222f565b82528660208301526040820152426060820152612a87565b01949094610d34565b63162908e360e11b5f5260045ffd5b60019150610e8181866126a2565b51610e8c828a6126a2565b52610e16565b60405162461bcd60e51b81526020600482015260126024820152712332b29036b4b9b1b0b631bab630ba34b7b760711b6044820152606490fd5b50928592946040516370a0823160e01b8152336004820152602081602481875afa801561104a5782915f916111b6575b5010610e6457604051636eb1769f60e11b8152336004820152306024820152602081604481875afa801561104a5782915f91611181575b5010611172575f5b82518110156110b5576001600160a01b03610f5682856126a2565b511690815f52600a602052600460405f200154611055575b610fb46020610f7d83896126a2565b516040516323b872dd60e01b81523360048201526001600160a01b0386166024820152604481019190915291829081906064820190565b03815f8a5af190811561104a575f9161101c575b501561100d57600191857f0f64b92a091214409b5000aa33869d5a13c5f95c0b777e4e90ba90aa1d0caf176020610fff858d6126a2565b51604051908152a301610f3b565b6312171d8360e31b5f5260045ffd5b61103d915060203d8111611043575b6110358183612281565b81019061267c565b89610fc8565b503d61102b565b6040513d5f823e3d90fd5b5f828152600a602090815260408083206004908101805490859055600b84529382902001805461ff0019166101001790555191825283917fdf350d510bb8ebdfe431d9cd8936d9adcde99cd7a55657d251e1fc9fc08af27d9190a2610f6e565b50908480611101575b507feb4c91d1e20aae92fc74a1fe60fe3b5060d372d51c3e08869baa24f84874dccb91604091519082519182526020820152a26001601155602060405160018152f35b6002546040516323b872dd60e01b81523360048201526001600160a01b03909116602482015260448101919091526020816064815f885af190811561104a575f91611153575b501561100d57836110be565b61116c915060203d602011611043576110358183612281565b84611147565b6365ba6fc360e01b5f5260045ffd5b9150506020813d6020116111ae575b8161119d60209383612281565b810103126102145781905188610f33565b3d9150611190565b9150506020813d6020116111e3575b816111d260209383612281565b810103126102145781905188610efc565b3d91506111c5565b633dd1b30560e01b5f5260045ffd5b6306fda65d60e31b5f5260045ffd5b34610214576060366003190112610214576112226121b0565b61122a6121c6565b6044356002601154146111fa576002601155611244612b60565b6001600160a01b038316918215610564576001600160a01b038116938415610564578215610e645761127590612a2c565b156111eb57835f52600a60205260405f209081541561055557611297836129e4565b916112a183612b21565b926112ac84826129d7565b85810361154d576040516112dc916112c38261222f565b8982528860208301526040820152426060820152612a87565b6040516370a0823160e01b81523360048201526020816024818a5afa801561104a5782915f91611518575b5010610e6457604051636eb1769f60e11b81523360048201523060248201526020816044818a5afa90811561104a575f916114e6575b501061117257600401805484918161146f575b50506040516323b872dd60e01b81523360048201526001600160a01b039092166024830152604482015260208180606481015b03815f885af190811561104a575f91611450575b501561100d57806113df575b5060207f0f64b92a091214409b5000aa33869d5a13c5f95c0b777e4e90ba90aa1d0caf1791604051908152a36001601155602060405160018152f35b6002546040516323b872dd60e01b81523360048201526001600160a01b03909116602482015260448101919091526020816064815f875af190811561104a575f91611431575b501561100d57836113a3565b61144a915060203d602011611043576110358183612281565b84611425565b611469915060203d602011611043576110358183612281565b85611397565b90809250851115610e645761138392877fdf350d510bb8ebdfe431d9cd8936d9adcde99cd7a55657d251e1fc9fc08af27d6020855f6114af83988c6129d7565b9655835f52600b82525f6004604082208281558260018201558260028201558260038201550155604051908152a292819250611350565b90506020813d602011611510575b8161150160209383612281565b8101031261021457518861133d565b3d91506114f4565b9150506020813d602011611545575b8161153460209383612281565b810103126102145781905189611307565b3d9150611527565b60405162461bcd60e51b815260206004820152601b60248201527f4d69736d6174636820696e206665652063616c63756c6174696f6e00000000006044820152606490fd5b346102145760203660031901126102145760206115b56115b06121b0565b612a2c565b6040519015158152f35b34610214576020366003190112610214576020610b066004356129e4565b34610214576020366003190112610214576115f66121b0565b5f60e06040516116058161224a565b828152826020820152606060408201528260608201528260808201528260a08201528260c0820152015260018060a01b0316801561056457805f52600a60205260405f205415610555575f52600a60205260405f206040516116668161224a565b8154815260018201549160208201928352611683600282016123c8565b604083019081526003820154916060840192835260048101546080850190815260018060a01b036005830154169060a086019182526116fe600760068501549460c0890195865201549460e0880195865260405198899860208a525160208a0152516040890152516101006060890152610120880190612466565b945160808701525160a0860152516001600160a01b031660c08501525160e0840152516101008301520390f35b34610214576060366003190112610214576117446121b0565b6024356001600160401b03811161021457602091611769610b069236906004016124f4565b604435916126f4565b34610214576040366003190112610214576004356001600160401b038111610214576117a29036906004016124f4565b6024356001600160401b038111610214576117c19036906004016124f4565b6117c9612b60565b81511561054657805115611ab5578151916001600160401b038311610532576117f36004546121dc565b601f8111611a4d575b50602092601f81116001146119e157809192935f916119d6575b508160011b915f199060031b1c1916176004555b81516001600160401b038111610532576118456005546121dc565b601f811161196e575b506020601f82116001146118dc5791816118be927f860b8b881bb84f47cb86ac440df8baf77920bf8351874ea568c06605c50cf6da945f916118d1575b508160011b915f199060031b1c1916176005555b426008556118cc60035494604051938493604085526040850190612466565b908382036020850152612466565b0390a2005b90508501518661188b565b601f1982169060055f525f516020612b745f395f51905f52915f5b8181106119565750927f860b8b881bb84f47cb86ac440df8baf77920bf8351874ea568c06605c50cf6da9492600192826118be961061193e575b5050811b0160055561189f565b8701515f1960f88460031b161c191690558680611931565b9192602060018192868a0151815501940192016118f7565b60055f52601f820160051c5f516020612b745f395f51905f520190602083106119c1575b601f0160051c5f516020612b745f395f51905f5201905b8181106119b6575061184e565b5f81556001016119a9565b5f516020612b745f395f51905f529150611992565b905082015184611816565b601f1981169360045f525f516020612b945f395f51905f52905f5b868110611a35575082600194959610611a1d575b5050811b0160045561182a565b8401515f1960f88460031b161c191690558480611a10565b909160206001819285880151815501930191016119fc565b60045f52601f840160051c5f516020612b945f395f51905f52019060208510611aa0575b601f0160051c5f516020612b945f395f51905f5201905b818110611a9557506117fc565b5f8155600101611a88565b5f516020612b945f395f51905f529150611a71565b633e61080d60e01b5f5260045ffd5b3461021457602036600319011261021457611add6121b0565b6009545f916001600160a01b0316825b828110611bce5750611afe83612549565b92611b0c6040519485612281565b808452611b1b601f1991612549565b015f5b818110611b9f5750505f905f5b838110611b4057604051806101f2878261248a565b81611b4a8261262b565b50546001600160a01b031614611b63575b600101611b2b565b91611b97600191611b7c611b768661262b565b506126b6565b611b8682896126a2565b52611b9181886126a2565b50612694565b929050611b5b565b602090604051611bae8161222f565b5f81525f838201525f60408201525f606082015282828801015201611b1e565b81611bd88261262b565b50546001600160a01b031614611bf1575b600101611aed565b92611bfd600191612694565b939050611be9565b34610214575f36600319011261021457600354611c206122a2565b90611c29612346565b60018060a01b036006541690600754611c6960085492611c5b604051978897885260c0602089015260c0880190612466565b908682036040880152612466565b926060850152608084015260a08301520390f35b3461021457604036600319011261021457600435611c996121c6565b335f52600a60205260405f20541561055557611cb481612a2c565b15611e70578115610e6457335f52600c60205260405f20548211610e6457335f52600b60205260405f2060405190611ceb82612214565b600460018060a01b038254169182845260018101546020850152600281015460408501526003810154606085015201549160ff83161515608082015260c060ff8460081c161593841560a084015260018060a01b039060101c1691015215159081611e68575b50611e595760405190611d6382612214565b3380835260208084018581524260408087019182525f606088018181526080890182815260a08a018381526001600160a01b03998a1660c08c01908152988452600b90975292909120975188546001600160a01b0319169716969096178755915160018701555160028601559251600385015591516004939093018054925191516001600160b01b031990931660ff941515949094169390931790151560081b61ff00161760109190911b62010000600160b01b0316179055600e54611e2890612694565b600e556040519081527f19a703b7248cc8f4116eef5d65eb2a9b4a83bd8d37c962f33d021f019278075b60203392a2005b6341abc80160e01b5f5260045ffd5b905083611d51565b63c1ab6dc160e01b5f5260045ffd5b34610214575f366003190112610214576020600d54604051908152f35b3461021457602036600319011261021457611eb56121b0565b6002601154146111fa576002601155611ecc612b60565b6001600160a01b03168015610564575f818152600b6020526040902080546001600160a01b0316908115611e5957600481019182549060ff82166120d6575f52600a60205260405f2054156105555760019060ff191617825542600382015560018101918254845f52600a602052611f4c600460405f200191825461265b565b9055546040516370a0823160e01b815233600482015260109190911c6001600160a01b031692602082602481875afa91821561104a575f926120a2575b5054809110610e6457604051636eb1769f60e11b8152336004820152306024820152602081604481875afa801561104a5782915f9161206d575b50106111725790546040516323b872dd60e01b81523360048201526001600160a01b039091166024820152604481019190915290602090829060649082905f905af190811561104a575f9161204e575b501561100d576040516020917f5a1d60dbcb373a8c141fa80faf8e10467f6bcdfedfa593edc0feb21be4aa111f5f80a2600160115560018152f35b612067915060203d602011611043576110358183612281565b82612013565b9150506020813d60201161209a575b8161208960209383612281565b810103126102145781905186611fc3565b3d915061207c565b9091506020813d6020116120ce575b816120be60209383612281565b8101031261021457519085611f89565b3d91506120b1565b63080fc0bd60e11b5f5260045ffd5b34610214576040366003190112610214576120fe6121b0565b6024359061210a612b60565b6001600160a01b0316801561056457805f52600a60205260405f205415610555578115610e64575f52600a60205260405f209060038201556007429101555f80f35b3461021457602036600319011261021457600435612168612b3d565b605081116121a1576020817f21ea14061974d1886e13e854a8a738e5177a587170a7f767a2b182a3f8b8dcdf92601055604051908152a1005b6358d620b360e01b5f5260045ffd5b600435906001600160a01b038216820361021457565b602435906001600160a01b038216820361021457565b90600182811c9216801561220a575b60208310146121f657565b634e487b7160e01b5f52602260045260245ffd5b91607f16916121eb565b60e081019081106001600160401b0382111761053257604052565b608081019081106001600160401b0382111761053257604052565b61010081019081106001600160401b0382111761053257604052565b60c081019081106001600160401b0382111761053257604052565b90601f801991011681019081106001600160401b0382111761053257604052565b604051905f82600454916122b5836121dc565b808352926001811690811561232757506001146122db575b6122d992500383612281565b565b5060045f90815290915f516020612b945f395f51905f525b81831061230b5750509060206122d9928201016122cd565b60209193508060019154838589010152019101909184926122f3565b602092506122d994915060ff191682840152151560051b8201016122cd565b604051905f8260055491612359836121dc565b8083529260018116908115612327575060011461237c576122d992500383612281565b5060055f90815290915f516020612b745f395f51905f525b8183106123ac5750509060206122d9928201016122cd565b6020919350806001915483858901015201910190918492612394565b9060405191825f8254926123db846121dc565b80845293600181169081156124445750600114612400575b506122d992500383612281565b90505f9291925260205f20905f915b8183106124285750509060206122d9928201015f6123f3565b602091935080600191548385890101520191019091849261240f565b9050602092506122d994915060ff191682840152151560051b8201015f6123f3565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60206040818301928281528451809452019201905f5b8181106124ad5750505090565b825180516001600160a01b039081168652602082810151909116818701526040808301519087015260609182015191860191909152608090940193909201916001016124a0565b81601f82011215610214578035906001600160401b0382116105325760405192612528601f8401601f191660200185612281565b8284526020838301011161021457815f926020809301838601378301015290565b6001600160401b0381116105325760051b60200190565b9080601f830112156102145781359061257882612549565b926125866040519485612281565b82845260208085019360051b82010191821161021457602001915b8183106125ae5750505090565b82356001600160a01b0381168103610214578152602092830192016125a1565b9080601f830112156102145781356125e581612549565b926125f36040519485612281565b81845260208085019260051b82010192831161021457602001905b82821061261b5750505090565b813581526020918201910161260e565b6009548110156126475760095f5260205f209060021b01905f90565b634e487b7160e01b5f52603260045260245ffd5b9190820180921161266857565b634e487b7160e01b5f52601160045260245ffd5b90816020910312610214575180151581036102145790565b5f1981146126685760010190565b80518210156126475760209160051b010190565b906040516126c38161222f565b82546001600160a01b0390811682526001840154166020820152600283015460408201526003909201546060830152565b9291926126ff612b60565b815115610546576001600160a01b03811690811561056457815f52600a60205260405f20546129c85760405160208101916bffffffffffffffffffffffff199060601b1682524260348201526034815261275a605482612281565b519020916003546040519061276e8261224a565b84825260208201908152604082019683885260608301908152608083015f815260a084019086825260c085019242845260e0860194428652885f52600a60205260405f2096518755516001870155600286019a519a8b516001600160401b03811161053257601f9c6127e083546121dc565b9d8e11612982575b8b9c9d505f9b9a9b50602090601f83116001146128c95792827f407385dc1873eabb5f992b55d2de317c1f69aac3f03d91e49a6ea160636109089b9996936128b89b999693600799965f926128be575b50508160011b915f199060031b1c19161790555b516003870155516004860155516005850180546001600160a01b0319166001600160a01b039290921691909117905551600684015551910155600d5461289190612694565b600d55600f54855f52600c60205260405f2055604051918291602083526020830190612466565b0390a390565b015190505f80612838565b601f9b9a9998979695949392919b19821690835f528c5f20915f5b81811061294e5750926007989694927f407385dc1873eabb5f992b55d2de317c1f69aac3f03d91e49a6ea160636109089d9e600193836128b89f9e9d9b999710612936575b505050811b01905561284c565b01515f1960f88460031b161c191690555f8080612929565b939597999b9d9496989a9c5090916020600181928786015181550195019301908f9c9a98969492919d9b999795939d6128e4565b825f5260205f20601f830160051c81019e602084106129be575b601f0160051c019d8e5b81106129b257506127e8565b5f81556001018e6129a6565b909e508e9061299c565b63d8abd7e760e01b5f5260045ffd5b9190820391821161266857565b6127108102908082046127101490151715612668576010549081612710039161271083116126685761271014612a18570490565b634e487b7160e01b5f52601260045260245ffd5b6001546040516375151b6360e01b81526001600160a01b0392831660048201529160209183916024918391165afa90811561104a575f91612a6b575090565b612a84915060203d602011611043576110358183612281565b90565b6009546801000000000000000081101561053257600181016009556009548110156126475760095f5260021b7f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0190805182546001600160a01b03199081166001600160a01b0392831617845560208301516001850180549092169216919091179055604081015160028301556060015160039190910155565b6010549081810291818304149015171561266857612710900490565b6001546001600160a01b03163303612b5157565b631a27eac360e11b5f5260045ffd5b5f546001600160a01b03163303612b515756fe036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db08a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19ba264697066735822122008232c4962bd90900d091417d61b64f45394bf3531eaf11a4b2716ab5b9cd10164736f6c634300081c00330000000000000000000000005d2d8a217f9523b40ea569d07b8840d005234e080000000000000000000000004e0b37378376bd17ff4736b006809d3168fc5b34000000000000000000000000ccb723eda6201fb9655e0301aa1c2d73dd5aa51f00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000f4d79204f7267616e697a6174696f6e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029546869732069732061206465736372697074696f6e206f66206d79206f7267616e697a6174696f6e2e0000000000000000000000000000000000000000000000" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xd01526c3d74a73d4c09f9ba85a21a48506b7e3f7877060e18853525c29a99137", + "transactionType": "CALL", + "contractName": "OrganizationFactory", + "contractAddress": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "function": "addToken(string,address)", + "arguments": [ + "MyToken", + "0x3677F7827760016702d034837bD2FB8E6Ba618DD" + ], + "transaction": { + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "gas": "0x1852a", + "value": "0x0", + "input": "0xb0b22c2c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000003677f7827760016702d034837bd2fb8e6ba618dd00000000000000000000000000000000000000000000000000000000000000074d79546f6b656e00000000000000000000000000000000000000000000000000", + "nonce": "0x3", + "chainId": "0x106a" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2da24b62dc783283073d7cce6c448cc6648a4f31934e34ae4ace6c23d672990c", + "transactionType": "CALL", + "contractName": "OrganizationContract", + "contractAddress": "0xa9765e241283ca2f713a42f71b8bada7d21c7f6c", + "function": "createRecipient(address,string,uint256)", + "arguments": [ + "0x8A912047689651E7119CD64453D78dBD42030fB5", + "John Doe", + "1000" + ], + "transaction": { + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": "0xa9765e241283ca2f713a42f71b8bada7d21c7f6c", + "gas": "0x4efa0", + "value": "0x0", + "input": "0x5c62c9670000000000000000000000008a912047689651e7119cd64453d78dbd42030fb5000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000000084a6f686e20446f65000000000000000000000000000000000000000000000000", + "nonce": "0x4", + "chainId": "0x106a" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x3943cb", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xba186b5e258644010da513f80bac36826403973448e110f2fb4013ecad78df0a", + "transactionIndex": "0x1", + "blockHash": "0x3a0c1c830e905b6441944fa557e9835b1829b4ae6b95a2e57202c5ba554abb4b", + "blockNumber": "0x1329541", + "gasUsed": "0x388f7f", + "effectiveGasPrice": "0xfe", + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": null, + "contractAddress": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "l1BaseFeeScalar": "0x2af8", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0x109618", + "l1Fee": "0x13f500b3cba7", + "l1GasPrice": "0x31a09d4e1", + "l1GasUsed": "0x248ed" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x64703f", + "logs": [ + { + "address": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "topics": [ + "0xf4b9821f6bc54fe8ce60a727c514af1fe81e7be7f09ba6b32b23e7da12fb92ae", + "0x000000000000000000000000a9765e241283ca2f713a42f71b8bada7d21c7f6c", + "0x0000000000000000000000005d2d8a217f9523b40ea569d07b8840d005234e08" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000680a2d62000000000000000000000000000000000000000000000000000000000000000f4d79204f7267616e697a6174696f6e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029546869732069732061206465736372697074696f6e206f66206d79206f7267616e697a6174696f6e2e0000000000000000000000000000000000000000000000", + "blockHash": "0x3a0c1c830e905b6441944fa557e9835b1829b4ae6b95a2e57202c5ba554abb4b", + "blockNumber": "0x1329541", + "transactionHash": "0xec38dabd51dd1a3078655ed33a94e7642e32e9915fdddb1f9652a354caefeaec", + "transactionIndex": "0x2", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000400000010000000800000000000000000000000001000000000000000000000000000000000000000000000000000001000000000000000200000000000400000000000000000000000800000000000000000", + "type": "0x2", + "transactionHash": "0xec38dabd51dd1a3078655ed33a94e7642e32e9915fdddb1f9652a354caefeaec", + "transactionIndex": "0x2", + "blockHash": "0x3a0c1c830e905b6441944fa557e9835b1829b4ae6b95a2e57202c5ba554abb4b", + "blockNumber": "0x1329541", + "gasUsed": "0x2b2c74", + "effectiveGasPrice": "0xfe", + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "contractAddress": null, + "l1BaseFeeScalar": "0x2af8", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0x109618", + "l1Fee": "0x42b63a4166", + "l1GasPrice": "0x31a09d4e1", + "l1GasUsed": "0x7a3" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x6589ff", + "logs": [ + { + "address": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "topics": [ + "0x7afee0f1b802cc0f66c67890e26b4566251859cf2cd8de79b86aed7251d9756a", + "0x0000000000000000000000003677f7827760016702d034837bd2fb8e6ba618dd" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000074d79546f6b656e00000000000000000000000000000000000000000000000000", + "blockHash": "0x3a0c1c830e905b6441944fa557e9835b1829b4ae6b95a2e57202c5ba554abb4b", + "blockNumber": "0x1329541", + "transactionHash": "0xd01526c3d74a73d4c09f9ba85a21a48506b7e3f7877060e18853525c29a99137", + "transactionIndex": "0x3", + "logIndex": "0x1", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000010000000000000010000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000100000000000000000020000000000001000000000000000000000000000400000000000040000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xd01526c3d74a73d4c09f9ba85a21a48506b7e3f7877060e18853525c29a99137", + "transactionIndex": "0x3", + "blockHash": "0x3a0c1c830e905b6441944fa557e9835b1829b4ae6b95a2e57202c5ba554abb4b", + "blockNumber": "0x1329541", + "gasUsed": "0x119c0", + "effectiveGasPrice": "0xfe", + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "contractAddress": null, + "l1BaseFeeScalar": "0x2af8", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0x109618", + "l1Fee": "0x3697136fe4", + "l1GasPrice": "0x31a09d4e1", + "l1GasUsed": "0x640" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x691cd7", + "logs": [ + { + "address": "0xa9765e241283ca2f713a42f71b8bada7d21c7f6c", + "topics": [ + "0x407385dc1873eabb5f992b55d2de317c1f69aac3f03d91e49a6ea16063610908", + "0x8a492ea4a7ef7db258c33dbf618658527b53baad4e062111c4a93f9bcec3a67e", + "0x0000000000000000000000008a912047689651e7119cd64453d78dbd42030fb5" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000084a6f686e20446f65000000000000000000000000000000000000000000000000", + "blockHash": "0x3a0c1c830e905b6441944fa557e9835b1829b4ae6b95a2e57202c5ba554abb4b", + "blockNumber": "0x1329541", + "transactionHash": "0x2da24b62dc783283073d7cce6c448cc6648a4f31934e34ae4ace6c23d672990c", + "transactionIndex": "0x4", + "logIndex": "0x2", + "removed": false + } + ], + "logsBloom": "0x00010000000000000000000000000000100000000000240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000400000000100000000000000000000000000000000000000000000000000000000000000008000000008000000000000400000000000000000000000010000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x2da24b62dc783283073d7cce6c448cc6648a4f31934e34ae4ace6c23d672990c", + "transactionIndex": "0x4", + "blockHash": "0x3a0c1c830e905b6441944fa557e9835b1829b4ae6b95a2e57202c5ba554abb4b", + "blockNumber": "0x1329541", + "gasUsed": "0x392d8", + "effectiveGasPrice": "0xfe", + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": "0xa9765e241283ca2f713a42f71b8bada7d21c7f6c", + "contractAddress": null, + "l1BaseFeeScalar": "0x2af8", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0x109618", + "l1Fee": "0x3af2e6e227", + "l1GasPrice": "0x31a09d4e1", + "l1GasUsed": "0x6bf" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1745498130, + "chain": 4202, + "commit": "cd6db15" +} \ No newline at end of file diff --git a/broadcast/deploy.s.sol/4202/run-1745498326.json b/broadcast/deploy.s.sol/4202/run-1745498326.json new file mode 100644 index 0000000..eb8a573 --- /dev/null +++ b/broadcast/deploy.s.sol/4202/run-1745498326.json @@ -0,0 +1,240 @@ +{ + "transactions": [ + { + "hash": "0xba186b5e258644010da513f80bac36826403973448e110f2fb4013ecad78df0a", + "transactionType": "CREATE", + "contractName": "OrganizationFactory", + "contractAddress": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "function": null, + "arguments": [ + "0xCcB723EDa6201FB9655e0301AA1C2d73dd5aa51F" + ], + "transaction": { + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "gas": "0x498758", + "value": "0x0", + "input": "0x608034608457601f6141c338819003918201601f19168301916001600160401b03831184841017608857808492602094604052833981010312608457516001600160a01b038116908190036084575f8054336001600160a01b0319818116928116929092171790915560038054909116919091179055604051614126908161009d8239f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080806040526004361015610012575f80fd5b5f905f3560e01c9081630a38111c14610da5575080631d16392314610d885780635a1f740614610ce65780635fa7b58414610bda57806361ba81d814610aae57806368c4ac2614610a765780636a2b20c214610a365780636f0fccab146109d157806374d27f341461092f57806375151b63146108d75780638da5cb5b146108b0578063a411ef20146103fb578063b0b22c2c146101d1578063be27432f14610117578063c415b95c146100ee5763e49fba6b146100ce575f80fd5b346100eb57806003193601126100eb576020600254604051908152f35b80fd5b50346100eb57806003193601126100eb576003546040516001600160a01b039091168152602090f35b50346100eb5760403660031901126100eb57610131610de4565b9061013a610dfa565b91610143610fca565b6001600160a01b039081168252600460205260408220541680156101c2578192813b156101be576040516301485b9d60e71b81526001600160a01b0390911660048201529082908290602490829084905af180156101b3576101a25750f35b816101ac91610e78565b6100eb5780f35b6040513d84823e3d90fd5b5050fd5b639551f8b360e01b8252600482fd5b50346100eb5760403660031901126100eb5760043567ffffffffffffffff81116103f757610203903690600401610f5e565b61020b610dfa565b610213610fca565b61021b610fca565b8151156103e8576001600160a01b03169081156103d95781835260016020526102476040842054610e10565b6103ca57818352600160205260408320815167ffffffffffffffff81116103b6576102728254610e10565b601f811161037b575b506020601f821160011461031c5790806102a9928791610311575b508160011b915f199060031b1c19161790565b90555b6002545f1981146102fd577f7afee0f1b802cc0f66c67890e26b4566251859cf2cd8de79b86aed7251d9756a9160016102f79201600255604051918291602083526020830190610f3a565b0390a280f35b634e487b7160e01b84526011600452602484fd5b90508401515f610296565b82865280862090601f198316875b8181106103635750908360019493921061034b575b5050811b0190556102ac565b8501515f1960f88460031b161c191690555f8061033f565b9192602060018192868a01518155019401920161032a565b6103a69083875260208720601f840160051c810191602085106103ac575b601f0160051c0190610fb4565b5f61027b565b9091508190610399565b634e487b7160e01b85526041600452602485fd5b63c78e82ad60e01b8352600483fd5b630f58058360e11b8352600483fd5b6316c31e7760e21b8352600483fd5b5080fd5b50346100eb5760403660031901126100eb5760043567ffffffffffffffff81116103f75761042d903690600401610f5e565b60243567ffffffffffffffff81116108ac5761044d903690600401610f5e565b9080511561089d5781511561088e57338352600460205260408320546001600160a01b031661087f5760035460405190613104808301916001600160a01b03169067ffffffffffffffff83118484101761086b57916104de918493610fed8539338252306020830152604082015260a060608201526104cf60a0820186610f3a565b90608081830391015285610f3a565b039084f080156108605760018060a01b03169133845260046020526040842060018060a01b0384166bffffffffffffffffffffffff60a01b82541617905560405160208101903360601b82524260348201526034815261053f605482610e78565b5190206040519061054f82610e48565b8152602081018381526040820183815260608301338152608084019142835260a0850193428552338a52600560205260408a2095518655600186019051805167ffffffffffffffff811161084c578b6105a88454610e10565b601f811161081c575b505060208c601f83116001146107ba57906105e093836106dc575b50508160011b915f199060031b1c19161790565b90555b518051600286019167ffffffffffffffff82116107a6579060209a83926106108c9a999897969554610e10565b601f8111610777575b508c91601f84116001146106e757836106c7999794600597947ff4b9821f6bc54fe8ce60a727c514af1fe81e7be7f09ba6b32b23e7da12fb92ae9c9a979461067494926106dc5750508160011b915f199060031b1c19161790565b90555b516003850180546001600160a01b0319166001600160a01b039290921691909117905551600484015551910155604051606080825290956106ba91870190610f3a565b9085820388870152610f3a565b924260408201528033940390a3604051908152f35b015190505f806105cc565b9190601f198416858452828420935b81811061075d575093600596937ff4b9821f6bc54fe8ce60a727c514af1fe81e7be7f09ba6b32b23e7da12fb92ae9b999693600193836106c79d9b9810610745575b505050811b019055610677565b01515f1960f88460031b161c191690555f8080610738565b8383015185558e9c50600190940193928f01928f016106f6565b6107a0908584528e8420601f860160051c810191602087106103ac57601f0160051c0190610fb4565b5f610619565b634e487b7160e01b8b52604160045260248bfd5b9192601f198416858452828420935b81811061080457509084600195949392106107ec575b505050811b0190556105e3565b01515f1960f88460031b161c191690555f80806107df565b929360206001819287860151815501950193016107c9565b60208286610845945220601f840160051c810191602085106103ac57601f0160051c0190610fb4565b8b5f6105b1565b634e487b7160e01b8c52604160045260248cfd5b6040513d85823e3d90fd5b634e487b7160e01b87526041600452602487fd5b6369c24f0b60e01b8352600483fd5b633e61080d60e01b8352600483fd5b636cc61e7360e11b8352600483fd5b8280fd5b50346100eb57806003193601126100eb57546040516001600160a01b039091168152602090f35b50346100eb5760203660031901126100eb576001600160a01b036108f9610de4565b168015610920576040826109169260209452600184522054610e10565b1515604051908152f35b630f58058360e11b8252600482fd5b50346109be5760403660031901126109be57610949610de4565b610951610fca565b6001600160a01b039081165f908152600460205260409020541680156109c257803b156109be575f809160246040518094819363096a8ab760e01b8352833560048401525af180156109b3576109a5575080f35b6109b191505f90610e78565b005b6040513d5f823e3d90fd5b5f80fd5b639551f8b360e01b5f5260045ffd5b346109be5760203660031901126109be576001600160a01b036109f2610de4565b168015610a27575f526001602052610a23610a0f60405f20610e9a565b604051918291602083526020830190610f3a565b0390f35b630f58058360e11b5f5260045ffd5b346109be5760203660031901126109be576001600160a01b03610a57610de4565b165f526004602052602060018060a01b0360405f205416604051908152f35b346109be5760203660031901126109be576001600160a01b03610a97610de4565b165f526001602052610a23610a0f60405f20610e9a565b346109be5760203660031901126109be57610ac7610de4565b5f60a0604051610ad681610e48565b8281526060602082015260606040820152826060820152826080820152015260018060a01b0316805f52600560205260405f2054156109c2575f52600560205260405f20604051610b2681610e48565b81548152610b3660018301610e9a565b9160208201928352610b4a60028201610e9a565b6040830190815260018060a01b036003830154169160608401928352610bba60056004830154926080870193845201549260a08601938452610ba7604051978897602089525160208901525160c0604089015260e0880190610f3a565b9051868203601f19016060880152610f3a565b92516001600160a01b031660808501525160a08401525160c08301520390f35b346109be5760203660031901126109be57610bf3610de4565b610bfb610fca565b6001600160a01b03168015610cd757610c12610fca565b805f526001602052610c2760405f2054610e10565b15610cd757805f52600160205260405f20610c428154610e10565b9081610c94575b50506002548015610c80575f19016002557f4c910b69fe65a61f7531b9c5042b2329ca7179c77290aa7e2eb3afa3c8511fd35f80a2005b634e487b7160e01b5f52601160045260245ffd5b81601f5f9311600114610cab5750555b8180610c49565b81835260208320610cc791601f0160051c810190600101610fb4565b8082528160208120915555610ca4565b63c1ab6dc160e01b5f5260045ffd5b346109be5760203660031901126109be576001600160a01b03610d07610de4565b165f52600560205260405f208054610d2160018301610e9a565b91610d2e60028201610e9a565b60018060a01b0360038301541691610d746005600483015492015492610d66604051978897885260c0602089015260c0880190610f3a565b908682036040880152610f3a565b926060850152608084015260a08301520390f35b346109be575f3660031901126109be576020600254604051908152f35b346109be5760203660031901126109be576020906001600160a01b03610dc9610de4565b165f9081526004835260409020546001600160a01b03168152f35b600435906001600160a01b03821682036109be57565b602435906001600160a01b03821682036109be57565b90600182811c92168015610e3e575b6020831014610e2a57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610e1f565b60c0810190811067ffffffffffffffff821117610e6457604052565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff821117610e6457604052565b9060405191825f825492610ead84610e10565b8084529360018116908115610f185750600114610ed4575b50610ed292500383610e78565b565b90505f9291925260205f20905f915b818310610efc575050906020610ed2928201015f610ec5565b6020919350806001915483858901015201910190918492610ee3565b905060209250610ed294915060ff191682840152151560051b8201015f610ec5565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b81601f820112156109be5780359067ffffffffffffffff8211610e645760405192610f93601f8401601f191660200185610e78565b828452602083830101116109be57815f926020809301838601378301015290565b818110610fbf575050565b5f8155600101610fb4565b5f546001600160a01b03163303610fdd57565b631a27eac360e11b5f5260045ffdfe6080806040523461048a57613104803803809161001c828561048e565b8339810160a08282031261048a57610033826104b1565b90610040602084016104b1565b61004c604085016104b1565b60608501519094906001600160401b03811161048a578361006e9183016104c5565b60808201519093906001600160401b03811161048a5761008e92016104c5565b926001600160a01b03811691821561047b576001600160a01b031694851561047b576001600160a01b031694851561047b5783511561046c5784511561045d578260018060a01b03195f5416175f5560018060a01b03196001541617600155604051602081019160018060601b03199060601b1682524260348201526034815261011960548261048e565b5190206040519093909260c084016001600160401b0381118582101761036057604052848452806020850152604084019182526060840192835260a06080850194428652019442865260035580519060018060401b0382116103605760045490600182811c92168015610453575b60208310146103425781601f8493116103e5575b50602090601f831160011461037f575f92610374575b50508160011b915f199060031b1c1916176004555b518051906001600160401b0382116103605760055490600182811c92168015610356575b60208310146103425781601f8493116102f1575b50602090601f831160011461028b575f92610280575b50508160011b915f199060031b1c1916176005555b60018060a01b0390511660018060a01b031960065416176006555160075551600855603260105560018060a01b0319600254161760025567016345785d8a0000600f556001601155604051612be9908161051b8239f35b015190505f80610214565b60055f9081528281209350601f198516905b8181106102d957509084600195949392106102c1575b505050811b01600555610229565b01515f1960f88460031b161c191690555f80806102b3565b9293602060018192878601518155019501930161029d565b90915060055f5260205f20601f840160051c81019160208510610338575b90601f859493920160051c01905b81811061032a57506101fe565b5f815584935060010161031d565b909150819061030f565b634e487b7160e01b5f52602260045260245ffd5b91607f16916101ea565b634e487b7160e01b5f52604160045260245ffd5b015190505f806101b1565b60045f9081528281209350601f198516905b8181106103cd57509084600195949392106103b5575b505050811b016004556101c6565b01515f1960f88460031b161c191690555f80806103a7565b92936020600181928786015181550195019301610391565b60045f529091507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f840160051c81019160208510610449575b90601f859493920160051c01905b81811061043b575061019b565b5f815584935060010161042e565b9091508190610420565b91607f1691610187565b633e61080d60e01b5f5260045ffd5b636cc61e7360e11b5f5260045ffd5b63e6c4247b60e01b5f5260045ffd5b5f80fd5b601f909101601f19168101906001600160401b0382119082101761036057604052565b51906001600160a01b038216820361048a57565b81601f8201121561048a578051906001600160401b03821161036057604051926104f9601f8401601f19166020018561048e565b8284526020838301011161048a57815f9260208093018386015e830101529056fe60806040526004361015610011575f80fd5b5f3560e01c8063096a8ab71461214c578063150d2ce8146120e5578063182dafff14611e9c57806322eabb8e14611e7f57806325ffb76714611c7d57806341e0c42714611c0557806348f1e4b514611ac45780634e2727d6146117725780635c62c9671461172b57806362812a39146115dd57806371b6d224146115bf57806375151b631461159257806376c751c6146112095780637e9a8de014610c6457806388a72a6f14610c475780638d7942c214610bc65780638da5cb5b14610b9f57806392d5d7fe14610b0e57806399a5d74714610ae85780639ed3edf014610acb578063a42dce8014610a55578063a5e047b8146109f1578063c415b95c146109c9578063c45a0155146109a1578063cc2fd93014610955578063cc5b8baf1461091d578063cef34b9814610900578063dd06ab5f146106c4578063e077c07814610573578063e30909b9146103af578063e894d0a2146102be578063eb820312146102185763f8defa3c14610184575f80fd5b34610214575f366003190112610214576009546101a081612549565b906101ae6040519283612281565b8082526020820160095f527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af5f915b8383106101f657604051806101f2878261248a565b0390f35b60046020600192610206856126b6565b8152019201920191906101dd565b5f80fd5b34610214576020366003190112610214576001600160a01b036102396121b0565b165f52600a60205260405f208054600182015491610259600282016123c8565b600382015491600481015460018060a01b03600583015416906102a06007600685015494015494604051988998895260208901526101006040890152610100880190612466565b946060870152608086015260a085015260c084015260e08301520390f35b34610214575f366003190112610214575f60a06040516102dd81612266565b8281526060602082015260606040820152826060820152826080820152015260405161030881612266565b60035481526103156122a2565b9060208101918252610325612346565b6040820190815260018060a01b036006541690606083019182526007546080840190815261038f6008549260a0860193845261037c604051978897602089525160208901525160c0604089015260e0880190612466565b9051868203601f19016060880152612466565b92516001600160a01b031660808501525160a08401525160c08301520390f35b34610214576040366003190112610214576103c86121b0565b6024356001600160401b038111610214576103e79036906004016124f4565b906103f0612b60565b6001600160a01b0316801561056457805f52600a60205260405f20541561055557815115610546575f52600a60205260405f206002810182516001600160401b0381116105325761044182546121dc565b601f81116104ed575b506020601f821160011461048c57819293945f92610481575b50508160011b915f199060031b1c19161790555b6007429101555f80f35b015190508480610463565b601f19821690835f52805f20915f5b8181106104d5575095836001959697106104bd575b505050811b019055610477565b01515f1960f88460031b161c191690558480806104b0565b9192602060018192868b01518155019401920161049b565b825f5260205f20601f830160051c81019160208410610528575b601f0160051c01905b81811061051d575061044a565b5f8155600101610510565b9091508190610507565b634e487b7160e01b5f52604160045260245ffd5b636cc61e7360e11b5f5260045ffd5b6366a21ffb60e01b5f5260045ffd5b63e6c4247b60e01b5f5260045ffd5b34610214576060366003190112610214576004356001600160401b038111610214576105a3903690600401612560565b6024356001600160401b03811161021457366023820112156102145780600401356105cd81612549565b916105db6040519384612281565b8183526024602084019260051b820101903682116102145760248101925b8284106106955785856044356001600160401b038111610214576106219036906004016125ce565b9161062a612b60565b8051825103610686578051835103610686575f5b81518110156106845760019061067d6001600160a01b0361065f83866126a2565b511661066b83876126a2565b5161067684896126a2565b51916126f4565b500161063e565b005b63b4fa3fb360e01b5f5260045ffd5b83356001600160401b038111610214576020916106b98392602436918701016124f4565b8152019301926105f9565b34610214575f366003190112610214576106dc612b60565b5f5f600d54905b81811061083e575061070d6106f783612549565b926107056040519485612281565b808452612549565b602083019190601f19013683375f5f5b828110610771578385604051918291602083019060208452518091526040830191905f5b81811061074f575050500390f35b82516001600160a01b0316845285945060209384019390920191600101610741565b60018060a01b0381165f52600b60205260405f2060405161079181612214565b600460018060a01b0383541692838352600181015460208401526002810154604084015260038101546060840152015460ff811615918215608082015260c060ff8360081c161592831560a084015260018060a01b039060101c169101528215159182610836575b508161082e575b5061080f575b5060010161071d565b826108279161082160019495896126a2565b52612694565b9190610806565b905087610800565b9150886107f9565b60018060a01b0381165f52600b60205260405f206040519061085f82612214565b600460018060a01b038254169182845260018101546020850152600281015460408501526003810154606085015201549060ff821615928315608082015260c060ff8460081c161593841560a084015260018060a01b039060101c16910152151591826108f8575b50816108f0575b506108dc575b6001016106e3565b916108e8600191612694565b9290506108d4565b9050846108ce565b9150856108c7565b34610214575f366003190112610214576020600e54604051908152f35b34610214576020366003190112610214576001600160a01b0361093e6121b0565b165f52600c602052602060405f2054604051908152f35b34610214576020366003190112610214577f6d34b3f6f48575724889e5dc1271a918c090c0ccd4fb6c361d25585debef14066020600435610994612b60565b80600f55604051908152a1005b34610214575f366003190112610214576001546040516001600160a01b039091168152602090f35b34610214575f366003190112610214576002546040516001600160a01b039091168152602090f35b346102145760203660031901126102145760043560095481101561021457610a1a60809161262b565b50805460018201546002830154600390930154604080516001600160a01b039485168152929093166020830152918101929092526060820152f35b3461021457602036600319011261021457610a6e6121b0565b610a76612b3d565b6001600160a01b03168015610564576020817fe5693914d19c789bdee50a362998c0bc8d035a835f9871da5d51152f0582c34f926bffffffffffffffffffffffff60a01b6002541617600255604051908152a1005b34610214575f366003190112610214576020601054604051908152f35b34610214576020366003190112610214576020610b06600435612b21565b604051908152f35b34610214576020366003190112610214576001600160a01b03610b2f6121b0565b165f52600b60205260e060405f2060018060a01b03815416906001810154906002810154600460038301549201549260405194855260208501526040840152606083015260ff81161515608083015260ff8160081c16151560a083015260018060a01b039060101c1660c0820152f35b34610214575f366003190112610214575f546040516001600160a01b039091168152602090f35b3461021457604036600319011261021457610bdf6121b0565b60243590610beb612b60565b6001600160a01b031690811561056457815f52600a60205260405f2054156105555760207fce085fc5aeaa5dba9675c29e7f91ffb489df67981b590b65a48b1457a1fc308c91835f52600c82528060405f2055604051908152a2005b34610214575f366003190112610214576020600f54604051908152f35b3461021457606036600319011261021457610c7d6121b0565b6024356001600160401b03811161021457610c9c903690600401612560565b906044356001600160401b03811161021457610cbc9036906004016125ce565b916002601154146111fa576002601155610cd4612b60565b8051835103610686576001600160a01b03821691821561056457610cf790612a2c565b156111eb5782905f915f93825194610d0e86612549565b95610d1c6040519788612281565b808752610d2b601f1991612549565b013660208801375f5b8451811015610ecc57610d4781856126a2565b5115610e64576001600160a01b03610d5f82876126a2565b511615610564576001600160a01b03610d7882876126a2565b51165f52600a60205260405f209586541561055557610da0610d9a83876126a2565b516129e4565b610da981612b21565b610db381836129d7565b610dbd85896126a2565b5103610e9257610dd2610dd89260049461265b565b9461265b565b960154908115610e735781610ded82876126a2565b511115610e6457610e0a600192610e0483886126a2565b516129d7565b610e14828a6126a2565b525b610e5b828060a01b03610e2983896126a2565b5116610e3583886126a2565b5160405191610e438361222f565b82528660208301526040820152426060820152612a87565b01949094610d34565b63162908e360e11b5f5260045ffd5b60019150610e8181866126a2565b51610e8c828a6126a2565b52610e16565b60405162461bcd60e51b81526020600482015260126024820152712332b29036b4b9b1b0b631bab630ba34b7b760711b6044820152606490fd5b50928592946040516370a0823160e01b8152336004820152602081602481875afa801561104a5782915f916111b6575b5010610e6457604051636eb1769f60e11b8152336004820152306024820152602081604481875afa801561104a5782915f91611181575b5010611172575f5b82518110156110b5576001600160a01b03610f5682856126a2565b511690815f52600a602052600460405f200154611055575b610fb46020610f7d83896126a2565b516040516323b872dd60e01b81523360048201526001600160a01b0386166024820152604481019190915291829081906064820190565b03815f8a5af190811561104a575f9161101c575b501561100d57600191857f0f64b92a091214409b5000aa33869d5a13c5f95c0b777e4e90ba90aa1d0caf176020610fff858d6126a2565b51604051908152a301610f3b565b6312171d8360e31b5f5260045ffd5b61103d915060203d8111611043575b6110358183612281565b81019061267c565b89610fc8565b503d61102b565b6040513d5f823e3d90fd5b5f828152600a602090815260408083206004908101805490859055600b84529382902001805461ff0019166101001790555191825283917fdf350d510bb8ebdfe431d9cd8936d9adcde99cd7a55657d251e1fc9fc08af27d9190a2610f6e565b50908480611101575b507feb4c91d1e20aae92fc74a1fe60fe3b5060d372d51c3e08869baa24f84874dccb91604091519082519182526020820152a26001601155602060405160018152f35b6002546040516323b872dd60e01b81523360048201526001600160a01b03909116602482015260448101919091526020816064815f885af190811561104a575f91611153575b501561100d57836110be565b61116c915060203d602011611043576110358183612281565b84611147565b6365ba6fc360e01b5f5260045ffd5b9150506020813d6020116111ae575b8161119d60209383612281565b810103126102145781905188610f33565b3d9150611190565b9150506020813d6020116111e3575b816111d260209383612281565b810103126102145781905188610efc565b3d91506111c5565b633dd1b30560e01b5f5260045ffd5b6306fda65d60e31b5f5260045ffd5b34610214576060366003190112610214576112226121b0565b61122a6121c6565b6044356002601154146111fa576002601155611244612b60565b6001600160a01b038316918215610564576001600160a01b038116938415610564578215610e645761127590612a2c565b156111eb57835f52600a60205260405f209081541561055557611297836129e4565b916112a183612b21565b926112ac84826129d7565b85810361154d576040516112dc916112c38261222f565b8982528860208301526040820152426060820152612a87565b6040516370a0823160e01b81523360048201526020816024818a5afa801561104a5782915f91611518575b5010610e6457604051636eb1769f60e11b81523360048201523060248201526020816044818a5afa90811561104a575f916114e6575b501061117257600401805484918161146f575b50506040516323b872dd60e01b81523360048201526001600160a01b039092166024830152604482015260208180606481015b03815f885af190811561104a575f91611450575b501561100d57806113df575b5060207f0f64b92a091214409b5000aa33869d5a13c5f95c0b777e4e90ba90aa1d0caf1791604051908152a36001601155602060405160018152f35b6002546040516323b872dd60e01b81523360048201526001600160a01b03909116602482015260448101919091526020816064815f875af190811561104a575f91611431575b501561100d57836113a3565b61144a915060203d602011611043576110358183612281565b84611425565b611469915060203d602011611043576110358183612281565b85611397565b90809250851115610e645761138392877fdf350d510bb8ebdfe431d9cd8936d9adcde99cd7a55657d251e1fc9fc08af27d6020855f6114af83988c6129d7565b9655835f52600b82525f6004604082208281558260018201558260028201558260038201550155604051908152a292819250611350565b90506020813d602011611510575b8161150160209383612281565b8101031261021457518861133d565b3d91506114f4565b9150506020813d602011611545575b8161153460209383612281565b810103126102145781905189611307565b3d9150611527565b60405162461bcd60e51b815260206004820152601b60248201527f4d69736d6174636820696e206665652063616c63756c6174696f6e00000000006044820152606490fd5b346102145760203660031901126102145760206115b56115b06121b0565b612a2c565b6040519015158152f35b34610214576020366003190112610214576020610b066004356129e4565b34610214576020366003190112610214576115f66121b0565b5f60e06040516116058161224a565b828152826020820152606060408201528260608201528260808201528260a08201528260c0820152015260018060a01b0316801561056457805f52600a60205260405f205415610555575f52600a60205260405f206040516116668161224a565b8154815260018201549160208201928352611683600282016123c8565b604083019081526003820154916060840192835260048101546080850190815260018060a01b036005830154169060a086019182526116fe600760068501549460c0890195865201549460e0880195865260405198899860208a525160208a0152516040890152516101006060890152610120880190612466565b945160808701525160a0860152516001600160a01b031660c08501525160e0840152516101008301520390f35b34610214576060366003190112610214576117446121b0565b6024356001600160401b03811161021457602091611769610b069236906004016124f4565b604435916126f4565b34610214576040366003190112610214576004356001600160401b038111610214576117a29036906004016124f4565b6024356001600160401b038111610214576117c19036906004016124f4565b6117c9612b60565b81511561054657805115611ab5578151916001600160401b038311610532576117f36004546121dc565b601f8111611a4d575b50602092601f81116001146119e157809192935f916119d6575b508160011b915f199060031b1c1916176004555b81516001600160401b038111610532576118456005546121dc565b601f811161196e575b506020601f82116001146118dc5791816118be927f860b8b881bb84f47cb86ac440df8baf77920bf8351874ea568c06605c50cf6da945f916118d1575b508160011b915f199060031b1c1916176005555b426008556118cc60035494604051938493604085526040850190612466565b908382036020850152612466565b0390a2005b90508501518661188b565b601f1982169060055f525f516020612b745f395f51905f52915f5b8181106119565750927f860b8b881bb84f47cb86ac440df8baf77920bf8351874ea568c06605c50cf6da9492600192826118be961061193e575b5050811b0160055561189f565b8701515f1960f88460031b161c191690558680611931565b9192602060018192868a0151815501940192016118f7565b60055f52601f820160051c5f516020612b745f395f51905f520190602083106119c1575b601f0160051c5f516020612b745f395f51905f5201905b8181106119b6575061184e565b5f81556001016119a9565b5f516020612b745f395f51905f529150611992565b905082015184611816565b601f1981169360045f525f516020612b945f395f51905f52905f5b868110611a35575082600194959610611a1d575b5050811b0160045561182a565b8401515f1960f88460031b161c191690558480611a10565b909160206001819285880151815501930191016119fc565b60045f52601f840160051c5f516020612b945f395f51905f52019060208510611aa0575b601f0160051c5f516020612b945f395f51905f5201905b818110611a9557506117fc565b5f8155600101611a88565b5f516020612b945f395f51905f529150611a71565b633e61080d60e01b5f5260045ffd5b3461021457602036600319011261021457611add6121b0565b6009545f916001600160a01b0316825b828110611bce5750611afe83612549565b92611b0c6040519485612281565b808452611b1b601f1991612549565b015f5b818110611b9f5750505f905f5b838110611b4057604051806101f2878261248a565b81611b4a8261262b565b50546001600160a01b031614611b63575b600101611b2b565b91611b97600191611b7c611b768661262b565b506126b6565b611b8682896126a2565b52611b9181886126a2565b50612694565b929050611b5b565b602090604051611bae8161222f565b5f81525f838201525f60408201525f606082015282828801015201611b1e565b81611bd88261262b565b50546001600160a01b031614611bf1575b600101611aed565b92611bfd600191612694565b939050611be9565b34610214575f36600319011261021457600354611c206122a2565b90611c29612346565b60018060a01b036006541690600754611c6960085492611c5b604051978897885260c0602089015260c0880190612466565b908682036040880152612466565b926060850152608084015260a08301520390f35b3461021457604036600319011261021457600435611c996121c6565b335f52600a60205260405f20541561055557611cb481612a2c565b15611e70578115610e6457335f52600c60205260405f20548211610e6457335f52600b60205260405f2060405190611ceb82612214565b600460018060a01b038254169182845260018101546020850152600281015460408501526003810154606085015201549160ff83161515608082015260c060ff8460081c161593841560a084015260018060a01b039060101c1691015215159081611e68575b50611e595760405190611d6382612214565b3380835260208084018581524260408087019182525f606088018181526080890182815260a08a018381526001600160a01b03998a1660c08c01908152988452600b90975292909120975188546001600160a01b0319169716969096178755915160018701555160028601559251600385015591516004939093018054925191516001600160b01b031990931660ff941515949094169390931790151560081b61ff00161760109190911b62010000600160b01b0316179055600e54611e2890612694565b600e556040519081527f19a703b7248cc8f4116eef5d65eb2a9b4a83bd8d37c962f33d021f019278075b60203392a2005b6341abc80160e01b5f5260045ffd5b905083611d51565b63c1ab6dc160e01b5f5260045ffd5b34610214575f366003190112610214576020600d54604051908152f35b3461021457602036600319011261021457611eb56121b0565b6002601154146111fa576002601155611ecc612b60565b6001600160a01b03168015610564575f818152600b6020526040902080546001600160a01b0316908115611e5957600481019182549060ff82166120d6575f52600a60205260405f2054156105555760019060ff191617825542600382015560018101918254845f52600a602052611f4c600460405f200191825461265b565b9055546040516370a0823160e01b815233600482015260109190911c6001600160a01b031692602082602481875afa91821561104a575f926120a2575b5054809110610e6457604051636eb1769f60e11b8152336004820152306024820152602081604481875afa801561104a5782915f9161206d575b50106111725790546040516323b872dd60e01b81523360048201526001600160a01b039091166024820152604481019190915290602090829060649082905f905af190811561104a575f9161204e575b501561100d576040516020917f5a1d60dbcb373a8c141fa80faf8e10467f6bcdfedfa593edc0feb21be4aa111f5f80a2600160115560018152f35b612067915060203d602011611043576110358183612281565b82612013565b9150506020813d60201161209a575b8161208960209383612281565b810103126102145781905186611fc3565b3d915061207c565b9091506020813d6020116120ce575b816120be60209383612281565b8101031261021457519085611f89565b3d91506120b1565b63080fc0bd60e11b5f5260045ffd5b34610214576040366003190112610214576120fe6121b0565b6024359061210a612b60565b6001600160a01b0316801561056457805f52600a60205260405f205415610555578115610e64575f52600a60205260405f209060038201556007429101555f80f35b3461021457602036600319011261021457600435612168612b3d565b605081116121a1576020817f21ea14061974d1886e13e854a8a738e5177a587170a7f767a2b182a3f8b8dcdf92601055604051908152a1005b6358d620b360e01b5f5260045ffd5b600435906001600160a01b038216820361021457565b602435906001600160a01b038216820361021457565b90600182811c9216801561220a575b60208310146121f657565b634e487b7160e01b5f52602260045260245ffd5b91607f16916121eb565b60e081019081106001600160401b0382111761053257604052565b608081019081106001600160401b0382111761053257604052565b61010081019081106001600160401b0382111761053257604052565b60c081019081106001600160401b0382111761053257604052565b90601f801991011681019081106001600160401b0382111761053257604052565b604051905f82600454916122b5836121dc565b808352926001811690811561232757506001146122db575b6122d992500383612281565b565b5060045f90815290915f516020612b945f395f51905f525b81831061230b5750509060206122d9928201016122cd565b60209193508060019154838589010152019101909184926122f3565b602092506122d994915060ff191682840152151560051b8201016122cd565b604051905f8260055491612359836121dc565b8083529260018116908115612327575060011461237c576122d992500383612281565b5060055f90815290915f516020612b745f395f51905f525b8183106123ac5750509060206122d9928201016122cd565b6020919350806001915483858901015201910190918492612394565b9060405191825f8254926123db846121dc565b80845293600181169081156124445750600114612400575b506122d992500383612281565b90505f9291925260205f20905f915b8183106124285750509060206122d9928201015f6123f3565b602091935080600191548385890101520191019091849261240f565b9050602092506122d994915060ff191682840152151560051b8201015f6123f3565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60206040818301928281528451809452019201905f5b8181106124ad5750505090565b825180516001600160a01b039081168652602082810151909116818701526040808301519087015260609182015191860191909152608090940193909201916001016124a0565b81601f82011215610214578035906001600160401b0382116105325760405192612528601f8401601f191660200185612281565b8284526020838301011161021457815f926020809301838601378301015290565b6001600160401b0381116105325760051b60200190565b9080601f830112156102145781359061257882612549565b926125866040519485612281565b82845260208085019360051b82010191821161021457602001915b8183106125ae5750505090565b82356001600160a01b0381168103610214578152602092830192016125a1565b9080601f830112156102145781356125e581612549565b926125f36040519485612281565b81845260208085019260051b82010192831161021457602001905b82821061261b5750505090565b813581526020918201910161260e565b6009548110156126475760095f5260205f209060021b01905f90565b634e487b7160e01b5f52603260045260245ffd5b9190820180921161266857565b634e487b7160e01b5f52601160045260245ffd5b90816020910312610214575180151581036102145790565b5f1981146126685760010190565b80518210156126475760209160051b010190565b906040516126c38161222f565b82546001600160a01b0390811682526001840154166020820152600283015460408201526003909201546060830152565b9291926126ff612b60565b815115610546576001600160a01b03811690811561056457815f52600a60205260405f20546129c85760405160208101916bffffffffffffffffffffffff199060601b1682524260348201526034815261275a605482612281565b519020916003546040519061276e8261224a565b84825260208201908152604082019683885260608301908152608083015f815260a084019086825260c085019242845260e0860194428652885f52600a60205260405f2096518755516001870155600286019a519a8b516001600160401b03811161053257601f9c6127e083546121dc565b9d8e11612982575b8b9c9d505f9b9a9b50602090601f83116001146128c95792827f407385dc1873eabb5f992b55d2de317c1f69aac3f03d91e49a6ea160636109089b9996936128b89b999693600799965f926128be575b50508160011b915f199060031b1c19161790555b516003870155516004860155516005850180546001600160a01b0319166001600160a01b039290921691909117905551600684015551910155600d5461289190612694565b600d55600f54855f52600c60205260405f2055604051918291602083526020830190612466565b0390a390565b015190505f80612838565b601f9b9a9998979695949392919b19821690835f528c5f20915f5b81811061294e5750926007989694927f407385dc1873eabb5f992b55d2de317c1f69aac3f03d91e49a6ea160636109089d9e600193836128b89f9e9d9b999710612936575b505050811b01905561284c565b01515f1960f88460031b161c191690555f8080612929565b939597999b9d9496989a9c5090916020600181928786015181550195019301908f9c9a98969492919d9b999795939d6128e4565b825f5260205f20601f830160051c81019e602084106129be575b601f0160051c019d8e5b81106129b257506127e8565b5f81556001018e6129a6565b909e508e9061299c565b63d8abd7e760e01b5f5260045ffd5b9190820391821161266857565b6127108102908082046127101490151715612668576010549081612710039161271083116126685761271014612a18570490565b634e487b7160e01b5f52601260045260245ffd5b6001546040516375151b6360e01b81526001600160a01b0392831660048201529160209183916024918391165afa90811561104a575f91612a6b575090565b612a84915060203d602011611043576110358183612281565b90565b6009546801000000000000000081101561053257600181016009556009548110156126475760095f5260021b7f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0190805182546001600160a01b03199081166001600160a01b0392831617845560208301516001850180549092169216919091179055604081015160028301556060015160039190910155565b6010549081810291818304149015171561266857612710900490565b6001546001600160a01b03163303612b5157565b631a27eac360e11b5f5260045ffd5b5f546001600160a01b03163303612b515756fe036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db08a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19ba264697066735822122008232c4962bd90900d091417d61b64f45394bf3531eaf11a4b2716ab5b9cd10164736f6c634300081c0033a2646970667358221220f9218596c9dcf73850d7727d5f278b137477cbbc9554e8d05f0fc8a6b36c113464736f6c634300081c0033000000000000000000000000ccb723eda6201fb9655e0301aa1c2d73dd5aa51f", + "nonce": "0x1", + "chainId": "0x106a" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xec38dabd51dd1a3078655ed33a94e7642e32e9915fdddb1f9652a354caefeaec", + "transactionType": "CALL", + "contractName": "OrganizationFactory", + "contractAddress": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "function": "createOrganization(string,string)", + "arguments": [ + "My Organization", + "This is a description of my organization." + ], + "transaction": { + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "gas": "0x3ba233", + "value": "0x0", + "input": "0xa411ef2000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000f4d79204f7267616e697a6174696f6e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029546869732069732061206465736372697074696f6e206f66206d79206f7267616e697a6174696f6e2e0000000000000000000000000000000000000000000000", + "nonce": "0x2", + "chainId": "0x106a" + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0xa9765e241283ca2f713a42f71b8bada7d21c7f6c", + "initCode": "0x6080806040523461048a57613104803803809161001c828561048e565b8339810160a08282031261048a57610033826104b1565b90610040602084016104b1565b61004c604085016104b1565b60608501519094906001600160401b03811161048a578361006e9183016104c5565b60808201519093906001600160401b03811161048a5761008e92016104c5565b926001600160a01b03811691821561047b576001600160a01b031694851561047b576001600160a01b031694851561047b5783511561046c5784511561045d578260018060a01b03195f5416175f5560018060a01b03196001541617600155604051602081019160018060601b03199060601b1682524260348201526034815261011960548261048e565b5190206040519093909260c084016001600160401b0381118582101761036057604052848452806020850152604084019182526060840192835260a06080850194428652019442865260035580519060018060401b0382116103605760045490600182811c92168015610453575b60208310146103425781601f8493116103e5575b50602090601f831160011461037f575f92610374575b50508160011b915f199060031b1c1916176004555b518051906001600160401b0382116103605760055490600182811c92168015610356575b60208310146103425781601f8493116102f1575b50602090601f831160011461028b575f92610280575b50508160011b915f199060031b1c1916176005555b60018060a01b0390511660018060a01b031960065416176006555160075551600855603260105560018060a01b0319600254161760025567016345785d8a0000600f556001601155604051612be9908161051b8239f35b015190505f80610214565b60055f9081528281209350601f198516905b8181106102d957509084600195949392106102c1575b505050811b01600555610229565b01515f1960f88460031b161c191690555f80806102b3565b9293602060018192878601518155019501930161029d565b90915060055f5260205f20601f840160051c81019160208510610338575b90601f859493920160051c01905b81811061032a57506101fe565b5f815584935060010161031d565b909150819061030f565b634e487b7160e01b5f52602260045260245ffd5b91607f16916101ea565b634e487b7160e01b5f52604160045260245ffd5b015190505f806101b1565b60045f9081528281209350601f198516905b8181106103cd57509084600195949392106103b5575b505050811b016004556101c6565b01515f1960f88460031b161c191690555f80806103a7565b92936020600181928786015181550195019301610391565b60045f529091507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f840160051c81019160208510610449575b90601f859493920160051c01905b81811061043b575061019b565b5f815584935060010161042e565b9091508190610420565b91607f1691610187565b633e61080d60e01b5f5260045ffd5b636cc61e7360e11b5f5260045ffd5b63e6c4247b60e01b5f5260045ffd5b5f80fd5b601f909101601f19168101906001600160401b0382119082101761036057604052565b51906001600160a01b038216820361048a57565b81601f8201121561048a578051906001600160401b03821161036057604051926104f9601f8401601f19166020018561048e565b8284526020838301011161048a57815f9260208093018386015e830101529056fe60806040526004361015610011575f80fd5b5f3560e01c8063096a8ab71461214c578063150d2ce8146120e5578063182dafff14611e9c57806322eabb8e14611e7f57806325ffb76714611c7d57806341e0c42714611c0557806348f1e4b514611ac45780634e2727d6146117725780635c62c9671461172b57806362812a39146115dd57806371b6d224146115bf57806375151b631461159257806376c751c6146112095780637e9a8de014610c6457806388a72a6f14610c475780638d7942c214610bc65780638da5cb5b14610b9f57806392d5d7fe14610b0e57806399a5d74714610ae85780639ed3edf014610acb578063a42dce8014610a55578063a5e047b8146109f1578063c415b95c146109c9578063c45a0155146109a1578063cc2fd93014610955578063cc5b8baf1461091d578063cef34b9814610900578063dd06ab5f146106c4578063e077c07814610573578063e30909b9146103af578063e894d0a2146102be578063eb820312146102185763f8defa3c14610184575f80fd5b34610214575f366003190112610214576009546101a081612549565b906101ae6040519283612281565b8082526020820160095f527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af5f915b8383106101f657604051806101f2878261248a565b0390f35b60046020600192610206856126b6565b8152019201920191906101dd565b5f80fd5b34610214576020366003190112610214576001600160a01b036102396121b0565b165f52600a60205260405f208054600182015491610259600282016123c8565b600382015491600481015460018060a01b03600583015416906102a06007600685015494015494604051988998895260208901526101006040890152610100880190612466565b946060870152608086015260a085015260c084015260e08301520390f35b34610214575f366003190112610214575f60a06040516102dd81612266565b8281526060602082015260606040820152826060820152826080820152015260405161030881612266565b60035481526103156122a2565b9060208101918252610325612346565b6040820190815260018060a01b036006541690606083019182526007546080840190815261038f6008549260a0860193845261037c604051978897602089525160208901525160c0604089015260e0880190612466565b9051868203601f19016060880152612466565b92516001600160a01b031660808501525160a08401525160c08301520390f35b34610214576040366003190112610214576103c86121b0565b6024356001600160401b038111610214576103e79036906004016124f4565b906103f0612b60565b6001600160a01b0316801561056457805f52600a60205260405f20541561055557815115610546575f52600a60205260405f206002810182516001600160401b0381116105325761044182546121dc565b601f81116104ed575b506020601f821160011461048c57819293945f92610481575b50508160011b915f199060031b1c19161790555b6007429101555f80f35b015190508480610463565b601f19821690835f52805f20915f5b8181106104d5575095836001959697106104bd575b505050811b019055610477565b01515f1960f88460031b161c191690558480806104b0565b9192602060018192868b01518155019401920161049b565b825f5260205f20601f830160051c81019160208410610528575b601f0160051c01905b81811061051d575061044a565b5f8155600101610510565b9091508190610507565b634e487b7160e01b5f52604160045260245ffd5b636cc61e7360e11b5f5260045ffd5b6366a21ffb60e01b5f5260045ffd5b63e6c4247b60e01b5f5260045ffd5b34610214576060366003190112610214576004356001600160401b038111610214576105a3903690600401612560565b6024356001600160401b03811161021457366023820112156102145780600401356105cd81612549565b916105db6040519384612281565b8183526024602084019260051b820101903682116102145760248101925b8284106106955785856044356001600160401b038111610214576106219036906004016125ce565b9161062a612b60565b8051825103610686578051835103610686575f5b81518110156106845760019061067d6001600160a01b0361065f83866126a2565b511661066b83876126a2565b5161067684896126a2565b51916126f4565b500161063e565b005b63b4fa3fb360e01b5f5260045ffd5b83356001600160401b038111610214576020916106b98392602436918701016124f4565b8152019301926105f9565b34610214575f366003190112610214576106dc612b60565b5f5f600d54905b81811061083e575061070d6106f783612549565b926107056040519485612281565b808452612549565b602083019190601f19013683375f5f5b828110610771578385604051918291602083019060208452518091526040830191905f5b81811061074f575050500390f35b82516001600160a01b0316845285945060209384019390920191600101610741565b60018060a01b0381165f52600b60205260405f2060405161079181612214565b600460018060a01b0383541692838352600181015460208401526002810154604084015260038101546060840152015460ff811615918215608082015260c060ff8360081c161592831560a084015260018060a01b039060101c169101528215159182610836575b508161082e575b5061080f575b5060010161071d565b826108279161082160019495896126a2565b52612694565b9190610806565b905087610800565b9150886107f9565b60018060a01b0381165f52600b60205260405f206040519061085f82612214565b600460018060a01b038254169182845260018101546020850152600281015460408501526003810154606085015201549060ff821615928315608082015260c060ff8460081c161593841560a084015260018060a01b039060101c16910152151591826108f8575b50816108f0575b506108dc575b6001016106e3565b916108e8600191612694565b9290506108d4565b9050846108ce565b9150856108c7565b34610214575f366003190112610214576020600e54604051908152f35b34610214576020366003190112610214576001600160a01b0361093e6121b0565b165f52600c602052602060405f2054604051908152f35b34610214576020366003190112610214577f6d34b3f6f48575724889e5dc1271a918c090c0ccd4fb6c361d25585debef14066020600435610994612b60565b80600f55604051908152a1005b34610214575f366003190112610214576001546040516001600160a01b039091168152602090f35b34610214575f366003190112610214576002546040516001600160a01b039091168152602090f35b346102145760203660031901126102145760043560095481101561021457610a1a60809161262b565b50805460018201546002830154600390930154604080516001600160a01b039485168152929093166020830152918101929092526060820152f35b3461021457602036600319011261021457610a6e6121b0565b610a76612b3d565b6001600160a01b03168015610564576020817fe5693914d19c789bdee50a362998c0bc8d035a835f9871da5d51152f0582c34f926bffffffffffffffffffffffff60a01b6002541617600255604051908152a1005b34610214575f366003190112610214576020601054604051908152f35b34610214576020366003190112610214576020610b06600435612b21565b604051908152f35b34610214576020366003190112610214576001600160a01b03610b2f6121b0565b165f52600b60205260e060405f2060018060a01b03815416906001810154906002810154600460038301549201549260405194855260208501526040840152606083015260ff81161515608083015260ff8160081c16151560a083015260018060a01b039060101c1660c0820152f35b34610214575f366003190112610214575f546040516001600160a01b039091168152602090f35b3461021457604036600319011261021457610bdf6121b0565b60243590610beb612b60565b6001600160a01b031690811561056457815f52600a60205260405f2054156105555760207fce085fc5aeaa5dba9675c29e7f91ffb489df67981b590b65a48b1457a1fc308c91835f52600c82528060405f2055604051908152a2005b34610214575f366003190112610214576020600f54604051908152f35b3461021457606036600319011261021457610c7d6121b0565b6024356001600160401b03811161021457610c9c903690600401612560565b906044356001600160401b03811161021457610cbc9036906004016125ce565b916002601154146111fa576002601155610cd4612b60565b8051835103610686576001600160a01b03821691821561056457610cf790612a2c565b156111eb5782905f915f93825194610d0e86612549565b95610d1c6040519788612281565b808752610d2b601f1991612549565b013660208801375f5b8451811015610ecc57610d4781856126a2565b5115610e64576001600160a01b03610d5f82876126a2565b511615610564576001600160a01b03610d7882876126a2565b51165f52600a60205260405f209586541561055557610da0610d9a83876126a2565b516129e4565b610da981612b21565b610db381836129d7565b610dbd85896126a2565b5103610e9257610dd2610dd89260049461265b565b9461265b565b960154908115610e735781610ded82876126a2565b511115610e6457610e0a600192610e0483886126a2565b516129d7565b610e14828a6126a2565b525b610e5b828060a01b03610e2983896126a2565b5116610e3583886126a2565b5160405191610e438361222f565b82528660208301526040820152426060820152612a87565b01949094610d34565b63162908e360e11b5f5260045ffd5b60019150610e8181866126a2565b51610e8c828a6126a2565b52610e16565b60405162461bcd60e51b81526020600482015260126024820152712332b29036b4b9b1b0b631bab630ba34b7b760711b6044820152606490fd5b50928592946040516370a0823160e01b8152336004820152602081602481875afa801561104a5782915f916111b6575b5010610e6457604051636eb1769f60e11b8152336004820152306024820152602081604481875afa801561104a5782915f91611181575b5010611172575f5b82518110156110b5576001600160a01b03610f5682856126a2565b511690815f52600a602052600460405f200154611055575b610fb46020610f7d83896126a2565b516040516323b872dd60e01b81523360048201526001600160a01b0386166024820152604481019190915291829081906064820190565b03815f8a5af190811561104a575f9161101c575b501561100d57600191857f0f64b92a091214409b5000aa33869d5a13c5f95c0b777e4e90ba90aa1d0caf176020610fff858d6126a2565b51604051908152a301610f3b565b6312171d8360e31b5f5260045ffd5b61103d915060203d8111611043575b6110358183612281565b81019061267c565b89610fc8565b503d61102b565b6040513d5f823e3d90fd5b5f828152600a602090815260408083206004908101805490859055600b84529382902001805461ff0019166101001790555191825283917fdf350d510bb8ebdfe431d9cd8936d9adcde99cd7a55657d251e1fc9fc08af27d9190a2610f6e565b50908480611101575b507feb4c91d1e20aae92fc74a1fe60fe3b5060d372d51c3e08869baa24f84874dccb91604091519082519182526020820152a26001601155602060405160018152f35b6002546040516323b872dd60e01b81523360048201526001600160a01b03909116602482015260448101919091526020816064815f885af190811561104a575f91611153575b501561100d57836110be565b61116c915060203d602011611043576110358183612281565b84611147565b6365ba6fc360e01b5f5260045ffd5b9150506020813d6020116111ae575b8161119d60209383612281565b810103126102145781905188610f33565b3d9150611190565b9150506020813d6020116111e3575b816111d260209383612281565b810103126102145781905188610efc565b3d91506111c5565b633dd1b30560e01b5f5260045ffd5b6306fda65d60e31b5f5260045ffd5b34610214576060366003190112610214576112226121b0565b61122a6121c6565b6044356002601154146111fa576002601155611244612b60565b6001600160a01b038316918215610564576001600160a01b038116938415610564578215610e645761127590612a2c565b156111eb57835f52600a60205260405f209081541561055557611297836129e4565b916112a183612b21565b926112ac84826129d7565b85810361154d576040516112dc916112c38261222f565b8982528860208301526040820152426060820152612a87565b6040516370a0823160e01b81523360048201526020816024818a5afa801561104a5782915f91611518575b5010610e6457604051636eb1769f60e11b81523360048201523060248201526020816044818a5afa90811561104a575f916114e6575b501061117257600401805484918161146f575b50506040516323b872dd60e01b81523360048201526001600160a01b039092166024830152604482015260208180606481015b03815f885af190811561104a575f91611450575b501561100d57806113df575b5060207f0f64b92a091214409b5000aa33869d5a13c5f95c0b777e4e90ba90aa1d0caf1791604051908152a36001601155602060405160018152f35b6002546040516323b872dd60e01b81523360048201526001600160a01b03909116602482015260448101919091526020816064815f875af190811561104a575f91611431575b501561100d57836113a3565b61144a915060203d602011611043576110358183612281565b84611425565b611469915060203d602011611043576110358183612281565b85611397565b90809250851115610e645761138392877fdf350d510bb8ebdfe431d9cd8936d9adcde99cd7a55657d251e1fc9fc08af27d6020855f6114af83988c6129d7565b9655835f52600b82525f6004604082208281558260018201558260028201558260038201550155604051908152a292819250611350565b90506020813d602011611510575b8161150160209383612281565b8101031261021457518861133d565b3d91506114f4565b9150506020813d602011611545575b8161153460209383612281565b810103126102145781905189611307565b3d9150611527565b60405162461bcd60e51b815260206004820152601b60248201527f4d69736d6174636820696e206665652063616c63756c6174696f6e00000000006044820152606490fd5b346102145760203660031901126102145760206115b56115b06121b0565b612a2c565b6040519015158152f35b34610214576020366003190112610214576020610b066004356129e4565b34610214576020366003190112610214576115f66121b0565b5f60e06040516116058161224a565b828152826020820152606060408201528260608201528260808201528260a08201528260c0820152015260018060a01b0316801561056457805f52600a60205260405f205415610555575f52600a60205260405f206040516116668161224a565b8154815260018201549160208201928352611683600282016123c8565b604083019081526003820154916060840192835260048101546080850190815260018060a01b036005830154169060a086019182526116fe600760068501549460c0890195865201549460e0880195865260405198899860208a525160208a0152516040890152516101006060890152610120880190612466565b945160808701525160a0860152516001600160a01b031660c08501525160e0840152516101008301520390f35b34610214576060366003190112610214576117446121b0565b6024356001600160401b03811161021457602091611769610b069236906004016124f4565b604435916126f4565b34610214576040366003190112610214576004356001600160401b038111610214576117a29036906004016124f4565b6024356001600160401b038111610214576117c19036906004016124f4565b6117c9612b60565b81511561054657805115611ab5578151916001600160401b038311610532576117f36004546121dc565b601f8111611a4d575b50602092601f81116001146119e157809192935f916119d6575b508160011b915f199060031b1c1916176004555b81516001600160401b038111610532576118456005546121dc565b601f811161196e575b506020601f82116001146118dc5791816118be927f860b8b881bb84f47cb86ac440df8baf77920bf8351874ea568c06605c50cf6da945f916118d1575b508160011b915f199060031b1c1916176005555b426008556118cc60035494604051938493604085526040850190612466565b908382036020850152612466565b0390a2005b90508501518661188b565b601f1982169060055f525f516020612b745f395f51905f52915f5b8181106119565750927f860b8b881bb84f47cb86ac440df8baf77920bf8351874ea568c06605c50cf6da9492600192826118be961061193e575b5050811b0160055561189f565b8701515f1960f88460031b161c191690558680611931565b9192602060018192868a0151815501940192016118f7565b60055f52601f820160051c5f516020612b745f395f51905f520190602083106119c1575b601f0160051c5f516020612b745f395f51905f5201905b8181106119b6575061184e565b5f81556001016119a9565b5f516020612b745f395f51905f529150611992565b905082015184611816565b601f1981169360045f525f516020612b945f395f51905f52905f5b868110611a35575082600194959610611a1d575b5050811b0160045561182a565b8401515f1960f88460031b161c191690558480611a10565b909160206001819285880151815501930191016119fc565b60045f52601f840160051c5f516020612b945f395f51905f52019060208510611aa0575b601f0160051c5f516020612b945f395f51905f5201905b818110611a9557506117fc565b5f8155600101611a88565b5f516020612b945f395f51905f529150611a71565b633e61080d60e01b5f5260045ffd5b3461021457602036600319011261021457611add6121b0565b6009545f916001600160a01b0316825b828110611bce5750611afe83612549565b92611b0c6040519485612281565b808452611b1b601f1991612549565b015f5b818110611b9f5750505f905f5b838110611b4057604051806101f2878261248a565b81611b4a8261262b565b50546001600160a01b031614611b63575b600101611b2b565b91611b97600191611b7c611b768661262b565b506126b6565b611b8682896126a2565b52611b9181886126a2565b50612694565b929050611b5b565b602090604051611bae8161222f565b5f81525f838201525f60408201525f606082015282828801015201611b1e565b81611bd88261262b565b50546001600160a01b031614611bf1575b600101611aed565b92611bfd600191612694565b939050611be9565b34610214575f36600319011261021457600354611c206122a2565b90611c29612346565b60018060a01b036006541690600754611c6960085492611c5b604051978897885260c0602089015260c0880190612466565b908682036040880152612466565b926060850152608084015260a08301520390f35b3461021457604036600319011261021457600435611c996121c6565b335f52600a60205260405f20541561055557611cb481612a2c565b15611e70578115610e6457335f52600c60205260405f20548211610e6457335f52600b60205260405f2060405190611ceb82612214565b600460018060a01b038254169182845260018101546020850152600281015460408501526003810154606085015201549160ff83161515608082015260c060ff8460081c161593841560a084015260018060a01b039060101c1691015215159081611e68575b50611e595760405190611d6382612214565b3380835260208084018581524260408087019182525f606088018181526080890182815260a08a018381526001600160a01b03998a1660c08c01908152988452600b90975292909120975188546001600160a01b0319169716969096178755915160018701555160028601559251600385015591516004939093018054925191516001600160b01b031990931660ff941515949094169390931790151560081b61ff00161760109190911b62010000600160b01b0316179055600e54611e2890612694565b600e556040519081527f19a703b7248cc8f4116eef5d65eb2a9b4a83bd8d37c962f33d021f019278075b60203392a2005b6341abc80160e01b5f5260045ffd5b905083611d51565b63c1ab6dc160e01b5f5260045ffd5b34610214575f366003190112610214576020600d54604051908152f35b3461021457602036600319011261021457611eb56121b0565b6002601154146111fa576002601155611ecc612b60565b6001600160a01b03168015610564575f818152600b6020526040902080546001600160a01b0316908115611e5957600481019182549060ff82166120d6575f52600a60205260405f2054156105555760019060ff191617825542600382015560018101918254845f52600a602052611f4c600460405f200191825461265b565b9055546040516370a0823160e01b815233600482015260109190911c6001600160a01b031692602082602481875afa91821561104a575f926120a2575b5054809110610e6457604051636eb1769f60e11b8152336004820152306024820152602081604481875afa801561104a5782915f9161206d575b50106111725790546040516323b872dd60e01b81523360048201526001600160a01b039091166024820152604481019190915290602090829060649082905f905af190811561104a575f9161204e575b501561100d576040516020917f5a1d60dbcb373a8c141fa80faf8e10467f6bcdfedfa593edc0feb21be4aa111f5f80a2600160115560018152f35b612067915060203d602011611043576110358183612281565b82612013565b9150506020813d60201161209a575b8161208960209383612281565b810103126102145781905186611fc3565b3d915061207c565b9091506020813d6020116120ce575b816120be60209383612281565b8101031261021457519085611f89565b3d91506120b1565b63080fc0bd60e11b5f5260045ffd5b34610214576040366003190112610214576120fe6121b0565b6024359061210a612b60565b6001600160a01b0316801561056457805f52600a60205260405f205415610555578115610e64575f52600a60205260405f209060038201556007429101555f80f35b3461021457602036600319011261021457600435612168612b3d565b605081116121a1576020817f21ea14061974d1886e13e854a8a738e5177a587170a7f767a2b182a3f8b8dcdf92601055604051908152a1005b6358d620b360e01b5f5260045ffd5b600435906001600160a01b038216820361021457565b602435906001600160a01b038216820361021457565b90600182811c9216801561220a575b60208310146121f657565b634e487b7160e01b5f52602260045260245ffd5b91607f16916121eb565b60e081019081106001600160401b0382111761053257604052565b608081019081106001600160401b0382111761053257604052565b61010081019081106001600160401b0382111761053257604052565b60c081019081106001600160401b0382111761053257604052565b90601f801991011681019081106001600160401b0382111761053257604052565b604051905f82600454916122b5836121dc565b808352926001811690811561232757506001146122db575b6122d992500383612281565b565b5060045f90815290915f516020612b945f395f51905f525b81831061230b5750509060206122d9928201016122cd565b60209193508060019154838589010152019101909184926122f3565b602092506122d994915060ff191682840152151560051b8201016122cd565b604051905f8260055491612359836121dc565b8083529260018116908115612327575060011461237c576122d992500383612281565b5060055f90815290915f516020612b745f395f51905f525b8183106123ac5750509060206122d9928201016122cd565b6020919350806001915483858901015201910190918492612394565b9060405191825f8254926123db846121dc565b80845293600181169081156124445750600114612400575b506122d992500383612281565b90505f9291925260205f20905f915b8183106124285750509060206122d9928201015f6123f3565b602091935080600191548385890101520191019091849261240f565b9050602092506122d994915060ff191682840152151560051b8201015f6123f3565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60206040818301928281528451809452019201905f5b8181106124ad5750505090565b825180516001600160a01b039081168652602082810151909116818701526040808301519087015260609182015191860191909152608090940193909201916001016124a0565b81601f82011215610214578035906001600160401b0382116105325760405192612528601f8401601f191660200185612281565b8284526020838301011161021457815f926020809301838601378301015290565b6001600160401b0381116105325760051b60200190565b9080601f830112156102145781359061257882612549565b926125866040519485612281565b82845260208085019360051b82010191821161021457602001915b8183106125ae5750505090565b82356001600160a01b0381168103610214578152602092830192016125a1565b9080601f830112156102145781356125e581612549565b926125f36040519485612281565b81845260208085019260051b82010192831161021457602001905b82821061261b5750505090565b813581526020918201910161260e565b6009548110156126475760095f5260205f209060021b01905f90565b634e487b7160e01b5f52603260045260245ffd5b9190820180921161266857565b634e487b7160e01b5f52601160045260245ffd5b90816020910312610214575180151581036102145790565b5f1981146126685760010190565b80518210156126475760209160051b010190565b906040516126c38161222f565b82546001600160a01b0390811682526001840154166020820152600283015460408201526003909201546060830152565b9291926126ff612b60565b815115610546576001600160a01b03811690811561056457815f52600a60205260405f20546129c85760405160208101916bffffffffffffffffffffffff199060601b1682524260348201526034815261275a605482612281565b519020916003546040519061276e8261224a565b84825260208201908152604082019683885260608301908152608083015f815260a084019086825260c085019242845260e0860194428652885f52600a60205260405f2096518755516001870155600286019a519a8b516001600160401b03811161053257601f9c6127e083546121dc565b9d8e11612982575b8b9c9d505f9b9a9b50602090601f83116001146128c95792827f407385dc1873eabb5f992b55d2de317c1f69aac3f03d91e49a6ea160636109089b9996936128b89b999693600799965f926128be575b50508160011b915f199060031b1c19161790555b516003870155516004860155516005850180546001600160a01b0319166001600160a01b039290921691909117905551600684015551910155600d5461289190612694565b600d55600f54855f52600c60205260405f2055604051918291602083526020830190612466565b0390a390565b015190505f80612838565b601f9b9a9998979695949392919b19821690835f528c5f20915f5b81811061294e5750926007989694927f407385dc1873eabb5f992b55d2de317c1f69aac3f03d91e49a6ea160636109089d9e600193836128b89f9e9d9b999710612936575b505050811b01905561284c565b01515f1960f88460031b161c191690555f8080612929565b939597999b9d9496989a9c5090916020600181928786015181550195019301908f9c9a98969492919d9b999795939d6128e4565b825f5260205f20601f830160051c81019e602084106129be575b601f0160051c019d8e5b81106129b257506127e8565b5f81556001018e6129a6565b909e508e9061299c565b63d8abd7e760e01b5f5260045ffd5b9190820391821161266857565b6127108102908082046127101490151715612668576010549081612710039161271083116126685761271014612a18570490565b634e487b7160e01b5f52601260045260245ffd5b6001546040516375151b6360e01b81526001600160a01b0392831660048201529160209183916024918391165afa90811561104a575f91612a6b575090565b612a84915060203d602011611043576110358183612281565b90565b6009546801000000000000000081101561053257600181016009556009548110156126475760095f5260021b7f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0190805182546001600160a01b03199081166001600160a01b0392831617845560208301516001850180549092169216919091179055604081015160028301556060015160039190910155565b6010549081810291818304149015171561266857612710900490565b6001546001600160a01b03163303612b5157565b631a27eac360e11b5f5260045ffd5b5f546001600160a01b03163303612b515756fe036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db08a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19ba264697066735822122008232c4962bd90900d091417d61b64f45394bf3531eaf11a4b2716ab5b9cd10164736f6c634300081c00330000000000000000000000005d2d8a217f9523b40ea569d07b8840d005234e080000000000000000000000004e0b37378376bd17ff4736b006809d3168fc5b34000000000000000000000000ccb723eda6201fb9655e0301aa1c2d73dd5aa51f00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000f4d79204f7267616e697a6174696f6e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029546869732069732061206465736372697074696f6e206f66206d79206f7267616e697a6174696f6e2e0000000000000000000000000000000000000000000000" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xd01526c3d74a73d4c09f9ba85a21a48506b7e3f7877060e18853525c29a99137", + "transactionType": "CALL", + "contractName": "OrganizationFactory", + "contractAddress": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "function": "addToken(string,address)", + "arguments": [ + "MyToken", + "0x3677F7827760016702d034837bD2FB8E6Ba618DD" + ], + "transaction": { + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "gas": "0x1852a", + "value": "0x0", + "input": "0xb0b22c2c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000003677f7827760016702d034837bd2fb8e6ba618dd00000000000000000000000000000000000000000000000000000000000000074d79546f6b656e00000000000000000000000000000000000000000000000000", + "nonce": "0x3", + "chainId": "0x106a" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2da24b62dc783283073d7cce6c448cc6648a4f31934e34ae4ace6c23d672990c", + "transactionType": "CALL", + "contractName": "OrganizationContract", + "contractAddress": "0xa9765e241283ca2f713a42f71b8bada7d21c7f6c", + "function": "createRecipient(address,string,uint256)", + "arguments": [ + "0x8A912047689651E7119CD64453D78dBD42030fB5", + "John Doe", + "1000" + ], + "transaction": { + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": "0xa9765e241283ca2f713a42f71b8bada7d21c7f6c", + "gas": "0x4efa0", + "value": "0x0", + "input": "0x5c62c9670000000000000000000000008a912047689651e7119cd64453d78dbd42030fb5000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000000084a6f686e20446f65000000000000000000000000000000000000000000000000", + "nonce": "0x4", + "chainId": "0x106a" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x3943cb", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xba186b5e258644010da513f80bac36826403973448e110f2fb4013ecad78df0a", + "transactionIndex": "0x1", + "blockHash": "0x3a0c1c830e905b6441944fa557e9835b1829b4ae6b95a2e57202c5ba554abb4b", + "blockNumber": "0x1329541", + "gasUsed": "0x388f7f", + "effectiveGasPrice": "0xfe", + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": null, + "contractAddress": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "l1BaseFeeScalar": "0x2af8", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0x109618", + "l1Fee": "0x13f500b3cba7", + "l1GasPrice": "0x31a09d4e1", + "l1GasUsed": "0x248ed" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x64703f", + "logs": [ + { + "address": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "topics": [ + "0xf4b9821f6bc54fe8ce60a727c514af1fe81e7be7f09ba6b32b23e7da12fb92ae", + "0x000000000000000000000000a9765e241283ca2f713a42f71b8bada7d21c7f6c", + "0x0000000000000000000000005d2d8a217f9523b40ea569d07b8840d005234e08" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000680a2d62000000000000000000000000000000000000000000000000000000000000000f4d79204f7267616e697a6174696f6e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029546869732069732061206465736372697074696f6e206f66206d79206f7267616e697a6174696f6e2e0000000000000000000000000000000000000000000000", + "blockHash": "0x3a0c1c830e905b6441944fa557e9835b1829b4ae6b95a2e57202c5ba554abb4b", + "blockNumber": "0x1329541", + "transactionHash": "0xec38dabd51dd1a3078655ed33a94e7642e32e9915fdddb1f9652a354caefeaec", + "transactionIndex": "0x2", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000400000010000000800000000000000000000000001000000000000000000000000000000000000000000000000000001000000000000000200000000000400000000000000000000000800000000000000000", + "type": "0x2", + "transactionHash": "0xec38dabd51dd1a3078655ed33a94e7642e32e9915fdddb1f9652a354caefeaec", + "transactionIndex": "0x2", + "blockHash": "0x3a0c1c830e905b6441944fa557e9835b1829b4ae6b95a2e57202c5ba554abb4b", + "blockNumber": "0x1329541", + "gasUsed": "0x2b2c74", + "effectiveGasPrice": "0xfe", + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "contractAddress": null, + "l1BaseFeeScalar": "0x2af8", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0x109618", + "l1Fee": "0x42b63a4166", + "l1GasPrice": "0x31a09d4e1", + "l1GasUsed": "0x7a3" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x6589ff", + "logs": [ + { + "address": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "topics": [ + "0x7afee0f1b802cc0f66c67890e26b4566251859cf2cd8de79b86aed7251d9756a", + "0x0000000000000000000000003677f7827760016702d034837bd2fb8e6ba618dd" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000074d79546f6b656e00000000000000000000000000000000000000000000000000", + "blockHash": "0x3a0c1c830e905b6441944fa557e9835b1829b4ae6b95a2e57202c5ba554abb4b", + "blockNumber": "0x1329541", + "transactionHash": "0xd01526c3d74a73d4c09f9ba85a21a48506b7e3f7877060e18853525c29a99137", + "transactionIndex": "0x3", + "logIndex": "0x1", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000010000000000000010000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000100000000000000000020000000000001000000000000000000000000000400000000000040000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xd01526c3d74a73d4c09f9ba85a21a48506b7e3f7877060e18853525c29a99137", + "transactionIndex": "0x3", + "blockHash": "0x3a0c1c830e905b6441944fa557e9835b1829b4ae6b95a2e57202c5ba554abb4b", + "blockNumber": "0x1329541", + "gasUsed": "0x119c0", + "effectiveGasPrice": "0xfe", + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "contractAddress": null, + "l1BaseFeeScalar": "0x2af8", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0x109618", + "l1Fee": "0x3697136fe4", + "l1GasPrice": "0x31a09d4e1", + "l1GasUsed": "0x640" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x691cd7", + "logs": [ + { + "address": "0xa9765e241283ca2f713a42f71b8bada7d21c7f6c", + "topics": [ + "0x407385dc1873eabb5f992b55d2de317c1f69aac3f03d91e49a6ea16063610908", + "0x8a492ea4a7ef7db258c33dbf618658527b53baad4e062111c4a93f9bcec3a67e", + "0x0000000000000000000000008a912047689651e7119cd64453d78dbd42030fb5" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000084a6f686e20446f65000000000000000000000000000000000000000000000000", + "blockHash": "0x3a0c1c830e905b6441944fa557e9835b1829b4ae6b95a2e57202c5ba554abb4b", + "blockNumber": "0x1329541", + "transactionHash": "0x2da24b62dc783283073d7cce6c448cc6648a4f31934e34ae4ace6c23d672990c", + "transactionIndex": "0x4", + "logIndex": "0x2", + "removed": false + } + ], + "logsBloom": "0x00010000000000000000000000000000100000000000240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000400000000100000000000000000000000000000000000000000000000000000000000000008000000008000000000000400000000000000000000000010000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x2da24b62dc783283073d7cce6c448cc6648a4f31934e34ae4ace6c23d672990c", + "transactionIndex": "0x4", + "blockHash": "0x3a0c1c830e905b6441944fa557e9835b1829b4ae6b95a2e57202c5ba554abb4b", + "blockNumber": "0x1329541", + "gasUsed": "0x392d8", + "effectiveGasPrice": "0xfe", + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": "0xa9765e241283ca2f713a42f71b8bada7d21c7f6c", + "contractAddress": null, + "l1BaseFeeScalar": "0x2af8", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0x109618", + "l1Fee": "0x3af2e6e227", + "l1GasPrice": "0x31a09d4e1", + "l1GasUsed": "0x6bf" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1745498326, + "chain": 4202, + "commit": "cd6db15" +} \ No newline at end of file diff --git a/broadcast/deploy.s.sol/4202/run-1745498368.json b/broadcast/deploy.s.sol/4202/run-1745498368.json new file mode 100644 index 0000000..8c249d3 --- /dev/null +++ b/broadcast/deploy.s.sol/4202/run-1745498368.json @@ -0,0 +1,240 @@ +{ + "transactions": [ + { + "hash": "0xba186b5e258644010da513f80bac36826403973448e110f2fb4013ecad78df0a", + "transactionType": "CREATE", + "contractName": "OrganizationFactory", + "contractAddress": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "function": null, + "arguments": [ + "0xCcB723EDa6201FB9655e0301AA1C2d73dd5aa51F" + ], + "transaction": { + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "gas": "0x498758", + "value": "0x0", + "input": "0x608034608457601f6141c338819003918201601f19168301916001600160401b03831184841017608857808492602094604052833981010312608457516001600160a01b038116908190036084575f8054336001600160a01b0319818116928116929092171790915560038054909116919091179055604051614126908161009d8239f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080806040526004361015610012575f80fd5b5f905f3560e01c9081630a38111c14610da5575080631d16392314610d885780635a1f740614610ce65780635fa7b58414610bda57806361ba81d814610aae57806368c4ac2614610a765780636a2b20c214610a365780636f0fccab146109d157806374d27f341461092f57806375151b63146108d75780638da5cb5b146108b0578063a411ef20146103fb578063b0b22c2c146101d1578063be27432f14610117578063c415b95c146100ee5763e49fba6b146100ce575f80fd5b346100eb57806003193601126100eb576020600254604051908152f35b80fd5b50346100eb57806003193601126100eb576003546040516001600160a01b039091168152602090f35b50346100eb5760403660031901126100eb57610131610de4565b9061013a610dfa565b91610143610fca565b6001600160a01b039081168252600460205260408220541680156101c2578192813b156101be576040516301485b9d60e71b81526001600160a01b0390911660048201529082908290602490829084905af180156101b3576101a25750f35b816101ac91610e78565b6100eb5780f35b6040513d84823e3d90fd5b5050fd5b639551f8b360e01b8252600482fd5b50346100eb5760403660031901126100eb5760043567ffffffffffffffff81116103f757610203903690600401610f5e565b61020b610dfa565b610213610fca565b61021b610fca565b8151156103e8576001600160a01b03169081156103d95781835260016020526102476040842054610e10565b6103ca57818352600160205260408320815167ffffffffffffffff81116103b6576102728254610e10565b601f811161037b575b506020601f821160011461031c5790806102a9928791610311575b508160011b915f199060031b1c19161790565b90555b6002545f1981146102fd577f7afee0f1b802cc0f66c67890e26b4566251859cf2cd8de79b86aed7251d9756a9160016102f79201600255604051918291602083526020830190610f3a565b0390a280f35b634e487b7160e01b84526011600452602484fd5b90508401515f610296565b82865280862090601f198316875b8181106103635750908360019493921061034b575b5050811b0190556102ac565b8501515f1960f88460031b161c191690555f8061033f565b9192602060018192868a01518155019401920161032a565b6103a69083875260208720601f840160051c810191602085106103ac575b601f0160051c0190610fb4565b5f61027b565b9091508190610399565b634e487b7160e01b85526041600452602485fd5b63c78e82ad60e01b8352600483fd5b630f58058360e11b8352600483fd5b6316c31e7760e21b8352600483fd5b5080fd5b50346100eb5760403660031901126100eb5760043567ffffffffffffffff81116103f75761042d903690600401610f5e565b60243567ffffffffffffffff81116108ac5761044d903690600401610f5e565b9080511561089d5781511561088e57338352600460205260408320546001600160a01b031661087f5760035460405190613104808301916001600160a01b03169067ffffffffffffffff83118484101761086b57916104de918493610fed8539338252306020830152604082015260a060608201526104cf60a0820186610f3a565b90608081830391015285610f3a565b039084f080156108605760018060a01b03169133845260046020526040842060018060a01b0384166bffffffffffffffffffffffff60a01b82541617905560405160208101903360601b82524260348201526034815261053f605482610e78565b5190206040519061054f82610e48565b8152602081018381526040820183815260608301338152608084019142835260a0850193428552338a52600560205260408a2095518655600186019051805167ffffffffffffffff811161084c578b6105a88454610e10565b601f811161081c575b505060208c601f83116001146107ba57906105e093836106dc575b50508160011b915f199060031b1c19161790565b90555b518051600286019167ffffffffffffffff82116107a6579060209a83926106108c9a999897969554610e10565b601f8111610777575b508c91601f84116001146106e757836106c7999794600597947ff4b9821f6bc54fe8ce60a727c514af1fe81e7be7f09ba6b32b23e7da12fb92ae9c9a979461067494926106dc5750508160011b915f199060031b1c19161790565b90555b516003850180546001600160a01b0319166001600160a01b039290921691909117905551600484015551910155604051606080825290956106ba91870190610f3a565b9085820388870152610f3a565b924260408201528033940390a3604051908152f35b015190505f806105cc565b9190601f198416858452828420935b81811061075d575093600596937ff4b9821f6bc54fe8ce60a727c514af1fe81e7be7f09ba6b32b23e7da12fb92ae9b999693600193836106c79d9b9810610745575b505050811b019055610677565b01515f1960f88460031b161c191690555f8080610738565b8383015185558e9c50600190940193928f01928f016106f6565b6107a0908584528e8420601f860160051c810191602087106103ac57601f0160051c0190610fb4565b5f610619565b634e487b7160e01b8b52604160045260248bfd5b9192601f198416858452828420935b81811061080457509084600195949392106107ec575b505050811b0190556105e3565b01515f1960f88460031b161c191690555f80806107df565b929360206001819287860151815501950193016107c9565b60208286610845945220601f840160051c810191602085106103ac57601f0160051c0190610fb4565b8b5f6105b1565b634e487b7160e01b8c52604160045260248cfd5b6040513d85823e3d90fd5b634e487b7160e01b87526041600452602487fd5b6369c24f0b60e01b8352600483fd5b633e61080d60e01b8352600483fd5b636cc61e7360e11b8352600483fd5b8280fd5b50346100eb57806003193601126100eb57546040516001600160a01b039091168152602090f35b50346100eb5760203660031901126100eb576001600160a01b036108f9610de4565b168015610920576040826109169260209452600184522054610e10565b1515604051908152f35b630f58058360e11b8252600482fd5b50346109be5760403660031901126109be57610949610de4565b610951610fca565b6001600160a01b039081165f908152600460205260409020541680156109c257803b156109be575f809160246040518094819363096a8ab760e01b8352833560048401525af180156109b3576109a5575080f35b6109b191505f90610e78565b005b6040513d5f823e3d90fd5b5f80fd5b639551f8b360e01b5f5260045ffd5b346109be5760203660031901126109be576001600160a01b036109f2610de4565b168015610a27575f526001602052610a23610a0f60405f20610e9a565b604051918291602083526020830190610f3a565b0390f35b630f58058360e11b5f5260045ffd5b346109be5760203660031901126109be576001600160a01b03610a57610de4565b165f526004602052602060018060a01b0360405f205416604051908152f35b346109be5760203660031901126109be576001600160a01b03610a97610de4565b165f526001602052610a23610a0f60405f20610e9a565b346109be5760203660031901126109be57610ac7610de4565b5f60a0604051610ad681610e48565b8281526060602082015260606040820152826060820152826080820152015260018060a01b0316805f52600560205260405f2054156109c2575f52600560205260405f20604051610b2681610e48565b81548152610b3660018301610e9a565b9160208201928352610b4a60028201610e9a565b6040830190815260018060a01b036003830154169160608401928352610bba60056004830154926080870193845201549260a08601938452610ba7604051978897602089525160208901525160c0604089015260e0880190610f3a565b9051868203601f19016060880152610f3a565b92516001600160a01b031660808501525160a08401525160c08301520390f35b346109be5760203660031901126109be57610bf3610de4565b610bfb610fca565b6001600160a01b03168015610cd757610c12610fca565b805f526001602052610c2760405f2054610e10565b15610cd757805f52600160205260405f20610c428154610e10565b9081610c94575b50506002548015610c80575f19016002557f4c910b69fe65a61f7531b9c5042b2329ca7179c77290aa7e2eb3afa3c8511fd35f80a2005b634e487b7160e01b5f52601160045260245ffd5b81601f5f9311600114610cab5750555b8180610c49565b81835260208320610cc791601f0160051c810190600101610fb4565b8082528160208120915555610ca4565b63c1ab6dc160e01b5f5260045ffd5b346109be5760203660031901126109be576001600160a01b03610d07610de4565b165f52600560205260405f208054610d2160018301610e9a565b91610d2e60028201610e9a565b60018060a01b0360038301541691610d746005600483015492015492610d66604051978897885260c0602089015260c0880190610f3a565b908682036040880152610f3a565b926060850152608084015260a08301520390f35b346109be575f3660031901126109be576020600254604051908152f35b346109be5760203660031901126109be576020906001600160a01b03610dc9610de4565b165f9081526004835260409020546001600160a01b03168152f35b600435906001600160a01b03821682036109be57565b602435906001600160a01b03821682036109be57565b90600182811c92168015610e3e575b6020831014610e2a57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610e1f565b60c0810190811067ffffffffffffffff821117610e6457604052565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff821117610e6457604052565b9060405191825f825492610ead84610e10565b8084529360018116908115610f185750600114610ed4575b50610ed292500383610e78565b565b90505f9291925260205f20905f915b818310610efc575050906020610ed2928201015f610ec5565b6020919350806001915483858901015201910190918492610ee3565b905060209250610ed294915060ff191682840152151560051b8201015f610ec5565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b81601f820112156109be5780359067ffffffffffffffff8211610e645760405192610f93601f8401601f191660200185610e78565b828452602083830101116109be57815f926020809301838601378301015290565b818110610fbf575050565b5f8155600101610fb4565b5f546001600160a01b03163303610fdd57565b631a27eac360e11b5f5260045ffdfe6080806040523461048a57613104803803809161001c828561048e565b8339810160a08282031261048a57610033826104b1565b90610040602084016104b1565b61004c604085016104b1565b60608501519094906001600160401b03811161048a578361006e9183016104c5565b60808201519093906001600160401b03811161048a5761008e92016104c5565b926001600160a01b03811691821561047b576001600160a01b031694851561047b576001600160a01b031694851561047b5783511561046c5784511561045d578260018060a01b03195f5416175f5560018060a01b03196001541617600155604051602081019160018060601b03199060601b1682524260348201526034815261011960548261048e565b5190206040519093909260c084016001600160401b0381118582101761036057604052848452806020850152604084019182526060840192835260a06080850194428652019442865260035580519060018060401b0382116103605760045490600182811c92168015610453575b60208310146103425781601f8493116103e5575b50602090601f831160011461037f575f92610374575b50508160011b915f199060031b1c1916176004555b518051906001600160401b0382116103605760055490600182811c92168015610356575b60208310146103425781601f8493116102f1575b50602090601f831160011461028b575f92610280575b50508160011b915f199060031b1c1916176005555b60018060a01b0390511660018060a01b031960065416176006555160075551600855603260105560018060a01b0319600254161760025567016345785d8a0000600f556001601155604051612be9908161051b8239f35b015190505f80610214565b60055f9081528281209350601f198516905b8181106102d957509084600195949392106102c1575b505050811b01600555610229565b01515f1960f88460031b161c191690555f80806102b3565b9293602060018192878601518155019501930161029d565b90915060055f5260205f20601f840160051c81019160208510610338575b90601f859493920160051c01905b81811061032a57506101fe565b5f815584935060010161031d565b909150819061030f565b634e487b7160e01b5f52602260045260245ffd5b91607f16916101ea565b634e487b7160e01b5f52604160045260245ffd5b015190505f806101b1565b60045f9081528281209350601f198516905b8181106103cd57509084600195949392106103b5575b505050811b016004556101c6565b01515f1960f88460031b161c191690555f80806103a7565b92936020600181928786015181550195019301610391565b60045f529091507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f840160051c81019160208510610449575b90601f859493920160051c01905b81811061043b575061019b565b5f815584935060010161042e565b9091508190610420565b91607f1691610187565b633e61080d60e01b5f5260045ffd5b636cc61e7360e11b5f5260045ffd5b63e6c4247b60e01b5f5260045ffd5b5f80fd5b601f909101601f19168101906001600160401b0382119082101761036057604052565b51906001600160a01b038216820361048a57565b81601f8201121561048a578051906001600160401b03821161036057604051926104f9601f8401601f19166020018561048e565b8284526020838301011161048a57815f9260208093018386015e830101529056fe60806040526004361015610011575f80fd5b5f3560e01c8063096a8ab71461214c578063150d2ce8146120e5578063182dafff14611e9c57806322eabb8e14611e7f57806325ffb76714611c7d57806341e0c42714611c0557806348f1e4b514611ac45780634e2727d6146117725780635c62c9671461172b57806362812a39146115dd57806371b6d224146115bf57806375151b631461159257806376c751c6146112095780637e9a8de014610c6457806388a72a6f14610c475780638d7942c214610bc65780638da5cb5b14610b9f57806392d5d7fe14610b0e57806399a5d74714610ae85780639ed3edf014610acb578063a42dce8014610a55578063a5e047b8146109f1578063c415b95c146109c9578063c45a0155146109a1578063cc2fd93014610955578063cc5b8baf1461091d578063cef34b9814610900578063dd06ab5f146106c4578063e077c07814610573578063e30909b9146103af578063e894d0a2146102be578063eb820312146102185763f8defa3c14610184575f80fd5b34610214575f366003190112610214576009546101a081612549565b906101ae6040519283612281565b8082526020820160095f527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af5f915b8383106101f657604051806101f2878261248a565b0390f35b60046020600192610206856126b6565b8152019201920191906101dd565b5f80fd5b34610214576020366003190112610214576001600160a01b036102396121b0565b165f52600a60205260405f208054600182015491610259600282016123c8565b600382015491600481015460018060a01b03600583015416906102a06007600685015494015494604051988998895260208901526101006040890152610100880190612466565b946060870152608086015260a085015260c084015260e08301520390f35b34610214575f366003190112610214575f60a06040516102dd81612266565b8281526060602082015260606040820152826060820152826080820152015260405161030881612266565b60035481526103156122a2565b9060208101918252610325612346565b6040820190815260018060a01b036006541690606083019182526007546080840190815261038f6008549260a0860193845261037c604051978897602089525160208901525160c0604089015260e0880190612466565b9051868203601f19016060880152612466565b92516001600160a01b031660808501525160a08401525160c08301520390f35b34610214576040366003190112610214576103c86121b0565b6024356001600160401b038111610214576103e79036906004016124f4565b906103f0612b60565b6001600160a01b0316801561056457805f52600a60205260405f20541561055557815115610546575f52600a60205260405f206002810182516001600160401b0381116105325761044182546121dc565b601f81116104ed575b506020601f821160011461048c57819293945f92610481575b50508160011b915f199060031b1c19161790555b6007429101555f80f35b015190508480610463565b601f19821690835f52805f20915f5b8181106104d5575095836001959697106104bd575b505050811b019055610477565b01515f1960f88460031b161c191690558480806104b0565b9192602060018192868b01518155019401920161049b565b825f5260205f20601f830160051c81019160208410610528575b601f0160051c01905b81811061051d575061044a565b5f8155600101610510565b9091508190610507565b634e487b7160e01b5f52604160045260245ffd5b636cc61e7360e11b5f5260045ffd5b6366a21ffb60e01b5f5260045ffd5b63e6c4247b60e01b5f5260045ffd5b34610214576060366003190112610214576004356001600160401b038111610214576105a3903690600401612560565b6024356001600160401b03811161021457366023820112156102145780600401356105cd81612549565b916105db6040519384612281565b8183526024602084019260051b820101903682116102145760248101925b8284106106955785856044356001600160401b038111610214576106219036906004016125ce565b9161062a612b60565b8051825103610686578051835103610686575f5b81518110156106845760019061067d6001600160a01b0361065f83866126a2565b511661066b83876126a2565b5161067684896126a2565b51916126f4565b500161063e565b005b63b4fa3fb360e01b5f5260045ffd5b83356001600160401b038111610214576020916106b98392602436918701016124f4565b8152019301926105f9565b34610214575f366003190112610214576106dc612b60565b5f5f600d54905b81811061083e575061070d6106f783612549565b926107056040519485612281565b808452612549565b602083019190601f19013683375f5f5b828110610771578385604051918291602083019060208452518091526040830191905f5b81811061074f575050500390f35b82516001600160a01b0316845285945060209384019390920191600101610741565b60018060a01b0381165f52600b60205260405f2060405161079181612214565b600460018060a01b0383541692838352600181015460208401526002810154604084015260038101546060840152015460ff811615918215608082015260c060ff8360081c161592831560a084015260018060a01b039060101c169101528215159182610836575b508161082e575b5061080f575b5060010161071d565b826108279161082160019495896126a2565b52612694565b9190610806565b905087610800565b9150886107f9565b60018060a01b0381165f52600b60205260405f206040519061085f82612214565b600460018060a01b038254169182845260018101546020850152600281015460408501526003810154606085015201549060ff821615928315608082015260c060ff8460081c161593841560a084015260018060a01b039060101c16910152151591826108f8575b50816108f0575b506108dc575b6001016106e3565b916108e8600191612694565b9290506108d4565b9050846108ce565b9150856108c7565b34610214575f366003190112610214576020600e54604051908152f35b34610214576020366003190112610214576001600160a01b0361093e6121b0565b165f52600c602052602060405f2054604051908152f35b34610214576020366003190112610214577f6d34b3f6f48575724889e5dc1271a918c090c0ccd4fb6c361d25585debef14066020600435610994612b60565b80600f55604051908152a1005b34610214575f366003190112610214576001546040516001600160a01b039091168152602090f35b34610214575f366003190112610214576002546040516001600160a01b039091168152602090f35b346102145760203660031901126102145760043560095481101561021457610a1a60809161262b565b50805460018201546002830154600390930154604080516001600160a01b039485168152929093166020830152918101929092526060820152f35b3461021457602036600319011261021457610a6e6121b0565b610a76612b3d565b6001600160a01b03168015610564576020817fe5693914d19c789bdee50a362998c0bc8d035a835f9871da5d51152f0582c34f926bffffffffffffffffffffffff60a01b6002541617600255604051908152a1005b34610214575f366003190112610214576020601054604051908152f35b34610214576020366003190112610214576020610b06600435612b21565b604051908152f35b34610214576020366003190112610214576001600160a01b03610b2f6121b0565b165f52600b60205260e060405f2060018060a01b03815416906001810154906002810154600460038301549201549260405194855260208501526040840152606083015260ff81161515608083015260ff8160081c16151560a083015260018060a01b039060101c1660c0820152f35b34610214575f366003190112610214575f546040516001600160a01b039091168152602090f35b3461021457604036600319011261021457610bdf6121b0565b60243590610beb612b60565b6001600160a01b031690811561056457815f52600a60205260405f2054156105555760207fce085fc5aeaa5dba9675c29e7f91ffb489df67981b590b65a48b1457a1fc308c91835f52600c82528060405f2055604051908152a2005b34610214575f366003190112610214576020600f54604051908152f35b3461021457606036600319011261021457610c7d6121b0565b6024356001600160401b03811161021457610c9c903690600401612560565b906044356001600160401b03811161021457610cbc9036906004016125ce565b916002601154146111fa576002601155610cd4612b60565b8051835103610686576001600160a01b03821691821561056457610cf790612a2c565b156111eb5782905f915f93825194610d0e86612549565b95610d1c6040519788612281565b808752610d2b601f1991612549565b013660208801375f5b8451811015610ecc57610d4781856126a2565b5115610e64576001600160a01b03610d5f82876126a2565b511615610564576001600160a01b03610d7882876126a2565b51165f52600a60205260405f209586541561055557610da0610d9a83876126a2565b516129e4565b610da981612b21565b610db381836129d7565b610dbd85896126a2565b5103610e9257610dd2610dd89260049461265b565b9461265b565b960154908115610e735781610ded82876126a2565b511115610e6457610e0a600192610e0483886126a2565b516129d7565b610e14828a6126a2565b525b610e5b828060a01b03610e2983896126a2565b5116610e3583886126a2565b5160405191610e438361222f565b82528660208301526040820152426060820152612a87565b01949094610d34565b63162908e360e11b5f5260045ffd5b60019150610e8181866126a2565b51610e8c828a6126a2565b52610e16565b60405162461bcd60e51b81526020600482015260126024820152712332b29036b4b9b1b0b631bab630ba34b7b760711b6044820152606490fd5b50928592946040516370a0823160e01b8152336004820152602081602481875afa801561104a5782915f916111b6575b5010610e6457604051636eb1769f60e11b8152336004820152306024820152602081604481875afa801561104a5782915f91611181575b5010611172575f5b82518110156110b5576001600160a01b03610f5682856126a2565b511690815f52600a602052600460405f200154611055575b610fb46020610f7d83896126a2565b516040516323b872dd60e01b81523360048201526001600160a01b0386166024820152604481019190915291829081906064820190565b03815f8a5af190811561104a575f9161101c575b501561100d57600191857f0f64b92a091214409b5000aa33869d5a13c5f95c0b777e4e90ba90aa1d0caf176020610fff858d6126a2565b51604051908152a301610f3b565b6312171d8360e31b5f5260045ffd5b61103d915060203d8111611043575b6110358183612281565b81019061267c565b89610fc8565b503d61102b565b6040513d5f823e3d90fd5b5f828152600a602090815260408083206004908101805490859055600b84529382902001805461ff0019166101001790555191825283917fdf350d510bb8ebdfe431d9cd8936d9adcde99cd7a55657d251e1fc9fc08af27d9190a2610f6e565b50908480611101575b507feb4c91d1e20aae92fc74a1fe60fe3b5060d372d51c3e08869baa24f84874dccb91604091519082519182526020820152a26001601155602060405160018152f35b6002546040516323b872dd60e01b81523360048201526001600160a01b03909116602482015260448101919091526020816064815f885af190811561104a575f91611153575b501561100d57836110be565b61116c915060203d602011611043576110358183612281565b84611147565b6365ba6fc360e01b5f5260045ffd5b9150506020813d6020116111ae575b8161119d60209383612281565b810103126102145781905188610f33565b3d9150611190565b9150506020813d6020116111e3575b816111d260209383612281565b810103126102145781905188610efc565b3d91506111c5565b633dd1b30560e01b5f5260045ffd5b6306fda65d60e31b5f5260045ffd5b34610214576060366003190112610214576112226121b0565b61122a6121c6565b6044356002601154146111fa576002601155611244612b60565b6001600160a01b038316918215610564576001600160a01b038116938415610564578215610e645761127590612a2c565b156111eb57835f52600a60205260405f209081541561055557611297836129e4565b916112a183612b21565b926112ac84826129d7565b85810361154d576040516112dc916112c38261222f565b8982528860208301526040820152426060820152612a87565b6040516370a0823160e01b81523360048201526020816024818a5afa801561104a5782915f91611518575b5010610e6457604051636eb1769f60e11b81523360048201523060248201526020816044818a5afa90811561104a575f916114e6575b501061117257600401805484918161146f575b50506040516323b872dd60e01b81523360048201526001600160a01b039092166024830152604482015260208180606481015b03815f885af190811561104a575f91611450575b501561100d57806113df575b5060207f0f64b92a091214409b5000aa33869d5a13c5f95c0b777e4e90ba90aa1d0caf1791604051908152a36001601155602060405160018152f35b6002546040516323b872dd60e01b81523360048201526001600160a01b03909116602482015260448101919091526020816064815f875af190811561104a575f91611431575b501561100d57836113a3565b61144a915060203d602011611043576110358183612281565b84611425565b611469915060203d602011611043576110358183612281565b85611397565b90809250851115610e645761138392877fdf350d510bb8ebdfe431d9cd8936d9adcde99cd7a55657d251e1fc9fc08af27d6020855f6114af83988c6129d7565b9655835f52600b82525f6004604082208281558260018201558260028201558260038201550155604051908152a292819250611350565b90506020813d602011611510575b8161150160209383612281565b8101031261021457518861133d565b3d91506114f4565b9150506020813d602011611545575b8161153460209383612281565b810103126102145781905189611307565b3d9150611527565b60405162461bcd60e51b815260206004820152601b60248201527f4d69736d6174636820696e206665652063616c63756c6174696f6e00000000006044820152606490fd5b346102145760203660031901126102145760206115b56115b06121b0565b612a2c565b6040519015158152f35b34610214576020366003190112610214576020610b066004356129e4565b34610214576020366003190112610214576115f66121b0565b5f60e06040516116058161224a565b828152826020820152606060408201528260608201528260808201528260a08201528260c0820152015260018060a01b0316801561056457805f52600a60205260405f205415610555575f52600a60205260405f206040516116668161224a565b8154815260018201549160208201928352611683600282016123c8565b604083019081526003820154916060840192835260048101546080850190815260018060a01b036005830154169060a086019182526116fe600760068501549460c0890195865201549460e0880195865260405198899860208a525160208a0152516040890152516101006060890152610120880190612466565b945160808701525160a0860152516001600160a01b031660c08501525160e0840152516101008301520390f35b34610214576060366003190112610214576117446121b0565b6024356001600160401b03811161021457602091611769610b069236906004016124f4565b604435916126f4565b34610214576040366003190112610214576004356001600160401b038111610214576117a29036906004016124f4565b6024356001600160401b038111610214576117c19036906004016124f4565b6117c9612b60565b81511561054657805115611ab5578151916001600160401b038311610532576117f36004546121dc565b601f8111611a4d575b50602092601f81116001146119e157809192935f916119d6575b508160011b915f199060031b1c1916176004555b81516001600160401b038111610532576118456005546121dc565b601f811161196e575b506020601f82116001146118dc5791816118be927f860b8b881bb84f47cb86ac440df8baf77920bf8351874ea568c06605c50cf6da945f916118d1575b508160011b915f199060031b1c1916176005555b426008556118cc60035494604051938493604085526040850190612466565b908382036020850152612466565b0390a2005b90508501518661188b565b601f1982169060055f525f516020612b745f395f51905f52915f5b8181106119565750927f860b8b881bb84f47cb86ac440df8baf77920bf8351874ea568c06605c50cf6da9492600192826118be961061193e575b5050811b0160055561189f565b8701515f1960f88460031b161c191690558680611931565b9192602060018192868a0151815501940192016118f7565b60055f52601f820160051c5f516020612b745f395f51905f520190602083106119c1575b601f0160051c5f516020612b745f395f51905f5201905b8181106119b6575061184e565b5f81556001016119a9565b5f516020612b745f395f51905f529150611992565b905082015184611816565b601f1981169360045f525f516020612b945f395f51905f52905f5b868110611a35575082600194959610611a1d575b5050811b0160045561182a565b8401515f1960f88460031b161c191690558480611a10565b909160206001819285880151815501930191016119fc565b60045f52601f840160051c5f516020612b945f395f51905f52019060208510611aa0575b601f0160051c5f516020612b945f395f51905f5201905b818110611a9557506117fc565b5f8155600101611a88565b5f516020612b945f395f51905f529150611a71565b633e61080d60e01b5f5260045ffd5b3461021457602036600319011261021457611add6121b0565b6009545f916001600160a01b0316825b828110611bce5750611afe83612549565b92611b0c6040519485612281565b808452611b1b601f1991612549565b015f5b818110611b9f5750505f905f5b838110611b4057604051806101f2878261248a565b81611b4a8261262b565b50546001600160a01b031614611b63575b600101611b2b565b91611b97600191611b7c611b768661262b565b506126b6565b611b8682896126a2565b52611b9181886126a2565b50612694565b929050611b5b565b602090604051611bae8161222f565b5f81525f838201525f60408201525f606082015282828801015201611b1e565b81611bd88261262b565b50546001600160a01b031614611bf1575b600101611aed565b92611bfd600191612694565b939050611be9565b34610214575f36600319011261021457600354611c206122a2565b90611c29612346565b60018060a01b036006541690600754611c6960085492611c5b604051978897885260c0602089015260c0880190612466565b908682036040880152612466565b926060850152608084015260a08301520390f35b3461021457604036600319011261021457600435611c996121c6565b335f52600a60205260405f20541561055557611cb481612a2c565b15611e70578115610e6457335f52600c60205260405f20548211610e6457335f52600b60205260405f2060405190611ceb82612214565b600460018060a01b038254169182845260018101546020850152600281015460408501526003810154606085015201549160ff83161515608082015260c060ff8460081c161593841560a084015260018060a01b039060101c1691015215159081611e68575b50611e595760405190611d6382612214565b3380835260208084018581524260408087019182525f606088018181526080890182815260a08a018381526001600160a01b03998a1660c08c01908152988452600b90975292909120975188546001600160a01b0319169716969096178755915160018701555160028601559251600385015591516004939093018054925191516001600160b01b031990931660ff941515949094169390931790151560081b61ff00161760109190911b62010000600160b01b0316179055600e54611e2890612694565b600e556040519081527f19a703b7248cc8f4116eef5d65eb2a9b4a83bd8d37c962f33d021f019278075b60203392a2005b6341abc80160e01b5f5260045ffd5b905083611d51565b63c1ab6dc160e01b5f5260045ffd5b34610214575f366003190112610214576020600d54604051908152f35b3461021457602036600319011261021457611eb56121b0565b6002601154146111fa576002601155611ecc612b60565b6001600160a01b03168015610564575f818152600b6020526040902080546001600160a01b0316908115611e5957600481019182549060ff82166120d6575f52600a60205260405f2054156105555760019060ff191617825542600382015560018101918254845f52600a602052611f4c600460405f200191825461265b565b9055546040516370a0823160e01b815233600482015260109190911c6001600160a01b031692602082602481875afa91821561104a575f926120a2575b5054809110610e6457604051636eb1769f60e11b8152336004820152306024820152602081604481875afa801561104a5782915f9161206d575b50106111725790546040516323b872dd60e01b81523360048201526001600160a01b039091166024820152604481019190915290602090829060649082905f905af190811561104a575f9161204e575b501561100d576040516020917f5a1d60dbcb373a8c141fa80faf8e10467f6bcdfedfa593edc0feb21be4aa111f5f80a2600160115560018152f35b612067915060203d602011611043576110358183612281565b82612013565b9150506020813d60201161209a575b8161208960209383612281565b810103126102145781905186611fc3565b3d915061207c565b9091506020813d6020116120ce575b816120be60209383612281565b8101031261021457519085611f89565b3d91506120b1565b63080fc0bd60e11b5f5260045ffd5b34610214576040366003190112610214576120fe6121b0565b6024359061210a612b60565b6001600160a01b0316801561056457805f52600a60205260405f205415610555578115610e64575f52600a60205260405f209060038201556007429101555f80f35b3461021457602036600319011261021457600435612168612b3d565b605081116121a1576020817f21ea14061974d1886e13e854a8a738e5177a587170a7f767a2b182a3f8b8dcdf92601055604051908152a1005b6358d620b360e01b5f5260045ffd5b600435906001600160a01b038216820361021457565b602435906001600160a01b038216820361021457565b90600182811c9216801561220a575b60208310146121f657565b634e487b7160e01b5f52602260045260245ffd5b91607f16916121eb565b60e081019081106001600160401b0382111761053257604052565b608081019081106001600160401b0382111761053257604052565b61010081019081106001600160401b0382111761053257604052565b60c081019081106001600160401b0382111761053257604052565b90601f801991011681019081106001600160401b0382111761053257604052565b604051905f82600454916122b5836121dc565b808352926001811690811561232757506001146122db575b6122d992500383612281565b565b5060045f90815290915f516020612b945f395f51905f525b81831061230b5750509060206122d9928201016122cd565b60209193508060019154838589010152019101909184926122f3565b602092506122d994915060ff191682840152151560051b8201016122cd565b604051905f8260055491612359836121dc565b8083529260018116908115612327575060011461237c576122d992500383612281565b5060055f90815290915f516020612b745f395f51905f525b8183106123ac5750509060206122d9928201016122cd565b6020919350806001915483858901015201910190918492612394565b9060405191825f8254926123db846121dc565b80845293600181169081156124445750600114612400575b506122d992500383612281565b90505f9291925260205f20905f915b8183106124285750509060206122d9928201015f6123f3565b602091935080600191548385890101520191019091849261240f565b9050602092506122d994915060ff191682840152151560051b8201015f6123f3565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60206040818301928281528451809452019201905f5b8181106124ad5750505090565b825180516001600160a01b039081168652602082810151909116818701526040808301519087015260609182015191860191909152608090940193909201916001016124a0565b81601f82011215610214578035906001600160401b0382116105325760405192612528601f8401601f191660200185612281565b8284526020838301011161021457815f926020809301838601378301015290565b6001600160401b0381116105325760051b60200190565b9080601f830112156102145781359061257882612549565b926125866040519485612281565b82845260208085019360051b82010191821161021457602001915b8183106125ae5750505090565b82356001600160a01b0381168103610214578152602092830192016125a1565b9080601f830112156102145781356125e581612549565b926125f36040519485612281565b81845260208085019260051b82010192831161021457602001905b82821061261b5750505090565b813581526020918201910161260e565b6009548110156126475760095f5260205f209060021b01905f90565b634e487b7160e01b5f52603260045260245ffd5b9190820180921161266857565b634e487b7160e01b5f52601160045260245ffd5b90816020910312610214575180151581036102145790565b5f1981146126685760010190565b80518210156126475760209160051b010190565b906040516126c38161222f565b82546001600160a01b0390811682526001840154166020820152600283015460408201526003909201546060830152565b9291926126ff612b60565b815115610546576001600160a01b03811690811561056457815f52600a60205260405f20546129c85760405160208101916bffffffffffffffffffffffff199060601b1682524260348201526034815261275a605482612281565b519020916003546040519061276e8261224a565b84825260208201908152604082019683885260608301908152608083015f815260a084019086825260c085019242845260e0860194428652885f52600a60205260405f2096518755516001870155600286019a519a8b516001600160401b03811161053257601f9c6127e083546121dc565b9d8e11612982575b8b9c9d505f9b9a9b50602090601f83116001146128c95792827f407385dc1873eabb5f992b55d2de317c1f69aac3f03d91e49a6ea160636109089b9996936128b89b999693600799965f926128be575b50508160011b915f199060031b1c19161790555b516003870155516004860155516005850180546001600160a01b0319166001600160a01b039290921691909117905551600684015551910155600d5461289190612694565b600d55600f54855f52600c60205260405f2055604051918291602083526020830190612466565b0390a390565b015190505f80612838565b601f9b9a9998979695949392919b19821690835f528c5f20915f5b81811061294e5750926007989694927f407385dc1873eabb5f992b55d2de317c1f69aac3f03d91e49a6ea160636109089d9e600193836128b89f9e9d9b999710612936575b505050811b01905561284c565b01515f1960f88460031b161c191690555f8080612929565b939597999b9d9496989a9c5090916020600181928786015181550195019301908f9c9a98969492919d9b999795939d6128e4565b825f5260205f20601f830160051c81019e602084106129be575b601f0160051c019d8e5b81106129b257506127e8565b5f81556001018e6129a6565b909e508e9061299c565b63d8abd7e760e01b5f5260045ffd5b9190820391821161266857565b6127108102908082046127101490151715612668576010549081612710039161271083116126685761271014612a18570490565b634e487b7160e01b5f52601260045260245ffd5b6001546040516375151b6360e01b81526001600160a01b0392831660048201529160209183916024918391165afa90811561104a575f91612a6b575090565b612a84915060203d602011611043576110358183612281565b90565b6009546801000000000000000081101561053257600181016009556009548110156126475760095f5260021b7f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0190805182546001600160a01b03199081166001600160a01b0392831617845560208301516001850180549092169216919091179055604081015160028301556060015160039190910155565b6010549081810291818304149015171561266857612710900490565b6001546001600160a01b03163303612b5157565b631a27eac360e11b5f5260045ffd5b5f546001600160a01b03163303612b515756fe036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db08a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19ba264697066735822122008232c4962bd90900d091417d61b64f45394bf3531eaf11a4b2716ab5b9cd10164736f6c634300081c0033a2646970667358221220f9218596c9dcf73850d7727d5f278b137477cbbc9554e8d05f0fc8a6b36c113464736f6c634300081c0033000000000000000000000000ccb723eda6201fb9655e0301aa1c2d73dd5aa51f", + "nonce": "0x1", + "chainId": "0x106a" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xec38dabd51dd1a3078655ed33a94e7642e32e9915fdddb1f9652a354caefeaec", + "transactionType": "CALL", + "contractName": "OrganizationFactory", + "contractAddress": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "function": "createOrganization(string,string)", + "arguments": [ + "My Organization", + "This is a description of my organization." + ], + "transaction": { + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "gas": "0x3ba233", + "value": "0x0", + "input": "0xa411ef2000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000f4d79204f7267616e697a6174696f6e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029546869732069732061206465736372697074696f6e206f66206d79206f7267616e697a6174696f6e2e0000000000000000000000000000000000000000000000", + "nonce": "0x2", + "chainId": "0x106a" + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0xa9765e241283ca2f713a42f71b8bada7d21c7f6c", + "initCode": "0x6080806040523461048a57613104803803809161001c828561048e565b8339810160a08282031261048a57610033826104b1565b90610040602084016104b1565b61004c604085016104b1565b60608501519094906001600160401b03811161048a578361006e9183016104c5565b60808201519093906001600160401b03811161048a5761008e92016104c5565b926001600160a01b03811691821561047b576001600160a01b031694851561047b576001600160a01b031694851561047b5783511561046c5784511561045d578260018060a01b03195f5416175f5560018060a01b03196001541617600155604051602081019160018060601b03199060601b1682524260348201526034815261011960548261048e565b5190206040519093909260c084016001600160401b0381118582101761036057604052848452806020850152604084019182526060840192835260a06080850194428652019442865260035580519060018060401b0382116103605760045490600182811c92168015610453575b60208310146103425781601f8493116103e5575b50602090601f831160011461037f575f92610374575b50508160011b915f199060031b1c1916176004555b518051906001600160401b0382116103605760055490600182811c92168015610356575b60208310146103425781601f8493116102f1575b50602090601f831160011461028b575f92610280575b50508160011b915f199060031b1c1916176005555b60018060a01b0390511660018060a01b031960065416176006555160075551600855603260105560018060a01b0319600254161760025567016345785d8a0000600f556001601155604051612be9908161051b8239f35b015190505f80610214565b60055f9081528281209350601f198516905b8181106102d957509084600195949392106102c1575b505050811b01600555610229565b01515f1960f88460031b161c191690555f80806102b3565b9293602060018192878601518155019501930161029d565b90915060055f5260205f20601f840160051c81019160208510610338575b90601f859493920160051c01905b81811061032a57506101fe565b5f815584935060010161031d565b909150819061030f565b634e487b7160e01b5f52602260045260245ffd5b91607f16916101ea565b634e487b7160e01b5f52604160045260245ffd5b015190505f806101b1565b60045f9081528281209350601f198516905b8181106103cd57509084600195949392106103b5575b505050811b016004556101c6565b01515f1960f88460031b161c191690555f80806103a7565b92936020600181928786015181550195019301610391565b60045f529091507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f840160051c81019160208510610449575b90601f859493920160051c01905b81811061043b575061019b565b5f815584935060010161042e565b9091508190610420565b91607f1691610187565b633e61080d60e01b5f5260045ffd5b636cc61e7360e11b5f5260045ffd5b63e6c4247b60e01b5f5260045ffd5b5f80fd5b601f909101601f19168101906001600160401b0382119082101761036057604052565b51906001600160a01b038216820361048a57565b81601f8201121561048a578051906001600160401b03821161036057604051926104f9601f8401601f19166020018561048e565b8284526020838301011161048a57815f9260208093018386015e830101529056fe60806040526004361015610011575f80fd5b5f3560e01c8063096a8ab71461214c578063150d2ce8146120e5578063182dafff14611e9c57806322eabb8e14611e7f57806325ffb76714611c7d57806341e0c42714611c0557806348f1e4b514611ac45780634e2727d6146117725780635c62c9671461172b57806362812a39146115dd57806371b6d224146115bf57806375151b631461159257806376c751c6146112095780637e9a8de014610c6457806388a72a6f14610c475780638d7942c214610bc65780638da5cb5b14610b9f57806392d5d7fe14610b0e57806399a5d74714610ae85780639ed3edf014610acb578063a42dce8014610a55578063a5e047b8146109f1578063c415b95c146109c9578063c45a0155146109a1578063cc2fd93014610955578063cc5b8baf1461091d578063cef34b9814610900578063dd06ab5f146106c4578063e077c07814610573578063e30909b9146103af578063e894d0a2146102be578063eb820312146102185763f8defa3c14610184575f80fd5b34610214575f366003190112610214576009546101a081612549565b906101ae6040519283612281565b8082526020820160095f527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af5f915b8383106101f657604051806101f2878261248a565b0390f35b60046020600192610206856126b6565b8152019201920191906101dd565b5f80fd5b34610214576020366003190112610214576001600160a01b036102396121b0565b165f52600a60205260405f208054600182015491610259600282016123c8565b600382015491600481015460018060a01b03600583015416906102a06007600685015494015494604051988998895260208901526101006040890152610100880190612466565b946060870152608086015260a085015260c084015260e08301520390f35b34610214575f366003190112610214575f60a06040516102dd81612266565b8281526060602082015260606040820152826060820152826080820152015260405161030881612266565b60035481526103156122a2565b9060208101918252610325612346565b6040820190815260018060a01b036006541690606083019182526007546080840190815261038f6008549260a0860193845261037c604051978897602089525160208901525160c0604089015260e0880190612466565b9051868203601f19016060880152612466565b92516001600160a01b031660808501525160a08401525160c08301520390f35b34610214576040366003190112610214576103c86121b0565b6024356001600160401b038111610214576103e79036906004016124f4565b906103f0612b60565b6001600160a01b0316801561056457805f52600a60205260405f20541561055557815115610546575f52600a60205260405f206002810182516001600160401b0381116105325761044182546121dc565b601f81116104ed575b506020601f821160011461048c57819293945f92610481575b50508160011b915f199060031b1c19161790555b6007429101555f80f35b015190508480610463565b601f19821690835f52805f20915f5b8181106104d5575095836001959697106104bd575b505050811b019055610477565b01515f1960f88460031b161c191690558480806104b0565b9192602060018192868b01518155019401920161049b565b825f5260205f20601f830160051c81019160208410610528575b601f0160051c01905b81811061051d575061044a565b5f8155600101610510565b9091508190610507565b634e487b7160e01b5f52604160045260245ffd5b636cc61e7360e11b5f5260045ffd5b6366a21ffb60e01b5f5260045ffd5b63e6c4247b60e01b5f5260045ffd5b34610214576060366003190112610214576004356001600160401b038111610214576105a3903690600401612560565b6024356001600160401b03811161021457366023820112156102145780600401356105cd81612549565b916105db6040519384612281565b8183526024602084019260051b820101903682116102145760248101925b8284106106955785856044356001600160401b038111610214576106219036906004016125ce565b9161062a612b60565b8051825103610686578051835103610686575f5b81518110156106845760019061067d6001600160a01b0361065f83866126a2565b511661066b83876126a2565b5161067684896126a2565b51916126f4565b500161063e565b005b63b4fa3fb360e01b5f5260045ffd5b83356001600160401b038111610214576020916106b98392602436918701016124f4565b8152019301926105f9565b34610214575f366003190112610214576106dc612b60565b5f5f600d54905b81811061083e575061070d6106f783612549565b926107056040519485612281565b808452612549565b602083019190601f19013683375f5f5b828110610771578385604051918291602083019060208452518091526040830191905f5b81811061074f575050500390f35b82516001600160a01b0316845285945060209384019390920191600101610741565b60018060a01b0381165f52600b60205260405f2060405161079181612214565b600460018060a01b0383541692838352600181015460208401526002810154604084015260038101546060840152015460ff811615918215608082015260c060ff8360081c161592831560a084015260018060a01b039060101c169101528215159182610836575b508161082e575b5061080f575b5060010161071d565b826108279161082160019495896126a2565b52612694565b9190610806565b905087610800565b9150886107f9565b60018060a01b0381165f52600b60205260405f206040519061085f82612214565b600460018060a01b038254169182845260018101546020850152600281015460408501526003810154606085015201549060ff821615928315608082015260c060ff8460081c161593841560a084015260018060a01b039060101c16910152151591826108f8575b50816108f0575b506108dc575b6001016106e3565b916108e8600191612694565b9290506108d4565b9050846108ce565b9150856108c7565b34610214575f366003190112610214576020600e54604051908152f35b34610214576020366003190112610214576001600160a01b0361093e6121b0565b165f52600c602052602060405f2054604051908152f35b34610214576020366003190112610214577f6d34b3f6f48575724889e5dc1271a918c090c0ccd4fb6c361d25585debef14066020600435610994612b60565b80600f55604051908152a1005b34610214575f366003190112610214576001546040516001600160a01b039091168152602090f35b34610214575f366003190112610214576002546040516001600160a01b039091168152602090f35b346102145760203660031901126102145760043560095481101561021457610a1a60809161262b565b50805460018201546002830154600390930154604080516001600160a01b039485168152929093166020830152918101929092526060820152f35b3461021457602036600319011261021457610a6e6121b0565b610a76612b3d565b6001600160a01b03168015610564576020817fe5693914d19c789bdee50a362998c0bc8d035a835f9871da5d51152f0582c34f926bffffffffffffffffffffffff60a01b6002541617600255604051908152a1005b34610214575f366003190112610214576020601054604051908152f35b34610214576020366003190112610214576020610b06600435612b21565b604051908152f35b34610214576020366003190112610214576001600160a01b03610b2f6121b0565b165f52600b60205260e060405f2060018060a01b03815416906001810154906002810154600460038301549201549260405194855260208501526040840152606083015260ff81161515608083015260ff8160081c16151560a083015260018060a01b039060101c1660c0820152f35b34610214575f366003190112610214575f546040516001600160a01b039091168152602090f35b3461021457604036600319011261021457610bdf6121b0565b60243590610beb612b60565b6001600160a01b031690811561056457815f52600a60205260405f2054156105555760207fce085fc5aeaa5dba9675c29e7f91ffb489df67981b590b65a48b1457a1fc308c91835f52600c82528060405f2055604051908152a2005b34610214575f366003190112610214576020600f54604051908152f35b3461021457606036600319011261021457610c7d6121b0565b6024356001600160401b03811161021457610c9c903690600401612560565b906044356001600160401b03811161021457610cbc9036906004016125ce565b916002601154146111fa576002601155610cd4612b60565b8051835103610686576001600160a01b03821691821561056457610cf790612a2c565b156111eb5782905f915f93825194610d0e86612549565b95610d1c6040519788612281565b808752610d2b601f1991612549565b013660208801375f5b8451811015610ecc57610d4781856126a2565b5115610e64576001600160a01b03610d5f82876126a2565b511615610564576001600160a01b03610d7882876126a2565b51165f52600a60205260405f209586541561055557610da0610d9a83876126a2565b516129e4565b610da981612b21565b610db381836129d7565b610dbd85896126a2565b5103610e9257610dd2610dd89260049461265b565b9461265b565b960154908115610e735781610ded82876126a2565b511115610e6457610e0a600192610e0483886126a2565b516129d7565b610e14828a6126a2565b525b610e5b828060a01b03610e2983896126a2565b5116610e3583886126a2565b5160405191610e438361222f565b82528660208301526040820152426060820152612a87565b01949094610d34565b63162908e360e11b5f5260045ffd5b60019150610e8181866126a2565b51610e8c828a6126a2565b52610e16565b60405162461bcd60e51b81526020600482015260126024820152712332b29036b4b9b1b0b631bab630ba34b7b760711b6044820152606490fd5b50928592946040516370a0823160e01b8152336004820152602081602481875afa801561104a5782915f916111b6575b5010610e6457604051636eb1769f60e11b8152336004820152306024820152602081604481875afa801561104a5782915f91611181575b5010611172575f5b82518110156110b5576001600160a01b03610f5682856126a2565b511690815f52600a602052600460405f200154611055575b610fb46020610f7d83896126a2565b516040516323b872dd60e01b81523360048201526001600160a01b0386166024820152604481019190915291829081906064820190565b03815f8a5af190811561104a575f9161101c575b501561100d57600191857f0f64b92a091214409b5000aa33869d5a13c5f95c0b777e4e90ba90aa1d0caf176020610fff858d6126a2565b51604051908152a301610f3b565b6312171d8360e31b5f5260045ffd5b61103d915060203d8111611043575b6110358183612281565b81019061267c565b89610fc8565b503d61102b565b6040513d5f823e3d90fd5b5f828152600a602090815260408083206004908101805490859055600b84529382902001805461ff0019166101001790555191825283917fdf350d510bb8ebdfe431d9cd8936d9adcde99cd7a55657d251e1fc9fc08af27d9190a2610f6e565b50908480611101575b507feb4c91d1e20aae92fc74a1fe60fe3b5060d372d51c3e08869baa24f84874dccb91604091519082519182526020820152a26001601155602060405160018152f35b6002546040516323b872dd60e01b81523360048201526001600160a01b03909116602482015260448101919091526020816064815f885af190811561104a575f91611153575b501561100d57836110be565b61116c915060203d602011611043576110358183612281565b84611147565b6365ba6fc360e01b5f5260045ffd5b9150506020813d6020116111ae575b8161119d60209383612281565b810103126102145781905188610f33565b3d9150611190565b9150506020813d6020116111e3575b816111d260209383612281565b810103126102145781905188610efc565b3d91506111c5565b633dd1b30560e01b5f5260045ffd5b6306fda65d60e31b5f5260045ffd5b34610214576060366003190112610214576112226121b0565b61122a6121c6565b6044356002601154146111fa576002601155611244612b60565b6001600160a01b038316918215610564576001600160a01b038116938415610564578215610e645761127590612a2c565b156111eb57835f52600a60205260405f209081541561055557611297836129e4565b916112a183612b21565b926112ac84826129d7565b85810361154d576040516112dc916112c38261222f565b8982528860208301526040820152426060820152612a87565b6040516370a0823160e01b81523360048201526020816024818a5afa801561104a5782915f91611518575b5010610e6457604051636eb1769f60e11b81523360048201523060248201526020816044818a5afa90811561104a575f916114e6575b501061117257600401805484918161146f575b50506040516323b872dd60e01b81523360048201526001600160a01b039092166024830152604482015260208180606481015b03815f885af190811561104a575f91611450575b501561100d57806113df575b5060207f0f64b92a091214409b5000aa33869d5a13c5f95c0b777e4e90ba90aa1d0caf1791604051908152a36001601155602060405160018152f35b6002546040516323b872dd60e01b81523360048201526001600160a01b03909116602482015260448101919091526020816064815f875af190811561104a575f91611431575b501561100d57836113a3565b61144a915060203d602011611043576110358183612281565b84611425565b611469915060203d602011611043576110358183612281565b85611397565b90809250851115610e645761138392877fdf350d510bb8ebdfe431d9cd8936d9adcde99cd7a55657d251e1fc9fc08af27d6020855f6114af83988c6129d7565b9655835f52600b82525f6004604082208281558260018201558260028201558260038201550155604051908152a292819250611350565b90506020813d602011611510575b8161150160209383612281565b8101031261021457518861133d565b3d91506114f4565b9150506020813d602011611545575b8161153460209383612281565b810103126102145781905189611307565b3d9150611527565b60405162461bcd60e51b815260206004820152601b60248201527f4d69736d6174636820696e206665652063616c63756c6174696f6e00000000006044820152606490fd5b346102145760203660031901126102145760206115b56115b06121b0565b612a2c565b6040519015158152f35b34610214576020366003190112610214576020610b066004356129e4565b34610214576020366003190112610214576115f66121b0565b5f60e06040516116058161224a565b828152826020820152606060408201528260608201528260808201528260a08201528260c0820152015260018060a01b0316801561056457805f52600a60205260405f205415610555575f52600a60205260405f206040516116668161224a565b8154815260018201549160208201928352611683600282016123c8565b604083019081526003820154916060840192835260048101546080850190815260018060a01b036005830154169060a086019182526116fe600760068501549460c0890195865201549460e0880195865260405198899860208a525160208a0152516040890152516101006060890152610120880190612466565b945160808701525160a0860152516001600160a01b031660c08501525160e0840152516101008301520390f35b34610214576060366003190112610214576117446121b0565b6024356001600160401b03811161021457602091611769610b069236906004016124f4565b604435916126f4565b34610214576040366003190112610214576004356001600160401b038111610214576117a29036906004016124f4565b6024356001600160401b038111610214576117c19036906004016124f4565b6117c9612b60565b81511561054657805115611ab5578151916001600160401b038311610532576117f36004546121dc565b601f8111611a4d575b50602092601f81116001146119e157809192935f916119d6575b508160011b915f199060031b1c1916176004555b81516001600160401b038111610532576118456005546121dc565b601f811161196e575b506020601f82116001146118dc5791816118be927f860b8b881bb84f47cb86ac440df8baf77920bf8351874ea568c06605c50cf6da945f916118d1575b508160011b915f199060031b1c1916176005555b426008556118cc60035494604051938493604085526040850190612466565b908382036020850152612466565b0390a2005b90508501518661188b565b601f1982169060055f525f516020612b745f395f51905f52915f5b8181106119565750927f860b8b881bb84f47cb86ac440df8baf77920bf8351874ea568c06605c50cf6da9492600192826118be961061193e575b5050811b0160055561189f565b8701515f1960f88460031b161c191690558680611931565b9192602060018192868a0151815501940192016118f7565b60055f52601f820160051c5f516020612b745f395f51905f520190602083106119c1575b601f0160051c5f516020612b745f395f51905f5201905b8181106119b6575061184e565b5f81556001016119a9565b5f516020612b745f395f51905f529150611992565b905082015184611816565b601f1981169360045f525f516020612b945f395f51905f52905f5b868110611a35575082600194959610611a1d575b5050811b0160045561182a565b8401515f1960f88460031b161c191690558480611a10565b909160206001819285880151815501930191016119fc565b60045f52601f840160051c5f516020612b945f395f51905f52019060208510611aa0575b601f0160051c5f516020612b945f395f51905f5201905b818110611a9557506117fc565b5f8155600101611a88565b5f516020612b945f395f51905f529150611a71565b633e61080d60e01b5f5260045ffd5b3461021457602036600319011261021457611add6121b0565b6009545f916001600160a01b0316825b828110611bce5750611afe83612549565b92611b0c6040519485612281565b808452611b1b601f1991612549565b015f5b818110611b9f5750505f905f5b838110611b4057604051806101f2878261248a565b81611b4a8261262b565b50546001600160a01b031614611b63575b600101611b2b565b91611b97600191611b7c611b768661262b565b506126b6565b611b8682896126a2565b52611b9181886126a2565b50612694565b929050611b5b565b602090604051611bae8161222f565b5f81525f838201525f60408201525f606082015282828801015201611b1e565b81611bd88261262b565b50546001600160a01b031614611bf1575b600101611aed565b92611bfd600191612694565b939050611be9565b34610214575f36600319011261021457600354611c206122a2565b90611c29612346565b60018060a01b036006541690600754611c6960085492611c5b604051978897885260c0602089015260c0880190612466565b908682036040880152612466565b926060850152608084015260a08301520390f35b3461021457604036600319011261021457600435611c996121c6565b335f52600a60205260405f20541561055557611cb481612a2c565b15611e70578115610e6457335f52600c60205260405f20548211610e6457335f52600b60205260405f2060405190611ceb82612214565b600460018060a01b038254169182845260018101546020850152600281015460408501526003810154606085015201549160ff83161515608082015260c060ff8460081c161593841560a084015260018060a01b039060101c1691015215159081611e68575b50611e595760405190611d6382612214565b3380835260208084018581524260408087019182525f606088018181526080890182815260a08a018381526001600160a01b03998a1660c08c01908152988452600b90975292909120975188546001600160a01b0319169716969096178755915160018701555160028601559251600385015591516004939093018054925191516001600160b01b031990931660ff941515949094169390931790151560081b61ff00161760109190911b62010000600160b01b0316179055600e54611e2890612694565b600e556040519081527f19a703b7248cc8f4116eef5d65eb2a9b4a83bd8d37c962f33d021f019278075b60203392a2005b6341abc80160e01b5f5260045ffd5b905083611d51565b63c1ab6dc160e01b5f5260045ffd5b34610214575f366003190112610214576020600d54604051908152f35b3461021457602036600319011261021457611eb56121b0565b6002601154146111fa576002601155611ecc612b60565b6001600160a01b03168015610564575f818152600b6020526040902080546001600160a01b0316908115611e5957600481019182549060ff82166120d6575f52600a60205260405f2054156105555760019060ff191617825542600382015560018101918254845f52600a602052611f4c600460405f200191825461265b565b9055546040516370a0823160e01b815233600482015260109190911c6001600160a01b031692602082602481875afa91821561104a575f926120a2575b5054809110610e6457604051636eb1769f60e11b8152336004820152306024820152602081604481875afa801561104a5782915f9161206d575b50106111725790546040516323b872dd60e01b81523360048201526001600160a01b039091166024820152604481019190915290602090829060649082905f905af190811561104a575f9161204e575b501561100d576040516020917f5a1d60dbcb373a8c141fa80faf8e10467f6bcdfedfa593edc0feb21be4aa111f5f80a2600160115560018152f35b612067915060203d602011611043576110358183612281565b82612013565b9150506020813d60201161209a575b8161208960209383612281565b810103126102145781905186611fc3565b3d915061207c565b9091506020813d6020116120ce575b816120be60209383612281565b8101031261021457519085611f89565b3d91506120b1565b63080fc0bd60e11b5f5260045ffd5b34610214576040366003190112610214576120fe6121b0565b6024359061210a612b60565b6001600160a01b0316801561056457805f52600a60205260405f205415610555578115610e64575f52600a60205260405f209060038201556007429101555f80f35b3461021457602036600319011261021457600435612168612b3d565b605081116121a1576020817f21ea14061974d1886e13e854a8a738e5177a587170a7f767a2b182a3f8b8dcdf92601055604051908152a1005b6358d620b360e01b5f5260045ffd5b600435906001600160a01b038216820361021457565b602435906001600160a01b038216820361021457565b90600182811c9216801561220a575b60208310146121f657565b634e487b7160e01b5f52602260045260245ffd5b91607f16916121eb565b60e081019081106001600160401b0382111761053257604052565b608081019081106001600160401b0382111761053257604052565b61010081019081106001600160401b0382111761053257604052565b60c081019081106001600160401b0382111761053257604052565b90601f801991011681019081106001600160401b0382111761053257604052565b604051905f82600454916122b5836121dc565b808352926001811690811561232757506001146122db575b6122d992500383612281565b565b5060045f90815290915f516020612b945f395f51905f525b81831061230b5750509060206122d9928201016122cd565b60209193508060019154838589010152019101909184926122f3565b602092506122d994915060ff191682840152151560051b8201016122cd565b604051905f8260055491612359836121dc565b8083529260018116908115612327575060011461237c576122d992500383612281565b5060055f90815290915f516020612b745f395f51905f525b8183106123ac5750509060206122d9928201016122cd565b6020919350806001915483858901015201910190918492612394565b9060405191825f8254926123db846121dc565b80845293600181169081156124445750600114612400575b506122d992500383612281565b90505f9291925260205f20905f915b8183106124285750509060206122d9928201015f6123f3565b602091935080600191548385890101520191019091849261240f565b9050602092506122d994915060ff191682840152151560051b8201015f6123f3565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60206040818301928281528451809452019201905f5b8181106124ad5750505090565b825180516001600160a01b039081168652602082810151909116818701526040808301519087015260609182015191860191909152608090940193909201916001016124a0565b81601f82011215610214578035906001600160401b0382116105325760405192612528601f8401601f191660200185612281565b8284526020838301011161021457815f926020809301838601378301015290565b6001600160401b0381116105325760051b60200190565b9080601f830112156102145781359061257882612549565b926125866040519485612281565b82845260208085019360051b82010191821161021457602001915b8183106125ae5750505090565b82356001600160a01b0381168103610214578152602092830192016125a1565b9080601f830112156102145781356125e581612549565b926125f36040519485612281565b81845260208085019260051b82010192831161021457602001905b82821061261b5750505090565b813581526020918201910161260e565b6009548110156126475760095f5260205f209060021b01905f90565b634e487b7160e01b5f52603260045260245ffd5b9190820180921161266857565b634e487b7160e01b5f52601160045260245ffd5b90816020910312610214575180151581036102145790565b5f1981146126685760010190565b80518210156126475760209160051b010190565b906040516126c38161222f565b82546001600160a01b0390811682526001840154166020820152600283015460408201526003909201546060830152565b9291926126ff612b60565b815115610546576001600160a01b03811690811561056457815f52600a60205260405f20546129c85760405160208101916bffffffffffffffffffffffff199060601b1682524260348201526034815261275a605482612281565b519020916003546040519061276e8261224a565b84825260208201908152604082019683885260608301908152608083015f815260a084019086825260c085019242845260e0860194428652885f52600a60205260405f2096518755516001870155600286019a519a8b516001600160401b03811161053257601f9c6127e083546121dc565b9d8e11612982575b8b9c9d505f9b9a9b50602090601f83116001146128c95792827f407385dc1873eabb5f992b55d2de317c1f69aac3f03d91e49a6ea160636109089b9996936128b89b999693600799965f926128be575b50508160011b915f199060031b1c19161790555b516003870155516004860155516005850180546001600160a01b0319166001600160a01b039290921691909117905551600684015551910155600d5461289190612694565b600d55600f54855f52600c60205260405f2055604051918291602083526020830190612466565b0390a390565b015190505f80612838565b601f9b9a9998979695949392919b19821690835f528c5f20915f5b81811061294e5750926007989694927f407385dc1873eabb5f992b55d2de317c1f69aac3f03d91e49a6ea160636109089d9e600193836128b89f9e9d9b999710612936575b505050811b01905561284c565b01515f1960f88460031b161c191690555f8080612929565b939597999b9d9496989a9c5090916020600181928786015181550195019301908f9c9a98969492919d9b999795939d6128e4565b825f5260205f20601f830160051c81019e602084106129be575b601f0160051c019d8e5b81106129b257506127e8565b5f81556001018e6129a6565b909e508e9061299c565b63d8abd7e760e01b5f5260045ffd5b9190820391821161266857565b6127108102908082046127101490151715612668576010549081612710039161271083116126685761271014612a18570490565b634e487b7160e01b5f52601260045260245ffd5b6001546040516375151b6360e01b81526001600160a01b0392831660048201529160209183916024918391165afa90811561104a575f91612a6b575090565b612a84915060203d602011611043576110358183612281565b90565b6009546801000000000000000081101561053257600181016009556009548110156126475760095f5260021b7f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0190805182546001600160a01b03199081166001600160a01b0392831617845560208301516001850180549092169216919091179055604081015160028301556060015160039190910155565b6010549081810291818304149015171561266857612710900490565b6001546001600160a01b03163303612b5157565b631a27eac360e11b5f5260045ffd5b5f546001600160a01b03163303612b515756fe036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db08a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19ba264697066735822122008232c4962bd90900d091417d61b64f45394bf3531eaf11a4b2716ab5b9cd10164736f6c634300081c00330000000000000000000000005d2d8a217f9523b40ea569d07b8840d005234e080000000000000000000000004e0b37378376bd17ff4736b006809d3168fc5b34000000000000000000000000ccb723eda6201fb9655e0301aa1c2d73dd5aa51f00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000f4d79204f7267616e697a6174696f6e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029546869732069732061206465736372697074696f6e206f66206d79206f7267616e697a6174696f6e2e0000000000000000000000000000000000000000000000" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xd01526c3d74a73d4c09f9ba85a21a48506b7e3f7877060e18853525c29a99137", + "transactionType": "CALL", + "contractName": "OrganizationFactory", + "contractAddress": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "function": "addToken(string,address)", + "arguments": [ + "MyToken", + "0x3677F7827760016702d034837bD2FB8E6Ba618DD" + ], + "transaction": { + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "gas": "0x1852a", + "value": "0x0", + "input": "0xb0b22c2c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000003677f7827760016702d034837bd2fb8e6ba618dd00000000000000000000000000000000000000000000000000000000000000074d79546f6b656e00000000000000000000000000000000000000000000000000", + "nonce": "0x3", + "chainId": "0x106a" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2da24b62dc783283073d7cce6c448cc6648a4f31934e34ae4ace6c23d672990c", + "transactionType": "CALL", + "contractName": "OrganizationContract", + "contractAddress": "0xa9765e241283ca2f713a42f71b8bada7d21c7f6c", + "function": "createRecipient(address,string,uint256)", + "arguments": [ + "0x8A912047689651E7119CD64453D78dBD42030fB5", + "John Doe", + "1000" + ], + "transaction": { + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": "0xa9765e241283ca2f713a42f71b8bada7d21c7f6c", + "gas": "0x4efa0", + "value": "0x0", + "input": "0x5c62c9670000000000000000000000008a912047689651e7119cd64453d78dbd42030fb5000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000000084a6f686e20446f65000000000000000000000000000000000000000000000000", + "nonce": "0x4", + "chainId": "0x106a" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x3943cb", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xba186b5e258644010da513f80bac36826403973448e110f2fb4013ecad78df0a", + "transactionIndex": "0x1", + "blockHash": "0x3a0c1c830e905b6441944fa557e9835b1829b4ae6b95a2e57202c5ba554abb4b", + "blockNumber": "0x1329541", + "gasUsed": "0x388f7f", + "effectiveGasPrice": "0xfe", + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": null, + "contractAddress": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "l1BaseFeeScalar": "0x2af8", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0x109618", + "l1Fee": "0x13f500b3cba7", + "l1GasPrice": "0x31a09d4e1", + "l1GasUsed": "0x248ed" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x64703f", + "logs": [ + { + "address": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "topics": [ + "0xf4b9821f6bc54fe8ce60a727c514af1fe81e7be7f09ba6b32b23e7da12fb92ae", + "0x000000000000000000000000a9765e241283ca2f713a42f71b8bada7d21c7f6c", + "0x0000000000000000000000005d2d8a217f9523b40ea569d07b8840d005234e08" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000680a2d62000000000000000000000000000000000000000000000000000000000000000f4d79204f7267616e697a6174696f6e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029546869732069732061206465736372697074696f6e206f66206d79206f7267616e697a6174696f6e2e0000000000000000000000000000000000000000000000", + "blockHash": "0x3a0c1c830e905b6441944fa557e9835b1829b4ae6b95a2e57202c5ba554abb4b", + "blockNumber": "0x1329541", + "transactionHash": "0xec38dabd51dd1a3078655ed33a94e7642e32e9915fdddb1f9652a354caefeaec", + "transactionIndex": "0x2", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000400000010000000800000000000000000000000001000000000000000000000000000000000000000000000000000001000000000000000200000000000400000000000000000000000800000000000000000", + "type": "0x2", + "transactionHash": "0xec38dabd51dd1a3078655ed33a94e7642e32e9915fdddb1f9652a354caefeaec", + "transactionIndex": "0x2", + "blockHash": "0x3a0c1c830e905b6441944fa557e9835b1829b4ae6b95a2e57202c5ba554abb4b", + "blockNumber": "0x1329541", + "gasUsed": "0x2b2c74", + "effectiveGasPrice": "0xfe", + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "contractAddress": null, + "l1BaseFeeScalar": "0x2af8", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0x109618", + "l1Fee": "0x42b63a4166", + "l1GasPrice": "0x31a09d4e1", + "l1GasUsed": "0x7a3" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x6589ff", + "logs": [ + { + "address": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "topics": [ + "0x7afee0f1b802cc0f66c67890e26b4566251859cf2cd8de79b86aed7251d9756a", + "0x0000000000000000000000003677f7827760016702d034837bd2fb8e6ba618dd" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000074d79546f6b656e00000000000000000000000000000000000000000000000000", + "blockHash": "0x3a0c1c830e905b6441944fa557e9835b1829b4ae6b95a2e57202c5ba554abb4b", + "blockNumber": "0x1329541", + "transactionHash": "0xd01526c3d74a73d4c09f9ba85a21a48506b7e3f7877060e18853525c29a99137", + "transactionIndex": "0x3", + "logIndex": "0x1", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000010000000000000010000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000100000000000000000020000000000001000000000000000000000000000400000000000040000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xd01526c3d74a73d4c09f9ba85a21a48506b7e3f7877060e18853525c29a99137", + "transactionIndex": "0x3", + "blockHash": "0x3a0c1c830e905b6441944fa557e9835b1829b4ae6b95a2e57202c5ba554abb4b", + "blockNumber": "0x1329541", + "gasUsed": "0x119c0", + "effectiveGasPrice": "0xfe", + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": "0x4e0b37378376bd17ff4736b006809d3168fc5b34", + "contractAddress": null, + "l1BaseFeeScalar": "0x2af8", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0x109618", + "l1Fee": "0x3697136fe4", + "l1GasPrice": "0x31a09d4e1", + "l1GasUsed": "0x640" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x691cd7", + "logs": [ + { + "address": "0xa9765e241283ca2f713a42f71b8bada7d21c7f6c", + "topics": [ + "0x407385dc1873eabb5f992b55d2de317c1f69aac3f03d91e49a6ea16063610908", + "0x8a492ea4a7ef7db258c33dbf618658527b53baad4e062111c4a93f9bcec3a67e", + "0x0000000000000000000000008a912047689651e7119cd64453d78dbd42030fb5" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000084a6f686e20446f65000000000000000000000000000000000000000000000000", + "blockHash": "0x3a0c1c830e905b6441944fa557e9835b1829b4ae6b95a2e57202c5ba554abb4b", + "blockNumber": "0x1329541", + "transactionHash": "0x2da24b62dc783283073d7cce6c448cc6648a4f31934e34ae4ace6c23d672990c", + "transactionIndex": "0x4", + "logIndex": "0x2", + "removed": false + } + ], + "logsBloom": "0x00010000000000000000000000000000100000000000240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000400000000100000000000000000000000000000000000000000000000000000000000000008000000008000000000000400000000000000000000000010000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x2da24b62dc783283073d7cce6c448cc6648a4f31934e34ae4ace6c23d672990c", + "transactionIndex": "0x4", + "blockHash": "0x3a0c1c830e905b6441944fa557e9835b1829b4ae6b95a2e57202c5ba554abb4b", + "blockNumber": "0x1329541", + "gasUsed": "0x392d8", + "effectiveGasPrice": "0xfe", + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": "0xa9765e241283ca2f713a42f71b8bada7d21c7f6c", + "contractAddress": null, + "l1BaseFeeScalar": "0x2af8", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0x109618", + "l1Fee": "0x3af2e6e227", + "l1GasPrice": "0x31a09d4e1", + "l1GasUsed": "0x6bf" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1745498368, + "chain": 4202, + "commit": "cd6db15" +} \ No newline at end of file diff --git a/broadcast/deploy.s.sol/4202/run-latest.json b/broadcast/deploy.s.sol/4202/run-latest.json new file mode 100644 index 0000000..57cc201 --- /dev/null +++ b/broadcast/deploy.s.sol/4202/run-latest.json @@ -0,0 +1,240 @@ +{ + "transactions": [ + { + "hash": "0x0467d572bd05ccfcc8fcf4a0acab311644210dea505c48982f0c2641d73dbf9b", + "transactionType": "CREATE", + "contractName": "OrganizationFactory", + "contractAddress": "0xe1db6db5f799feeb969088ac1ec7072b295a55a0", + "function": null, + "arguments": [ + "0xCcB723EDa6201FB9655e0301AA1C2d73dd5aa51F" + ], + "transaction": { + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "gas": "0x498758", + "value": "0x0", + "input": "0x608034608457601f6141c338819003918201601f19168301916001600160401b03831184841017608857808492602094604052833981010312608457516001600160a01b038116908190036084575f8054336001600160a01b0319818116928116929092171790915560038054909116919091179055604051614126908161009d8239f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080806040526004361015610012575f80fd5b5f905f3560e01c9081630a38111c14610da5575080631d16392314610d885780635a1f740614610ce65780635fa7b58414610bda57806361ba81d814610aae57806368c4ac2614610a765780636a2b20c214610a365780636f0fccab146109d157806374d27f341461092f57806375151b63146108d75780638da5cb5b146108b0578063a411ef20146103fb578063b0b22c2c146101d1578063be27432f14610117578063c415b95c146100ee5763e49fba6b146100ce575f80fd5b346100eb57806003193601126100eb576020600254604051908152f35b80fd5b50346100eb57806003193601126100eb576003546040516001600160a01b039091168152602090f35b50346100eb5760403660031901126100eb57610131610de4565b9061013a610dfa565b91610143610fca565b6001600160a01b039081168252600460205260408220541680156101c2578192813b156101be576040516301485b9d60e71b81526001600160a01b0390911660048201529082908290602490829084905af180156101b3576101a25750f35b816101ac91610e78565b6100eb5780f35b6040513d84823e3d90fd5b5050fd5b639551f8b360e01b8252600482fd5b50346100eb5760403660031901126100eb5760043567ffffffffffffffff81116103f757610203903690600401610f5e565b61020b610dfa565b610213610fca565b61021b610fca565b8151156103e8576001600160a01b03169081156103d95781835260016020526102476040842054610e10565b6103ca57818352600160205260408320815167ffffffffffffffff81116103b6576102728254610e10565b601f811161037b575b506020601f821160011461031c5790806102a9928791610311575b508160011b915f199060031b1c19161790565b90555b6002545f1981146102fd577f7afee0f1b802cc0f66c67890e26b4566251859cf2cd8de79b86aed7251d9756a9160016102f79201600255604051918291602083526020830190610f3a565b0390a280f35b634e487b7160e01b84526011600452602484fd5b90508401515f610296565b82865280862090601f198316875b8181106103635750908360019493921061034b575b5050811b0190556102ac565b8501515f1960f88460031b161c191690555f8061033f565b9192602060018192868a01518155019401920161032a565b6103a69083875260208720601f840160051c810191602085106103ac575b601f0160051c0190610fb4565b5f61027b565b9091508190610399565b634e487b7160e01b85526041600452602485fd5b63c78e82ad60e01b8352600483fd5b630f58058360e11b8352600483fd5b6316c31e7760e21b8352600483fd5b5080fd5b50346100eb5760403660031901126100eb5760043567ffffffffffffffff81116103f75761042d903690600401610f5e565b60243567ffffffffffffffff81116108ac5761044d903690600401610f5e565b9080511561089d5781511561088e57338352600460205260408320546001600160a01b031661087f5760035460405190613104808301916001600160a01b03169067ffffffffffffffff83118484101761086b57916104de918493610fed8539338252306020830152604082015260a060608201526104cf60a0820186610f3a565b90608081830391015285610f3a565b039084f080156108605760018060a01b03169133845260046020526040842060018060a01b0384166bffffffffffffffffffffffff60a01b82541617905560405160208101903360601b82524260348201526034815261053f605482610e78565b5190206040519061054f82610e48565b8152602081018381526040820183815260608301338152608084019142835260a0850193428552338a52600560205260408a2095518655600186019051805167ffffffffffffffff811161084c578b6105a88454610e10565b601f811161081c575b505060208c601f83116001146107ba57906105e093836106dc575b50508160011b915f199060031b1c19161790565b90555b518051600286019167ffffffffffffffff82116107a6579060209a83926106108c9a999897969554610e10565b601f8111610777575b508c91601f84116001146106e757836106c7999794600597947ff4b9821f6bc54fe8ce60a727c514af1fe81e7be7f09ba6b32b23e7da12fb92ae9c9a979461067494926106dc5750508160011b915f199060031b1c19161790565b90555b516003850180546001600160a01b0319166001600160a01b039290921691909117905551600484015551910155604051606080825290956106ba91870190610f3a565b9085820388870152610f3a565b924260408201528033940390a3604051908152f35b015190505f806105cc565b9190601f198416858452828420935b81811061075d575093600596937ff4b9821f6bc54fe8ce60a727c514af1fe81e7be7f09ba6b32b23e7da12fb92ae9b999693600193836106c79d9b9810610745575b505050811b019055610677565b01515f1960f88460031b161c191690555f8080610738565b8383015185558e9c50600190940193928f01928f016106f6565b6107a0908584528e8420601f860160051c810191602087106103ac57601f0160051c0190610fb4565b5f610619565b634e487b7160e01b8b52604160045260248bfd5b9192601f198416858452828420935b81811061080457509084600195949392106107ec575b505050811b0190556105e3565b01515f1960f88460031b161c191690555f80806107df565b929360206001819287860151815501950193016107c9565b60208286610845945220601f840160051c810191602085106103ac57601f0160051c0190610fb4565b8b5f6105b1565b634e487b7160e01b8c52604160045260248cfd5b6040513d85823e3d90fd5b634e487b7160e01b87526041600452602487fd5b6369c24f0b60e01b8352600483fd5b633e61080d60e01b8352600483fd5b636cc61e7360e11b8352600483fd5b8280fd5b50346100eb57806003193601126100eb57546040516001600160a01b039091168152602090f35b50346100eb5760203660031901126100eb576001600160a01b036108f9610de4565b168015610920576040826109169260209452600184522054610e10565b1515604051908152f35b630f58058360e11b8252600482fd5b50346109be5760403660031901126109be57610949610de4565b610951610fca565b6001600160a01b039081165f908152600460205260409020541680156109c257803b156109be575f809160246040518094819363096a8ab760e01b8352833560048401525af180156109b3576109a5575080f35b6109b191505f90610e78565b005b6040513d5f823e3d90fd5b5f80fd5b639551f8b360e01b5f5260045ffd5b346109be5760203660031901126109be576001600160a01b036109f2610de4565b168015610a27575f526001602052610a23610a0f60405f20610e9a565b604051918291602083526020830190610f3a565b0390f35b630f58058360e11b5f5260045ffd5b346109be5760203660031901126109be576001600160a01b03610a57610de4565b165f526004602052602060018060a01b0360405f205416604051908152f35b346109be5760203660031901126109be576001600160a01b03610a97610de4565b165f526001602052610a23610a0f60405f20610e9a565b346109be5760203660031901126109be57610ac7610de4565b5f60a0604051610ad681610e48565b8281526060602082015260606040820152826060820152826080820152015260018060a01b0316805f52600560205260405f2054156109c2575f52600560205260405f20604051610b2681610e48565b81548152610b3660018301610e9a565b9160208201928352610b4a60028201610e9a565b6040830190815260018060a01b036003830154169160608401928352610bba60056004830154926080870193845201549260a08601938452610ba7604051978897602089525160208901525160c0604089015260e0880190610f3a565b9051868203601f19016060880152610f3a565b92516001600160a01b031660808501525160a08401525160c08301520390f35b346109be5760203660031901126109be57610bf3610de4565b610bfb610fca565b6001600160a01b03168015610cd757610c12610fca565b805f526001602052610c2760405f2054610e10565b15610cd757805f52600160205260405f20610c428154610e10565b9081610c94575b50506002548015610c80575f19016002557f4c910b69fe65a61f7531b9c5042b2329ca7179c77290aa7e2eb3afa3c8511fd35f80a2005b634e487b7160e01b5f52601160045260245ffd5b81601f5f9311600114610cab5750555b8180610c49565b81835260208320610cc791601f0160051c810190600101610fb4565b8082528160208120915555610ca4565b63c1ab6dc160e01b5f5260045ffd5b346109be5760203660031901126109be576001600160a01b03610d07610de4565b165f52600560205260405f208054610d2160018301610e9a565b91610d2e60028201610e9a565b60018060a01b0360038301541691610d746005600483015492015492610d66604051978897885260c0602089015260c0880190610f3a565b908682036040880152610f3a565b926060850152608084015260a08301520390f35b346109be575f3660031901126109be576020600254604051908152f35b346109be5760203660031901126109be576020906001600160a01b03610dc9610de4565b165f9081526004835260409020546001600160a01b03168152f35b600435906001600160a01b03821682036109be57565b602435906001600160a01b03821682036109be57565b90600182811c92168015610e3e575b6020831014610e2a57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610e1f565b60c0810190811067ffffffffffffffff821117610e6457604052565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff821117610e6457604052565b9060405191825f825492610ead84610e10565b8084529360018116908115610f185750600114610ed4575b50610ed292500383610e78565b565b90505f9291925260205f20905f915b818310610efc575050906020610ed2928201015f610ec5565b6020919350806001915483858901015201910190918492610ee3565b905060209250610ed294915060ff191682840152151560051b8201015f610ec5565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b81601f820112156109be5780359067ffffffffffffffff8211610e645760405192610f93601f8401601f191660200185610e78565b828452602083830101116109be57815f926020809301838601378301015290565b818110610fbf575050565b5f8155600101610fb4565b5f546001600160a01b03163303610fdd57565b631a27eac360e11b5f5260045ffdfe6080806040523461048a57613104803803809161001c828561048e565b8339810160a08282031261048a57610033826104b1565b90610040602084016104b1565b61004c604085016104b1565b60608501519094906001600160401b03811161048a578361006e9183016104c5565b60808201519093906001600160401b03811161048a5761008e92016104c5565b926001600160a01b03811691821561047b576001600160a01b031694851561047b576001600160a01b031694851561047b5783511561046c5784511561045d578260018060a01b03195f5416175f5560018060a01b03196001541617600155604051602081019160018060601b03199060601b1682524260348201526034815261011960548261048e565b5190206040519093909260c084016001600160401b0381118582101761036057604052848452806020850152604084019182526060840192835260a06080850194428652019442865260035580519060018060401b0382116103605760045490600182811c92168015610453575b60208310146103425781601f8493116103e5575b50602090601f831160011461037f575f92610374575b50508160011b915f199060031b1c1916176004555b518051906001600160401b0382116103605760055490600182811c92168015610356575b60208310146103425781601f8493116102f1575b50602090601f831160011461028b575f92610280575b50508160011b915f199060031b1c1916176005555b60018060a01b0390511660018060a01b031960065416176006555160075551600855603260105560018060a01b0319600254161760025567016345785d8a0000600f556001601155604051612be9908161051b8239f35b015190505f80610214565b60055f9081528281209350601f198516905b8181106102d957509084600195949392106102c1575b505050811b01600555610229565b01515f1960f88460031b161c191690555f80806102b3565b9293602060018192878601518155019501930161029d565b90915060055f5260205f20601f840160051c81019160208510610338575b90601f859493920160051c01905b81811061032a57506101fe565b5f815584935060010161031d565b909150819061030f565b634e487b7160e01b5f52602260045260245ffd5b91607f16916101ea565b634e487b7160e01b5f52604160045260245ffd5b015190505f806101b1565b60045f9081528281209350601f198516905b8181106103cd57509084600195949392106103b5575b505050811b016004556101c6565b01515f1960f88460031b161c191690555f80806103a7565b92936020600181928786015181550195019301610391565b60045f529091507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f840160051c81019160208510610449575b90601f859493920160051c01905b81811061043b575061019b565b5f815584935060010161042e565b9091508190610420565b91607f1691610187565b633e61080d60e01b5f5260045ffd5b636cc61e7360e11b5f5260045ffd5b63e6c4247b60e01b5f5260045ffd5b5f80fd5b601f909101601f19168101906001600160401b0382119082101761036057604052565b51906001600160a01b038216820361048a57565b81601f8201121561048a578051906001600160401b03821161036057604051926104f9601f8401601f19166020018561048e565b8284526020838301011161048a57815f9260208093018386015e830101529056fe60806040526004361015610011575f80fd5b5f3560e01c8063096a8ab71461214c578063150d2ce8146120e5578063182dafff14611e9c57806322eabb8e14611e7f57806325ffb76714611c7d57806341e0c42714611c0557806348f1e4b514611ac45780634e2727d6146117725780635c62c9671461172b57806362812a39146115dd57806371b6d224146115bf57806375151b631461159257806376c751c6146112095780637e9a8de014610c6457806388a72a6f14610c475780638d7942c214610bc65780638da5cb5b14610b9f57806392d5d7fe14610b0e57806399a5d74714610ae85780639ed3edf014610acb578063a42dce8014610a55578063a5e047b8146109f1578063c415b95c146109c9578063c45a0155146109a1578063cc2fd93014610955578063cc5b8baf1461091d578063cef34b9814610900578063dd06ab5f146106c4578063e077c07814610573578063e30909b9146103af578063e894d0a2146102be578063eb820312146102185763f8defa3c14610184575f80fd5b34610214575f366003190112610214576009546101a081612549565b906101ae6040519283612281565b8082526020820160095f527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af5f915b8383106101f657604051806101f2878261248a565b0390f35b60046020600192610206856126b6565b8152019201920191906101dd565b5f80fd5b34610214576020366003190112610214576001600160a01b036102396121b0565b165f52600a60205260405f208054600182015491610259600282016123c8565b600382015491600481015460018060a01b03600583015416906102a06007600685015494015494604051988998895260208901526101006040890152610100880190612466565b946060870152608086015260a085015260c084015260e08301520390f35b34610214575f366003190112610214575f60a06040516102dd81612266565b8281526060602082015260606040820152826060820152826080820152015260405161030881612266565b60035481526103156122a2565b9060208101918252610325612346565b6040820190815260018060a01b036006541690606083019182526007546080840190815261038f6008549260a0860193845261037c604051978897602089525160208901525160c0604089015260e0880190612466565b9051868203601f19016060880152612466565b92516001600160a01b031660808501525160a08401525160c08301520390f35b34610214576040366003190112610214576103c86121b0565b6024356001600160401b038111610214576103e79036906004016124f4565b906103f0612b60565b6001600160a01b0316801561056457805f52600a60205260405f20541561055557815115610546575f52600a60205260405f206002810182516001600160401b0381116105325761044182546121dc565b601f81116104ed575b506020601f821160011461048c57819293945f92610481575b50508160011b915f199060031b1c19161790555b6007429101555f80f35b015190508480610463565b601f19821690835f52805f20915f5b8181106104d5575095836001959697106104bd575b505050811b019055610477565b01515f1960f88460031b161c191690558480806104b0565b9192602060018192868b01518155019401920161049b565b825f5260205f20601f830160051c81019160208410610528575b601f0160051c01905b81811061051d575061044a565b5f8155600101610510565b9091508190610507565b634e487b7160e01b5f52604160045260245ffd5b636cc61e7360e11b5f5260045ffd5b6366a21ffb60e01b5f5260045ffd5b63e6c4247b60e01b5f5260045ffd5b34610214576060366003190112610214576004356001600160401b038111610214576105a3903690600401612560565b6024356001600160401b03811161021457366023820112156102145780600401356105cd81612549565b916105db6040519384612281565b8183526024602084019260051b820101903682116102145760248101925b8284106106955785856044356001600160401b038111610214576106219036906004016125ce565b9161062a612b60565b8051825103610686578051835103610686575f5b81518110156106845760019061067d6001600160a01b0361065f83866126a2565b511661066b83876126a2565b5161067684896126a2565b51916126f4565b500161063e565b005b63b4fa3fb360e01b5f5260045ffd5b83356001600160401b038111610214576020916106b98392602436918701016124f4565b8152019301926105f9565b34610214575f366003190112610214576106dc612b60565b5f5f600d54905b81811061083e575061070d6106f783612549565b926107056040519485612281565b808452612549565b602083019190601f19013683375f5f5b828110610771578385604051918291602083019060208452518091526040830191905f5b81811061074f575050500390f35b82516001600160a01b0316845285945060209384019390920191600101610741565b60018060a01b0381165f52600b60205260405f2060405161079181612214565b600460018060a01b0383541692838352600181015460208401526002810154604084015260038101546060840152015460ff811615918215608082015260c060ff8360081c161592831560a084015260018060a01b039060101c169101528215159182610836575b508161082e575b5061080f575b5060010161071d565b826108279161082160019495896126a2565b52612694565b9190610806565b905087610800565b9150886107f9565b60018060a01b0381165f52600b60205260405f206040519061085f82612214565b600460018060a01b038254169182845260018101546020850152600281015460408501526003810154606085015201549060ff821615928315608082015260c060ff8460081c161593841560a084015260018060a01b039060101c16910152151591826108f8575b50816108f0575b506108dc575b6001016106e3565b916108e8600191612694565b9290506108d4565b9050846108ce565b9150856108c7565b34610214575f366003190112610214576020600e54604051908152f35b34610214576020366003190112610214576001600160a01b0361093e6121b0565b165f52600c602052602060405f2054604051908152f35b34610214576020366003190112610214577f6d34b3f6f48575724889e5dc1271a918c090c0ccd4fb6c361d25585debef14066020600435610994612b60565b80600f55604051908152a1005b34610214575f366003190112610214576001546040516001600160a01b039091168152602090f35b34610214575f366003190112610214576002546040516001600160a01b039091168152602090f35b346102145760203660031901126102145760043560095481101561021457610a1a60809161262b565b50805460018201546002830154600390930154604080516001600160a01b039485168152929093166020830152918101929092526060820152f35b3461021457602036600319011261021457610a6e6121b0565b610a76612b3d565b6001600160a01b03168015610564576020817fe5693914d19c789bdee50a362998c0bc8d035a835f9871da5d51152f0582c34f926bffffffffffffffffffffffff60a01b6002541617600255604051908152a1005b34610214575f366003190112610214576020601054604051908152f35b34610214576020366003190112610214576020610b06600435612b21565b604051908152f35b34610214576020366003190112610214576001600160a01b03610b2f6121b0565b165f52600b60205260e060405f2060018060a01b03815416906001810154906002810154600460038301549201549260405194855260208501526040840152606083015260ff81161515608083015260ff8160081c16151560a083015260018060a01b039060101c1660c0820152f35b34610214575f366003190112610214575f546040516001600160a01b039091168152602090f35b3461021457604036600319011261021457610bdf6121b0565b60243590610beb612b60565b6001600160a01b031690811561056457815f52600a60205260405f2054156105555760207fce085fc5aeaa5dba9675c29e7f91ffb489df67981b590b65a48b1457a1fc308c91835f52600c82528060405f2055604051908152a2005b34610214575f366003190112610214576020600f54604051908152f35b3461021457606036600319011261021457610c7d6121b0565b6024356001600160401b03811161021457610c9c903690600401612560565b906044356001600160401b03811161021457610cbc9036906004016125ce565b916002601154146111fa576002601155610cd4612b60565b8051835103610686576001600160a01b03821691821561056457610cf790612a2c565b156111eb5782905f915f93825194610d0e86612549565b95610d1c6040519788612281565b808752610d2b601f1991612549565b013660208801375f5b8451811015610ecc57610d4781856126a2565b5115610e64576001600160a01b03610d5f82876126a2565b511615610564576001600160a01b03610d7882876126a2565b51165f52600a60205260405f209586541561055557610da0610d9a83876126a2565b516129e4565b610da981612b21565b610db381836129d7565b610dbd85896126a2565b5103610e9257610dd2610dd89260049461265b565b9461265b565b960154908115610e735781610ded82876126a2565b511115610e6457610e0a600192610e0483886126a2565b516129d7565b610e14828a6126a2565b525b610e5b828060a01b03610e2983896126a2565b5116610e3583886126a2565b5160405191610e438361222f565b82528660208301526040820152426060820152612a87565b01949094610d34565b63162908e360e11b5f5260045ffd5b60019150610e8181866126a2565b51610e8c828a6126a2565b52610e16565b60405162461bcd60e51b81526020600482015260126024820152712332b29036b4b9b1b0b631bab630ba34b7b760711b6044820152606490fd5b50928592946040516370a0823160e01b8152336004820152602081602481875afa801561104a5782915f916111b6575b5010610e6457604051636eb1769f60e11b8152336004820152306024820152602081604481875afa801561104a5782915f91611181575b5010611172575f5b82518110156110b5576001600160a01b03610f5682856126a2565b511690815f52600a602052600460405f200154611055575b610fb46020610f7d83896126a2565b516040516323b872dd60e01b81523360048201526001600160a01b0386166024820152604481019190915291829081906064820190565b03815f8a5af190811561104a575f9161101c575b501561100d57600191857f0f64b92a091214409b5000aa33869d5a13c5f95c0b777e4e90ba90aa1d0caf176020610fff858d6126a2565b51604051908152a301610f3b565b6312171d8360e31b5f5260045ffd5b61103d915060203d8111611043575b6110358183612281565b81019061267c565b89610fc8565b503d61102b565b6040513d5f823e3d90fd5b5f828152600a602090815260408083206004908101805490859055600b84529382902001805461ff0019166101001790555191825283917fdf350d510bb8ebdfe431d9cd8936d9adcde99cd7a55657d251e1fc9fc08af27d9190a2610f6e565b50908480611101575b507feb4c91d1e20aae92fc74a1fe60fe3b5060d372d51c3e08869baa24f84874dccb91604091519082519182526020820152a26001601155602060405160018152f35b6002546040516323b872dd60e01b81523360048201526001600160a01b03909116602482015260448101919091526020816064815f885af190811561104a575f91611153575b501561100d57836110be565b61116c915060203d602011611043576110358183612281565b84611147565b6365ba6fc360e01b5f5260045ffd5b9150506020813d6020116111ae575b8161119d60209383612281565b810103126102145781905188610f33565b3d9150611190565b9150506020813d6020116111e3575b816111d260209383612281565b810103126102145781905188610efc565b3d91506111c5565b633dd1b30560e01b5f5260045ffd5b6306fda65d60e31b5f5260045ffd5b34610214576060366003190112610214576112226121b0565b61122a6121c6565b6044356002601154146111fa576002601155611244612b60565b6001600160a01b038316918215610564576001600160a01b038116938415610564578215610e645761127590612a2c565b156111eb57835f52600a60205260405f209081541561055557611297836129e4565b916112a183612b21565b926112ac84826129d7565b85810361154d576040516112dc916112c38261222f565b8982528860208301526040820152426060820152612a87565b6040516370a0823160e01b81523360048201526020816024818a5afa801561104a5782915f91611518575b5010610e6457604051636eb1769f60e11b81523360048201523060248201526020816044818a5afa90811561104a575f916114e6575b501061117257600401805484918161146f575b50506040516323b872dd60e01b81523360048201526001600160a01b039092166024830152604482015260208180606481015b03815f885af190811561104a575f91611450575b501561100d57806113df575b5060207f0f64b92a091214409b5000aa33869d5a13c5f95c0b777e4e90ba90aa1d0caf1791604051908152a36001601155602060405160018152f35b6002546040516323b872dd60e01b81523360048201526001600160a01b03909116602482015260448101919091526020816064815f875af190811561104a575f91611431575b501561100d57836113a3565b61144a915060203d602011611043576110358183612281565b84611425565b611469915060203d602011611043576110358183612281565b85611397565b90809250851115610e645761138392877fdf350d510bb8ebdfe431d9cd8936d9adcde99cd7a55657d251e1fc9fc08af27d6020855f6114af83988c6129d7565b9655835f52600b82525f6004604082208281558260018201558260028201558260038201550155604051908152a292819250611350565b90506020813d602011611510575b8161150160209383612281565b8101031261021457518861133d565b3d91506114f4565b9150506020813d602011611545575b8161153460209383612281565b810103126102145781905189611307565b3d9150611527565b60405162461bcd60e51b815260206004820152601b60248201527f4d69736d6174636820696e206665652063616c63756c6174696f6e00000000006044820152606490fd5b346102145760203660031901126102145760206115b56115b06121b0565b612a2c565b6040519015158152f35b34610214576020366003190112610214576020610b066004356129e4565b34610214576020366003190112610214576115f66121b0565b5f60e06040516116058161224a565b828152826020820152606060408201528260608201528260808201528260a08201528260c0820152015260018060a01b0316801561056457805f52600a60205260405f205415610555575f52600a60205260405f206040516116668161224a565b8154815260018201549160208201928352611683600282016123c8565b604083019081526003820154916060840192835260048101546080850190815260018060a01b036005830154169060a086019182526116fe600760068501549460c0890195865201549460e0880195865260405198899860208a525160208a0152516040890152516101006060890152610120880190612466565b945160808701525160a0860152516001600160a01b031660c08501525160e0840152516101008301520390f35b34610214576060366003190112610214576117446121b0565b6024356001600160401b03811161021457602091611769610b069236906004016124f4565b604435916126f4565b34610214576040366003190112610214576004356001600160401b038111610214576117a29036906004016124f4565b6024356001600160401b038111610214576117c19036906004016124f4565b6117c9612b60565b81511561054657805115611ab5578151916001600160401b038311610532576117f36004546121dc565b601f8111611a4d575b50602092601f81116001146119e157809192935f916119d6575b508160011b915f199060031b1c1916176004555b81516001600160401b038111610532576118456005546121dc565b601f811161196e575b506020601f82116001146118dc5791816118be927f860b8b881bb84f47cb86ac440df8baf77920bf8351874ea568c06605c50cf6da945f916118d1575b508160011b915f199060031b1c1916176005555b426008556118cc60035494604051938493604085526040850190612466565b908382036020850152612466565b0390a2005b90508501518661188b565b601f1982169060055f525f516020612b745f395f51905f52915f5b8181106119565750927f860b8b881bb84f47cb86ac440df8baf77920bf8351874ea568c06605c50cf6da9492600192826118be961061193e575b5050811b0160055561189f565b8701515f1960f88460031b161c191690558680611931565b9192602060018192868a0151815501940192016118f7565b60055f52601f820160051c5f516020612b745f395f51905f520190602083106119c1575b601f0160051c5f516020612b745f395f51905f5201905b8181106119b6575061184e565b5f81556001016119a9565b5f516020612b745f395f51905f529150611992565b905082015184611816565b601f1981169360045f525f516020612b945f395f51905f52905f5b868110611a35575082600194959610611a1d575b5050811b0160045561182a565b8401515f1960f88460031b161c191690558480611a10565b909160206001819285880151815501930191016119fc565b60045f52601f840160051c5f516020612b945f395f51905f52019060208510611aa0575b601f0160051c5f516020612b945f395f51905f5201905b818110611a9557506117fc565b5f8155600101611a88565b5f516020612b945f395f51905f529150611a71565b633e61080d60e01b5f5260045ffd5b3461021457602036600319011261021457611add6121b0565b6009545f916001600160a01b0316825b828110611bce5750611afe83612549565b92611b0c6040519485612281565b808452611b1b601f1991612549565b015f5b818110611b9f5750505f905f5b838110611b4057604051806101f2878261248a565b81611b4a8261262b565b50546001600160a01b031614611b63575b600101611b2b565b91611b97600191611b7c611b768661262b565b506126b6565b611b8682896126a2565b52611b9181886126a2565b50612694565b929050611b5b565b602090604051611bae8161222f565b5f81525f838201525f60408201525f606082015282828801015201611b1e565b81611bd88261262b565b50546001600160a01b031614611bf1575b600101611aed565b92611bfd600191612694565b939050611be9565b34610214575f36600319011261021457600354611c206122a2565b90611c29612346565b60018060a01b036006541690600754611c6960085492611c5b604051978897885260c0602089015260c0880190612466565b908682036040880152612466565b926060850152608084015260a08301520390f35b3461021457604036600319011261021457600435611c996121c6565b335f52600a60205260405f20541561055557611cb481612a2c565b15611e70578115610e6457335f52600c60205260405f20548211610e6457335f52600b60205260405f2060405190611ceb82612214565b600460018060a01b038254169182845260018101546020850152600281015460408501526003810154606085015201549160ff83161515608082015260c060ff8460081c161593841560a084015260018060a01b039060101c1691015215159081611e68575b50611e595760405190611d6382612214565b3380835260208084018581524260408087019182525f606088018181526080890182815260a08a018381526001600160a01b03998a1660c08c01908152988452600b90975292909120975188546001600160a01b0319169716969096178755915160018701555160028601559251600385015591516004939093018054925191516001600160b01b031990931660ff941515949094169390931790151560081b61ff00161760109190911b62010000600160b01b0316179055600e54611e2890612694565b600e556040519081527f19a703b7248cc8f4116eef5d65eb2a9b4a83bd8d37c962f33d021f019278075b60203392a2005b6341abc80160e01b5f5260045ffd5b905083611d51565b63c1ab6dc160e01b5f5260045ffd5b34610214575f366003190112610214576020600d54604051908152f35b3461021457602036600319011261021457611eb56121b0565b6002601154146111fa576002601155611ecc612b60565b6001600160a01b03168015610564575f818152600b6020526040902080546001600160a01b0316908115611e5957600481019182549060ff82166120d6575f52600a60205260405f2054156105555760019060ff191617825542600382015560018101918254845f52600a602052611f4c600460405f200191825461265b565b9055546040516370a0823160e01b815233600482015260109190911c6001600160a01b031692602082602481875afa91821561104a575f926120a2575b5054809110610e6457604051636eb1769f60e11b8152336004820152306024820152602081604481875afa801561104a5782915f9161206d575b50106111725790546040516323b872dd60e01b81523360048201526001600160a01b039091166024820152604481019190915290602090829060649082905f905af190811561104a575f9161204e575b501561100d576040516020917f5a1d60dbcb373a8c141fa80faf8e10467f6bcdfedfa593edc0feb21be4aa111f5f80a2600160115560018152f35b612067915060203d602011611043576110358183612281565b82612013565b9150506020813d60201161209a575b8161208960209383612281565b810103126102145781905186611fc3565b3d915061207c565b9091506020813d6020116120ce575b816120be60209383612281565b8101031261021457519085611f89565b3d91506120b1565b63080fc0bd60e11b5f5260045ffd5b34610214576040366003190112610214576120fe6121b0565b6024359061210a612b60565b6001600160a01b0316801561056457805f52600a60205260405f205415610555578115610e64575f52600a60205260405f209060038201556007429101555f80f35b3461021457602036600319011261021457600435612168612b3d565b605081116121a1576020817f21ea14061974d1886e13e854a8a738e5177a587170a7f767a2b182a3f8b8dcdf92601055604051908152a1005b6358d620b360e01b5f5260045ffd5b600435906001600160a01b038216820361021457565b602435906001600160a01b038216820361021457565b90600182811c9216801561220a575b60208310146121f657565b634e487b7160e01b5f52602260045260245ffd5b91607f16916121eb565b60e081019081106001600160401b0382111761053257604052565b608081019081106001600160401b0382111761053257604052565b61010081019081106001600160401b0382111761053257604052565b60c081019081106001600160401b0382111761053257604052565b90601f801991011681019081106001600160401b0382111761053257604052565b604051905f82600454916122b5836121dc565b808352926001811690811561232757506001146122db575b6122d992500383612281565b565b5060045f90815290915f516020612b945f395f51905f525b81831061230b5750509060206122d9928201016122cd565b60209193508060019154838589010152019101909184926122f3565b602092506122d994915060ff191682840152151560051b8201016122cd565b604051905f8260055491612359836121dc565b8083529260018116908115612327575060011461237c576122d992500383612281565b5060055f90815290915f516020612b745f395f51905f525b8183106123ac5750509060206122d9928201016122cd565b6020919350806001915483858901015201910190918492612394565b9060405191825f8254926123db846121dc565b80845293600181169081156124445750600114612400575b506122d992500383612281565b90505f9291925260205f20905f915b8183106124285750509060206122d9928201015f6123f3565b602091935080600191548385890101520191019091849261240f565b9050602092506122d994915060ff191682840152151560051b8201015f6123f3565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60206040818301928281528451809452019201905f5b8181106124ad5750505090565b825180516001600160a01b039081168652602082810151909116818701526040808301519087015260609182015191860191909152608090940193909201916001016124a0565b81601f82011215610214578035906001600160401b0382116105325760405192612528601f8401601f191660200185612281565b8284526020838301011161021457815f926020809301838601378301015290565b6001600160401b0381116105325760051b60200190565b9080601f830112156102145781359061257882612549565b926125866040519485612281565b82845260208085019360051b82010191821161021457602001915b8183106125ae5750505090565b82356001600160a01b0381168103610214578152602092830192016125a1565b9080601f830112156102145781356125e581612549565b926125f36040519485612281565b81845260208085019260051b82010192831161021457602001905b82821061261b5750505090565b813581526020918201910161260e565b6009548110156126475760095f5260205f209060021b01905f90565b634e487b7160e01b5f52603260045260245ffd5b9190820180921161266857565b634e487b7160e01b5f52601160045260245ffd5b90816020910312610214575180151581036102145790565b5f1981146126685760010190565b80518210156126475760209160051b010190565b906040516126c38161222f565b82546001600160a01b0390811682526001840154166020820152600283015460408201526003909201546060830152565b9291926126ff612b60565b815115610546576001600160a01b03811690811561056457815f52600a60205260405f20546129c85760405160208101916bffffffffffffffffffffffff199060601b1682524260348201526034815261275a605482612281565b519020916003546040519061276e8261224a565b84825260208201908152604082019683885260608301908152608083015f815260a084019086825260c085019242845260e0860194428652885f52600a60205260405f2096518755516001870155600286019a519a8b516001600160401b03811161053257601f9c6127e083546121dc565b9d8e11612982575b8b9c9d505f9b9a9b50602090601f83116001146128c95792827f407385dc1873eabb5f992b55d2de317c1f69aac3f03d91e49a6ea160636109089b9996936128b89b999693600799965f926128be575b50508160011b915f199060031b1c19161790555b516003870155516004860155516005850180546001600160a01b0319166001600160a01b039290921691909117905551600684015551910155600d5461289190612694565b600d55600f54855f52600c60205260405f2055604051918291602083526020830190612466565b0390a390565b015190505f80612838565b601f9b9a9998979695949392919b19821690835f528c5f20915f5b81811061294e5750926007989694927f407385dc1873eabb5f992b55d2de317c1f69aac3f03d91e49a6ea160636109089d9e600193836128b89f9e9d9b999710612936575b505050811b01905561284c565b01515f1960f88460031b161c191690555f8080612929565b939597999b9d9496989a9c5090916020600181928786015181550195019301908f9c9a98969492919d9b999795939d6128e4565b825f5260205f20601f830160051c81019e602084106129be575b601f0160051c019d8e5b81106129b257506127e8565b5f81556001018e6129a6565b909e508e9061299c565b63d8abd7e760e01b5f5260045ffd5b9190820391821161266857565b6127108102908082046127101490151715612668576010549081612710039161271083116126685761271014612a18570490565b634e487b7160e01b5f52601260045260245ffd5b6001546040516375151b6360e01b81526001600160a01b0392831660048201529160209183916024918391165afa90811561104a575f91612a6b575090565b612a84915060203d602011611043576110358183612281565b90565b6009546801000000000000000081101561053257600181016009556009548110156126475760095f5260021b7f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0190805182546001600160a01b03199081166001600160a01b0392831617845560208301516001850180549092169216919091179055604081015160028301556060015160039190910155565b6010549081810291818304149015171561266857612710900490565b6001546001600160a01b03163303612b5157565b631a27eac360e11b5f5260045ffd5b5f546001600160a01b03163303612b515756fe036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db08a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19ba264697066735822122008232c4962bd90900d091417d61b64f45394bf3531eaf11a4b2716ab5b9cd10164736f6c634300081c0033a2646970667358221220f9218596c9dcf73850d7727d5f278b137477cbbc9554e8d05f0fc8a6b36c113464736f6c634300081c0033000000000000000000000000ccb723eda6201fb9655e0301aa1c2d73dd5aa51f", + "nonce": "0x5", + "chainId": "0x106a" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x64785c2d51a24f5ebd91684279ad1aaa959fbffdb0ece29ad2d4cb4178668846", + "transactionType": "CALL", + "contractName": "OrganizationFactory", + "contractAddress": "0xe1db6db5f799feeb969088ac1ec7072b295a55a0", + "function": "createOrganization(string,string)", + "arguments": [ + "My Organization", + "This is a description of my organization." + ], + "transaction": { + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": "0xe1db6db5f799feeb969088ac1ec7072b295a55a0", + "gas": "0x3ba233", + "value": "0x0", + "input": "0xa411ef2000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000f4d79204f7267616e697a6174696f6e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029546869732069732061206465736372697074696f6e206f66206d79206f7267616e697a6174696f6e2e0000000000000000000000000000000000000000000000", + "nonce": "0x6", + "chainId": "0x106a" + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0xe90d6a043c34ab9c03f541e99c21dbe48d14e92b", + "initCode": "0x6080806040523461048a57613104803803809161001c828561048e565b8339810160a08282031261048a57610033826104b1565b90610040602084016104b1565b61004c604085016104b1565b60608501519094906001600160401b03811161048a578361006e9183016104c5565b60808201519093906001600160401b03811161048a5761008e92016104c5565b926001600160a01b03811691821561047b576001600160a01b031694851561047b576001600160a01b031694851561047b5783511561046c5784511561045d578260018060a01b03195f5416175f5560018060a01b03196001541617600155604051602081019160018060601b03199060601b1682524260348201526034815261011960548261048e565b5190206040519093909260c084016001600160401b0381118582101761036057604052848452806020850152604084019182526060840192835260a06080850194428652019442865260035580519060018060401b0382116103605760045490600182811c92168015610453575b60208310146103425781601f8493116103e5575b50602090601f831160011461037f575f92610374575b50508160011b915f199060031b1c1916176004555b518051906001600160401b0382116103605760055490600182811c92168015610356575b60208310146103425781601f8493116102f1575b50602090601f831160011461028b575f92610280575b50508160011b915f199060031b1c1916176005555b60018060a01b0390511660018060a01b031960065416176006555160075551600855603260105560018060a01b0319600254161760025567016345785d8a0000600f556001601155604051612be9908161051b8239f35b015190505f80610214565b60055f9081528281209350601f198516905b8181106102d957509084600195949392106102c1575b505050811b01600555610229565b01515f1960f88460031b161c191690555f80806102b3565b9293602060018192878601518155019501930161029d565b90915060055f5260205f20601f840160051c81019160208510610338575b90601f859493920160051c01905b81811061032a57506101fe565b5f815584935060010161031d565b909150819061030f565b634e487b7160e01b5f52602260045260245ffd5b91607f16916101ea565b634e487b7160e01b5f52604160045260245ffd5b015190505f806101b1565b60045f9081528281209350601f198516905b8181106103cd57509084600195949392106103b5575b505050811b016004556101c6565b01515f1960f88460031b161c191690555f80806103a7565b92936020600181928786015181550195019301610391565b60045f529091507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f840160051c81019160208510610449575b90601f859493920160051c01905b81811061043b575061019b565b5f815584935060010161042e565b9091508190610420565b91607f1691610187565b633e61080d60e01b5f5260045ffd5b636cc61e7360e11b5f5260045ffd5b63e6c4247b60e01b5f5260045ffd5b5f80fd5b601f909101601f19168101906001600160401b0382119082101761036057604052565b51906001600160a01b038216820361048a57565b81601f8201121561048a578051906001600160401b03821161036057604051926104f9601f8401601f19166020018561048e565b8284526020838301011161048a57815f9260208093018386015e830101529056fe60806040526004361015610011575f80fd5b5f3560e01c8063096a8ab71461214c578063150d2ce8146120e5578063182dafff14611e9c57806322eabb8e14611e7f57806325ffb76714611c7d57806341e0c42714611c0557806348f1e4b514611ac45780634e2727d6146117725780635c62c9671461172b57806362812a39146115dd57806371b6d224146115bf57806375151b631461159257806376c751c6146112095780637e9a8de014610c6457806388a72a6f14610c475780638d7942c214610bc65780638da5cb5b14610b9f57806392d5d7fe14610b0e57806399a5d74714610ae85780639ed3edf014610acb578063a42dce8014610a55578063a5e047b8146109f1578063c415b95c146109c9578063c45a0155146109a1578063cc2fd93014610955578063cc5b8baf1461091d578063cef34b9814610900578063dd06ab5f146106c4578063e077c07814610573578063e30909b9146103af578063e894d0a2146102be578063eb820312146102185763f8defa3c14610184575f80fd5b34610214575f366003190112610214576009546101a081612549565b906101ae6040519283612281565b8082526020820160095f527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af5f915b8383106101f657604051806101f2878261248a565b0390f35b60046020600192610206856126b6565b8152019201920191906101dd565b5f80fd5b34610214576020366003190112610214576001600160a01b036102396121b0565b165f52600a60205260405f208054600182015491610259600282016123c8565b600382015491600481015460018060a01b03600583015416906102a06007600685015494015494604051988998895260208901526101006040890152610100880190612466565b946060870152608086015260a085015260c084015260e08301520390f35b34610214575f366003190112610214575f60a06040516102dd81612266565b8281526060602082015260606040820152826060820152826080820152015260405161030881612266565b60035481526103156122a2565b9060208101918252610325612346565b6040820190815260018060a01b036006541690606083019182526007546080840190815261038f6008549260a0860193845261037c604051978897602089525160208901525160c0604089015260e0880190612466565b9051868203601f19016060880152612466565b92516001600160a01b031660808501525160a08401525160c08301520390f35b34610214576040366003190112610214576103c86121b0565b6024356001600160401b038111610214576103e79036906004016124f4565b906103f0612b60565b6001600160a01b0316801561056457805f52600a60205260405f20541561055557815115610546575f52600a60205260405f206002810182516001600160401b0381116105325761044182546121dc565b601f81116104ed575b506020601f821160011461048c57819293945f92610481575b50508160011b915f199060031b1c19161790555b6007429101555f80f35b015190508480610463565b601f19821690835f52805f20915f5b8181106104d5575095836001959697106104bd575b505050811b019055610477565b01515f1960f88460031b161c191690558480806104b0565b9192602060018192868b01518155019401920161049b565b825f5260205f20601f830160051c81019160208410610528575b601f0160051c01905b81811061051d575061044a565b5f8155600101610510565b9091508190610507565b634e487b7160e01b5f52604160045260245ffd5b636cc61e7360e11b5f5260045ffd5b6366a21ffb60e01b5f5260045ffd5b63e6c4247b60e01b5f5260045ffd5b34610214576060366003190112610214576004356001600160401b038111610214576105a3903690600401612560565b6024356001600160401b03811161021457366023820112156102145780600401356105cd81612549565b916105db6040519384612281565b8183526024602084019260051b820101903682116102145760248101925b8284106106955785856044356001600160401b038111610214576106219036906004016125ce565b9161062a612b60565b8051825103610686578051835103610686575f5b81518110156106845760019061067d6001600160a01b0361065f83866126a2565b511661066b83876126a2565b5161067684896126a2565b51916126f4565b500161063e565b005b63b4fa3fb360e01b5f5260045ffd5b83356001600160401b038111610214576020916106b98392602436918701016124f4565b8152019301926105f9565b34610214575f366003190112610214576106dc612b60565b5f5f600d54905b81811061083e575061070d6106f783612549565b926107056040519485612281565b808452612549565b602083019190601f19013683375f5f5b828110610771578385604051918291602083019060208452518091526040830191905f5b81811061074f575050500390f35b82516001600160a01b0316845285945060209384019390920191600101610741565b60018060a01b0381165f52600b60205260405f2060405161079181612214565b600460018060a01b0383541692838352600181015460208401526002810154604084015260038101546060840152015460ff811615918215608082015260c060ff8360081c161592831560a084015260018060a01b039060101c169101528215159182610836575b508161082e575b5061080f575b5060010161071d565b826108279161082160019495896126a2565b52612694565b9190610806565b905087610800565b9150886107f9565b60018060a01b0381165f52600b60205260405f206040519061085f82612214565b600460018060a01b038254169182845260018101546020850152600281015460408501526003810154606085015201549060ff821615928315608082015260c060ff8460081c161593841560a084015260018060a01b039060101c16910152151591826108f8575b50816108f0575b506108dc575b6001016106e3565b916108e8600191612694565b9290506108d4565b9050846108ce565b9150856108c7565b34610214575f366003190112610214576020600e54604051908152f35b34610214576020366003190112610214576001600160a01b0361093e6121b0565b165f52600c602052602060405f2054604051908152f35b34610214576020366003190112610214577f6d34b3f6f48575724889e5dc1271a918c090c0ccd4fb6c361d25585debef14066020600435610994612b60565b80600f55604051908152a1005b34610214575f366003190112610214576001546040516001600160a01b039091168152602090f35b34610214575f366003190112610214576002546040516001600160a01b039091168152602090f35b346102145760203660031901126102145760043560095481101561021457610a1a60809161262b565b50805460018201546002830154600390930154604080516001600160a01b039485168152929093166020830152918101929092526060820152f35b3461021457602036600319011261021457610a6e6121b0565b610a76612b3d565b6001600160a01b03168015610564576020817fe5693914d19c789bdee50a362998c0bc8d035a835f9871da5d51152f0582c34f926bffffffffffffffffffffffff60a01b6002541617600255604051908152a1005b34610214575f366003190112610214576020601054604051908152f35b34610214576020366003190112610214576020610b06600435612b21565b604051908152f35b34610214576020366003190112610214576001600160a01b03610b2f6121b0565b165f52600b60205260e060405f2060018060a01b03815416906001810154906002810154600460038301549201549260405194855260208501526040840152606083015260ff81161515608083015260ff8160081c16151560a083015260018060a01b039060101c1660c0820152f35b34610214575f366003190112610214575f546040516001600160a01b039091168152602090f35b3461021457604036600319011261021457610bdf6121b0565b60243590610beb612b60565b6001600160a01b031690811561056457815f52600a60205260405f2054156105555760207fce085fc5aeaa5dba9675c29e7f91ffb489df67981b590b65a48b1457a1fc308c91835f52600c82528060405f2055604051908152a2005b34610214575f366003190112610214576020600f54604051908152f35b3461021457606036600319011261021457610c7d6121b0565b6024356001600160401b03811161021457610c9c903690600401612560565b906044356001600160401b03811161021457610cbc9036906004016125ce565b916002601154146111fa576002601155610cd4612b60565b8051835103610686576001600160a01b03821691821561056457610cf790612a2c565b156111eb5782905f915f93825194610d0e86612549565b95610d1c6040519788612281565b808752610d2b601f1991612549565b013660208801375f5b8451811015610ecc57610d4781856126a2565b5115610e64576001600160a01b03610d5f82876126a2565b511615610564576001600160a01b03610d7882876126a2565b51165f52600a60205260405f209586541561055557610da0610d9a83876126a2565b516129e4565b610da981612b21565b610db381836129d7565b610dbd85896126a2565b5103610e9257610dd2610dd89260049461265b565b9461265b565b960154908115610e735781610ded82876126a2565b511115610e6457610e0a600192610e0483886126a2565b516129d7565b610e14828a6126a2565b525b610e5b828060a01b03610e2983896126a2565b5116610e3583886126a2565b5160405191610e438361222f565b82528660208301526040820152426060820152612a87565b01949094610d34565b63162908e360e11b5f5260045ffd5b60019150610e8181866126a2565b51610e8c828a6126a2565b52610e16565b60405162461bcd60e51b81526020600482015260126024820152712332b29036b4b9b1b0b631bab630ba34b7b760711b6044820152606490fd5b50928592946040516370a0823160e01b8152336004820152602081602481875afa801561104a5782915f916111b6575b5010610e6457604051636eb1769f60e11b8152336004820152306024820152602081604481875afa801561104a5782915f91611181575b5010611172575f5b82518110156110b5576001600160a01b03610f5682856126a2565b511690815f52600a602052600460405f200154611055575b610fb46020610f7d83896126a2565b516040516323b872dd60e01b81523360048201526001600160a01b0386166024820152604481019190915291829081906064820190565b03815f8a5af190811561104a575f9161101c575b501561100d57600191857f0f64b92a091214409b5000aa33869d5a13c5f95c0b777e4e90ba90aa1d0caf176020610fff858d6126a2565b51604051908152a301610f3b565b6312171d8360e31b5f5260045ffd5b61103d915060203d8111611043575b6110358183612281565b81019061267c565b89610fc8565b503d61102b565b6040513d5f823e3d90fd5b5f828152600a602090815260408083206004908101805490859055600b84529382902001805461ff0019166101001790555191825283917fdf350d510bb8ebdfe431d9cd8936d9adcde99cd7a55657d251e1fc9fc08af27d9190a2610f6e565b50908480611101575b507feb4c91d1e20aae92fc74a1fe60fe3b5060d372d51c3e08869baa24f84874dccb91604091519082519182526020820152a26001601155602060405160018152f35b6002546040516323b872dd60e01b81523360048201526001600160a01b03909116602482015260448101919091526020816064815f885af190811561104a575f91611153575b501561100d57836110be565b61116c915060203d602011611043576110358183612281565b84611147565b6365ba6fc360e01b5f5260045ffd5b9150506020813d6020116111ae575b8161119d60209383612281565b810103126102145781905188610f33565b3d9150611190565b9150506020813d6020116111e3575b816111d260209383612281565b810103126102145781905188610efc565b3d91506111c5565b633dd1b30560e01b5f5260045ffd5b6306fda65d60e31b5f5260045ffd5b34610214576060366003190112610214576112226121b0565b61122a6121c6565b6044356002601154146111fa576002601155611244612b60565b6001600160a01b038316918215610564576001600160a01b038116938415610564578215610e645761127590612a2c565b156111eb57835f52600a60205260405f209081541561055557611297836129e4565b916112a183612b21565b926112ac84826129d7565b85810361154d576040516112dc916112c38261222f565b8982528860208301526040820152426060820152612a87565b6040516370a0823160e01b81523360048201526020816024818a5afa801561104a5782915f91611518575b5010610e6457604051636eb1769f60e11b81523360048201523060248201526020816044818a5afa90811561104a575f916114e6575b501061117257600401805484918161146f575b50506040516323b872dd60e01b81523360048201526001600160a01b039092166024830152604482015260208180606481015b03815f885af190811561104a575f91611450575b501561100d57806113df575b5060207f0f64b92a091214409b5000aa33869d5a13c5f95c0b777e4e90ba90aa1d0caf1791604051908152a36001601155602060405160018152f35b6002546040516323b872dd60e01b81523360048201526001600160a01b03909116602482015260448101919091526020816064815f875af190811561104a575f91611431575b501561100d57836113a3565b61144a915060203d602011611043576110358183612281565b84611425565b611469915060203d602011611043576110358183612281565b85611397565b90809250851115610e645761138392877fdf350d510bb8ebdfe431d9cd8936d9adcde99cd7a55657d251e1fc9fc08af27d6020855f6114af83988c6129d7565b9655835f52600b82525f6004604082208281558260018201558260028201558260038201550155604051908152a292819250611350565b90506020813d602011611510575b8161150160209383612281565b8101031261021457518861133d565b3d91506114f4565b9150506020813d602011611545575b8161153460209383612281565b810103126102145781905189611307565b3d9150611527565b60405162461bcd60e51b815260206004820152601b60248201527f4d69736d6174636820696e206665652063616c63756c6174696f6e00000000006044820152606490fd5b346102145760203660031901126102145760206115b56115b06121b0565b612a2c565b6040519015158152f35b34610214576020366003190112610214576020610b066004356129e4565b34610214576020366003190112610214576115f66121b0565b5f60e06040516116058161224a565b828152826020820152606060408201528260608201528260808201528260a08201528260c0820152015260018060a01b0316801561056457805f52600a60205260405f205415610555575f52600a60205260405f206040516116668161224a565b8154815260018201549160208201928352611683600282016123c8565b604083019081526003820154916060840192835260048101546080850190815260018060a01b036005830154169060a086019182526116fe600760068501549460c0890195865201549460e0880195865260405198899860208a525160208a0152516040890152516101006060890152610120880190612466565b945160808701525160a0860152516001600160a01b031660c08501525160e0840152516101008301520390f35b34610214576060366003190112610214576117446121b0565b6024356001600160401b03811161021457602091611769610b069236906004016124f4565b604435916126f4565b34610214576040366003190112610214576004356001600160401b038111610214576117a29036906004016124f4565b6024356001600160401b038111610214576117c19036906004016124f4565b6117c9612b60565b81511561054657805115611ab5578151916001600160401b038311610532576117f36004546121dc565b601f8111611a4d575b50602092601f81116001146119e157809192935f916119d6575b508160011b915f199060031b1c1916176004555b81516001600160401b038111610532576118456005546121dc565b601f811161196e575b506020601f82116001146118dc5791816118be927f860b8b881bb84f47cb86ac440df8baf77920bf8351874ea568c06605c50cf6da945f916118d1575b508160011b915f199060031b1c1916176005555b426008556118cc60035494604051938493604085526040850190612466565b908382036020850152612466565b0390a2005b90508501518661188b565b601f1982169060055f525f516020612b745f395f51905f52915f5b8181106119565750927f860b8b881bb84f47cb86ac440df8baf77920bf8351874ea568c06605c50cf6da9492600192826118be961061193e575b5050811b0160055561189f565b8701515f1960f88460031b161c191690558680611931565b9192602060018192868a0151815501940192016118f7565b60055f52601f820160051c5f516020612b745f395f51905f520190602083106119c1575b601f0160051c5f516020612b745f395f51905f5201905b8181106119b6575061184e565b5f81556001016119a9565b5f516020612b745f395f51905f529150611992565b905082015184611816565b601f1981169360045f525f516020612b945f395f51905f52905f5b868110611a35575082600194959610611a1d575b5050811b0160045561182a565b8401515f1960f88460031b161c191690558480611a10565b909160206001819285880151815501930191016119fc565b60045f52601f840160051c5f516020612b945f395f51905f52019060208510611aa0575b601f0160051c5f516020612b945f395f51905f5201905b818110611a9557506117fc565b5f8155600101611a88565b5f516020612b945f395f51905f529150611a71565b633e61080d60e01b5f5260045ffd5b3461021457602036600319011261021457611add6121b0565b6009545f916001600160a01b0316825b828110611bce5750611afe83612549565b92611b0c6040519485612281565b808452611b1b601f1991612549565b015f5b818110611b9f5750505f905f5b838110611b4057604051806101f2878261248a565b81611b4a8261262b565b50546001600160a01b031614611b63575b600101611b2b565b91611b97600191611b7c611b768661262b565b506126b6565b611b8682896126a2565b52611b9181886126a2565b50612694565b929050611b5b565b602090604051611bae8161222f565b5f81525f838201525f60408201525f606082015282828801015201611b1e565b81611bd88261262b565b50546001600160a01b031614611bf1575b600101611aed565b92611bfd600191612694565b939050611be9565b34610214575f36600319011261021457600354611c206122a2565b90611c29612346565b60018060a01b036006541690600754611c6960085492611c5b604051978897885260c0602089015260c0880190612466565b908682036040880152612466565b926060850152608084015260a08301520390f35b3461021457604036600319011261021457600435611c996121c6565b335f52600a60205260405f20541561055557611cb481612a2c565b15611e70578115610e6457335f52600c60205260405f20548211610e6457335f52600b60205260405f2060405190611ceb82612214565b600460018060a01b038254169182845260018101546020850152600281015460408501526003810154606085015201549160ff83161515608082015260c060ff8460081c161593841560a084015260018060a01b039060101c1691015215159081611e68575b50611e595760405190611d6382612214565b3380835260208084018581524260408087019182525f606088018181526080890182815260a08a018381526001600160a01b03998a1660c08c01908152988452600b90975292909120975188546001600160a01b0319169716969096178755915160018701555160028601559251600385015591516004939093018054925191516001600160b01b031990931660ff941515949094169390931790151560081b61ff00161760109190911b62010000600160b01b0316179055600e54611e2890612694565b600e556040519081527f19a703b7248cc8f4116eef5d65eb2a9b4a83bd8d37c962f33d021f019278075b60203392a2005b6341abc80160e01b5f5260045ffd5b905083611d51565b63c1ab6dc160e01b5f5260045ffd5b34610214575f366003190112610214576020600d54604051908152f35b3461021457602036600319011261021457611eb56121b0565b6002601154146111fa576002601155611ecc612b60565b6001600160a01b03168015610564575f818152600b6020526040902080546001600160a01b0316908115611e5957600481019182549060ff82166120d6575f52600a60205260405f2054156105555760019060ff191617825542600382015560018101918254845f52600a602052611f4c600460405f200191825461265b565b9055546040516370a0823160e01b815233600482015260109190911c6001600160a01b031692602082602481875afa91821561104a575f926120a2575b5054809110610e6457604051636eb1769f60e11b8152336004820152306024820152602081604481875afa801561104a5782915f9161206d575b50106111725790546040516323b872dd60e01b81523360048201526001600160a01b039091166024820152604481019190915290602090829060649082905f905af190811561104a575f9161204e575b501561100d576040516020917f5a1d60dbcb373a8c141fa80faf8e10467f6bcdfedfa593edc0feb21be4aa111f5f80a2600160115560018152f35b612067915060203d602011611043576110358183612281565b82612013565b9150506020813d60201161209a575b8161208960209383612281565b810103126102145781905186611fc3565b3d915061207c565b9091506020813d6020116120ce575b816120be60209383612281565b8101031261021457519085611f89565b3d91506120b1565b63080fc0bd60e11b5f5260045ffd5b34610214576040366003190112610214576120fe6121b0565b6024359061210a612b60565b6001600160a01b0316801561056457805f52600a60205260405f205415610555578115610e64575f52600a60205260405f209060038201556007429101555f80f35b3461021457602036600319011261021457600435612168612b3d565b605081116121a1576020817f21ea14061974d1886e13e854a8a738e5177a587170a7f767a2b182a3f8b8dcdf92601055604051908152a1005b6358d620b360e01b5f5260045ffd5b600435906001600160a01b038216820361021457565b602435906001600160a01b038216820361021457565b90600182811c9216801561220a575b60208310146121f657565b634e487b7160e01b5f52602260045260245ffd5b91607f16916121eb565b60e081019081106001600160401b0382111761053257604052565b608081019081106001600160401b0382111761053257604052565b61010081019081106001600160401b0382111761053257604052565b60c081019081106001600160401b0382111761053257604052565b90601f801991011681019081106001600160401b0382111761053257604052565b604051905f82600454916122b5836121dc565b808352926001811690811561232757506001146122db575b6122d992500383612281565b565b5060045f90815290915f516020612b945f395f51905f525b81831061230b5750509060206122d9928201016122cd565b60209193508060019154838589010152019101909184926122f3565b602092506122d994915060ff191682840152151560051b8201016122cd565b604051905f8260055491612359836121dc565b8083529260018116908115612327575060011461237c576122d992500383612281565b5060055f90815290915f516020612b745f395f51905f525b8183106123ac5750509060206122d9928201016122cd565b6020919350806001915483858901015201910190918492612394565b9060405191825f8254926123db846121dc565b80845293600181169081156124445750600114612400575b506122d992500383612281565b90505f9291925260205f20905f915b8183106124285750509060206122d9928201015f6123f3565b602091935080600191548385890101520191019091849261240f565b9050602092506122d994915060ff191682840152151560051b8201015f6123f3565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60206040818301928281528451809452019201905f5b8181106124ad5750505090565b825180516001600160a01b039081168652602082810151909116818701526040808301519087015260609182015191860191909152608090940193909201916001016124a0565b81601f82011215610214578035906001600160401b0382116105325760405192612528601f8401601f191660200185612281565b8284526020838301011161021457815f926020809301838601378301015290565b6001600160401b0381116105325760051b60200190565b9080601f830112156102145781359061257882612549565b926125866040519485612281565b82845260208085019360051b82010191821161021457602001915b8183106125ae5750505090565b82356001600160a01b0381168103610214578152602092830192016125a1565b9080601f830112156102145781356125e581612549565b926125f36040519485612281565b81845260208085019260051b82010192831161021457602001905b82821061261b5750505090565b813581526020918201910161260e565b6009548110156126475760095f5260205f209060021b01905f90565b634e487b7160e01b5f52603260045260245ffd5b9190820180921161266857565b634e487b7160e01b5f52601160045260245ffd5b90816020910312610214575180151581036102145790565b5f1981146126685760010190565b80518210156126475760209160051b010190565b906040516126c38161222f565b82546001600160a01b0390811682526001840154166020820152600283015460408201526003909201546060830152565b9291926126ff612b60565b815115610546576001600160a01b03811690811561056457815f52600a60205260405f20546129c85760405160208101916bffffffffffffffffffffffff199060601b1682524260348201526034815261275a605482612281565b519020916003546040519061276e8261224a565b84825260208201908152604082019683885260608301908152608083015f815260a084019086825260c085019242845260e0860194428652885f52600a60205260405f2096518755516001870155600286019a519a8b516001600160401b03811161053257601f9c6127e083546121dc565b9d8e11612982575b8b9c9d505f9b9a9b50602090601f83116001146128c95792827f407385dc1873eabb5f992b55d2de317c1f69aac3f03d91e49a6ea160636109089b9996936128b89b999693600799965f926128be575b50508160011b915f199060031b1c19161790555b516003870155516004860155516005850180546001600160a01b0319166001600160a01b039290921691909117905551600684015551910155600d5461289190612694565b600d55600f54855f52600c60205260405f2055604051918291602083526020830190612466565b0390a390565b015190505f80612838565b601f9b9a9998979695949392919b19821690835f528c5f20915f5b81811061294e5750926007989694927f407385dc1873eabb5f992b55d2de317c1f69aac3f03d91e49a6ea160636109089d9e600193836128b89f9e9d9b999710612936575b505050811b01905561284c565b01515f1960f88460031b161c191690555f8080612929565b939597999b9d9496989a9c5090916020600181928786015181550195019301908f9c9a98969492919d9b999795939d6128e4565b825f5260205f20601f830160051c81019e602084106129be575b601f0160051c019d8e5b81106129b257506127e8565b5f81556001018e6129a6565b909e508e9061299c565b63d8abd7e760e01b5f5260045ffd5b9190820391821161266857565b6127108102908082046127101490151715612668576010549081612710039161271083116126685761271014612a18570490565b634e487b7160e01b5f52601260045260245ffd5b6001546040516375151b6360e01b81526001600160a01b0392831660048201529160209183916024918391165afa90811561104a575f91612a6b575090565b612a84915060203d602011611043576110358183612281565b90565b6009546801000000000000000081101561053257600181016009556009548110156126475760095f5260021b7f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0190805182546001600160a01b03199081166001600160a01b0392831617845560208301516001850180549092169216919091179055604081015160028301556060015160039190910155565b6010549081810291818304149015171561266857612710900490565b6001546001600160a01b03163303612b5157565b631a27eac360e11b5f5260045ffd5b5f546001600160a01b03163303612b515756fe036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db08a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19ba264697066735822122008232c4962bd90900d091417d61b64f45394bf3531eaf11a4b2716ab5b9cd10164736f6c634300081c00330000000000000000000000005d2d8a217f9523b40ea569d07b8840d005234e08000000000000000000000000e1db6db5f799feeb969088ac1ec7072b295a55a0000000000000000000000000ccb723eda6201fb9655e0301aa1c2d73dd5aa51f00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000f4d79204f7267616e697a6174696f6e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029546869732069732061206465736372697074696f6e206f66206d79206f7267616e697a6174696f6e2e0000000000000000000000000000000000000000000000" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x4e2f72cbf2431e15c6213c6cae3d7ceb316fb1bd49b7b5006f8b5a82b3d1ad36", + "transactionType": "CALL", + "contractName": "OrganizationFactory", + "contractAddress": "0xe1db6db5f799feeb969088ac1ec7072b295a55a0", + "function": "addToken(string,address)", + "arguments": [ + "MyToken", + "0x3677F7827760016702d034837bD2FB8E6Ba618DD" + ], + "transaction": { + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": "0xe1db6db5f799feeb969088ac1ec7072b295a55a0", + "gas": "0x1852a", + "value": "0x0", + "input": "0xb0b22c2c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000003677f7827760016702d034837bd2fb8e6ba618dd00000000000000000000000000000000000000000000000000000000000000074d79546f6b656e00000000000000000000000000000000000000000000000000", + "nonce": "0x7", + "chainId": "0x106a" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7ebd9d35d3a155fd657025710810a017bf6c85bc2e069833caccc09f97a77e6e", + "transactionType": "CALL", + "contractName": "OrganizationContract", + "contractAddress": "0xe90d6a043c34ab9c03f541e99c21dbe48d14e92b", + "function": "createRecipient(address,string,uint256)", + "arguments": [ + "0x8A912047689651E7119CD64453D78dBD42030fB5", + "John Doe", + "1000" + ], + "transaction": { + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": "0xe90d6a043c34ab9c03f541e99c21dbe48d14e92b", + "gas": "0x4efa0", + "value": "0x0", + "input": "0x5c62c9670000000000000000000000008a912047689651e7119cd64453d78dbd42030fb5000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000000084a6f686e20446f65000000000000000000000000000000000000000000000000", + "nonce": "0x8", + "chainId": "0x106a" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x3943cb", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x0467d572bd05ccfcc8fcf4a0acab311644210dea505c48982f0c2641d73dbf9b", + "transactionIndex": "0x1", + "blockHash": "0x7699538d055afdcdf261bf3368fa96832a011c5ac71924ff660644b36c837da1", + "blockNumber": "0x1329780", + "gasUsed": "0x388f7f", + "effectiveGasPrice": "0xfe", + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": null, + "contractAddress": "0xe1db6db5f799feeb969088ac1ec7072b295a55a0", + "l1BaseFeeScalar": "0x2af8", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0x109618", + "l1Fee": "0x15d783ab91ea", + "l1GasPrice": "0x36507b418", + "l1GasUsed": "0x248ed" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x64703f", + "logs": [ + { + "address": "0xe1db6db5f799feeb969088ac1ec7072b295a55a0", + "topics": [ + "0xf4b9821f6bc54fe8ce60a727c514af1fe81e7be7f09ba6b32b23e7da12fb92ae", + "0x000000000000000000000000e90d6a043c34ab9c03f541e99c21dbe48d14e92b", + "0x0000000000000000000000005d2d8a217f9523b40ea569d07b8840d005234e08" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000680a31e0000000000000000000000000000000000000000000000000000000000000000f4d79204f7267616e697a6174696f6e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029546869732069732061206465736372697074696f6e206f66206d79206f7267616e697a6174696f6e2e0000000000000000000000000000000000000000000000", + "blockHash": "0x7699538d055afdcdf261bf3368fa96832a011c5ac71924ff660644b36c837da1", + "blockNumber": "0x1329780", + "transactionHash": "0x64785c2d51a24f5ebd91684279ad1aaa959fbffdb0ece29ad2d4cb4178668846", + "transactionIndex": "0x2", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000010000000000000000000000000000000000000000000000000000000000400000000000000004000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000012000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000001000000000200000000000000000000000000000000000800000000000000000", + "type": "0x2", + "transactionHash": "0x64785c2d51a24f5ebd91684279ad1aaa959fbffdb0ece29ad2d4cb4178668846", + "transactionIndex": "0x2", + "blockHash": "0x7699538d055afdcdf261bf3368fa96832a011c5ac71924ff660644b36c837da1", + "blockNumber": "0x1329780", + "gasUsed": "0x2b2c74", + "effectiveGasPrice": "0xfe", + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": "0xe1db6db5f799feeb969088ac1ec7072b295a55a0", + "contractAddress": null, + "l1BaseFeeScalar": "0x2af8", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0x109618", + "l1Fee": "0x490327486f", + "l1GasPrice": "0x36507b418", + "l1GasUsed": "0x7a3" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x6589ff", + "logs": [ + { + "address": "0xe1db6db5f799feeb969088ac1ec7072b295a55a0", + "topics": [ + "0x7afee0f1b802cc0f66c67890e26b4566251859cf2cd8de79b86aed7251d9756a", + "0x0000000000000000000000003677f7827760016702d034837bd2fb8e6ba618dd" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000074d79546f6b656e00000000000000000000000000000000000000000000000000", + "blockHash": "0x7699538d055afdcdf261bf3368fa96832a011c5ac71924ff660644b36c837da1", + "blockNumber": "0x1329780", + "transactionHash": "0x4e2f72cbf2431e15c6213c6cae3d7ceb316fb1bd49b7b5006f8b5a82b3d1ad36", + "transactionIndex": "0x3", + "logIndex": "0x1", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000010000000000000010000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000001000000000000000000000100000000000000000020000000000000000000000000000000000000000000000000000040000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x4e2f72cbf2431e15c6213c6cae3d7ceb316fb1bd49b7b5006f8b5a82b3d1ad36", + "transactionIndex": "0x3", + "blockHash": "0x7699538d055afdcdf261bf3368fa96832a011c5ac71924ff660644b36c837da1", + "blockNumber": "0x1329780", + "gasUsed": "0x119c0", + "effectiveGasPrice": "0xfe", + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": "0xe1db6db5f799feeb969088ac1ec7072b295a55a0", + "contractAddress": null, + "l1BaseFeeScalar": "0x2af8", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0x109618", + "l1Fee": "0x3bbeedfbac", + "l1GasPrice": "0x36507b418", + "l1GasUsed": "0x640" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x691cd7", + "logs": [ + { + "address": "0xe90d6a043c34ab9c03f541e99c21dbe48d14e92b", + "topics": [ + "0x407385dc1873eabb5f992b55d2de317c1f69aac3f03d91e49a6ea16063610908", + "0xa714c5d46f7c69a01a9517a8fbfb263dc3deb3cc6ac05b0821ddfe56ef38e84a", + "0x0000000000000000000000008a912047689651e7119cd64453d78dbd42030fb5" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000084a6f686e20446f65000000000000000000000000000000000000000000000000", + "blockHash": "0x7699538d055afdcdf261bf3368fa96832a011c5ac71924ff660644b36c837da1", + "blockNumber": "0x1329780", + "transactionHash": "0x7ebd9d35d3a155fd657025710810a017bf6c85bc2e069833caccc09f97a77e6e", + "transactionIndex": "0x4", + "logIndex": "0x2", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000800000000000000000000200000000000000100000000000800000000000000000000000800000000000000000000000000000000000008000002000000400000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x7ebd9d35d3a155fd657025710810a017bf6c85bc2e069833caccc09f97a77e6e", + "transactionIndex": "0x4", + "blockHash": "0x7699538d055afdcdf261bf3368fa96832a011c5ac71924ff660644b36c837da1", + "blockNumber": "0x1329780", + "gasUsed": "0x392d8", + "effectiveGasPrice": "0xfe", + "from": "0x5d2d8a217f9523b40ea569d07b8840d005234e08", + "to": "0xe90d6a043c34ab9c03f541e99c21dbe48d14e92b", + "contractAddress": null, + "l1BaseFeeScalar": "0x2af8", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0x109618", + "l1Fee": "0x40842352cd", + "l1GasPrice": "0x36507b418", + "l1GasUsed": "0x6bf" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1745498593, + "chain": 4202, + "commit": "cd6db15" +} \ No newline at end of file diff --git a/foundry.toml b/foundry.toml index ded6f72..566fd5e 100644 --- a/foundry.toml +++ b/foundry.toml @@ -3,5 +3,8 @@ src = "src" out = "out" libs = ["lib"] solc = "0.8.28" +via_ir = true +optimizer = true +optimizer_runs = 200 # See more config options https://github.com/foundry-rs/foundry/blob/master/crates/config/README.md#all-options diff --git a/remappings.txt b/remappings.txt new file mode 100644 index 0000000..83fbb69 --- /dev/null +++ b/remappings.txt @@ -0,0 +1 @@ +forge-std/=lib/forge-std/src/ \ No newline at end of file diff --git a/script/deploy.s.sol b/script/deploy.s.sol new file mode 100644 index 0000000..508734d --- /dev/null +++ b/script/deploy.s.sol @@ -0,0 +1,53 @@ +//SPDX-License-Identifier: MIT +pragma solidity 0.8.28; + +import "forge-std/Script.sol"; +import "forge-std/Vm.sol"; +import "forge-std/console.sol"; +import {OrganizationFactory} from "../src/contracts/OrganizationFactory.sol"; +import {OrganizationContract} from "../src/contracts/OrganizationContract.sol"; + + +contract OrganizationScript is Script { + address public organizationAddress; + address public recipientAddress; + address public tokenAddress; + + function setUp() public { + // organizationAddress = vm.envAddress("ORGANIZATION_ADDRESS"); + recipientAddress = vm.envAddress("RECIPIENT_ADDRESS"); + tokenAddress = vm.envAddress("TOKEN_ADDRESS"); + } + + function run() public { + vm.startBroadcast(); + // Deploy the OrganizationFactory contract + OrganizationFactory organizationFactory = new OrganizationFactory( + vm.envAddress("FEE_COLLECTOR_ADDRESS") + ); + console.log("OrganizationFactory deployed at:", address(organizationFactory)); + + // Create a new organization + organizationAddress = organizationFactory.createOrganization( + "My Organization", + "This is a description of my organization." + ); + console.log("Organization created at:", organizationAddress); + + // Add a token to the organization + organizationFactory.addToken("MyToken", tokenAddress); + console.log("Token added:", tokenAddress); + + // Create a new recipient + OrganizationContract(organizationAddress).createRecipient( + recipientAddress, + "John Doe", + 1000 + ); + console.log("Recipient created at:", recipientAddress); + + + + vm.stopBroadcast(); + } +} \ No newline at end of file diff --git a/script_command.txt b/script_command.txt new file mode 100644 index 0000000..b6277c6 --- /dev/null +++ b/script_command.txt @@ -0,0 +1,3 @@ +forge script script/deploy.s.sol:OrganizationScript --chain-id 4202 --rpc-url https://rpc.sepolia-api.lisk.com \ + --etherscan-api-key 123 --verifier-url https://sepolia-blockscout.lisk.com/api \ + --broadcast --verify --verifier blockscout --account PRIVATE_KEY -vvvv diff --git a/verify_command.txt b/verify_command.txt new file mode 100644 index 0000000..2be6d05 --- /dev/null +++ b/verify_command.txt @@ -0,0 +1 @@ +forge script script/deploy.s.sol:OrganizationScript --rpc-url https://rpc.sepolia-api.lisk.com --verify --verifier blockscout --verifier-url https://sepolia-blockscout.lisk.com/api --etherscan-api-key 123 \ --account PRIVATE_KEY --resume From 01849e263d332658a7e94e942450935efbf68ed5 Mon Sep 17 00:00:00 2001 From: leojay-net Date: Thu, 24 Apr 2025 14:00:53 +0100 Subject: [PATCH 2/2] refactor: Clean up code formatting and improve readability in deployment and token contracts --- script/deploy.s.sol | 23 +-- src/contracts/OrganizationContract.sol | 257 ++++++++++++------------- src/contracts/Tokens.sol | 10 +- test/OrganizationContract.t.sol | 2 +- test/Token.t.sol | 1 + 5 files changed, 138 insertions(+), 155 deletions(-) diff --git a/script/deploy.s.sol b/script/deploy.s.sol index 508734d..50d7c34 100644 --- a/script/deploy.s.sol +++ b/script/deploy.s.sol @@ -7,7 +7,6 @@ import "forge-std/console.sol"; import {OrganizationFactory} from "../src/contracts/OrganizationFactory.sol"; import {OrganizationContract} from "../src/contracts/OrganizationContract.sol"; - contract OrganizationScript is Script { address public organizationAddress; address public recipientAddress; @@ -22,16 +21,12 @@ contract OrganizationScript is Script { function run() public { vm.startBroadcast(); // Deploy the OrganizationFactory contract - OrganizationFactory organizationFactory = new OrganizationFactory( - vm.envAddress("FEE_COLLECTOR_ADDRESS") - ); + OrganizationFactory organizationFactory = new OrganizationFactory(vm.envAddress("FEE_COLLECTOR_ADDRESS")); console.log("OrganizationFactory deployed at:", address(organizationFactory)); - + // Create a new organization - organizationAddress = organizationFactory.createOrganization( - "My Organization", - "This is a description of my organization." - ); + organizationAddress = + organizationFactory.createOrganization("My Organization", "This is a description of my organization."); console.log("Organization created at:", organizationAddress); // Add a token to the organization @@ -39,15 +34,9 @@ contract OrganizationScript is Script { console.log("Token added:", tokenAddress); // Create a new recipient - OrganizationContract(organizationAddress).createRecipient( - recipientAddress, - "John Doe", - 1000 - ); + OrganizationContract(organizationAddress).createRecipient(recipientAddress, "John Doe", 1000); console.log("Recipient created at:", recipientAddress); - - vm.stopBroadcast(); } -} \ No newline at end of file +} diff --git a/src/contracts/OrganizationContract.sol b/src/contracts/OrganizationContract.sol index 27fc0a9..ef80210 100644 --- a/src/contracts/OrganizationContract.sol +++ b/src/contracts/OrganizationContract.sol @@ -59,12 +59,10 @@ contract OrganizationContract { _; - // By storing the original value once again, a refund is triggered + // By storing the original value once again, a refund is triggered _status = _NOT_ENTERED; } - - constructor( address _owner, address _factory, @@ -182,9 +180,10 @@ contract OrganizationContract { * @param _netAmount Net amount to calculate gross amount for * @return Gross amount */ + function calculateGrossAmount(uint256 _netAmount) public view returns (uint256) { - return (_netAmount * 10000) / (10000 - transactionFee); -} + return (_netAmount * 10000) / (10000 - transactionFee); + } /** * @dev Disburses tokens to a single recipient @@ -194,62 +193,61 @@ contract OrganizationContract { * @return True if successful */ function disburseToken(address _tokenAddress, address _recipient, uint256 _netAmount) - public - nonReentrant - returns (bool) -{ - _onlyOwner(); - if (_tokenAddress == address(0)) revert CustomErrors.InvalidAddress(); - if (_recipient == address(0)) revert CustomErrors.InvalidAddress(); - if (_netAmount == 0) revert CustomErrors.InvalidAmount(); - if (!isTokenSupported(_tokenAddress)) revert CustomErrors.TokenNotSupported(); - Structs.Recipient storage recipient = recipients[_recipient]; - if (recipient.recipientId == 0) revert CustomErrors.RecipientNotFound(); - - uint256 grossAmount = calculateGrossAmount(_netAmount); - uint256 fee = calculateFee(grossAmount); - uint256 amountAfterFee = grossAmount - fee; - - require(amountAfterFee == _netAmount, "Mismatch in fee calculation"); // optional safety - - // Log payment - Structs.Payment memory payment = Structs.Payment({ - recipient: _recipient, - tokenAddress: _tokenAddress, - amount: amountAfterFee, - timestamp: block.timestamp - }); - paymentHistory.push(payment); - - IERC20 token = IERC20(_tokenAddress); - if (token.balanceOf(msg.sender) < grossAmount) revert CustomErrors.InvalidAmount(); - if (token.allowance(msg.sender, address(this)) < grossAmount) revert CustomErrors.InvalidAllowance(); - - uint256 transferAmount = _netAmount; - - if (recipient.advanceCollected > 0) { - if (_netAmount <= recipient.advanceCollected) { - revert CustomErrors.InvalidAmount(); - } - transferAmount = _netAmount - recipient.advanceCollected; - uint256 repaidAmount = recipient.advanceCollected; - recipient.advanceCollected = 0; - delete advanceRequests[_recipient]; - emit AdvanceRepaid(_recipient, repaidAmount); - } + public + nonReentrant + returns (bool) + { + _onlyOwner(); + if (_tokenAddress == address(0)) revert CustomErrors.InvalidAddress(); + if (_recipient == address(0)) revert CustomErrors.InvalidAddress(); + if (_netAmount == 0) revert CustomErrors.InvalidAmount(); + if (!isTokenSupported(_tokenAddress)) revert CustomErrors.TokenNotSupported(); + Structs.Recipient storage recipient = recipients[_recipient]; + if (recipient.recipientId == 0) revert CustomErrors.RecipientNotFound(); + + uint256 grossAmount = calculateGrossAmount(_netAmount); + uint256 fee = calculateFee(grossAmount); + uint256 amountAfterFee = grossAmount - fee; - bool success = token.transferFrom(msg.sender, _recipient, transferAmount); - if (!success) revert CustomErrors.TransferFailed(); + require(amountAfterFee == _netAmount, "Mismatch in fee calculation"); // optional safety - if (fee > 0) { - success = token.transferFrom(msg.sender, feeCollector, fee); + // Log payment + Structs.Payment memory payment = Structs.Payment({ + recipient: _recipient, + tokenAddress: _tokenAddress, + amount: amountAfterFee, + timestamp: block.timestamp + }); + paymentHistory.push(payment); + + IERC20 token = IERC20(_tokenAddress); + if (token.balanceOf(msg.sender) < grossAmount) revert CustomErrors.InvalidAmount(); + if (token.allowance(msg.sender, address(this)) < grossAmount) revert CustomErrors.InvalidAllowance(); + + uint256 transferAmount = _netAmount; + + if (recipient.advanceCollected > 0) { + if (_netAmount <= recipient.advanceCollected) { + revert CustomErrors.InvalidAmount(); + } + transferAmount = _netAmount - recipient.advanceCollected; + uint256 repaidAmount = recipient.advanceCollected; + recipient.advanceCollected = 0; + delete advanceRequests[_recipient]; + emit AdvanceRepaid(_recipient, repaidAmount); + } + + bool success = token.transferFrom(msg.sender, _recipient, transferAmount); if (!success) revert CustomErrors.TransferFailed(); - } - emit TokenDisbursed(_tokenAddress, _recipient, _netAmount); - return true; -} + if (fee > 0) { + success = token.transferFrom(msg.sender, feeCollector, fee); + if (!success) revert CustomErrors.TransferFailed(); + } + emit TokenDisbursed(_tokenAddress, _recipient, _netAmount); + return true; + } /** * @dev Disburses tokens to multiple recipients @@ -258,90 +256,85 @@ contract OrganizationContract { * @param _netAmounts Array of amounts to disburse * @return True if successful */ - function batchDisburseToken( - address _tokenAddress, - address[] memory _recipients, - uint256[] memory _netAmounts -) - public - nonReentrant - returns (bool) -{ - _onlyOwner(); - if (_recipients.length != _netAmounts.length) revert CustomErrors.InvalidInput(); - if (_tokenAddress == address(0)) revert CustomErrors.InvalidAddress(); - if (!isTokenSupported(_tokenAddress)) revert CustomErrors.TokenNotSupported(); - - uint256 totalGrossAmount = 0; - uint256 totalFees = 0; - uint256[] memory actualTransferAmounts = new uint256[](_recipients.length); - - for (uint256 i = 0; i < _recipients.length; i++) { - if (_netAmounts[i] == 0) revert CustomErrors.InvalidAmount(); - if (_recipients[i] == address(0)) revert CustomErrors.InvalidAddress(); - Structs.Recipient storage recipient = recipients[_recipients[i]]; - if (recipient.recipientId == 0) revert CustomErrors.RecipientNotFound(); - - uint256 grossAmount = calculateGrossAmount(_netAmounts[i]); - uint256 fee = calculateFee(grossAmount); - uint256 amountAfterFee = grossAmount - fee; - - require(amountAfterFee == _netAmounts[i], "Fee miscalculation"); + function batchDisburseToken(address _tokenAddress, address[] memory _recipients, uint256[] memory _netAmounts) + public + nonReentrant + returns (bool) + { + _onlyOwner(); + if (_recipients.length != _netAmounts.length) revert CustomErrors.InvalidInput(); + if (_tokenAddress == address(0)) revert CustomErrors.InvalidAddress(); + if (!isTokenSupported(_tokenAddress)) revert CustomErrors.TokenNotSupported(); + + uint256 totalGrossAmount = 0; + uint256 totalFees = 0; + uint256[] memory actualTransferAmounts = new uint256[](_recipients.length); + + for (uint256 i = 0; i < _recipients.length; i++) { + if (_netAmounts[i] == 0) revert CustomErrors.InvalidAmount(); + if (_recipients[i] == address(0)) revert CustomErrors.InvalidAddress(); + Structs.Recipient storage recipient = recipients[_recipients[i]]; + if (recipient.recipientId == 0) revert CustomErrors.RecipientNotFound(); + + uint256 grossAmount = calculateGrossAmount(_netAmounts[i]); + uint256 fee = calculateFee(grossAmount); + uint256 amountAfterFee = grossAmount - fee; + + require(amountAfterFee == _netAmounts[i], "Fee miscalculation"); + + totalGrossAmount += grossAmount; + totalFees += fee; + + // Check if this payment would cover any advance + if (recipient.advanceCollected > 0) { + if (_netAmounts[i] <= recipient.advanceCollected) { + revert CustomErrors.InvalidAmount(); + } + actualTransferAmounts[i] = _netAmounts[i] - recipient.advanceCollected; + } else { + actualTransferAmounts[i] = _netAmounts[i]; + } - totalGrossAmount += grossAmount; - totalFees += fee; + Structs.Payment memory payment = Structs.Payment({ + recipient: _recipients[i], + tokenAddress: _tokenAddress, + amount: _netAmounts[i], + timestamp: block.timestamp + }); - // Check if this payment would cover any advance - if (recipient.advanceCollected > 0) { - if (_netAmounts[i] <= recipient.advanceCollected) { - revert CustomErrors.InvalidAmount(); - } - actualTransferAmounts[i] = _netAmounts[i] - recipient.advanceCollected; - } else { - actualTransferAmounts[i] = _netAmounts[i]; + paymentHistory.push(payment); } - Structs.Payment memory payment = Structs.Payment({ - recipient: _recipients[i], - tokenAddress: _tokenAddress, - amount: _netAmounts[i], - timestamp: block.timestamp - }); + IERC20 token = IERC20(_tokenAddress); + if (token.balanceOf(msg.sender) < totalGrossAmount) revert CustomErrors.InvalidAmount(); + if (token.allowance(msg.sender, address(this)) < totalGrossAmount) revert CustomErrors.InvalidAllowance(); - paymentHistory.push(payment); - } + for (uint256 i = 0; i < _recipients.length; i++) { + address recipient = _recipients[i]; - IERC20 token = IERC20(_tokenAddress); - if (token.balanceOf(msg.sender) < totalGrossAmount) revert CustomErrors.InvalidAmount(); - if (token.allowance(msg.sender, address(this)) < totalGrossAmount) revert CustomErrors.InvalidAllowance(); + // Repay advance if needed + if (recipients[recipient].advanceCollected > 0) { + uint256 repaidAmount = recipients[recipient].advanceCollected; + recipients[recipient].advanceCollected = 0; + advanceRequests[recipient].repaid = true; + emit AdvanceRepaid(recipient, repaidAmount); + } - for (uint256 i = 0; i < _recipients.length; i++) { - address recipient = _recipients[i]; + bool success = token.transferFrom(msg.sender, recipient, actualTransferAmounts[i]); + if (!success) revert CustomErrors.TransferFailed(); - // Repay advance if needed - if (recipients[recipient].advanceCollected > 0) { - uint256 repaidAmount = recipients[recipient].advanceCollected; - recipients[recipient].advanceCollected = 0; - advanceRequests[recipient].repaid = true; - emit AdvanceRepaid(recipient, repaidAmount); + emit TokenDisbursed(_tokenAddress, recipient, _netAmounts[i]); } - bool success = token.transferFrom(msg.sender, recipient, actualTransferAmounts[i]); - if (!success) revert CustomErrors.TransferFailed(); - - emit TokenDisbursed(_tokenAddress, recipient, _netAmounts[i]); - } + if (totalFees > 0) { + bool success = token.transferFrom(msg.sender, feeCollector, totalFees); + if (!success) revert CustomErrors.TransferFailed(); + } - if (totalFees > 0) { - bool success = token.transferFrom(msg.sender, feeCollector, totalFees); - if (!success) revert CustomErrors.TransferFailed(); + emit BatchDisbursement(_tokenAddress, _recipients.length, totalGrossAmount); + return true; } - emit BatchDisbursement(_tokenAddress, _recipients.length, totalGrossAmount); - return true; -} - - /** * @dev Returns information about a recipient * @param _address Recipient address @@ -482,7 +475,7 @@ contract OrganizationContract { request.approved = true; request.approvalDate = block.timestamp; - // Update the recipient's advance collected + // Update the recipient's advance collected recipients[_recipientAddress].advanceCollected += request.amount; IERC20 token = IERC20(request.tokenAddress); @@ -537,7 +530,7 @@ contract OrganizationContract { function getPendingAdvanceRequests() public view returns (address[] memory) { _onlyOwner(); uint256 count = 0; - + // Count pending requests for (uint256 i = 0; i < recipientCount; i++) { address recipient = address(uint160(i)); // This is just for iteration and needs to be replaced @@ -546,10 +539,10 @@ contract OrganizationContract { count++; } } - + address[] memory pendingRequests = new address[](count); uint256 index = 0; - + // Fill pending requests for (uint256 i = 0; i < recipientCount; i++) { address recipient = address(uint160(i)); // This is just for iteration and needs to be replaced @@ -559,7 +552,7 @@ contract OrganizationContract { index++; } } - + return pendingRequests; } diff --git a/src/contracts/Tokens.sol b/src/contracts/Tokens.sol index 258b3be..4242c36 100644 --- a/src/contracts/Tokens.sol +++ b/src/contracts/Tokens.sol @@ -16,7 +16,7 @@ contract TokenRegistry { event TokenRemoved(address indexed tokenAddress); function _onlyOwner() internal view { - if(msg.sender != owner) revert CustomErrors.UnauthorizedAccess(); + if (msg.sender != owner) revert CustomErrors.UnauthorizedAccess(); } constructor() { @@ -46,7 +46,7 @@ contract TokenRegistry { * @return Token name */ function getTokenName(address _tokenAddress) public view returns (string memory) { - if(_tokenAddress == address(0)) revert CustomErrors.InvalidTokenAddress(); + if (_tokenAddress == address(0)) revert CustomErrors.InvalidTokenAddress(); return supportedTokens[_tokenAddress]; } @@ -56,8 +56,8 @@ contract TokenRegistry { */ function removeToken(address _tokenAddress) public virtual { _onlyOwner(); - if(_tokenAddress == address(0)) revert CustomErrors.InvalidTokenAddress(); - if(bytes(supportedTokens[_tokenAddress]).length == 0) revert CustomErrors.InvalidToken(); + if (_tokenAddress == address(0)) revert CustomErrors.InvalidTokenAddress(); + if (bytes(supportedTokens[_tokenAddress]).length == 0) revert CustomErrors.InvalidToken(); delete supportedTokens[_tokenAddress]; supportedTokensCount--; @@ -71,7 +71,7 @@ contract TokenRegistry { * @return True if the token is supported, false otherwise */ function isTokenSupported(address _tokenAddress) public view returns (bool) { - if(_tokenAddress == address(0)) revert CustomErrors.InvalidTokenAddress(); + if (_tokenAddress == address(0)) revert CustomErrors.InvalidTokenAddress(); return bytes(supportedTokens[_tokenAddress]).length > 0; } diff --git a/test/OrganizationContract.t.sol b/test/OrganizationContract.t.sol index 88ab20f..16cd5d2 100644 --- a/test/OrganizationContract.t.sol +++ b/test/OrganizationContract.t.sol @@ -270,7 +270,7 @@ contract OrganizationContractTest is Test { ); assertEq( token.balanceOf(feeCollector) - initialFeeCollectorBalance, - totalFees -1 , + totalFees - 1, "Fee collector should receive correct fee" ); } diff --git a/test/Token.t.sol b/test/Token.t.sol index 63ebdb1..b96f4e3 100644 --- a/test/Token.t.sol +++ b/test/Token.t.sol @@ -4,6 +4,7 @@ pragma solidity ^0.8.28; import "forge-std/Test.sol"; import "../src/contracts/Tokens.sol"; import "../src/libraries/errors.sol"; + contract TokenTest is Test { TokenRegistry public tokenRegistry; address public owner;