diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 612a01f..9fdecc5 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -1,10 +1,6 @@ name: coverage on: - push: - branches: ["main"] - paths-ignore: - - README.md pull_request: branches: ["*"] paths-ignore: @@ -43,7 +39,7 @@ jobs: # Filter out "script" contracts from coverage report run: | forge coverage --report lcov - lcov --remove ./lcov.info -o ./${{github.sha}}.lcov.info 'script' + lcov --remove ./lcov.info --rc derive_function_end_line=0 -o ./${{github.sha}}.lcov.info 'script' id: coverage-base - name: Archive base branch code coverage results @@ -63,7 +59,7 @@ jobs: # Filter out "script" contracts from coverage report run: | forge coverage --report lcov - lcov --remove ./lcov.info -o ./${{github.event.pull_request.base.sha}}.lcov.info 'script' + lcov --remove ./lcov.info --rc derive_function_end_line=0 -o ./${{github.event.pull_request.base.sha}}.lcov.info 'script' id: coverage-head - name: Archive head branch code coverage results @@ -79,9 +75,9 @@ jobs: name: ${{github.sha}}.lcov.info - name: Code Coverage Report - uses: romeovs/lcov-reporter-action@87a815f34ec27a5826abba44ce09bbc688da58fd - # The reason for using a hash rather than a version/tag, is the project - # failed in publishing this release: https://github.com/romeovs/lcov-reporter-action/issues/47 + # use trillion-network/lcov-reporter-action + # to get fix for https://github.com/romeovs/lcov-reporter-action/pull/61 + uses: trillion-network/lcov-reporter-action@v0.4.0 with: lcov-file: ./${{github.event.pull_request.base.sha}}.lcov.info lcov-base: ./${{github.sha}}.lcov.info diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index fe688a5..3ff0a10 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -24,9 +24,9 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: - node-version: "20" - cache: "yarn" + node-version: 22 + cache: "npm" - name: Install dependencies - run: yarn install --immutable + run: npm ci - name: Run solhint - run: yarn lint + run: npm run lint diff --git a/.github/workflows/publish_npm.yml b/.github/workflows/publish_npm.yml index d371541..1de3160 100644 --- a/.github/workflows/publish_npm.yml +++ b/.github/workflows/publish_npm.yml @@ -27,16 +27,16 @@ jobs: - name: Setup Node uses: actions/setup-node@v4 with: - node-version: "20" - cache: "yarn" + node-version: 22 + cache: "npm" registry-url: "https://registry.npmjs.org" scope: "@trillion-x" # Publish ABIs to NPM - name: Publish to NPM run: | - yarn config set version-git-tag false - yarn version --new-version $(git describe --tags) - yarn publish + npm config set version-git-tag false + npm version --new-version $(git describe --tags) + npm publish env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/.github/workflows/slither.yml b/.github/workflows/slither.yml index 0dac2e8..435b8d0 100644 --- a/.github/workflows/slither.yml +++ b/.github/workflows/slither.yml @@ -26,8 +26,8 @@ jobs: submodules: recursive - uses: actions/setup-node@v4 with: - node-version: "20" - cache: "yarn" + node-version: 22 + cache: "npm" - name: Run Slither uses: crytic/slither-action@v0.4.0 with: diff --git a/.gitignore b/.gitignore index 905ea8f..bb2aa32 100644 --- a/.gitignore +++ b/.gitignore @@ -15,6 +15,7 @@ docs/ # Dotenv file .env +.env.* # Node modules node_modules/ @@ -24,6 +25,7 @@ node_modules/ !.yarn/releases !.yarn/plugins .pnp.* +yarn.lock # DS Store files **/.DS_Store diff --git a/.tool-versions b/.tool-versions index f91d2a8..f8ab203 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1 +1 @@ -nodejs 20.5.0 \ No newline at end of file +nodejs 22.11.0 diff --git a/.yarnrc.yml b/.yarnrc.yml deleted file mode 100644 index 91b1101..0000000 --- a/.yarnrc.yml +++ /dev/null @@ -1,5 +0,0 @@ -compressionLevel: mixed - -enableGlobalCache: false - -nodeLinker: node-modules diff --git a/README.md b/README.md index 9c78ae9..63190f9 100644 --- a/README.md +++ b/README.md @@ -29,10 +29,10 @@ Install missing dependencies that are shown in the install output (ex: `brew ins foundryup ``` -Install the Solidity linter (`solhint`) we use, as a yarn dependency: +Install the Solidity linter (`solhint`) we use, as a npm dependency: ```shell -yarn install +npm install ``` Install the Slither static analysis tool (used to find vulnerabilities): @@ -82,12 +82,12 @@ You can generate a quick coverage summary by running: forge coverage ``` -However, you likely may want to filter out "`*.s.sol`" script contracts and render a nice web UI to examine code coverage, which you can do using the `yarn` script I've written: +However, you likely may want to filter out "`*.s.sol`" script contracts and render a nice web UI to examine code coverage, which you can do using the `npm` script I've written: > NOTE: This requires having `lcov` installed locally through homebrew. ```shell -yarn coverage +npm run coverage ``` ### Code Formatting @@ -103,7 +103,7 @@ forge fmt Solhint is a linter for our smart contracts. Run it like so: ```shell -yarn lint +npm run lint ``` ### Static Analysis @@ -128,7 +128,7 @@ forge snapshot Any smart contracts that need to be used as dependencies (for example, OpenZeppelin) - should be installed using `forge install`. This will install them as a `git submodule`. -DO NOT use `yarn` to install smart contracts. The _only thing_ we use `yarn` for is to manage our Solidity linter `solhint`. +DO NOT use `npm` to install smart contracts. The _only thing_ we use `npm` for is to manage our Solidity linter `solhint`. ```shell forge install diff --git a/broadcast/UpgradeFiatToken.s.sol/1/run-1730281244.json b/broadcast/UpgradeFiatToken.s.sol/1/run-1730281244.json new file mode 100644 index 0000000..8379c83 --- /dev/null +++ b/broadcast/UpgradeFiatToken.s.sol/1/run-1730281244.json @@ -0,0 +1,110 @@ +{ + "transactions": [ + { + "hash": "0x37ab6b416f44f8b4006f26239bf99aad1e1fd10c21b04dc17531957626277ed3", + "transactionType": "CREATE", + "contractName": "FiatTokenV2", + "contractAddress": "0x4352A007ccfB28f565B9b9E6Ae1E1d5A4BcB8617", + "function": null, + "arguments": null, + "transaction": { + "from": "0x10eEA4B3d154a30CE70c771D21dFDa85d77a0A16", + "gas": "0x323e76", + "value": "0x0", + "input": "0x60a0604052306080523480156200001557600080fd5b506200002062000030565b6200002a62000030565b620000e4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000815760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000e15780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051612c636200010e600039600081816115740152818161159d01526117020152612c636000f3fe6080604052600436106102885760003560e01c8063713725441161015a578063d547741f116100c1578063f515e6f21161007a578063f515e6f214610813578063f72c0d8b14610835578063f9f494ed14610869578063f9f92be414610889578063fe575a87146108a9578063fe621505146108e257600080fd5b8063d547741f14610750578063dd62ed3e14610770578063e489d51014610790578063e63ab1e9146107b1578063ed87db61146107d3578063ef090e4c146107f357600080fd5b806395d89b411161011357806395d89b4114610693578063a217fddf146106a8578063a9059cbb146106bd578063ad3cb1cc146106dd578063d505accf1461070e578063d53913931461072e57600080fd5b806371372544146105c257806379cc6790146105f65780637ecebe00146106165780638456cb591461063657806384b0196e1461064b57806391d148541461067357600080fd5b8063313ce567116101fe57806342966c68116101b757806342966c681461050b5780634f1ef2861461052b57806352d1902d1461053e57806354fd4d50146105535780635c975abb1461057d57806370a08231146105a257600080fd5b8063313ce56714610451578063355274ea1461046d5780633644e515146104a157806336568abe146104b65780633f4ba83a146104d657806340c10f19146104eb57600080fd5b80631a895266116102505780631a8952661461037b57806320ff430b1461039d57806323b872dd146103bd578063248a9ca3146103dd578063282c51f3146103fd5780632f2ff15d1461043157600080fd5b806301ffc9a71461028d57806306fdde03146102c25780630848a136146102e4578063095ea7b31461031d57806318160ddd1461033d575b600080fd5b34801561029957600080fd5b506102ad6102a83660046124b5565b610902565b60405190151581526020015b60405180910390f35b3480156102ce57600080fd5b506102d7610939565b6040516102b9919061252f565b3480156102f057600080fd5b506102ad6102ff366004612567565b6001600160a01b031660009081526033602052604090205460ff1690565b34801561032957600080fd5b506102ad610338366004612584565b6109e2565b34801561034957600080fd5b507f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02545b6040519081526020016102b9565b34801561038757600080fd5b5061039b610396366004612567565b6109fa565b005b3480156103a957600080fd5b5061039b6103b83660046125b0565b610a1f565b3480156103c957600080fd5b506102ad6103d83660046125b0565b610a5a565b3480156103e957600080fd5b5061036d6103f83660046125f1565b610a80565b34801561040957600080fd5b5061036d7f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a84881565b34801561043d57600080fd5b5061039b61044c36600461260a565b610aa2565b34801561045d57600080fd5b50604051600681526020016102b9565b34801561047957600080fd5b507f0f070392f17d5f958cc1ac31867dabecfc5c9758b4a419a200803226d7155d005461036d565b3480156104ad57600080fd5b5061036d610abe565b3480156104c257600080fd5b5061039b6104d136600461260a565b610acd565b3480156104e257600080fd5b5061039b610b05565b3480156104f757600080fd5b5061039b610506366004612584565b610b28565b34801561051757600080fd5b5061039b6105263660046125f1565b610b4a565b61039b6105393660046126c6565b610b6b565b34801561054a57600080fd5b5061036d610b86565b34801561055f57600080fd5b506040805180820190915260018152601960f91b60208201526102d7565b34801561058957600080fd5b50600080516020612c0e8339815191525460ff166102ad565b3480156105ae57600080fd5b5061036d6105bd366004612567565b610ba3565b3480156105ce57600080fd5b5061036d7fcf6f9f892731e14b8859835f2ff35575f447fb501f46243c4eb8bac19e31a05081565b34801561060257600080fd5b5061039b610611366004612584565b610bd6565b34801561062257600080fd5b5061036d610631366004612567565b610bf8565b34801561064257600080fd5b5061039b610c03565b34801561065757600080fd5b50610660610c23565b6040516102b9979695949392919061272a565b34801561067f57600080fd5b506102ad61068e36600461260a565b610cd4565b34801561069f57600080fd5b506102d7610d0c565b3480156106b457600080fd5b5061036d600081565b3480156106c957600080fd5b506102ad6106d8366004612584565b610d4b565b3480156106e957600080fd5b506102d7604051806040016040528060058152602001640352e302e360dc1b81525081565b34801561071a57600080fd5b5061039b6107293660046127c0565b610d59565b34801561073a57600080fd5b5061036d600080516020612bae83398151915281565b34801561075c57600080fd5b5061039b61076b36600461260a565b610eb2565b34801561077c57600080fd5b5061036d61078b366004612837565b610ece565b34801561079c57600080fd5b5061036d6c0c9f2c9cd04674edea4000000081565b3480156107bd57600080fd5b5061036d600080516020612b8e83398151915281565b3480156107df57600080fd5b5061039b6107ee3660046125f1565b610f18565b3480156107ff57600080fd5b5061039b61080e366004612885565b610f4c565b34801561081f57600080fd5b5061036d600080516020612bce83398151915281565b34801561084157600080fd5b5061036d7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e381565b34801561087557600080fd5b5061039b610884366004612567565b6111ed565b34801561089557600080fd5b5061039b6108a4366004612567565b61121a565b3480156108b557600080fd5b506102ad6108c4366004612567565b6001600160a01b031660009081526020819052604090205460ff1690565b3480156108ee57600080fd5b5061039b6108fd366004612567565b61123b565b60006001600160e01b03198216637965db0b60e01b148061093357506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000600080516020612b2e8339815191525b905080600301805461095e90612957565b80601f016020809104026020016040519081016040528092919081815260200182805461098a90612957565b80156109d75780601f106109ac576101008083540402835291602001916109d7565b820191906000526020600020905b8154815290600101906020018083116109ba57829003601f168201915b505050505091505090565b6000336109f081858561126b565b5060019392505050565b600080516020612bce833981519152610a1281611278565b610a1b82611282565b5050565b7fcf6f9f892731e14b8859835f2ff35575f447fb501f46243c4eb8bac19e31a050610a4981611278565b610a548484846112cb565b50505050565b600033610a688582856112df565b610a7385858561133f565b60019150505b9392505050565b6000908152600080516020612bee833981519152602052604090206001015490565b610aab82610a80565b610ab481611278565b610a54838361139e565b6000610ac8611443565b905090565b6001600160a01b0381163314610af65760405163334bd91960e11b815260040160405180910390fd5b610b00828261144d565b505050565b600080516020612b8e833981519152610b1d81611278565b610b256114c9565b50565b600080516020612bae833981519152610b4081611278565b610b008383611529565b600080516020612bae833981519152610b6281611278565b610a1b8261155f565b610b73611569565b610b7c82611610565b610a1b828261163a565b6000610b906116f7565b50600080516020612b6e83398151915290565b600080600080516020612b2e8339815191525b6001600160a01b0390931660009081526020939093525050604090205490565b600080516020612bae833981519152610bee81611278565b610b008383611740565b600061093382611755565b600080516020612b8e833981519152610c1b81611278565b610b2561177e565b60006060808280808381600080516020612b4e8339815191528054909150158015610c5057506001810154155b610c995760405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b60448201526064015b60405180910390fd5b610ca16117c7565b610ca9611806565b60408051600080825260208201909252600f60f81b9c939b5091995046985030975095509350915050565b6000918252600080516020612bee833981519152602090815260408084206001600160a01b0393909316845291905290205460ff1690565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace048054606091600080516020612b2e8339815191529161095e90612957565b6000336109f081858561133f565b83421115610d7d5760405163313c898160e11b815260048101859052602401610c90565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610de98c6001600160a01b031660009081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610e448261181e565b90506000610e548287878761184b565b9050896001600160a01b0316816001600160a01b031614610e9b576040516325c0072360e11b81526001600160a01b0380831660048301528b166024820152604401610c90565b610ea68a8a8a61126b565b50505050505050505050565b610ebb82610a80565b610ec481611278565b610a54838361144d565b6001600160a01b0391821660009081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020908152604080832093909416825291909152205490565b7f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a848610f4281611278565b610a1b3383611879565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff16600081158015610f925750825b905060008267ffffffffffffffff166001148015610faf5750303b155b905081158015610fbd575080155b15610fdb5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561100557845460ff60401b1916600160401b1785555b60336020527f39c5029fdff21f8f787cd169c982647a58487042168a91b4846b270a958e5e578054600160ff1991821681179092557fd95f907cbe602cd396dcc9d853119fb63c762972709d47bf74b6e193748dfa3a80549091169091179055336000908152604090205460ff166110925760405163a447f38b60e01b8152336004820152602401610c90565b61109c87876118af565b6110b26c0c9f2c9cd04674edea400000006118c1565b6110ba6118d2565b6110c26118e2565b6110ca6118e2565b6110d3876118ea565b6110db6118e2565b6110e36118e2565b6110eb6118e2565b6110f660008e61139e565b5061110f600080516020612b8e8339815191528d61139e565b50611128600080516020612bae8339815191528c61139e565b506111537f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e38b61139e565b5061117e7fcf6f9f892731e14b8859835f2ff35575f447fb501f46243c4eb8bac19e31a0508a61139e565b50611197600080516020612bce8339815191528961139e565b5083156111de57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050505050505050565b60006111f881611278565b506001600160a01b03166000908152603360205260409020805460ff19169055565b600080516020612bce83398151915261123281611278565b610a1b82611915565b600061124681611278565b506001600160a01b03166000908152603360205260409020805460ff19166001179055565b610b008383836001611961565b610b258133611a49565b6001600160a01b038116600081815260208190526040808220805460ff19169055517f117e3210bb9aa7d9baff172026820255c6f6c30ba8999d1c2fd88e2848137c4e9190a250565b610b006001600160a01b0384168383611a82565b60006112eb8484610ece565b90506000198114610a54578181101561133057604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610c90565b610a5484848484036000611961565b6001600160a01b03831661136957604051634b637e8f60e11b815260006004820152602401610c90565b6001600160a01b0382166113935760405163ec442f0560e01b815260006004820152602401610c90565b610b00838383611ad4565b6000600080516020612bee8339815191526113b98484610cd4565b611439576000848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556113ef3390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610933565b6000915050610933565b6000610ac8611b6d565b6000600080516020612bee8339815191526114688484610cd4565b15611439576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610933565b6114d1611be1565b600080516020612c0e833981519152805460ff191681557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a150565b6001600160a01b0382166115535760405163ec442f0560e01b815260006004820152602401610c90565b610a1b60008383611ad4565b610b253382611879565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806115f057507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166115e4600080516020612b6e833981519152546001600160a01b031690565b6001600160a01b031614155b1561160e5760405163703e46dd60e11b815260040160405180910390fd5b565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3610a1b81611278565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611694575060408051601f3d908101601f1916820190925261169191810190612991565b60015b6116bc57604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610c90565b600080516020612b6e83398151915281146116ed57604051632a87526960e21b815260048101829052602401610c90565b610b008383611c11565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461160e5760405163703e46dd60e11b815260040160405180910390fd5b61174b8233836112df565b610a1b8282611879565b6000807f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00610bb6565b611786611c67565b600080516020612c0e833981519152805460ff191660011781557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2583361150b565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1028054606091600080516020612b4e8339815191529161095e90612957565b60606000600080516020612b4e83398151915261094d565b600061093361182b611443565b8360405161190160f01b8152600281019290925260228201526042902090565b60008060008061185d88888888611c98565b92509250925061186d8282611d67565b50909695505050505050565b6001600160a01b0382166118a357604051634b637e8f60e11b815260006004820152602401610c90565b610a1b82600083611ad4565b6118b7611e20565b610a1b8282611e69565b6118c9611e20565b610b2581611eba565b6118da611e20565b61160e611f0b565b61160e611e20565b6118f2611e20565b610b2581604051806040016040528060018152602001603160f81b815250611f2c565b6001600160a01b038116600081815260208190526040808220805460ff19166001179055517fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b8559190a250565b600080516020612b2e8339815191526001600160a01b03851661199a5760405163e602df0560e01b815260006004820152602401610c90565b6001600160a01b0384166119c457604051634a1406b160e11b815260006004820152602401610c90565b6001600160a01b03808616600090815260018301602090815260408083209388168352929052208390558115611a4257836001600160a01b0316856001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92585604051611a3991815260200190565b60405180910390a35b5050505050565b611a538282610cd4565b610a1b5760405163e2517d3f60e01b81526001600160a01b038216600482015260248101839052604401610c90565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610b00908490611f8d565b6001600160a01b038316600090815260208190526040902054839060ff1615611b1b5760405163d820520d60e01b81526001600160a01b0382166004820152602401610c90565b6001600160a01b038316600090815260208190526040902054839060ff1615611b625760405163d820520d60e01b81526001600160a01b0382166004820152602401610c90565b611a42858585611ff0565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f611b98612003565b611ba061206d565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b600080516020612c0e8339815191525460ff1661160e57604051638dfc202b60e01b815260040160405180910390fd5b611c1a826120b1565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611c5f57610b008282612116565b610a1b61218c565b600080516020612c0e8339815191525460ff161561160e5760405163d93c066560e01b815260040160405180910390fd5b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115611cd35750600091506003905082611d5d565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015611d27573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611d5357506000925060019150829050611d5d565b9250600091508190505b9450945094915050565b6000826003811115611d7b57611d7b6129aa565b03611d84575050565b6001826003811115611d9857611d986129aa565b03611db65760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115611dca57611dca6129aa565b03611deb5760405163fce698f760e01b815260048101829052602401610c90565b6003826003811115611dff57611dff6129aa565b03610a1b576040516335e2f38360e21b815260048101829052602401610c90565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff1661160e57604051631afcd79f60e31b815260040160405180910390fd5b611e71611e20565b600080516020612b2e8339815191527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03611eab8482612a0e565b5060048101610a548382612a0e565b611ec2611e20565b7f0f070392f17d5f958cc1ac31867dabecfc5c9758b4a419a200803226d7155d006000829003611f085760405163392e1e2760e01b815260006004820152602401610c90565b55565b611f13611e20565b600080516020612c0e833981519152805460ff19169055565b611f34611e20565b600080516020612b4e8339815191527fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d102611f6e8482612a0e565b5060038101611f7d8382612a0e565b5060008082556001909101555050565b6000611fa26001600160a01b038416836121ab565b90508051600014158015611fc7575080806020019051810190611fc59190612ace565b155b15610b0057604051635274afe760e01b81526001600160a01b0384166004820152602401610c90565b611ff8611c67565b610b008383836121b9565b6000600080516020612b4e8339815191528161201d6117c7565b80519091501561203557805160209091012092915050565b81548015612044579392505050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470935050505090565b6000600080516020612b4e83398151915281612087611806565b80519091501561209f57805160209091012092915050565b60018201548015612044579392505050565b806001600160a01b03163b6000036120e757604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610c90565b600080516020612b6e83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516121339190612af0565b600060405180830381855af49150503d806000811461216e576040519150601f19603f3d011682016040523d82523d6000602084013e612173565b606091505b5091509150612183858383612255565b95945050505050565b341561160e5760405163b398979f60e01b815260040160405180910390fd5b6060610a79838360006122b1565b6121c483838361234e565b6001600160a01b038316610b005760006121fc7f0f070392f17d5f958cc1ac31867dabecfc5c9758b4a419a200803226d7155d005490565b905060006122287f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace025490565b905081811115611a425760405163279e7e1560e21b81526004810182905260248101839052604401610c90565b60608261226a576122658261248c565b610a79565b815115801561228157506001600160a01b0384163b155b156122aa57604051639996b31560e01b81526001600160a01b0385166004820152602401610c90565b5080610a79565b6060814710156122d65760405163cd78605960e01b8152306004820152602401610c90565b600080856001600160a01b031684866040516122f29190612af0565b60006040518083038185875af1925050503d806000811461232f576040519150601f19603f3d011682016040523d82523d6000602084013e612334565b606091505b5091509150612344868383612255565b9695505050505050565b600080516020612b2e8339815191526001600160a01b03841661238a578181600201600082825461237f9190612b0c565b909155506123fc9050565b6001600160a01b038416600090815260208290526040902054828110156123dd5760405163391434e360e21b81526001600160a01b03861660048201526024810182905260448101849052606401610c90565b6001600160a01b03851660009081526020839052604090209083900390555b6001600160a01b03831661241a576002810180548390039055612439565b6001600160a01b03831660009081526020829052604090208054830190555b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161247e91815260200190565b60405180910390a350505050565b80511561249c5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6000602082840312156124c757600080fd5b81356001600160e01b031981168114610a7957600080fd5b60005b838110156124fa5781810151838201526020016124e2565b50506000910152565b6000815180845261251b8160208601602086016124df565b601f01601f19169290920160200192915050565b602081526000610a796020830184612503565b6001600160a01b0381168114610b2557600080fd5b803561256281612542565b919050565b60006020828403121561257957600080fd5b8135610a7981612542565b6000806040838503121561259757600080fd5b82356125a281612542565b946020939093013593505050565b6000806000606084860312156125c557600080fd5b83356125d081612542565b925060208401356125e081612542565b929592945050506040919091013590565b60006020828403121561260357600080fd5b5035919050565b6000806040838503121561261d57600080fd5b82359150602083013561262f81612542565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff8084111561266b5761266b61263a565b604051601f8501601f19908116603f011681019082821181831017156126935761269361263a565b816040528093508581528686860111156126ac57600080fd5b858560208301376000602087830101525050509392505050565b600080604083850312156126d957600080fd5b82356126e481612542565b9150602083013567ffffffffffffffff81111561270057600080fd5b8301601f8101851361271157600080fd5b61272085823560208401612650565b9150509250929050565b60ff60f81b881681526000602060e08184015261274a60e084018a612503565b838103604085015261275c818a612503565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b818110156127ae57835183529284019291840191600101612792565b50909c9b505050505050505050505050565b600080600080600080600060e0888a0312156127db57600080fd5b87356127e681612542565b965060208801356127f681612542565b95506040880135945060608801359350608088013560ff8116811461281a57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561284a57600080fd5b823561285581612542565b9150602083013561262f81612542565b600082601f83011261287657600080fd5b610a7983833560208501612650565b600080600080600080600080610100898b0312156128a257600080fd5b88356128ad81612542565b975060208901356128bd81612542565b965060408901356128cd81612542565b955060608901356128dd81612542565b945060808901356128ed81612542565b93506128fb60a08a01612557565b925060c089013567ffffffffffffffff8082111561291857600080fd5b6129248c838d01612865565b935060e08b013591508082111561293a57600080fd5b506129478b828c01612865565b9150509295985092959890939650565b600181811c9082168061296b57607f821691505b60208210810361298b57634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156129a357600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b601f821115610b0057600081815260208120601f850160051c810160208610156129e75750805b601f850160051c820191505b81811015612a06578281556001016129f3565b505050505050565b815167ffffffffffffffff811115612a2857612a2861263a565b612a3c81612a368454612957565b846129c0565b602080601f831160018114612a715760008415612a595750858301515b600019600386901b1c1916600185901b178555612a06565b600085815260208120601f198616915b82811015612aa057888601518255948401946001909101908401612a81565b5085821015612abe5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215612ae057600080fd5b81518015158114610a7957600080fd5b60008251612b028184602087016124df565b9190910192915050565b8082018082111561093357634e487b7160e01b600052601160045260246000fdfe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a698db8a220cd0f09badce9f22d0ba7e93edb3d404448cc3560d391ab096ad16e902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800cd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300a26469706673582212203cd05c7ec9504651efa921324e920e9b92d11815bbd55cdb23bd42e3f962f8f464736f6c63430008140033", + "nonce": "0x1c", + "chainId": "0x1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6832a5f0aa42fac9fdf5d5145cfc5269cb9597dd69e7d2725b4711cea9246dc5", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xb0a16535eB77c6d7F75E9Fc201D468A40AbdA7a1", + "function": null, + "arguments": null, + "transaction": { + "from": "0x10eEA4B3d154a30CE70c771D21dFDa85d77a0A16", + "to": "0xb0a16535eB77c6d7F75E9Fc201D468A40AbdA7a1", + "gas": "0xccc2", + "value": "0x0", + "input": "0x4f1ef2860000000000000000000000004352a007ccfb28f565b9b9e6ae1e1d5a4bcb861700000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x1d", + "chainId": "0x1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x12688af", + "logs": [ + { + "address": "0x4352A007ccfB28f565B9b9E6Ae1E1d5A4BcB8617", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x070df47637991e738a3e5293e82418882436239fa62389ed67d3f88601ef9bb0", + "blockNumber": "0x1419e78", + "transactionHash": "0x37ab6b416f44f8b4006f26239bf99aad1e1fd10c21b04dc17531957626277ed3", + "transactionIndex": "0xaa", + "logIndex": "0x1b9", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000040000000000000008000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x37ab6b416f44f8b4006f26239bf99aad1e1fd10c21b04dc17531957626277ed3", + "transactionIndex": "0xaa", + "blockHash": "0x070df47637991e738a3e5293e82418882436239fa62389ed67d3f88601ef9bb0", + "blockNumber": "0x1419e78", + "gasUsed": "0x26a90c", + "effectiveGasPrice": "0x2afadf15f", + "from": "0x10eEA4B3d154a30CE70c771D21dFDa85d77a0A16", + "to": null, + "contractAddress": "0x4352A007ccfB28f565B9b9E6Ae1E1d5A4BcB8617" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x10cc132", + "logs": [ + { + "address": "0xb0a16535eB77c6d7F75E9Fc201D468A40AbdA7a1", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x0000000000000000000000004352a007ccfb28f565b9b9e6ae1e1d5a4bcb8617" + ], + "data": "0x", + "blockHash": "0x9be77cf98d239055945183159f6776feb798f2ba9e2ed34a4de3a8665513f700", + "blockNumber": "0x1419e79", + "transactionHash": "0x6832a5f0aa42fac9fdf5d5145cfc5269cb9597dd69e7d2725b4711cea9246dc5", + "transactionIndex": "0x7e", + "logIndex": "0x19f", + "removed": false + } + ], + "logsBloom": "0x00000000000080000000000000000000400000000000000000000000000000001000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200020000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000", + "type": "0x2", + "transactionHash": "0x6832a5f0aa42fac9fdf5d5145cfc5269cb9597dd69e7d2725b4711cea9246dc5", + "transactionIndex": "0x7e", + "blockHash": "0x9be77cf98d239055945183159f6776feb798f2ba9e2ed34a4de3a8665513f700", + "blockNumber": "0x1419e79", + "gasUsed": "0x943f", + "effectiveGasPrice": "0x301d3a1ea", + "from": "0x10eEA4B3d154a30CE70c771D21dFDa85d77a0A16", + "to": "0xb0a16535eB77c6d7F75E9Fc201D468A40AbdA7a1", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1730281244, + "chain": 1, + "commit": "b1c0537" +} \ No newline at end of file diff --git a/broadcast/UpgradeFiatToken.s.sol/1/run-latest.json b/broadcast/UpgradeFiatToken.s.sol/1/run-latest.json new file mode 100644 index 0000000..8379c83 --- /dev/null +++ b/broadcast/UpgradeFiatToken.s.sol/1/run-latest.json @@ -0,0 +1,110 @@ +{ + "transactions": [ + { + "hash": "0x37ab6b416f44f8b4006f26239bf99aad1e1fd10c21b04dc17531957626277ed3", + "transactionType": "CREATE", + "contractName": "FiatTokenV2", + "contractAddress": "0x4352A007ccfB28f565B9b9E6Ae1E1d5A4BcB8617", + "function": null, + "arguments": null, + "transaction": { + "from": "0x10eEA4B3d154a30CE70c771D21dFDa85d77a0A16", + "gas": "0x323e76", + "value": "0x0", + "input": "0x60a0604052306080523480156200001557600080fd5b506200002062000030565b6200002a62000030565b620000e4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000815760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000e15780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051612c636200010e600039600081816115740152818161159d01526117020152612c636000f3fe6080604052600436106102885760003560e01c8063713725441161015a578063d547741f116100c1578063f515e6f21161007a578063f515e6f214610813578063f72c0d8b14610835578063f9f494ed14610869578063f9f92be414610889578063fe575a87146108a9578063fe621505146108e257600080fd5b8063d547741f14610750578063dd62ed3e14610770578063e489d51014610790578063e63ab1e9146107b1578063ed87db61146107d3578063ef090e4c146107f357600080fd5b806395d89b411161011357806395d89b4114610693578063a217fddf146106a8578063a9059cbb146106bd578063ad3cb1cc146106dd578063d505accf1461070e578063d53913931461072e57600080fd5b806371372544146105c257806379cc6790146105f65780637ecebe00146106165780638456cb591461063657806384b0196e1461064b57806391d148541461067357600080fd5b8063313ce567116101fe57806342966c68116101b757806342966c681461050b5780634f1ef2861461052b57806352d1902d1461053e57806354fd4d50146105535780635c975abb1461057d57806370a08231146105a257600080fd5b8063313ce56714610451578063355274ea1461046d5780633644e515146104a157806336568abe146104b65780633f4ba83a146104d657806340c10f19146104eb57600080fd5b80631a895266116102505780631a8952661461037b57806320ff430b1461039d57806323b872dd146103bd578063248a9ca3146103dd578063282c51f3146103fd5780632f2ff15d1461043157600080fd5b806301ffc9a71461028d57806306fdde03146102c25780630848a136146102e4578063095ea7b31461031d57806318160ddd1461033d575b600080fd5b34801561029957600080fd5b506102ad6102a83660046124b5565b610902565b60405190151581526020015b60405180910390f35b3480156102ce57600080fd5b506102d7610939565b6040516102b9919061252f565b3480156102f057600080fd5b506102ad6102ff366004612567565b6001600160a01b031660009081526033602052604090205460ff1690565b34801561032957600080fd5b506102ad610338366004612584565b6109e2565b34801561034957600080fd5b507f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02545b6040519081526020016102b9565b34801561038757600080fd5b5061039b610396366004612567565b6109fa565b005b3480156103a957600080fd5b5061039b6103b83660046125b0565b610a1f565b3480156103c957600080fd5b506102ad6103d83660046125b0565b610a5a565b3480156103e957600080fd5b5061036d6103f83660046125f1565b610a80565b34801561040957600080fd5b5061036d7f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a84881565b34801561043d57600080fd5b5061039b61044c36600461260a565b610aa2565b34801561045d57600080fd5b50604051600681526020016102b9565b34801561047957600080fd5b507f0f070392f17d5f958cc1ac31867dabecfc5c9758b4a419a200803226d7155d005461036d565b3480156104ad57600080fd5b5061036d610abe565b3480156104c257600080fd5b5061039b6104d136600461260a565b610acd565b3480156104e257600080fd5b5061039b610b05565b3480156104f757600080fd5b5061039b610506366004612584565b610b28565b34801561051757600080fd5b5061039b6105263660046125f1565b610b4a565b61039b6105393660046126c6565b610b6b565b34801561054a57600080fd5b5061036d610b86565b34801561055f57600080fd5b506040805180820190915260018152601960f91b60208201526102d7565b34801561058957600080fd5b50600080516020612c0e8339815191525460ff166102ad565b3480156105ae57600080fd5b5061036d6105bd366004612567565b610ba3565b3480156105ce57600080fd5b5061036d7fcf6f9f892731e14b8859835f2ff35575f447fb501f46243c4eb8bac19e31a05081565b34801561060257600080fd5b5061039b610611366004612584565b610bd6565b34801561062257600080fd5b5061036d610631366004612567565b610bf8565b34801561064257600080fd5b5061039b610c03565b34801561065757600080fd5b50610660610c23565b6040516102b9979695949392919061272a565b34801561067f57600080fd5b506102ad61068e36600461260a565b610cd4565b34801561069f57600080fd5b506102d7610d0c565b3480156106b457600080fd5b5061036d600081565b3480156106c957600080fd5b506102ad6106d8366004612584565b610d4b565b3480156106e957600080fd5b506102d7604051806040016040528060058152602001640352e302e360dc1b81525081565b34801561071a57600080fd5b5061039b6107293660046127c0565b610d59565b34801561073a57600080fd5b5061036d600080516020612bae83398151915281565b34801561075c57600080fd5b5061039b61076b36600461260a565b610eb2565b34801561077c57600080fd5b5061036d61078b366004612837565b610ece565b34801561079c57600080fd5b5061036d6c0c9f2c9cd04674edea4000000081565b3480156107bd57600080fd5b5061036d600080516020612b8e83398151915281565b3480156107df57600080fd5b5061039b6107ee3660046125f1565b610f18565b3480156107ff57600080fd5b5061039b61080e366004612885565b610f4c565b34801561081f57600080fd5b5061036d600080516020612bce83398151915281565b34801561084157600080fd5b5061036d7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e381565b34801561087557600080fd5b5061039b610884366004612567565b6111ed565b34801561089557600080fd5b5061039b6108a4366004612567565b61121a565b3480156108b557600080fd5b506102ad6108c4366004612567565b6001600160a01b031660009081526020819052604090205460ff1690565b3480156108ee57600080fd5b5061039b6108fd366004612567565b61123b565b60006001600160e01b03198216637965db0b60e01b148061093357506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000600080516020612b2e8339815191525b905080600301805461095e90612957565b80601f016020809104026020016040519081016040528092919081815260200182805461098a90612957565b80156109d75780601f106109ac576101008083540402835291602001916109d7565b820191906000526020600020905b8154815290600101906020018083116109ba57829003601f168201915b505050505091505090565b6000336109f081858561126b565b5060019392505050565b600080516020612bce833981519152610a1281611278565b610a1b82611282565b5050565b7fcf6f9f892731e14b8859835f2ff35575f447fb501f46243c4eb8bac19e31a050610a4981611278565b610a548484846112cb565b50505050565b600033610a688582856112df565b610a7385858561133f565b60019150505b9392505050565b6000908152600080516020612bee833981519152602052604090206001015490565b610aab82610a80565b610ab481611278565b610a54838361139e565b6000610ac8611443565b905090565b6001600160a01b0381163314610af65760405163334bd91960e11b815260040160405180910390fd5b610b00828261144d565b505050565b600080516020612b8e833981519152610b1d81611278565b610b256114c9565b50565b600080516020612bae833981519152610b4081611278565b610b008383611529565b600080516020612bae833981519152610b6281611278565b610a1b8261155f565b610b73611569565b610b7c82611610565b610a1b828261163a565b6000610b906116f7565b50600080516020612b6e83398151915290565b600080600080516020612b2e8339815191525b6001600160a01b0390931660009081526020939093525050604090205490565b600080516020612bae833981519152610bee81611278565b610b008383611740565b600061093382611755565b600080516020612b8e833981519152610c1b81611278565b610b2561177e565b60006060808280808381600080516020612b4e8339815191528054909150158015610c5057506001810154155b610c995760405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b60448201526064015b60405180910390fd5b610ca16117c7565b610ca9611806565b60408051600080825260208201909252600f60f81b9c939b5091995046985030975095509350915050565b6000918252600080516020612bee833981519152602090815260408084206001600160a01b0393909316845291905290205460ff1690565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace048054606091600080516020612b2e8339815191529161095e90612957565b6000336109f081858561133f565b83421115610d7d5760405163313c898160e11b815260048101859052602401610c90565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610de98c6001600160a01b031660009081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610e448261181e565b90506000610e548287878761184b565b9050896001600160a01b0316816001600160a01b031614610e9b576040516325c0072360e11b81526001600160a01b0380831660048301528b166024820152604401610c90565b610ea68a8a8a61126b565b50505050505050505050565b610ebb82610a80565b610ec481611278565b610a54838361144d565b6001600160a01b0391821660009081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020908152604080832093909416825291909152205490565b7f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a848610f4281611278565b610a1b3383611879565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff16600081158015610f925750825b905060008267ffffffffffffffff166001148015610faf5750303b155b905081158015610fbd575080155b15610fdb5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561100557845460ff60401b1916600160401b1785555b60336020527f39c5029fdff21f8f787cd169c982647a58487042168a91b4846b270a958e5e578054600160ff1991821681179092557fd95f907cbe602cd396dcc9d853119fb63c762972709d47bf74b6e193748dfa3a80549091169091179055336000908152604090205460ff166110925760405163a447f38b60e01b8152336004820152602401610c90565b61109c87876118af565b6110b26c0c9f2c9cd04674edea400000006118c1565b6110ba6118d2565b6110c26118e2565b6110ca6118e2565b6110d3876118ea565b6110db6118e2565b6110e36118e2565b6110eb6118e2565b6110f660008e61139e565b5061110f600080516020612b8e8339815191528d61139e565b50611128600080516020612bae8339815191528c61139e565b506111537f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e38b61139e565b5061117e7fcf6f9f892731e14b8859835f2ff35575f447fb501f46243c4eb8bac19e31a0508a61139e565b50611197600080516020612bce8339815191528961139e565b5083156111de57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050505050505050565b60006111f881611278565b506001600160a01b03166000908152603360205260409020805460ff19169055565b600080516020612bce83398151915261123281611278565b610a1b82611915565b600061124681611278565b506001600160a01b03166000908152603360205260409020805460ff19166001179055565b610b008383836001611961565b610b258133611a49565b6001600160a01b038116600081815260208190526040808220805460ff19169055517f117e3210bb9aa7d9baff172026820255c6f6c30ba8999d1c2fd88e2848137c4e9190a250565b610b006001600160a01b0384168383611a82565b60006112eb8484610ece565b90506000198114610a54578181101561133057604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610c90565b610a5484848484036000611961565b6001600160a01b03831661136957604051634b637e8f60e11b815260006004820152602401610c90565b6001600160a01b0382166113935760405163ec442f0560e01b815260006004820152602401610c90565b610b00838383611ad4565b6000600080516020612bee8339815191526113b98484610cd4565b611439576000848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556113ef3390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610933565b6000915050610933565b6000610ac8611b6d565b6000600080516020612bee8339815191526114688484610cd4565b15611439576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610933565b6114d1611be1565b600080516020612c0e833981519152805460ff191681557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a150565b6001600160a01b0382166115535760405163ec442f0560e01b815260006004820152602401610c90565b610a1b60008383611ad4565b610b253382611879565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806115f057507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166115e4600080516020612b6e833981519152546001600160a01b031690565b6001600160a01b031614155b1561160e5760405163703e46dd60e11b815260040160405180910390fd5b565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3610a1b81611278565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611694575060408051601f3d908101601f1916820190925261169191810190612991565b60015b6116bc57604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610c90565b600080516020612b6e83398151915281146116ed57604051632a87526960e21b815260048101829052602401610c90565b610b008383611c11565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461160e5760405163703e46dd60e11b815260040160405180910390fd5b61174b8233836112df565b610a1b8282611879565b6000807f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00610bb6565b611786611c67565b600080516020612c0e833981519152805460ff191660011781557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2583361150b565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1028054606091600080516020612b4e8339815191529161095e90612957565b60606000600080516020612b4e83398151915261094d565b600061093361182b611443565b8360405161190160f01b8152600281019290925260228201526042902090565b60008060008061185d88888888611c98565b92509250925061186d8282611d67565b50909695505050505050565b6001600160a01b0382166118a357604051634b637e8f60e11b815260006004820152602401610c90565b610a1b82600083611ad4565b6118b7611e20565b610a1b8282611e69565b6118c9611e20565b610b2581611eba565b6118da611e20565b61160e611f0b565b61160e611e20565b6118f2611e20565b610b2581604051806040016040528060018152602001603160f81b815250611f2c565b6001600160a01b038116600081815260208190526040808220805460ff19166001179055517fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b8559190a250565b600080516020612b2e8339815191526001600160a01b03851661199a5760405163e602df0560e01b815260006004820152602401610c90565b6001600160a01b0384166119c457604051634a1406b160e11b815260006004820152602401610c90565b6001600160a01b03808616600090815260018301602090815260408083209388168352929052208390558115611a4257836001600160a01b0316856001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92585604051611a3991815260200190565b60405180910390a35b5050505050565b611a538282610cd4565b610a1b5760405163e2517d3f60e01b81526001600160a01b038216600482015260248101839052604401610c90565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610b00908490611f8d565b6001600160a01b038316600090815260208190526040902054839060ff1615611b1b5760405163d820520d60e01b81526001600160a01b0382166004820152602401610c90565b6001600160a01b038316600090815260208190526040902054839060ff1615611b625760405163d820520d60e01b81526001600160a01b0382166004820152602401610c90565b611a42858585611ff0565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f611b98612003565b611ba061206d565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b600080516020612c0e8339815191525460ff1661160e57604051638dfc202b60e01b815260040160405180910390fd5b611c1a826120b1565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611c5f57610b008282612116565b610a1b61218c565b600080516020612c0e8339815191525460ff161561160e5760405163d93c066560e01b815260040160405180910390fd5b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115611cd35750600091506003905082611d5d565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015611d27573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611d5357506000925060019150829050611d5d565b9250600091508190505b9450945094915050565b6000826003811115611d7b57611d7b6129aa565b03611d84575050565b6001826003811115611d9857611d986129aa565b03611db65760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115611dca57611dca6129aa565b03611deb5760405163fce698f760e01b815260048101829052602401610c90565b6003826003811115611dff57611dff6129aa565b03610a1b576040516335e2f38360e21b815260048101829052602401610c90565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff1661160e57604051631afcd79f60e31b815260040160405180910390fd5b611e71611e20565b600080516020612b2e8339815191527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03611eab8482612a0e565b5060048101610a548382612a0e565b611ec2611e20565b7f0f070392f17d5f958cc1ac31867dabecfc5c9758b4a419a200803226d7155d006000829003611f085760405163392e1e2760e01b815260006004820152602401610c90565b55565b611f13611e20565b600080516020612c0e833981519152805460ff19169055565b611f34611e20565b600080516020612b4e8339815191527fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d102611f6e8482612a0e565b5060038101611f7d8382612a0e565b5060008082556001909101555050565b6000611fa26001600160a01b038416836121ab565b90508051600014158015611fc7575080806020019051810190611fc59190612ace565b155b15610b0057604051635274afe760e01b81526001600160a01b0384166004820152602401610c90565b611ff8611c67565b610b008383836121b9565b6000600080516020612b4e8339815191528161201d6117c7565b80519091501561203557805160209091012092915050565b81548015612044579392505050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470935050505090565b6000600080516020612b4e83398151915281612087611806565b80519091501561209f57805160209091012092915050565b60018201548015612044579392505050565b806001600160a01b03163b6000036120e757604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610c90565b600080516020612b6e83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516121339190612af0565b600060405180830381855af49150503d806000811461216e576040519150601f19603f3d011682016040523d82523d6000602084013e612173565b606091505b5091509150612183858383612255565b95945050505050565b341561160e5760405163b398979f60e01b815260040160405180910390fd5b6060610a79838360006122b1565b6121c483838361234e565b6001600160a01b038316610b005760006121fc7f0f070392f17d5f958cc1ac31867dabecfc5c9758b4a419a200803226d7155d005490565b905060006122287f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace025490565b905081811115611a425760405163279e7e1560e21b81526004810182905260248101839052604401610c90565b60608261226a576122658261248c565b610a79565b815115801561228157506001600160a01b0384163b155b156122aa57604051639996b31560e01b81526001600160a01b0385166004820152602401610c90565b5080610a79565b6060814710156122d65760405163cd78605960e01b8152306004820152602401610c90565b600080856001600160a01b031684866040516122f29190612af0565b60006040518083038185875af1925050503d806000811461232f576040519150601f19603f3d011682016040523d82523d6000602084013e612334565b606091505b5091509150612344868383612255565b9695505050505050565b600080516020612b2e8339815191526001600160a01b03841661238a578181600201600082825461237f9190612b0c565b909155506123fc9050565b6001600160a01b038416600090815260208290526040902054828110156123dd5760405163391434e360e21b81526001600160a01b03861660048201526024810182905260448101849052606401610c90565b6001600160a01b03851660009081526020839052604090209083900390555b6001600160a01b03831661241a576002810180548390039055612439565b6001600160a01b03831660009081526020829052604090208054830190555b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161247e91815260200190565b60405180910390a350505050565b80511561249c5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6000602082840312156124c757600080fd5b81356001600160e01b031981168114610a7957600080fd5b60005b838110156124fa5781810151838201526020016124e2565b50506000910152565b6000815180845261251b8160208601602086016124df565b601f01601f19169290920160200192915050565b602081526000610a796020830184612503565b6001600160a01b0381168114610b2557600080fd5b803561256281612542565b919050565b60006020828403121561257957600080fd5b8135610a7981612542565b6000806040838503121561259757600080fd5b82356125a281612542565b946020939093013593505050565b6000806000606084860312156125c557600080fd5b83356125d081612542565b925060208401356125e081612542565b929592945050506040919091013590565b60006020828403121561260357600080fd5b5035919050565b6000806040838503121561261d57600080fd5b82359150602083013561262f81612542565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff8084111561266b5761266b61263a565b604051601f8501601f19908116603f011681019082821181831017156126935761269361263a565b816040528093508581528686860111156126ac57600080fd5b858560208301376000602087830101525050509392505050565b600080604083850312156126d957600080fd5b82356126e481612542565b9150602083013567ffffffffffffffff81111561270057600080fd5b8301601f8101851361271157600080fd5b61272085823560208401612650565b9150509250929050565b60ff60f81b881681526000602060e08184015261274a60e084018a612503565b838103604085015261275c818a612503565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b818110156127ae57835183529284019291840191600101612792565b50909c9b505050505050505050505050565b600080600080600080600060e0888a0312156127db57600080fd5b87356127e681612542565b965060208801356127f681612542565b95506040880135945060608801359350608088013560ff8116811461281a57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561284a57600080fd5b823561285581612542565b9150602083013561262f81612542565b600082601f83011261287657600080fd5b610a7983833560208501612650565b600080600080600080600080610100898b0312156128a257600080fd5b88356128ad81612542565b975060208901356128bd81612542565b965060408901356128cd81612542565b955060608901356128dd81612542565b945060808901356128ed81612542565b93506128fb60a08a01612557565b925060c089013567ffffffffffffffff8082111561291857600080fd5b6129248c838d01612865565b935060e08b013591508082111561293a57600080fd5b506129478b828c01612865565b9150509295985092959890939650565b600181811c9082168061296b57607f821691505b60208210810361298b57634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156129a357600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b601f821115610b0057600081815260208120601f850160051c810160208610156129e75750805b601f850160051c820191505b81811015612a06578281556001016129f3565b505050505050565b815167ffffffffffffffff811115612a2857612a2861263a565b612a3c81612a368454612957565b846129c0565b602080601f831160018114612a715760008415612a595750858301515b600019600386901b1c1916600185901b178555612a06565b600085815260208120601f198616915b82811015612aa057888601518255948401946001909101908401612a81565b5085821015612abe5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215612ae057600080fd5b81518015158114610a7957600080fd5b60008251612b028184602087016124df565b9190910192915050565b8082018082111561093357634e487b7160e01b600052601160045260246000fdfe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a698db8a220cd0f09badce9f22d0ba7e93edb3d404448cc3560d391ab096ad16e902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800cd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300a26469706673582212203cd05c7ec9504651efa921324e920e9b92d11815bbd55cdb23bd42e3f962f8f464736f6c63430008140033", + "nonce": "0x1c", + "chainId": "0x1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6832a5f0aa42fac9fdf5d5145cfc5269cb9597dd69e7d2725b4711cea9246dc5", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0xb0a16535eB77c6d7F75E9Fc201D468A40AbdA7a1", + "function": null, + "arguments": null, + "transaction": { + "from": "0x10eEA4B3d154a30CE70c771D21dFDa85d77a0A16", + "to": "0xb0a16535eB77c6d7F75E9Fc201D468A40AbdA7a1", + "gas": "0xccc2", + "value": "0x0", + "input": "0x4f1ef2860000000000000000000000004352a007ccfb28f565b9b9e6ae1e1d5a4bcb861700000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x1d", + "chainId": "0x1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x12688af", + "logs": [ + { + "address": "0x4352A007ccfB28f565B9b9E6Ae1E1d5A4BcB8617", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x070df47637991e738a3e5293e82418882436239fa62389ed67d3f88601ef9bb0", + "blockNumber": "0x1419e78", + "transactionHash": "0x37ab6b416f44f8b4006f26239bf99aad1e1fd10c21b04dc17531957626277ed3", + "transactionIndex": "0xaa", + "logIndex": "0x1b9", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000040000000000000008000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x37ab6b416f44f8b4006f26239bf99aad1e1fd10c21b04dc17531957626277ed3", + "transactionIndex": "0xaa", + "blockHash": "0x070df47637991e738a3e5293e82418882436239fa62389ed67d3f88601ef9bb0", + "blockNumber": "0x1419e78", + "gasUsed": "0x26a90c", + "effectiveGasPrice": "0x2afadf15f", + "from": "0x10eEA4B3d154a30CE70c771D21dFDa85d77a0A16", + "to": null, + "contractAddress": "0x4352A007ccfB28f565B9b9E6Ae1E1d5A4BcB8617" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x10cc132", + "logs": [ + { + "address": "0xb0a16535eB77c6d7F75E9Fc201D468A40AbdA7a1", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x0000000000000000000000004352a007ccfb28f565b9b9e6ae1e1d5a4bcb8617" + ], + "data": "0x", + "blockHash": "0x9be77cf98d239055945183159f6776feb798f2ba9e2ed34a4de3a8665513f700", + "blockNumber": "0x1419e79", + "transactionHash": "0x6832a5f0aa42fac9fdf5d5145cfc5269cb9597dd69e7d2725b4711cea9246dc5", + "transactionIndex": "0x7e", + "logIndex": "0x19f", + "removed": false + } + ], + "logsBloom": "0x00000000000080000000000000000000400000000000000000000000000000001000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200020000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000", + "type": "0x2", + "transactionHash": "0x6832a5f0aa42fac9fdf5d5145cfc5269cb9597dd69e7d2725b4711cea9246dc5", + "transactionIndex": "0x7e", + "blockHash": "0x9be77cf98d239055945183159f6776feb798f2ba9e2ed34a4de3a8665513f700", + "blockNumber": "0x1419e79", + "gasUsed": "0x943f", + "effectiveGasPrice": "0x301d3a1ea", + "from": "0x10eEA4B3d154a30CE70c771D21dFDa85d77a0A16", + "to": "0xb0a16535eB77c6d7F75E9Fc201D468A40AbdA7a1", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1730281244, + "chain": 1, + "commit": "b1c0537" +} \ No newline at end of file diff --git a/broadcast/UpgradeFiatToken.s.sol/10/run-latest.json b/broadcast/UpgradeFiatToken.s.sol/10/run-latest.json new file mode 100644 index 0000000..e5133e4 --- /dev/null +++ b/broadcast/UpgradeFiatToken.s.sol/10/run-latest.json @@ -0,0 +1,122 @@ +{ + "transactions": [ + { + "hash": "0xed316cfe5f9980cba798384c04436b33f67d8953a3b9337fc42b0d066a0b411c", + "transactionType": "CREATE", + "contractName": "FiatTokenV2", + "contractAddress": "0x8CB2f23E70cEF7620160f99A76ce24B64b1Fb3E8", + "function": null, + "arguments": null, + "transaction": { + "from": "0x10eEA4B3d154a30CE70c771D21dFDa85d77a0A16", + "gas": "0x323e76", + "value": "0x0", + "input": "0x60a0604052306080523480156200001557600080fd5b506200002062000030565b6200002a62000030565b620000e4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000815760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000e15780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051612c636200010e600039600081816115740152818161159d01526117020152612c636000f3fe6080604052600436106102885760003560e01c8063713725441161015a578063d547741f116100c1578063f515e6f21161007a578063f515e6f214610813578063f72c0d8b14610835578063f9f494ed14610869578063f9f92be414610889578063fe575a87146108a9578063fe621505146108e257600080fd5b8063d547741f14610750578063dd62ed3e14610770578063e489d51014610790578063e63ab1e9146107b1578063ed87db61146107d3578063ef090e4c146107f357600080fd5b806395d89b411161011357806395d89b4114610693578063a217fddf146106a8578063a9059cbb146106bd578063ad3cb1cc146106dd578063d505accf1461070e578063d53913931461072e57600080fd5b806371372544146105c257806379cc6790146105f65780637ecebe00146106165780638456cb591461063657806384b0196e1461064b57806391d148541461067357600080fd5b8063313ce567116101fe57806342966c68116101b757806342966c681461050b5780634f1ef2861461052b57806352d1902d1461053e57806354fd4d50146105535780635c975abb1461057d57806370a08231146105a257600080fd5b8063313ce56714610451578063355274ea1461046d5780633644e515146104a157806336568abe146104b65780633f4ba83a146104d657806340c10f19146104eb57600080fd5b80631a895266116102505780631a8952661461037b57806320ff430b1461039d57806323b872dd146103bd578063248a9ca3146103dd578063282c51f3146103fd5780632f2ff15d1461043157600080fd5b806301ffc9a71461028d57806306fdde03146102c25780630848a136146102e4578063095ea7b31461031d57806318160ddd1461033d575b600080fd5b34801561029957600080fd5b506102ad6102a83660046124b5565b610902565b60405190151581526020015b60405180910390f35b3480156102ce57600080fd5b506102d7610939565b6040516102b9919061252f565b3480156102f057600080fd5b506102ad6102ff366004612567565b6001600160a01b031660009081526033602052604090205460ff1690565b34801561032957600080fd5b506102ad610338366004612584565b6109e2565b34801561034957600080fd5b507f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02545b6040519081526020016102b9565b34801561038757600080fd5b5061039b610396366004612567565b6109fa565b005b3480156103a957600080fd5b5061039b6103b83660046125b0565b610a1f565b3480156103c957600080fd5b506102ad6103d83660046125b0565b610a5a565b3480156103e957600080fd5b5061036d6103f83660046125f1565b610a80565b34801561040957600080fd5b5061036d7f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a84881565b34801561043d57600080fd5b5061039b61044c36600461260a565b610aa2565b34801561045d57600080fd5b50604051600681526020016102b9565b34801561047957600080fd5b507f0f070392f17d5f958cc1ac31867dabecfc5c9758b4a419a200803226d7155d005461036d565b3480156104ad57600080fd5b5061036d610abe565b3480156104c257600080fd5b5061039b6104d136600461260a565b610acd565b3480156104e257600080fd5b5061039b610b05565b3480156104f757600080fd5b5061039b610506366004612584565b610b28565b34801561051757600080fd5b5061039b6105263660046125f1565b610b4a565b61039b6105393660046126c6565b610b6b565b34801561054a57600080fd5b5061036d610b86565b34801561055f57600080fd5b506040805180820190915260018152601960f91b60208201526102d7565b34801561058957600080fd5b50600080516020612c0e8339815191525460ff166102ad565b3480156105ae57600080fd5b5061036d6105bd366004612567565b610ba3565b3480156105ce57600080fd5b5061036d7fcf6f9f892731e14b8859835f2ff35575f447fb501f46243c4eb8bac19e31a05081565b34801561060257600080fd5b5061039b610611366004612584565b610bd6565b34801561062257600080fd5b5061036d610631366004612567565b610bf8565b34801561064257600080fd5b5061039b610c03565b34801561065757600080fd5b50610660610c23565b6040516102b9979695949392919061272a565b34801561067f57600080fd5b506102ad61068e36600461260a565b610cd4565b34801561069f57600080fd5b506102d7610d0c565b3480156106b457600080fd5b5061036d600081565b3480156106c957600080fd5b506102ad6106d8366004612584565b610d4b565b3480156106e957600080fd5b506102d7604051806040016040528060058152602001640352e302e360dc1b81525081565b34801561071a57600080fd5b5061039b6107293660046127c0565b610d59565b34801561073a57600080fd5b5061036d600080516020612bae83398151915281565b34801561075c57600080fd5b5061039b61076b36600461260a565b610eb2565b34801561077c57600080fd5b5061036d61078b366004612837565b610ece565b34801561079c57600080fd5b5061036d6c0c9f2c9cd04674edea4000000081565b3480156107bd57600080fd5b5061036d600080516020612b8e83398151915281565b3480156107df57600080fd5b5061039b6107ee3660046125f1565b610f18565b3480156107ff57600080fd5b5061039b61080e366004612885565b610f4c565b34801561081f57600080fd5b5061036d600080516020612bce83398151915281565b34801561084157600080fd5b5061036d7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e381565b34801561087557600080fd5b5061039b610884366004612567565b6111ed565b34801561089557600080fd5b5061039b6108a4366004612567565b61121a565b3480156108b557600080fd5b506102ad6108c4366004612567565b6001600160a01b031660009081526020819052604090205460ff1690565b3480156108ee57600080fd5b5061039b6108fd366004612567565b61123b565b60006001600160e01b03198216637965db0b60e01b148061093357506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000600080516020612b2e8339815191525b905080600301805461095e90612957565b80601f016020809104026020016040519081016040528092919081815260200182805461098a90612957565b80156109d75780601f106109ac576101008083540402835291602001916109d7565b820191906000526020600020905b8154815290600101906020018083116109ba57829003601f168201915b505050505091505090565b6000336109f081858561126b565b5060019392505050565b600080516020612bce833981519152610a1281611278565b610a1b82611282565b5050565b7fcf6f9f892731e14b8859835f2ff35575f447fb501f46243c4eb8bac19e31a050610a4981611278565b610a548484846112cb565b50505050565b600033610a688582856112df565b610a7385858561133f565b60019150505b9392505050565b6000908152600080516020612bee833981519152602052604090206001015490565b610aab82610a80565b610ab481611278565b610a54838361139e565b6000610ac8611443565b905090565b6001600160a01b0381163314610af65760405163334bd91960e11b815260040160405180910390fd5b610b00828261144d565b505050565b600080516020612b8e833981519152610b1d81611278565b610b256114c9565b50565b600080516020612bae833981519152610b4081611278565b610b008383611529565b600080516020612bae833981519152610b6281611278565b610a1b8261155f565b610b73611569565b610b7c82611610565b610a1b828261163a565b6000610b906116f7565b50600080516020612b6e83398151915290565b600080600080516020612b2e8339815191525b6001600160a01b0390931660009081526020939093525050604090205490565b600080516020612bae833981519152610bee81611278565b610b008383611740565b600061093382611755565b600080516020612b8e833981519152610c1b81611278565b610b2561177e565b60006060808280808381600080516020612b4e8339815191528054909150158015610c5057506001810154155b610c995760405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b60448201526064015b60405180910390fd5b610ca16117c7565b610ca9611806565b60408051600080825260208201909252600f60f81b9c939b5091995046985030975095509350915050565b6000918252600080516020612bee833981519152602090815260408084206001600160a01b0393909316845291905290205460ff1690565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace048054606091600080516020612b2e8339815191529161095e90612957565b6000336109f081858561133f565b83421115610d7d5760405163313c898160e11b815260048101859052602401610c90565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610de98c6001600160a01b031660009081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610e448261181e565b90506000610e548287878761184b565b9050896001600160a01b0316816001600160a01b031614610e9b576040516325c0072360e11b81526001600160a01b0380831660048301528b166024820152604401610c90565b610ea68a8a8a61126b565b50505050505050505050565b610ebb82610a80565b610ec481611278565b610a54838361144d565b6001600160a01b0391821660009081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020908152604080832093909416825291909152205490565b7f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a848610f4281611278565b610a1b3383611879565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff16600081158015610f925750825b905060008267ffffffffffffffff166001148015610faf5750303b155b905081158015610fbd575080155b15610fdb5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561100557845460ff60401b1916600160401b1785555b60336020527f39c5029fdff21f8f787cd169c982647a58487042168a91b4846b270a958e5e578054600160ff1991821681179092557fd95f907cbe602cd396dcc9d853119fb63c762972709d47bf74b6e193748dfa3a80549091169091179055336000908152604090205460ff166110925760405163a447f38b60e01b8152336004820152602401610c90565b61109c87876118af565b6110b26c0c9f2c9cd04674edea400000006118c1565b6110ba6118d2565b6110c26118e2565b6110ca6118e2565b6110d3876118ea565b6110db6118e2565b6110e36118e2565b6110eb6118e2565b6110f660008e61139e565b5061110f600080516020612b8e8339815191528d61139e565b50611128600080516020612bae8339815191528c61139e565b506111537f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e38b61139e565b5061117e7fcf6f9f892731e14b8859835f2ff35575f447fb501f46243c4eb8bac19e31a0508a61139e565b50611197600080516020612bce8339815191528961139e565b5083156111de57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050505050505050565b60006111f881611278565b506001600160a01b03166000908152603360205260409020805460ff19169055565b600080516020612bce83398151915261123281611278565b610a1b82611915565b600061124681611278565b506001600160a01b03166000908152603360205260409020805460ff19166001179055565b610b008383836001611961565b610b258133611a49565b6001600160a01b038116600081815260208190526040808220805460ff19169055517f117e3210bb9aa7d9baff172026820255c6f6c30ba8999d1c2fd88e2848137c4e9190a250565b610b006001600160a01b0384168383611a82565b60006112eb8484610ece565b90506000198114610a54578181101561133057604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610c90565b610a5484848484036000611961565b6001600160a01b03831661136957604051634b637e8f60e11b815260006004820152602401610c90565b6001600160a01b0382166113935760405163ec442f0560e01b815260006004820152602401610c90565b610b00838383611ad4565b6000600080516020612bee8339815191526113b98484610cd4565b611439576000848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556113ef3390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610933565b6000915050610933565b6000610ac8611b6d565b6000600080516020612bee8339815191526114688484610cd4565b15611439576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610933565b6114d1611be1565b600080516020612c0e833981519152805460ff191681557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a150565b6001600160a01b0382166115535760405163ec442f0560e01b815260006004820152602401610c90565b610a1b60008383611ad4565b610b253382611879565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806115f057507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166115e4600080516020612b6e833981519152546001600160a01b031690565b6001600160a01b031614155b1561160e5760405163703e46dd60e11b815260040160405180910390fd5b565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3610a1b81611278565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611694575060408051601f3d908101601f1916820190925261169191810190612991565b60015b6116bc57604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610c90565b600080516020612b6e83398151915281146116ed57604051632a87526960e21b815260048101829052602401610c90565b610b008383611c11565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461160e5760405163703e46dd60e11b815260040160405180910390fd5b61174b8233836112df565b610a1b8282611879565b6000807f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00610bb6565b611786611c67565b600080516020612c0e833981519152805460ff191660011781557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2583361150b565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1028054606091600080516020612b4e8339815191529161095e90612957565b60606000600080516020612b4e83398151915261094d565b600061093361182b611443565b8360405161190160f01b8152600281019290925260228201526042902090565b60008060008061185d88888888611c98565b92509250925061186d8282611d67565b50909695505050505050565b6001600160a01b0382166118a357604051634b637e8f60e11b815260006004820152602401610c90565b610a1b82600083611ad4565b6118b7611e20565b610a1b8282611e69565b6118c9611e20565b610b2581611eba565b6118da611e20565b61160e611f0b565b61160e611e20565b6118f2611e20565b610b2581604051806040016040528060018152602001603160f81b815250611f2c565b6001600160a01b038116600081815260208190526040808220805460ff19166001179055517fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b8559190a250565b600080516020612b2e8339815191526001600160a01b03851661199a5760405163e602df0560e01b815260006004820152602401610c90565b6001600160a01b0384166119c457604051634a1406b160e11b815260006004820152602401610c90565b6001600160a01b03808616600090815260018301602090815260408083209388168352929052208390558115611a4257836001600160a01b0316856001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92585604051611a3991815260200190565b60405180910390a35b5050505050565b611a538282610cd4565b610a1b5760405163e2517d3f60e01b81526001600160a01b038216600482015260248101839052604401610c90565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610b00908490611f8d565b6001600160a01b038316600090815260208190526040902054839060ff1615611b1b5760405163d820520d60e01b81526001600160a01b0382166004820152602401610c90565b6001600160a01b038316600090815260208190526040902054839060ff1615611b625760405163d820520d60e01b81526001600160a01b0382166004820152602401610c90565b611a42858585611ff0565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f611b98612003565b611ba061206d565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b600080516020612c0e8339815191525460ff1661160e57604051638dfc202b60e01b815260040160405180910390fd5b611c1a826120b1565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611c5f57610b008282612116565b610a1b61218c565b600080516020612c0e8339815191525460ff161561160e5760405163d93c066560e01b815260040160405180910390fd5b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115611cd35750600091506003905082611d5d565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015611d27573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611d5357506000925060019150829050611d5d565b9250600091508190505b9450945094915050565b6000826003811115611d7b57611d7b6129aa565b03611d84575050565b6001826003811115611d9857611d986129aa565b03611db65760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115611dca57611dca6129aa565b03611deb5760405163fce698f760e01b815260048101829052602401610c90565b6003826003811115611dff57611dff6129aa565b03610a1b576040516335e2f38360e21b815260048101829052602401610c90565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff1661160e57604051631afcd79f60e31b815260040160405180910390fd5b611e71611e20565b600080516020612b2e8339815191527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03611eab8482612a0e565b5060048101610a548382612a0e565b611ec2611e20565b7f0f070392f17d5f958cc1ac31867dabecfc5c9758b4a419a200803226d7155d006000829003611f085760405163392e1e2760e01b815260006004820152602401610c90565b55565b611f13611e20565b600080516020612c0e833981519152805460ff19169055565b611f34611e20565b600080516020612b4e8339815191527fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d102611f6e8482612a0e565b5060038101611f7d8382612a0e565b5060008082556001909101555050565b6000611fa26001600160a01b038416836121ab565b90508051600014158015611fc7575080806020019051810190611fc59190612ace565b155b15610b0057604051635274afe760e01b81526001600160a01b0384166004820152602401610c90565b611ff8611c67565b610b008383836121b9565b6000600080516020612b4e8339815191528161201d6117c7565b80519091501561203557805160209091012092915050565b81548015612044579392505050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470935050505090565b6000600080516020612b4e83398151915281612087611806565b80519091501561209f57805160209091012092915050565b60018201548015612044579392505050565b806001600160a01b03163b6000036120e757604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610c90565b600080516020612b6e83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516121339190612af0565b600060405180830381855af49150503d806000811461216e576040519150601f19603f3d011682016040523d82523d6000602084013e612173565b606091505b5091509150612183858383612255565b95945050505050565b341561160e5760405163b398979f60e01b815260040160405180910390fd5b6060610a79838360006122b1565b6121c483838361234e565b6001600160a01b038316610b005760006121fc7f0f070392f17d5f958cc1ac31867dabecfc5c9758b4a419a200803226d7155d005490565b905060006122287f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace025490565b905081811115611a425760405163279e7e1560e21b81526004810182905260248101839052604401610c90565b60608261226a576122658261248c565b610a79565b815115801561228157506001600160a01b0384163b155b156122aa57604051639996b31560e01b81526001600160a01b0385166004820152602401610c90565b5080610a79565b6060814710156122d65760405163cd78605960e01b8152306004820152602401610c90565b600080856001600160a01b031684866040516122f29190612af0565b60006040518083038185875af1925050503d806000811461232f576040519150601f19603f3d011682016040523d82523d6000602084013e612334565b606091505b5091509150612344868383612255565b9695505050505050565b600080516020612b2e8339815191526001600160a01b03841661238a578181600201600082825461237f9190612b0c565b909155506123fc9050565b6001600160a01b038416600090815260208290526040902054828110156123dd5760405163391434e360e21b81526001600160a01b03861660048201526024810182905260448101849052606401610c90565b6001600160a01b03851660009081526020839052604090209083900390555b6001600160a01b03831661241a576002810180548390039055612439565b6001600160a01b03831660009081526020829052604090208054830190555b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161247e91815260200190565b60405180910390a350505050565b80511561249c5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6000602082840312156124c757600080fd5b81356001600160e01b031981168114610a7957600080fd5b60005b838110156124fa5781810151838201526020016124e2565b50506000910152565b6000815180845261251b8160208601602086016124df565b601f01601f19169290920160200192915050565b602081526000610a796020830184612503565b6001600160a01b0381168114610b2557600080fd5b803561256281612542565b919050565b60006020828403121561257957600080fd5b8135610a7981612542565b6000806040838503121561259757600080fd5b82356125a281612542565b946020939093013593505050565b6000806000606084860312156125c557600080fd5b83356125d081612542565b925060208401356125e081612542565b929592945050506040919091013590565b60006020828403121561260357600080fd5b5035919050565b6000806040838503121561261d57600080fd5b82359150602083013561262f81612542565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff8084111561266b5761266b61263a565b604051601f8501601f19908116603f011681019082821181831017156126935761269361263a565b816040528093508581528686860111156126ac57600080fd5b858560208301376000602087830101525050509392505050565b600080604083850312156126d957600080fd5b82356126e481612542565b9150602083013567ffffffffffffffff81111561270057600080fd5b8301601f8101851361271157600080fd5b61272085823560208401612650565b9150509250929050565b60ff60f81b881681526000602060e08184015261274a60e084018a612503565b838103604085015261275c818a612503565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b818110156127ae57835183529284019291840191600101612792565b50909c9b505050505050505050505050565b600080600080600080600060e0888a0312156127db57600080fd5b87356127e681612542565b965060208801356127f681612542565b95506040880135945060608801359350608088013560ff8116811461281a57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561284a57600080fd5b823561285581612542565b9150602083013561262f81612542565b600082601f83011261287657600080fd5b610a7983833560208501612650565b600080600080600080600080610100898b0312156128a257600080fd5b88356128ad81612542565b975060208901356128bd81612542565b965060408901356128cd81612542565b955060608901356128dd81612542565b945060808901356128ed81612542565b93506128fb60a08a01612557565b925060c089013567ffffffffffffffff8082111561291857600080fd5b6129248c838d01612865565b935060e08b013591508082111561293a57600080fd5b506129478b828c01612865565b9150509295985092959890939650565b600181811c9082168061296b57607f821691505b60208210810361298b57634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156129a357600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b601f821115610b0057600081815260208120601f850160051c810160208610156129e75750805b601f850160051c820191505b81811015612a06578281556001016129f3565b505050505050565b815167ffffffffffffffff811115612a2857612a2861263a565b612a3c81612a368454612957565b846129c0565b602080601f831160018114612a715760008415612a595750858301515b600019600386901b1c1916600185901b178555612a06565b600085815260208120601f198616915b82811015612aa057888601518255948401946001909101908401612a81565b5085821015612abe5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215612ae057600080fd5b81518015158114610a7957600080fd5b60008251612b028184602087016124df565b9190910192915050565b8082018082111561093357634e487b7160e01b600052601160045260246000fdfe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a698db8a220cd0f09badce9f22d0ba7e93edb3d404448cc3560d391ab096ad16e902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800cd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300a26469706673582212203cd05c7ec9504651efa921324e920e9b92d11815bbd55cdb23bd42e3f962f8f464736f6c63430008140033", + "nonce": "0x0", + "chainId": "0xa" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x25210e262bddfe5f7e1a9dc316d07597aa16f8747789d5b78d29bc58a7fcbc6f", + "transactionType": "CALL", + "contractName": "ERC1967Proxy", + "contractAddress": "0x9139fD518aB676343305D5a01A1a5C12Deb79dce", + "function": null, + "arguments": null, + "transaction": { + "from": "0x10eEA4B3d154a30CE70c771D21dFDa85d77a0A16", + "to": "0x9139fD518aB676343305D5a01A1a5C12Deb79dce", + "gas": "0xccc2", + "value": "0x0", + "input": "0x4f1ef2860000000000000000000000008cb2f23e70cef7620160f99a76ce24b64b1fb3e800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x1", + "chainId": "0xa" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x703dde", + "logs": [ + { + "address": "0x8CB2f23E70cEF7620160f99A76ce24B64b1Fb3E8", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0xd323ed19e23f80a5020faba36585e32997672cdc0c2eca970010524c7370f7d9", + "blockNumber": "0x797137f", + "transactionHash": "0xed316cfe5f9980cba798384c04436b33f67d8953a3b9337fc42b0d066a0b411c", + "transactionIndex": "0x10", + "logIndex": "0x72", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000100000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xed316cfe5f9980cba798384c04436b33f67d8953a3b9337fc42b0d066a0b411c", + "transactionIndex": "0x10", + "blockHash": "0xd323ed19e23f80a5020faba36585e32997672cdc0c2eca970010524c7370f7d9", + "blockNumber": "0x797137f", + "gasUsed": "0x26a90c", + "effectiveGasPrice": "0x8d2", + "from": "0x10eEA4B3d154a30CE70c771D21dFDa85d77a0A16", + "to": null, + "contractAddress": "0x8CB2f23E70cEF7620160f99A76ce24B64b1Fb3E8", + "l1BaseFeeScalar": "0x146b", + "l1BlobBaseFee": "0x5222bb66", + "l1BlobBaseFeeScalar": "0xf79c5", + "l1Fee": "0x10e7923ccb52", + "l1GasPrice": "0x4295a353f", + "l1GasUsed": "0x191a1" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x685bdd", + "logs": [ + { + "address": "0x9139fD518aB676343305D5a01A1a5C12Deb79dce", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x0000000000000000000000008cb2f23e70cef7620160f99a76ce24b64b1fb3e8" + ], + "data": "0x", + "blockHash": "0x8aecc34766f35eeaf709a85caf82eaa57cf648d88531e8a835b816c63662e76c", + "blockNumber": "0x7971387", + "transactionHash": "0x25210e262bddfe5f7e1a9dc316d07597aa16f8747789d5b78d29bc58a7fcbc6f", + "transactionIndex": "0x11", + "logIndex": "0x43", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000008000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020800000000000000000000000000000000000000000000000200000000000000000800000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x25210e262bddfe5f7e1a9dc316d07597aa16f8747789d5b78d29bc58a7fcbc6f", + "transactionIndex": "0x11", + "blockHash": "0x8aecc34766f35eeaf709a85caf82eaa57cf648d88531e8a835b816c63662e76c", + "blockNumber": "0x7971387", + "gasUsed": "0x943f", + "effectiveGasPrice": "0x8d4", + "from": "0x10eEA4B3d154a30CE70c771D21dFDa85d77a0A16", + "to": "0x9139fD518aB676343305D5a01A1a5C12Deb79dce", + "contractAddress": null, + "l1BaseFeeScalar": "0x146b", + "l1BlobBaseFee": "0x58d858bc", + "l1BlobBaseFeeScalar": "0xf79c5", + "l1Fee": "0x451c8b3525", + "l1GasPrice": "0x40e17260a", + "l1GasUsed": "0x640" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1730281677, + "chain": 10, + "commit": "b1c0537" +} \ No newline at end of file diff --git a/package.json b/package.json index dd2f463..1191cd0 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "scripts": { "lint": "solhint 'src/**/*.sol' && solhint --config .solhint.test.json 'test/**/*.t.sol'", "test": "forge test", - "coverage": "forge coverage --report lcov && lcov --remove ./lcov.info -o ./lcov.info 'test/*' 'script/*' && genhtml lcov.info --branch-coverage --output-dir coverage && open coverage/index.html" + "coverage": "forge coverage --report lcov && lcov --remove ./lcov.info --rc derive_function_end_line=0 -o ./lcov.info 'test/*' 'script/*' && genhtml lcov.info --rc derive_function_end_line=0 --ignore-errors category --output-dir coverage && open coverage/index.html" }, "devDependencies": { "solhint": "^5.0.3" diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index d0c3f06..0000000 --- a/yarn.lock +++ /dev/null @@ -1,496 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/code-frame@^7.0.0": - version "7.23.5" - dependencies: - "@babel/highlight" "^7.23.4" - chalk "^2.4.2" - -"@babel/helper-validator-identifier@^7.22.20": - version "7.22.20" - -"@babel/highlight@^7.23.4": - version "7.23.4" - dependencies: - "@babel/helper-validator-identifier" "^7.22.20" - chalk "^2.4.2" - js-tokens "^4.0.0" - -"@pnpm/config.env-replace@^1.1.0": - version "1.1.0" - -"@pnpm/network.ca-file@^1.0.1": - version "1.0.2" - dependencies: - graceful-fs "4.2.10" - -"@pnpm/npm-conf@^2.1.0": - version "2.2.2" - dependencies: - "@pnpm/config.env-replace" "^1.1.0" - "@pnpm/network.ca-file" "^1.0.1" - config-chain "^1.1.11" - -"@sindresorhus/is@^5.2.0": - version "5.6.0" - -"@solidity-parser/parser@^0.18.0": - version "0.18.0" - -"@szmarczak/http-timer@^5.0.1": - version "5.0.1" - dependencies: - defer-to-connect "^2.0.1" - -"@types/http-cache-semantics@^4.0.2": - version "4.0.4" - -ajv@^6.12.6: - version "6.12.6" - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^8.0.1: - version "8.12.0" - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ansi-regex@^5.0.1: - version "5.0.1" - -ansi-styles@^3.2.1: - version "3.2.1" - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - dependencies: - color-convert "^2.0.1" - -antlr4@^4.13.1-patch-1: - version "4.13.1" - -argparse@^2.0.1: - version "2.0.1" - -ast-parents@^0.0.1: - version "0.0.1" - -astral-regex@^2.0.0: - version "2.0.0" - -balanced-match@^1.0.0: - version "1.0.2" - -brace-expansion@^2.0.1: - version "2.0.1" - dependencies: - balanced-match "^1.0.0" - -cacheable-lookup@^7.0.0: - version "7.0.0" - -cacheable-request@^10.2.8: - version "10.2.14" - dependencies: - "@types/http-cache-semantics" "^4.0.2" - get-stream "^6.0.1" - http-cache-semantics "^4.1.1" - keyv "^4.5.3" - mimic-response "^4.0.0" - normalize-url "^8.0.0" - responselike "^3.0.0" - -callsites@^3.0.0: - version "3.1.0" - -chalk@^2.4.2: - version "2.4.2" - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.1.2: - version "4.1.2" - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -color-convert@^1.9.0: - version "1.9.3" - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - dependencies: - color-name "~1.1.4" - -color-name@~1.1.4: - version "1.1.4" - -color-name@1.1.3: - version "1.1.3" - -commander@^10.0.0: - version "10.0.1" - -config-chain@^1.1.11: - version "1.1.13" - dependencies: - ini "^1.3.4" - proto-list "~1.2.1" - -cosmiconfig@^8.0.0: - version "8.3.6" - dependencies: - import-fresh "^3.3.0" - js-yaml "^4.1.0" - parse-json "^5.2.0" - path-type "^4.0.0" - -decompress-response@^6.0.0: - version "6.0.0" - dependencies: - mimic-response "^3.1.0" - -deep-extend@^0.6.0: - version "0.6.0" - -defer-to-connect@^2.0.1: - version "2.0.1" - -emoji-regex@^8.0.0: - version "8.0.0" - -error-ex@^1.3.1: - version "1.3.2" - dependencies: - is-arrayish "^0.2.1" - -escape-string-regexp@^1.0.5: - version "1.0.5" - -fast-deep-equal@^3.1.1: - version "3.1.3" - -fast-diff@^1.2.0: - version "1.3.0" - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - -form-data-encoder@^2.1.2: - version "2.1.4" - -fs.realpath@^1.0.0: - version "1.0.0" - -get-stream@^6.0.1: - version "6.0.1" - -glob@^8.0.3: - version "8.1.0" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^5.0.1" - once "^1.3.0" - -got@^12.1.0: - version "12.6.1" - dependencies: - "@sindresorhus/is" "^5.2.0" - "@szmarczak/http-timer" "^5.0.1" - cacheable-lookup "^7.0.0" - cacheable-request "^10.2.8" - decompress-response "^6.0.0" - form-data-encoder "^2.1.2" - get-stream "^6.0.1" - http2-wrapper "^2.1.10" - lowercase-keys "^3.0.0" - p-cancelable "^3.0.0" - responselike "^3.0.0" - -graceful-fs@4.2.10: - version "4.2.10" - -has-flag@^3.0.0: - version "3.0.0" - -has-flag@^4.0.0: - version "4.0.0" - -http-cache-semantics@^4.1.1: - version "4.1.1" - -http2-wrapper@^2.1.10: - version "2.2.1" - dependencies: - quick-lru "^5.1.1" - resolve-alpn "^1.2.0" - -ignore@^5.2.4: - version "5.3.0" - -import-fresh@^3.3.0: - version "3.3.0" - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -inflight@^1.0.4: - version "1.0.6" - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - -ini@^1.3.4, ini@~1.3.0: - version "1.3.8" - -is-arrayish@^0.2.1: - version "0.2.1" - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - -js-tokens@^4.0.0: - version "4.0.0" - -js-yaml@^4.1.0: - version "4.1.0" - dependencies: - argparse "^2.0.1" - -json-buffer@3.0.1: - version "3.0.1" - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - -json-schema-traverse@^0.4.1: - version "0.4.1" - -json-schema-traverse@^1.0.0: - version "1.0.0" - -keyv@^4.5.3: - version "4.5.4" - dependencies: - json-buffer "3.0.1" - -latest-version@^7.0.0: - version "7.0.0" - dependencies: - package-json "^8.1.0" - -lines-and-columns@^1.1.6: - version "1.2.4" - -lodash.truncate@^4.4.2: - version "4.4.2" - -lodash@^4.17.21: - version "4.17.21" - -lowercase-keys@^3.0.0: - version "3.0.0" - -lru-cache@^6.0.0: - version "6.0.0" - dependencies: - yallist "^4.0.0" - -mimic-response@^3.1.0: - version "3.1.0" - -mimic-response@^4.0.0: - version "4.0.0" - -minimatch@^5.0.1: - version "5.1.6" - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.2.0: - version "1.2.8" - -normalize-url@^8.0.0: - version "8.0.0" - -once@^1.3.0: - version "1.4.0" - dependencies: - wrappy "1" - -p-cancelable@^3.0.0: - version "3.0.0" - -package-json@^8.1.0: - version "8.1.1" - dependencies: - got "^12.1.0" - registry-auth-token "^5.0.1" - registry-url "^6.0.0" - semver "^7.3.7" - -parent-module@^1.0.0: - version "1.0.1" - dependencies: - callsites "^3.0.0" - -parse-json@^5.2.0: - version "5.2.0" - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -path-type@^4.0.0: - version "4.0.0" - -pluralize@^8.0.0: - version "8.0.0" - -prettier@^2.8.3: - version "2.8.8" - -proto-list@~1.2.1: - version "1.2.4" - -punycode@^2.1.0: - version "2.3.1" - -quick-lru@^5.1.1: - version "5.1.1" - -rc@1.2.8: - version "1.2.8" - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -registry-auth-token@^5.0.1: - version "5.0.2" - dependencies: - "@pnpm/npm-conf" "^2.1.0" - -registry-url@^6.0.0: - version "6.0.1" - dependencies: - rc "1.2.8" - -require-from-string@^2.0.2: - version "2.0.2" - -resolve-alpn@^1.2.0: - version "1.2.1" - -resolve-from@^4.0.0: - version "4.0.0" - -responselike@^3.0.0: - version "3.0.0" - dependencies: - lowercase-keys "^3.0.0" - -semver@^7.3.7, semver@^7.5.2: - version "7.5.4" - dependencies: - lru-cache "^6.0.0" - -slice-ansi@^4.0.0: - version "4.0.0" - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -solhint@^5.0.3: - version "5.0.3" - dependencies: - "@solidity-parser/parser" "^0.18.0" - ajv "^6.12.6" - antlr4 "^4.13.1-patch-1" - ast-parents "^0.0.1" - chalk "^4.1.2" - commander "^10.0.0" - cosmiconfig "^8.0.0" - fast-diff "^1.2.0" - glob "^8.0.3" - ignore "^5.2.4" - js-yaml "^4.1.0" - latest-version "^7.0.0" - lodash "^4.17.21" - pluralize "^8.0.0" - semver "^7.5.2" - strip-ansi "^6.0.1" - table "^6.8.1" - text-table "^0.2.0" - optionalDependencies: - prettier "^2.8.3" - -string-width@^4.2.3: - version "4.2.3" - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -strip-ansi@^6.0.1: - version "6.0.1" - dependencies: - ansi-regex "^5.0.1" - -strip-json-comments@~2.0.1: - version "2.0.1" - -supports-color@^5.3.0: - version "5.5.0" - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: - version "7.2.0" - dependencies: - has-flag "^4.0.0" - -table@^6.8.1: - version "6.8.1" - dependencies: - ajv "^8.0.1" - lodash.truncate "^4.4.2" - slice-ansi "^4.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - -text-table@^0.2.0: - version "0.2.0" - -uri-js@^4.2.2: - version "4.4.1" - dependencies: - punycode "^2.1.0" - -wrappy@1: - version "1.0.2" - -yallist@^4.0.0: - version "4.0.0"