## MAI/MIMATIC deprecation, 2023.10.31
- ID: 376
- Proposer: [0x683a4F9915D6216f73d6Df50151725036bD26C02](https://etherscan.io/address/0x683a4F9915D6216f73d6Df50151725036bD26C02)
- Targets: [0x9AEE0B04504CeF83A65AC3f0e838D0593BCb2BC7](https://etherscan.io/address/0x9AEE0B04504CeF83A65AC3f0e838D0593BCb2BC7#code); [0x9AEE0B04504CeF83A65AC3f0e838D0593BCb2BC7](https://etherscan.io/address/0x9AEE0B04504CeF83A65AC3f0e838D0593BCb2BC7#code); [0x9AEE0B04504CeF83A65AC3f0e838D0593BCb2BC7](https://etherscan.io/address/0x9AEE0B04504CeF83A65AC3f0e838D0593BCb2BC7#code); [0x9AEE0B04504CeF83A65AC3f0e838D0593BCb2BC7](https://etherscan.io/address/0x9AEE0B04504CeF83A65AC3f0e838D0593BCb2BC7#code)
- Executor: [0xEE56e2B3D491590B5b31738cC34d5232F378a8D5](https://etherscan.io/address/0xEE56e2B3D491590B5b31738cC34d5232F378a8D5) (Short executor)
- Simulation: [https://dashboard.tenderly.co/me/simulator/311fc2bc-c71e-483c-9b59-f7c5a2eb7828](https://dashboard.tenderly.co/me/simulator/311fc2bc-c71e-483c-9b59-f7c5a2eb7828)
Proposal text
## Summary
Given MAI/MIMATIC price drop to ~$0.72 and its inability to regain peg for the past few months, Gauntlet recommends to begin deprecation of MAI/MIMATIC. We aim to do so by changing LT and increasing borrow rates to incentivize repayment. Additionally, Gauntlet recommends freezing MAI/MIMATIC and setting MAI/MIMATIC LTV -> 0 on Avalanche, which was not executed in [this previous AIP](https://app.aave.com/governance/proposal/318/).
## Specification
#### LT reductions
| Chain | Asset | Current LT | Recommended LT |
| ------------ | ----------- | ---------- | -------------- |
| avalanche v3 | MAI/MIMATIC | 0.8 | 0.01 |
| arbitrum v3 | MAI/MIMATIC | 0.8 | 0.01 |
| polygon v3 | MAI/MIMATIC | 0.8 | 0.01 |
| optimism v3 | MAI/MIMATIC | 0.8 | 0.65 |
#### IR recommendations
Adjust Uopt to 0.45, Slope 2 to 300%, RF to 95%
| Chain | Asset | Current Uopt | Current Slope2 | Current RF | Recommended Uopt | Recommended Slope2 | Recommended RF |
| ------------ | ------- | ------------ | -------------- | ---------- | ---------------- | ------------------ | -------------- |
| arbitrum v3 | MAI | 0.8 | 0.75 | 0.2 | 0.45 | 3 | 0.95 |
| avalanche v3 | MAI | 0.8 | 0.75 | 0.2 | 0.45 | 3 | 0.95 |
| optimism v3 | MAI | 0.8 | 0.75 | 0.2 | 0.45 | 3 | 0.95 |
| polygon v3 | miMATIC | 0.8 | 0.75 | 0.2 | 0.45 | 3 | 0.95 |
#### Freeze MAI and set LTV -> 0 on Avalanche
| Chain | Asset | Action |
| ------------ | ----------- | ---------------------------- |
| avalanche v3 | MAI/MIMATIC | Freeze Reserve, set LTV -> 0 |
## References
- Implementation: [AaveV3Polygon](https://github.com/bgd-labs/aave-proposals-v3/blob/66b52de254b64062a4654440fae7d9a07b32f0e5/src/20231031_Multi_MAIMIMATICDeprecation20231031/AaveV3Polygon_MAIMIMATICDeprecation20231031_20231031.sol), [AaveV3Avalanche](https://github.com/bgd-labs/aave-proposals-v3/blob/66b52de254b64062a4654440fae7d9a07b32f0e5/src/20231031_Multi_MAIMIMATICDeprecation20231031/AaveV3Avalanche_MAIMIMATICDeprecation20231031_20231031.sol), [AaveV3Optimism](https://github.com/bgd-labs/aave-proposals-v3/blob/66b52de254b64062a4654440fae7d9a07b32f0e5/src/20231031_Multi_MAIMIMATICDeprecation20231031/AaveV3Optimism_MAIMIMATICDeprecation20231031_20231031.sol), [AaveV3Arbitrum](https://github.com/bgd-labs/aave-proposals-v3/blob/66b52de254b64062a4654440fae7d9a07b32f0e5/src/20231031_Multi_MAIMIMATICDeprecation20231031/AaveV3Arbitrum_MAIMIMATICDeprecation20231031_20231031.sol)
- Tests: [AaveV3Polygon](https://github.com/bgd-labs/aave-proposals-v3/blob/66b52de254b64062a4654440fae7d9a07b32f0e5/src/20231031_Multi_MAIMIMATICDeprecation20231031/AaveV3Polygon_MAIMIMATICDeprecation20231031_20231031.t.sol), [AaveV3Avalanche](https://github.com/bgd-labs/aave-proposals-v3/blob/66b52de254b64062a4654440fae7d9a07b32f0e5/src/20231031_Multi_MAIMIMATICDeprecation20231031/AaveV3Avalanche_MAIMIMATICDeprecation20231031_20231031.t.sol), [AaveV3Optimism](https://github.com/bgd-labs/aave-proposals-v3/blob/66b52de254b64062a4654440fae7d9a07b32f0e5/src/20231031_Multi_MAIMIMATICDeprecation20231031/AaveV3Optimism_MAIMIMATICDeprecation20231031_20231031.t.sol), [AaveV3Arbitrum](https://github.com/bgd-labs/aave-proposals-v3/blob/66b52de254b64062a4654440fae7d9a07b32f0e5/src/20231031_Multi_MAIMIMATICDeprecation20231031/AaveV3Arbitrum_MAIMIMATICDeprecation20231031_20231031.t.sol)
- [Snapshot](https://snapshot.org/#/aave.eth/proposal/0x9b7173e3f91ba3cab15dbe2d6d241de2e58b027612c690f00609d6e4fb422748)
- [Discussion](https://governance.aave.com/t/arfc-gauntlet-recommendation-for-mai-mimatic-deprecation/15119)
## Disclaimer
Gauntlet has not received any compensation from any third-party in exchange for recommending any of the actions contained in this proposal.
By approving this proposal, you agree that any services provided by Gauntlet shall be governed by the terms of service available at gauntlet.network/tos.
## Copyright
Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
_By approving this proposal, you agree that any services provided by Gauntlet shall be governed by the terms of service available at gauntlet.network/tos._
### Checks
#### Reports all state changes from the proposal ✅ Passed
Info:
- State changes:
```diff
# KeeperRegistry at `0x02777053d6764996e594c3E88AF1D58D5363a2e6`
@@ `s_upkeep` key `"38708010855340815800266444206792387479170521527111639306025178205742164078384"`.lastKeeper @@
- 0x86c5d9efb1377dba0535cf944bd6f5736c4290cb
+ 0x5c581b8c0961f93543112bf1ffa27c1ca166e0e5
```
```diff
# EVM2EVMOnRamp at `0x0f27c8532457b66D6037141DEB0ed479Dad04B3c`
@@ s_nopWeightsTotal @@
- 10001
+ 10001
@@ s_paused @@
- false
+ false
@@ s_sequenceNumber @@
- 1711
+ 1712
@@ s_nopFeesJuels @@
- 4073889141469754788
+ 4076155307213959612
@@ s_allowlistEnabled @@
- true
+ true
@@ `s_senderNonce` key `0xed42a7d8559a463722ca4bed50e0cc05a386b0e1` @@
- 9
+ 10
```
```diff
# Lib_ResolvedDelegateProxy at `0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1`
@@ Slot `0x00000000000000000000000000000000000000000000000000000000000000cd` @@
- "0x0000000000000000000000000000000000000000000000000000000000011f00"
+ "0x0000000000000000000000000000000000000000000000000000000000011f01"
```
```diff
# StateSender at `0x28e4F3a7f651294B9564800b2D01f35189A5bFbE`
@@ counter @@
- 2813212
+ 2813213
```
```diff
# TransparentUpgradeableProxy at `0x35231d4c2D8B8ADcB5617A638A0c4548684c7C70` with implementation Mailbox at `0xcC48E741996B0d77b38d9dC2bf9217e65E368E06`
@@ Slot `0x0000000000000000000000000000000000000000000000000000000000000098` @@
- "0x4c44c4c28d87bdad529d6e117f3dc0a48b0ebc0ec7f42c3f1a9b0ecd27063532"
+ "0x4e327c7ee2509b23859b65beb5efbc077a6ace9d7743dd5cdb15afa85befebcb"
@@ Slot `0x0000000000000000000000000000000000000000000000000000000000000099` @@
- "0x05311cf502ae857dfd9a363f247575975cea66584efb53c2637e879e0b452d7a"
+ "0x9aeb7619d2c57e89b01fbdbda7c4ce6bdbecdc2cfb8cf577ea09cfd1f4670062"
@@ __GAP.29 @@
- 1696
+ 1698
```
```diff
# UltraLightNodeV2 at `0x4D73AdB72bC3DD368966edD0f0b2148401A178E2`
@@ `nativeFees` key `0x902f09715b6303d4173037652fa7377e5b98089e` @@
- 1193411624495217821
+ 1194368178199463720
@@ `nativeFees` key `0xd56e4eab23cb81f43168f9f45211eb027b9ac7cc` @@
- 154183699140799141
+ 154218237821809189
```
```diff
# LinkToken (Chainlink) at `0x514910771AF9Ca656af840dff83E8264EcF986CA`
@@ `balances` key `0x0f27c8532457b66d6037141deb0ed479dad04b3c` @@
- 13727196628872309132
+ 13729462794616513956
@@ `balances` key `0xd0b5fc9790a6085b048b8aa1ed26ca2b3b282cf2` @@
- 6748164458920633414
+ 6768823884718010510
@@ `balances` key `0xed42a7d8559a463722ca4bed50e0cc05a386b0e1` @@
- 21667164429790166135
+ 21644238838248584215
@@ `allowed` key `0xed42a7d8559a463722ca4bed50e0cc05a386b0e1`.0xe561d5e02207fb5eb32cca20a699e0d8919a1476 @@
- 115792089237316195423570985008687907853269984665640564039457251172342919806070
+ 115792089237316195423570985008687907853269984665640564039457228246751378224150
```
```diff
# NonceContract at `0x5B905fE05F81F3a8ad8B28C6E17779CFAbf76068`
@@ Slot `0x379a157e04a68664fcb92b0d8906c987c65ac120f56c0e4d3e7d5a4150a15c16` @@
- "0x000000000000000000000000000000000000000000000000000000000000000a"
+ "0x000000000000000000000000000000000000000000000000000000000000000b"
@@ Slot `0xf9a79b2ad0620ac4a3c31c7ed54c4a3355f3ffc1553e7ffcaa28f9dad8a8dfab` @@
- "0x0000000000000000000000000000000000000000000000000000000000000006"
+ "0x0000000000000000000000000000000000000000000000000000000000000007"
```
```diff
# Endpoint at `0x66A71Dcef29A0fFBDBE3c6a460a3B5BC225Cd675`
@@ `outboundNonce` key `106`.0xed42a7d8559a463722ca4bed50e0cc05a386b0e1 @@
- 6
+ 7
@@ `outboundNonce` key `109`.0xed42a7d8559a463722ca4bed50e0cc05a386b0e1 @@
- 10
+ 11
```
```diff
# TransparentUpgradeableProxy at `0x8315177aB297bA92A06054cE80a67Ed4DBd7ed3a` with implementation Bridge at `0x1066CEcC8880948FE55e427E94F1FF221d626591`
@@ Slot `0x0000000000000000000000000000000000000000000000000000000000000006` @@
- "0x0000000000000000000000000000000000000000000000000000000000125fb6"
+ "0x0000000000000000000000000000000000000000000000000000000000125fb7"
@@ Slot `0xf652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f378e6cf5` @@
- "0x0000000000000000000000000000000000000000000000000000000000000000"
+ "0xe3606413b5001a1655c8a25e987b2cb05001c1405f333ba4065b03d4c86cf399"
```
```diff
# Proxy at `0xbEb5Fc579115071764c7423A4f12eDde41f106Ed` with implementation OptimismPortal at `0x28a55488fef40005309e2DA0040DbE9D300a64AB`
@@ Slot `0x0000000000000000000000000000000000000000000000000000000000000001` @@
- "0x00000000011c8db3000000000007772e0000000000000000000000003b9aca00"
+ "0x00000000011c8dba000000000006cec40000000000000000000000003b9aca00"
```
```diff
# unknown contract name at `0xd0B5Fc9790a6085b048b8Aa1ED26ca2b3b282CF2`
@@ Slot `0x0000000000000000000000000000000000000000000000000000000000000012` @@
- "0x00000000000001000000000000000a7a0001863c000000002db287c282edfd8f"
+ "0x00000000000001000000000000000a7b0001863c000000002dfbed65ead889d7"
@@ Slot `0xcb18a769f09ec680133c3363af79f66302650d2e5fc178b36803792a987b0b03` @@
- "0x0000000000000000000000000000000000000000000000000000000000000006"
+ "0x0000000000000000000000000000000000000000000000000000000000000007"
```
```diff
# TransparentUpgradeableProxy at `0xEd42a7D8559a463722Ca4beD50E0Cc05a386b0e1` with implementation CrossChainController at `0x0Bf5bbfaE7808D329e0Ba8277e0b746BbfDA68f1`
@@ _currentEnvelopeNonce @@
- 49
+ 53
@@ _currentTransactionNonce @@
- 49
+ 53
@@ `_registeredEnvelopes` key `0x28545285c7b2a58799ced07021c17d06872263e595465cd029121ba47cfffd41` @@
- false
+ true
@@ `_registeredEnvelopes` key `0x68261002ed86f78db2d08c15643be2d4e4dc4ff5c4d4e4bb69df1b782d12373c` @@
- false
+ true
@@ `_registeredEnvelopes` key `0xd8551f8595fb791a59860be62843a8d5c90cf5be2fd4f893f8a85d556fd3bc8a` @@
- false
+ true
@@ `_registeredEnvelopes` key `0xfd34d0fb78ccc6b4786793ae89bc8775c8924830244c7748eca1ee37492f3e43` @@
- false
+ true
@@ `_forwardedTransactions` key `0x017fcb669f4c0acca7d35fe9436752c643eecb477fc6a22e97b9b806f1b544f5` @@
- false
+ true
@@ `_forwardedTransactions` key `0x25d40c670e968ba270a7e2b1c2424bc72e6def5975919ac8dc7137f7373931b5` @@
- false
+ true
@@ `_forwardedTransactions` key `0x272a9ae433bb9bf980c9a37255ef29c8d5a954e243704799f8b379062e334e5a` @@
- false
+ true
@@ `_forwardedTransactions` key `0x57f63d21f59ab71b65c724eae299d6141676ccb1cfe7c2af584d0832df3dc38f` @@
- false
+ true
```
#### Check stack trace of the proposal ✅ Passed
Info:
- There is no SELFDESTRUCT inside of delegated call
#### Reports all events emitted from the proposal ✅ Passed
Info:
- Events Emitted:
- TransparentUpgradeableProxy at `0xEd42a7D8559a463722Ca4beD50E0Cc05a386b0e1` with implementation CrossChainController at `0x0Bf5bbfaE7808D329e0Ba8277e0b746BbfDA68f1`
- `EnvelopeRegistered(envelopeId: 0xd8551f8595fb791a59860be62843a8d5c90cf5be2fd4f893f8a85d556fd3bc8a, envelope: [object Object])`
- `TransactionForwardingAttempted(transactionId: 0x25d40c670e968ba270a7e2b1c2424bc72e6def5975919ac8dc7137f7373931b5, envelopeId: 0xd8551f8595fb791a59860be62843a8d5c90cf5be2fd4f893f8a85d556fd3bc8a, encodedTransaction: 0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000310000000000000000000000009aee0b04504cef83a65ac3f0e838d0593bcb2bc7000000000000000000000000401b5d0294e23637c18fcc38b1bca814cda2637c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000008900000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000006561deb3, destinationChainId: 137, bridgeAdapter: 0xdb8953194810b1942544fa528791278d458719d5, destinationBridgeAdapter: 0x95fa2c817169e26956ab8795c84a225b55d7db5b, adapterSuccessful: true, returnData: 0x000000000000000000000000e561d5e02207fb5eb32cca20a699e0d8919a1476d01e98b11c2bdb4a3e217c3c8208d5dc24922d730553012d8551b7684d2aee8c)`
- `TransactionForwardingAttempted(transactionId: 0x25d40c670e968ba270a7e2b1c2424bc72e6def5975919ac8dc7137f7373931b5, envelopeId: 0xd8551f8595fb791a59860be62843a8d5c90cf5be2fd4f893f8a85d556fd3bc8a, encodedTransaction: 0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000310000000000000000000000009aee0b04504cef83a65ac3f0e838d0593bcb2bc7000000000000000000000000401b5d0294e23637c18fcc38b1bca814cda2637c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000008900000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000006561deb3, destinationChainId: 137, bridgeAdapter: 0x2a323be63e08e08536fc3b5d8c6f24825e68895e, destinationBridgeAdapter: 0xda4b6024aa06f7565bbcaad9b8be24c3c229aab5, adapterSuccessful: true, returnData: 0x00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd675000000000000000000000000000000000000000000000000000000000000000a)`
- `TransactionForwardingAttempted(transactionId: 0x25d40c670e968ba270a7e2b1c2424bc72e6def5975919ac8dc7137f7373931b5, envelopeId: 0xd8551f8595fb791a59860be62843a8d5c90cf5be2fd4f893f8a85d556fd3bc8a, encodedTransaction: 0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000310000000000000000000000009aee0b04504cef83a65ac3f0e838d0593bcb2bc7000000000000000000000000401b5d0294e23637c18fcc38b1bca814cda2637c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000008900000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000006561deb3, destinationChainId: 137, bridgeAdapter: 0x6abb61beb5848b476d026c4934e8a6415e2e75a8, destinationBridgeAdapter: 0x3c25b96ff62d21e90556869272a277ee2e229747, adapterSuccessful: true, returnData: 0x00000000000000000000000035231d4c2d8b8adcb5617a638a0c4548684c7c704e327c7ee2509b23859b65beb5efbc077a6ace9d7743dd5cdb15afa85befebcb)`
- `TransactionForwardingAttempted(transactionId: 0x25d40c670e968ba270a7e2b1c2424bc72e6def5975919ac8dc7137f7373931b5, envelopeId: 0xd8551f8595fb791a59860be62843a8d5c90cf5be2fd4f893f8a85d556fd3bc8a, encodedTransaction: 0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000310000000000000000000000009aee0b04504cef83a65ac3f0e838d0593bcb2bc7000000000000000000000000401b5d0294e23637c18fcc38b1bca814cda2637c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000008900000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000006561deb3, destinationChainId: 137, bridgeAdapter: 0xb13712de579e1f9943502ffcf72eab6ec348cf79, destinationBridgeAdapter: 0xb13712de579e1f9943502ffcf72eab6ec348cf79, adapterSuccessful: true, returnData: 0x000000000000000000000000f30fa9e36fddd4982b722432fd39914e9ab2b0330000000000000000000000000000000000000000000000000000000000000000)`
- `EnvelopeRegistered(envelopeId: 0x68261002ed86f78db2d08c15643be2d4e4dc4ff5c4d4e4bb69df1b782d12373c, envelope: [object Object])`
- `TransactionForwardingAttempted(transactionId: 0x57f63d21f59ab71b65c724eae299d6141676ccb1cfe7c2af584d0832df3dc38f, envelopeId: 0x68261002ed86f78db2d08c15643be2d4e4dc4ff5c4d4e4bb69df1b782d12373c, encodedTransaction: 0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000320000000000000000000000009aee0b04504cef83a65ac3f0e838d0593bcb2bc70000000000000000000000001140cb7cafacc745771c2ea31e7b5c653c5d0b800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000a86a00000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000006561deb3, destinationChainId: 43114, bridgeAdapter: 0xdb8953194810b1942544fa528791278d458719d5, destinationBridgeAdapter: 0x3f006299ec88985c18e6e885eea29a49ec579882, adapterSuccessful: true, returnData: 0x000000000000000000000000e561d5e02207fb5eb32cca20a699e0d8919a14764b0eb28efb558a78e2ecb2b4d4df30cf1a3944803451e67d39d516cc31d238ed)`
- `TransactionForwardingAttempted(transactionId: 0x57f63d21f59ab71b65c724eae299d6141676ccb1cfe7c2af584d0832df3dc38f, envelopeId: 0x68261002ed86f78db2d08c15643be2d4e4dc4ff5c4d4e4bb69df1b782d12373c, encodedTransaction: 0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000320000000000000000000000009aee0b04504cef83a65ac3f0e838d0593bcb2bc70000000000000000000000001140cb7cafacc745771c2ea31e7b5c653c5d0b800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000a86a00000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000006561deb3, destinationChainId: 43114, bridgeAdapter: 0x2a323be63e08e08536fc3b5d8c6f24825e68895e, destinationBridgeAdapter: 0xf41193e25408f652af878c47e4401a01b5e4b682, adapterSuccessful: true, returnData: 0x00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd6750000000000000000000000000000000000000000000000000000000000000006)`
- `TransactionForwardingAttempted(transactionId: 0x57f63d21f59ab71b65c724eae299d6141676ccb1cfe7c2af584d0832df3dc38f, envelopeId: 0x68261002ed86f78db2d08c15643be2d4e4dc4ff5c4d4e4bb69df1b782d12373c, encodedTransaction: 0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000320000000000000000000000009aee0b04504cef83a65ac3f0e838d0593bcb2bc70000000000000000000000001140cb7cafacc745771c2ea31e7b5c653c5d0b800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000a86a00000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000006561deb3, destinationChainId: 43114, bridgeAdapter: 0x6abb61beb5848b476d026c4934e8a6415e2e75a8, destinationBridgeAdapter: 0xa198fac58e02a5c5f8f7e877895d50cfa9ad1e04, adapterSuccessful: true, returnData: 0x00000000000000000000000035231d4c2d8b8adcb5617a638a0c4548684c7c7003cbf2364972fb99a91e094c49b07cf0ba952677598e9d30c9bca90b98c00db3)`
- `EnvelopeRegistered(envelopeId: 0x28545285c7b2a58799ced07021c17d06872263e595465cd029121ba47cfffd41, envelope: [object Object])`
- `TransactionForwardingAttempted(transactionId: 0x017fcb669f4c0acca7d35fe9436752c643eecb477fc6a22e97b9b806f1b544f5, envelopeId: 0x28545285c7b2a58799ced07021c17d06872263e595465cd029121ba47cfffd41, encodedTransaction: 0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000330000000000000000000000009aee0b04504cef83a65ac3f0e838d0593bcb2bc70000000000000000000000000e1a3af1f9cc76a62ed31ededca291e63632e7c40000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000006561deb3, destinationChainId: 10, bridgeAdapter: 0x2ecc4f6cdbe6ea77107dd131af81ec82db330d6b, destinationBridgeAdapter: 0x81d32b36380e6266e1bdd490eac56cdb300afbe0, adapterSuccessful: true, returnData: 0x00000000000000000000000025ace71c97b33cc4729cf772ae268934f7ab5fa10000000000000000000000000000000000000000000000000000000000000000)`
- `EnvelopeRegistered(envelopeId: 0xfd34d0fb78ccc6b4786793ae89bc8775c8924830244c7748eca1ee37492f3e43, envelope: [object Object])`
- `TransactionForwardingAttempted(transactionId: 0x272a9ae433bb9bf980c9a37255ef29c8d5a954e243704799f8b379062e334e5a, envelopeId: 0xfd34d0fb78ccc6b4786793ae89bc8775c8924830244c7748eca1ee37492f3e43, encodedTransaction: 0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000340000000000000000000000009aee0b04504cef83a65ac3f0e838d0593bcb2bc700000000000000000000000089644ca1bb8064760312ae4f03ea41b05da3637c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000a4b100000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000006561deb3, destinationChainId: 42161, bridgeAdapter: 0xe2a33403ead139873820da597531f07f65ed0e3c, destinationBridgeAdapter: 0x3829943c53f2d00e20b58475af19716724bf90ba, adapterSuccessful: true, returnData: 0x0000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f0000000000000000000000000000000000000000000000000000000000125fb6)`
- LinkToken (Chainlink) at `0x514910771AF9Ca656af840dff83E8264EcF986CA`
- `Transfer(from: 0xed42a7d8559a463722ca4bed50e0cc05a386b0e1, to: 0x0f27c8532457b66d6037141deb0ed479dad04b3c, value: 2266165744204824)`
- `Transfer(from: 0xed42a7d8559a463722ca4bed50e0cc05a386b0e1, to: 0xd0b5fc9790a6085b048b8aa1ed26ca2b3b282cf2, value: 20659425797377096)`
- EVM2EVMOnRamp at `0x0f27c8532457b66D6037141DEB0ed479Dad04B3c`
- `CCIPSendRequested(message: [object Object])`
- OptimizedTransparentUpgradeableProxy at `0x902F09715B6303d4173037652FA7377e5b98089E` with implementation unknown contract name at `0xB830a5AfCBEBb936c30C607a18BbbA9f5B0a592f`
- Undecoded log: `{"name":"","anonymous":false,"inputs":null,"raw":{"address":"0x902f09715b6303d4173037652fa7377e5b98089e","topics":["0xdf21c415b78ed2552cc9971249e32a053abce6087a0ae0fbf3f78db5174a3493"],"data":"0x0000000000000000000000000000000000000000000000000001a0787efc675c"},"trace_index":null}`
- Undecoded log: `{"name":"","anonymous":false,"inputs":null,"raw":{"address":"0x902f09715b6303d4173037652fa7377e5b98089e","topics":["0xdf21c415b78ed2552cc9971249e32a053abce6087a0ae0fbf3f78db5174a3493"],"data":"0x0000000000000000000000000000000000000000000000000001c58284c3a32f"},"trace_index":null}`
- UltraLightNodeV2 at `0x4D73AdB72bC3DD368966edD0f0b2148401A178E2`
- `RelayerParams(adapterParams: 0x000100000000000000000000000000000000000000000000000000000000000249f0, outboundProofType: 1)`
- `Packet(payload: 0x000000000000000b0065ed42a7d8559a463722ca4bed50e0cc05a386b0e1006dda4b6024aa06f7565bbcaad9b8be24c3c229aab50000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000310000000000000000000000009aee0b04504cef83a65ac3f0e838d0593bcb2bc7000000000000000000000000401b5d0294e23637c18fcc38b1bca814cda2637c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000008900000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000006561deb3)`
- `RelayerParams(adapterParams: 0x000100000000000000000000000000000000000000000000000000000000000249f0, outboundProofType: 1)`
- `Packet(payload: 0x00000000000000070065ed42a7d8559a463722ca4bed50e0cc05a386b0e1006af41193e25408f652af878c47e4401a01b5e4b6820000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000320000000000000000000000009aee0b04504cef83a65ac3f0e838d0593bcb2bc70000000000000000000000001140cb7cafacc745771c2ea31e7b5c653c5d0b800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000a86a00000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000006561deb3)`
- VerifierNetwork at `0xD56e4eAb23cb81f43168F9F45211Eb027b9aC7cc`
- `VerifierFeePaid(fee: 9045115165221)`
- `VerifierFeePaid(fee: 25493565844827)`
- TransparentUpgradeableProxy at `0x35231d4c2D8B8ADcB5617A638A0c4548684c7C70` with implementation Mailbox at `0xcC48E741996B0d77b38d9dC2bf9217e65E368E06`
- `Dispatch(sender: 0xed42a7d8559a463722ca4bed50e0cc05a386b0e1, destination: 137, recipient: 0x0000000000000000000000003c25b96ff62d21e90556869272a277ee2e229747, message: 0x00000006a000000001000000000000000000000000ed42a7d8559a463722ca4bed50e0cc05a386b0e1000000890000000000000000000000003c25b96ff62d21e90556869272a277ee2e2297470000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000310000000000000000000000009aee0b04504cef83a65ac3f0e838d0593bcb2bc7000000000000000000000000401b5d0294e23637c18fcc38b1bca814cda2637c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000008900000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000006561deb3)`
- `DispatchId(messageId: 0x4e327c7ee2509b23859b65beb5efbc077a6ace9d7743dd5cdb15afa85befebcb)`
- `Dispatch(sender: 0xed42a7d8559a463722ca4bed50e0cc05a386b0e1, destination: 43114, recipient: 0x000000000000000000000000a198fac58e02a5c5f8f7e877895d50cfa9ad1e04, message: 0x00000006a100000001000000000000000000000000ed42a7d8559a463722ca4bed50e0cc05a386b0e10000a86a000000000000000000000000a198fac58e02a5c5f8f7e877895d50cfa9ad1e040000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000320000000000000000000000009aee0b04504cef83a65ac3f0e838d0593bcb2bc70000000000000000000000001140cb7cafacc745771c2ea31e7b5c653c5d0b800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000a86a00000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000006561deb3)`
- `DispatchId(messageId: 0x03cbf2364972fb99a91e094c49b07cf0ba952677598e9d30c9bca90b98c00db3)`
- TransparentUpgradeableProxy at `0x6cA0B6D22da47f091B7613223cD4BB03a2d77918` with implementation InterchainGasPaymaster at `0xbdd8eb3884A8F111F338b7784c163DD62d03DaF9`
- `GasPayment(messageId: 0x4e327c7ee2509b23859b65beb5efbc077a6ace9d7743dd5cdb15afa85befebcb, gasAmount: 324289, payment: 26976674443460)`
- `GasPayment(messageId: 0x03cbf2364972fb99a91e094c49b07cf0ba952677598e9d30c9bca90b98c00db3, gasAmount: 324289, payment: 84302119958794)`
- StateSender at `0x28e4F3a7f651294B9564800b2D01f35189A5bFbE`
- `StateSynced(id: 2813213, contractAddress: 0x8397259c983751daf40400790063935a11afa28a, data: 0x000000000000000000000000f30fa9e36fddd4982b722432fd39914e9ab2b033000000000000000000000000f30fa9e36fddd4982b722432fd39914e9ab2b03300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000260000000000000000000000000ed42a7d8559a463722ca4bed50e0cc05a386b0e1000000000000000000000000b13712de579e1f9943502ffcf72eab6ec348cf79000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000310000000000000000000000009aee0b04504cef83a65ac3f0e838d0593bcb2bc7000000000000000000000000401b5d0294e23637c18fcc38b1bca814cda2637c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000008900000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000006561deb3)`
- unknown contract name at `0xd0B5Fc9790a6085b048b8Aa1ED26ca2b3b282CF2`
- `CCIPSendRequested(message: [object Object])`
- Proxy at `0xbEb5Fc579115071764c7423A4f12eDde41f106Ed` with implementation OptimismPortal at `0x28a55488fef40005309e2DA0040DbE9D300a64AB`
- `TransactionDeposited(from: 0x36bde71c97b33cc4729cf772ae268934f7ab70b2, to: 0x4200000000000000000000000000000000000007, version: 0, opaqueData: 0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006cec400d764ad0b0001000000000000000000000000000000000000000000000000000000011f00000000000000000000000000ed42a7d8559a463722ca4bed50e0cc05a386b0e100000000000000000000000081d32b36380e6266e1bdd490eac56cdb300afbe0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000249f000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000022461e78524000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000330000000000000000000000009aee0b04504cef83a65ac3f0e838d0593bcb2bc70000000000000000000000000e1a3af1f9cc76a62ed31ededca291e63632e7c40000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000006561deb300000000000000000000000000000000000000000000000000000000)`
- Lib_ResolvedDelegateProxy at `0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1`
- `SentMessage(target: 0x81d32b36380e6266e1bdd490eac56cdb300afbe0, sender: 0xed42a7d8559a463722ca4bed50e0cc05a386b0e1, message: 0x61e78524000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000330000000000000000000000009aee0b04504cef83a65ac3f0e838d0593bcb2bc70000000000000000000000000e1a3af1f9cc76a62ed31ededca291e63632e7c40000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000006561deb3, messageNonce: 1766847064778384329583297500742918515827483896875618958121606201292693248, gasLimit: 150000)`
- `SentMessageExtension1(sender: 0xed42a7d8559a463722ca4bed50e0cc05a386b0e1, value: 0)`
- TransparentUpgradeableProxy at `0x8315177aB297bA92A06054cE80a67Ed4DBd7ed3a` with implementation Bridge at `0x1066CEcC8880948FE55e427E94F1FF221d626591`
- `MessageDelivered(messageIndex: 1204150, beforeInboxAcc: 0xd8c772a8ee14c2fc2a5fa02b563684ddbee8bf53adc6dd6f154a4ccda2c90286, inbox: 0x4dbd4fc535ac27206064b68ffcf827b0a60bab3f, kind: 9, sender: 0xfe53a7d8559a463722ca4bed50e0cc05a386c1f2, messageDataHash: 0x0450be954cd8ab8093e30d439a3f3bc45fb859741790c98d89a941c589f07b7e, baseFeeL1: 23278796965, timestamp: 1700912819)`
- TransparentUpgradeableProxy at `0x4Dbd4fc535Ac27206064B68FfCf827b0A60BAB3f` with implementation Inbox at `0x5aED5f8A1e3607476F1f81c3d8fe126deB0aFE94`
- `InboxMessageDelivered(messageNum: 1204150, data: 0x0000000000000000000000003829943c53f2d00e20b58475af19716724bf90ba000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011650bcf66d9000000000000000000000000000000000000000000000000000008de4243f0d90000000000000000000000000cbfb78a3eeaa611b826e37c80e4126c8787d29f0000000000000000000000000cbfb78a3eeaa611b826e37c80e4126c8787d29f000000000000000000000000000000000000000000000000000000000000249f0000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000002244f507960000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000340000000000000000000000009aee0b04504cef83a65ac3f0e838d0593bcb2bc700000000000000000000000089644ca1bb8064760312ae4f03ea41b05da3637c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000a4b100000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000006561deb3)`
- EthRobotKeeper at `0x9EEa1Ba822d204077e9f90a92D30432417184587`
- `ActionSucceeded(id: 376, action: 1)`
- KeeperRegistry at `0x02777053d6764996e594c3E88AF1D58D5363a2e6`
- `UpkeepPerformed(id: 38708010855340815800266444206792387479170521527111639306025178205742164078384, success: true, from: 0x5c581b8c0961f93543112bf1ffa27c1ca166e0e5, payment: 0, performData: 0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000001780000000000000000000000000000000000000000000000000000000000000001)`
#### Check all targets are verified on Etherscan ✅ Passed
Info:
- Targets:
- 0x9AEE0B04504CeF83A65AC3f0e838D0593BCb2BC7: Contract (not verified)
#### Check all touched contracts are verified on Etherscan ✅ Passed
Info:
- Touched address:
- 0x5c581b8c0961f93543112bf1ffa27c1ca166e0e5: EOA (verification not applicable)
- 0x02777053d6764996e594c3e88af1d58d5363a2e6: Contract (verified) (KeeperRegistry)
- 0x169e633a2d1e6c10dd91238ba11c4a708dfef37c: Contract (verified) (EACAggregatorProxy)
- 0x785433d8b06d77d68df6be63944742130a4530d1: Contract (verified) (AccessControlledOffchainAggregator)
- 0xdc530d9457755926550b59e8eccdae7624181557: Contract (verified) (EACAggregatorProxy)
- 0xbba12740de905707251525477bad74985dec46d2: Contract (verified) (AccessControlledOffchainAggregator)
- 0x9eea1ba822d204077e9f90a92d30432417184587: Contract (verified) (EthRobotKeeper)
- 0xec568fffba86c094cf06b22134b23074dfe2252c: Contract (verified) (AaveGovernanceV2)
- 0xee56e2b3d491590b5b31738cc34d5232f378a8d5: Contract (verified) (Executor)
- 0xb7e383ef9b1e9189fc0f71fb30af8aa14377429e: Contract (verified) (GovernanceStrategy)
- 0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9: Contract (verified) (InitializableAdminUpgradeabilityProxy)
- 0x96f68837877fd0414b55050c9e794aecdbcfca59: Contract (verified) (AaveTokenV2)
- 0x9aee0b04504cef83a65ac3f0e838d0593bcb2bc7: Contract (verified) (TransparentUpgradeableProxy)
- 0x323f2c8e227b3f0d88b047ed16581fc0b6b9b1d7: Contract (verified) (Governance_V2_5)
- 0xed42a7d8559a463722ca4bed50e0cc05a386b0e1: Contract (verified) (TransparentUpgradeableProxy)
- 0x0bf5bbfae7808d329e0ba8277e0b746bbfda68f1: Contract (verified) (CrossChainController)
- 0xdb8953194810b1942544fa528791278d458719d5: Contract (verified) (CCIPAdapter)
- 0xe561d5e02207fb5eb32cca20a699e0d8919a1476: Contract (verified) (Router)
- 0x0f27c8532457b66d6037141deb0ed479dad04b3c: Contract (verified) (EVM2EVMOnRamp)
- 0x020082a7a9c2510e1921116001152dee4da81985: Contract (verified) (PriceRegistry)
- 0x514910771af9ca656af840dff83e8264ecf986ca: Contract (verified) (LinkToken)
- 0x411de17f12d1a34ecc7f45f49844626267c75e81: Contract (verified) (ARMProxy)
- 0x8b63b3de93431c0f756a493644d128134291fa1b: Contract (verified) (ARM)
- 0x2a323be63e08e08536fc3b5d8c6f24825e68895e: Contract (verified) (LayerZeroAdapter)
- 0x66a71dcef29a0ffbdbe3c6a460a3b5bc225cd675: Contract (verified) (Endpoint)
- 0x4d73adb72bc3dd368966edd0f0b2148401a178e2: Contract (verified) (UltraLightNodeV2)
- 0x902f09715b6303d4173037652fa7377e5b98089e: Contract (verified) (OptimizedTransparentUpgradeableProxy)
- 0xb830a5afcbebb936c30c607a18bbba9f5b0a592f: Contract (not verified)
- 0xc03f31fd86a9077785b7bcf6598ce3598fa91113: Contract (verified) (OptimizedTransparentUpgradeableProxy)
- 0xf641db6860fd5f6643d05bd75405a2586a63a141: Contract (not verified)
- 0xd56e4eab23cb81f43168f9f45211eb027b9ac7cc: Contract (verified) (VerifierNetwork)
- 0xdea04ef31c4b4fdf31cb58923f37869739280d49: Contract (not verified)
- 0x3773e1e9deb273fcdf9f80bc88bb387b1e6ce34d: Contract (verified) (TreasuryV2)
- 0x5b905fe05f81f3a8ad8b28c6e17779cfabf76068: Contract (verified) (NonceContract)
- 0x6abb61beb5848b476d026c4934e8a6415e2e75a8: Contract (verified) (HyperLaneAdapter)
- 0x35231d4c2d8b8adcb5617a638a0c4548684c7c70: Contract (verified) (TransparentUpgradeableProxy)
- 0xcc48e741996b0d77b38d9dc2bf9217e65e368e06: Contract (verified) (Mailbox)
- 0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc: Contract (verified) (OverheadIgp)
- 0x6ca0b6d22da47f091b7613223cd4bb03a2d77918: Contract (verified) (TransparentUpgradeableProxy)
- 0xbdd8eb3884a8f111f338b7784c163dd62d03daf9: Contract (verified) (InterchainGasPaymaster)
- 0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5: Contract (verified) (StorageGasOracle)
- 0xb13712de579e1f9943502ffcf72eab6ec348cf79: Contract (verified) (PolygonAdapterEthereum)
- 0xf30fa9e36fddd4982b722432fd39914e9ab2b033: Contract (verified) (FxTunnelEthereum)
- 0xfe5e5d361b2ad62c541bab87c45a0b9b018389a2: Contract (verified) (FxRoot)
- 0x28e4f3a7f651294b9564800b2d01f35189a5bfbe: Contract (verified) (StateSender)
- 0xd0b5fc9790a6085b048b8aa1ed26ca2b3b282cf2: Contract (not verified)
- 0x2ecc4f6cdbe6ea77107dd131af81ec82db330d6b: Contract (verified) (OpAdapter)
- 0x25ace71c97b33cc4729cf772ae268934f7ab5fa1: Contract (verified) (Lib_ResolvedDelegateProxy)
- 0xde1fcfb0851916ca5101820a69b13a4e276bd81f: Contract (verified) (Lib_AddressManager)
- 0x2150bc3c64cbfddbac9815ef615d6ab8671bfe43: Contract (verified) (L1CrossDomainMessenger)
- 0xbeb5fc579115071764c7423a4f12edde41f106ed: Contract (verified) (Proxy)
- 0x28a55488fef40005309e2da0040dbe9d300a64ab: Contract (verified) (OptimismPortal)
- 0x229047fed2591dbec1ef1118d64f7af3db9eb290: Contract (verified) (Proxy)
- 0x5efa852e92800d1c982711761e45c3fe39a2b6d8: Contract (verified) (SystemConfig)
- 0xe2a33403ead139873820da597531f07f65ed0e3c: Contract (verified) (ArbAdapter)
- 0x4dbd4fc535ac27206064b68ffcf827b0a60bab3f: Contract (verified) (TransparentUpgradeableProxy)
- 0x5aed5f8a1e3607476f1f81c3d8fe126deb0afe94: Contract (verified) (Inbox)
- 0x8315177ab297ba92a06054ce80a67ed4dbd7ed3a: Contract (verified) (TransparentUpgradeableProxy)
- 0x1066cecc8880948fe55e427e94f1ff221d626591: Contract (verified) (Bridge)
#### Runs solc against the verified contracts ✅ Passed
Info:
-
View Details
View warnings for PriceRegistry at `0x020082A7a9c2510e1921116001152DEE4da81985`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x020082a7a9c2510e1921116001152dee4da81985-PriceRegistry' running
```
View warnings for KeeperRegistry at `0x02777053d6764996e594c3E88AF1D58D5363a2e6`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x02777053d6764996e594c3e88af1d58d5363a2e6-KeeperRegistry' running
```
View warnings for CrossChainController at `0x0Bf5bbfaE7808D329e0Ba8277e0b746BbfDA68f1`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x0bf5bbfae7808d329e0ba8277e0b746bbfda68f1-CrossChainController' running
```
View warnings for EVM2EVMOnRamp at `0x0f27c8532457b66D6037141DEB0ed479Dad04B3c`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x0f27c8532457b66d6037141deb0ed479dad04b3c-EVM2EVMOnRamp' running
```
View warnings for Bridge at `0x1066CEcC8880948FE55e427E94F1FF221d626591`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x1066cecc8880948fe55e427e94f1ff221d626591-Bridge' running
```
View warnings for EACAggregatorProxy at `0x169E633A2D1E6c10dD91238Ba11c4A708dfEF37C`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts' running
WARNING:CryticCompile:Warning: crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:283:7: Warning: This declaration shadows an existing declaration.
uint80 roundId,
^------------^
crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:273:7: The shadowed declaration is here:
uint80 roundId,
^------------^
Warning: crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:284:7: Warning: This declaration shadows an existing declaration.
int256 answer,
^-----------^
crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:274:7: The shadowed declaration is here:
int256 answer,
^-----------^
Warning: crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:285:7: Warning: This declaration shadows an existing declaration.
uint256 startedAt,
^---------------^
crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:275:7: The shadowed declaration is here:
uint256 startedAt,
^---------------^
Warning: crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:286:7: Warning: This declaration shadows an existing declaration.
uint256 updatedAt,
^---------------^
crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:276:7: The shadowed declaration is here:
uint256 updatedAt,
^---------------^
Warning: crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:331:7: Warning: This declaration shadows an existing declaration.
uint80 roundId,
^------------^
crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:321:7: The shadowed declaration is here:
uint80 roundId,
^------------^
Warning: crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:332:7: Warning: This declaration shadows an existing declaration.
int256 answer,
^-----------^
crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:322:7: The shadowed declaration is here:
int256 answer,
^-----------^
Warning: crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:333:7: Warning: This declaration shadows an existing declaration.
uint256 startedAt,
^---------------^
crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:323:7: The shadowed declaration is here:
uint256 startedAt,
^---------------^
Warning: crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:334:7: Warning: This declaration shadows an existing declaration.
uint256 updatedAt,
^---------------^
crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:324:7: The shadowed declaration is here:
uint256 updatedAt,
^---------------^
Warning: crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:513:5: Warning: This declaration shadows an existing declaration.
uint16 phaseId = uint16(_roundId >> PHASE_OFFSET);
^------------^
crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:410:3: The shadowed declaration is here:
function phaseId()
^ (Relevant source part starts here and spans across multiple lines).
Warning: crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:525:7: Warning: This declaration shadows an existing declaration.
uint16 phaseId
^------------^
crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:410:3: The shadowed declaration is here:
function phaseId()
^ (Relevant source part starts here and spans across multiple lines).
Warning: crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:495:3: Warning: Function state mutability can be restricted to pure
function addPhase(
^ (Relevant source part starts here and spans across multiple lines).
Warning: crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:506:3: Warning: Function state mutability can be restricted to pure
function parseIds(
^ (Relevant source part starts here and spans across multiple lines).
```
View warnings for L1CrossDomainMessenger at `0x2150Bc3c64cbfDDbaC9815EF615D6AB8671bfe43`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x2150bc3c64cbfddbac9815ef615d6ab8671bfe43-L1CrossDomainMessenger' running
```
View warnings for Proxy at `0x229047fed2591dbec1eF1118d64F7aF3dB9EB290` with implementation SystemConfig at `0x5efa852e92800D1C982711761e45c3FE39a2b6D8`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x229047fed2591dbec1ef1118d64f7af3db9eb290-Proxy' running
```
View warnings for Lib_ResolvedDelegateProxy at `0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x25ace71c97b33cc4729cf772ae268934f7ab5fa1-Lib_ResolvedDelegateProxy' running
WARNING:CryticCompile:Warning: @openzeppelin/contracts/access/Ownable.sol:26:5: Warning: Visibility for constructor is ignored. If you want the contract to be non-deployable, making it "abstract" is sufficient.
constructor () internal {
^ (Relevant source part starts here and spans across multiple lines).
```
View warnings for OptimismPortal at `0x28a55488fef40005309e2DA0040DbE9D300a64AB`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x28a55488fef40005309e2da0040dbe9d300a64ab-OptimismPortal' running
```
View warnings for StateSender at `0x28e4F3a7f651294B9564800b2D01f35189A5bFbE`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts' running
```
View warnings for LayerZeroAdapter at `0x2a323be63e08E08536Fc3b5d8C6f24825e68895e`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x2a323be63e08e08536fc3b5d8c6f24825e68895e-LayerZeroAdapter' running
```
View warnings for OpAdapter at `0x2ecC4F6CDbe6ea77107dd131Af81ec82Db330d6b`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x2ecc4f6cdbe6ea77107dd131af81ec82db330d6b-OpAdapter' running
```
View warnings for Governance_V2_5 at `0x323F2c8E227b3F0d88B047Ed16581fc0b6B9B1d7`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x323f2c8e227b3f0d88b047ed16581fc0b6b9b1d7-Governance_V2_5' running
```
View warnings for TransparentUpgradeableProxy at `0x35231d4c2D8B8ADcB5617A638A0c4548684c7C70` with implementation Mailbox at `0xcC48E741996B0d77b38d9dC2bf9217e65E368E06`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts' running
WARNING:CryticCompile:Warning: Warning: This declaration shadows an existing declaration.
--> crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol:6254:5:
|
6254 | struct Message {
| ^ (Relevant source part starts here and spans across multiple lines).
Note: The shadowed declaration is here:
--> crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol:2294:1:
|
2294 | library Message {
| ^ (Relevant source part starts here and spans across multiple lines).
```
View warnings for TreasuryV2 at `0x3773E1E9Deb273fCdf9f80bc88bB387B1e6Ce34d`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x3773e1e9deb273fcdf9f80bc88bb387b1e6ce34d-TreasuryV2' running
```
View warnings for ARMProxy at `0x411dE17f12D1A34ecC7F45f49844626267c75e81`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x411de17f12d1a34ecc7f45f49844626267c75e81-ARMProxy' running
```
View warnings for UltraLightNodeV2 at `0x4D73AdB72bC3DD368966edD0f0b2148401A178E2`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x4d73adb72bc3dd368966edd0f0b2148401a178e2-UltraLightNodeV2' running
```
View warnings for TransparentUpgradeableProxy at `0x4Dbd4fc535Ac27206064B68FfCf827b0A60BAB3f` with implementation Inbox at `0x5aED5f8A1e3607476F1f81c3d8fe126deB0aFE94`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x4dbd4fc535ac27206064b68ffcf827b0a60bab3f-TransparentUpgradeableProxy' running
```
View warnings for LinkToken (Chainlink) at `0x514910771AF9Ca656af840dff83E8264EcF986CA`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts' running
```
View warnings for OverheadIgp at `0x56f52c0A1ddcD557285f7CBc782D3d83096CE1Cc`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts' running
WARNING:CryticCompile:Warning: Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing "SPDX-License-Identifier: " to each source file. Use "SPDX-License-Identifier: UNLICENSED" for non-open-source code. Please see https://spdx.org for more information.
--> crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol
Warning: Warning: This declaration shadows an existing declaration.
--> crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol:6785:5:
|
6785 | struct Message {
| ^ (Relevant source part starts here and spans across multiple lines).
Note: The shadowed declaration is here:
--> crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol:2457:1:
|
2457 | library Message {
| ^ (Relevant source part starts here and spans across multiple lines).
```
View warnings for Inbox at `0x5aED5f8A1e3607476F1f81c3d8fe126deB0aFE94`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x5aed5f8a1e3607476f1f81c3d8fe126deb0afe94-Inbox' running
```
View warnings for NonceContract at `0x5B905fE05F81F3a8ad8B28C6E17779CFAbf76068`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x5b905fe05f81f3a8ad8b28c6e17779cfabf76068-NonceContract' running
```
View warnings for SystemConfig at `0x5efa852e92800D1C982711761e45c3FE39a2b6D8`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x5efa852e92800d1c982711761e45c3fe39a2b6d8-SystemConfig' running
```
View warnings for Endpoint at `0x66A71Dcef29A0fFBDBE3c6a460a3B5BC225Cd675`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x66a71dcef29a0ffbdbe3c6a460a3b5bc225cd675-Endpoint' running
```
View warnings for HyperLaneAdapter at `0x6Abb61beb5848B476d026C4934E8a6415e2E75a8`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x6abb61beb5848b476d026c4934e8a6415e2e75a8-HyperLaneAdapter' running
```
View warnings for TransparentUpgradeableProxy at `0x6cA0B6D22da47f091B7613223cD4BB03a2d77918` with implementation InterchainGasPaymaster at `0xbdd8eb3884A8F111F338b7784c163DD62d03DaF9`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts' running
WARNING:CryticCompile:Warning: Warning: This declaration shadows an existing declaration.
--> crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol:6254:5:
|
6254 | struct Message {
| ^ (Relevant source part starts here and spans across multiple lines).
Note: The shadowed declaration is here:
--> crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol:2294:1:
|
2294 | library Message {
| ^ (Relevant source part starts here and spans across multiple lines).
```
View warnings for AccessControlledOffchainAggregator at `0x785433d8b06D77D68dF6be63944742130A4530d1`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x785433d8b06d77d68df6be63944742130a4530d1-AccessControlledOffchainAggregator' running
WARNING:CryticCompile:Warning: OffchainAggregator.sol:461:7: Warning: This declaration shadows an existing declaration.
int192 latestAnswer,
^-----------------^
OffchainAggregator.sol:653:3: The shadowed declaration is here:
function latestAnswer()
^ (Relevant source part starts here and spans across multiple lines).
Warning: OffchainAggregator.sol:462:7: Warning: This declaration shadows an existing declaration.
uint64 latestTimestamp
^--------------------^
OffchainAggregator.sol:666:3: The shadowed declaration is here:
function latestTimestamp()
^ (Relevant source part starts here and spans across multiple lines).
Warning: AccessControlledOffchainAggregator.sol:25:5: Warning: This declaration shadows an existing declaration.
string memory description
^-----------------------^
AccessControlledOffchainAggregator.sol:108:3: The shadowed declaration is here:
function description()
^ (Relevant source part starts here and spans across multiple lines).
```
View warnings for InitializableAdminUpgradeabilityProxy (Aave) at `0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9` with implementation AaveTokenV2 at `0x96F68837877fd0414B55050c9e794AECdBcfCA59`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9-InitializableAdminUpgradeabilityProxy' running
WARNING:CryticCompile:Warning: contracts/open-zeppelin/Address.sol: Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing "SPDX-License-Identifier: " to each source file. Use "SPDX-License-Identifier: UNLICENSED" for non-open-source code. Please see https://spdx.org for more information.
Warning: contracts/open-zeppelin/BaseAdminUpgradeabilityProxy.sol: Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing "SPDX-License-Identifier: " to each source file. Use "SPDX-License-Identifier: UNLICENSED" for non-open-source code. Please see https://spdx.org for more information.
Warning: contracts/open-zeppelin/BaseUpgradeabilityProxy.sol: Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing "SPDX-License-Identifier: " to each source file. Use "SPDX-License-Identifier: UNLICENSED" for non-open-source code. Please see https://spdx.org for more information.
Warning: contracts/open-zeppelin/Proxy.sol: Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing "SPDX-License-Identifier: " to each source file. Use "SPDX-License-Identifier: UNLICENSED" for non-open-source code. Please see https://spdx.org for more information.
Warning: contracts/open-zeppelin/SafeMath.sol: Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing "SPDX-License-Identifier: " to each source file. Use "SPDX-License-Identifier: UNLICENSED" for non-open-source code. Please see https://spdx.org for more information.
Warning: contracts/open-zeppelin/UpgradeabilityProxy.sol: Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing "SPDX-License-Identifier: " to each source file. Use "SPDX-License-Identifier: UNLICENSED" for non-open-source code. Please see https://spdx.org for more information.
Warning: contracts/open-zeppelin/BaseAdminUpgradeabilityProxy.sol:13:1: Warning: This contract has a payable fallback function, but no receive ether function. Consider adding a receive ether function.
contract BaseAdminUpgradeabilityProxy is BaseUpgradeabilityProxy {
^ (Relevant source part starts here and spans across multiple lines).
contracts/open-zeppelin/Proxy.sol:15:3: The payable fallback function is defined here.
fallback () payable external {
^ (Relevant source part starts here and spans across multiple lines).
Warning: contracts/open-zeppelin/InitializableUpgradeabilityProxy.sol:11:1: Warning: This contract has a payable fallback function, but no receive ether function. Consider adding a receive ether function.
contract InitializableUpgradeabilityProxy is BaseUpgradeabilityProxy {
^ (Relevant source part starts here and spans across multiple lines).
contracts/open-zeppelin/Proxy.sol:15:3: The payable fallback function is defined here.
fallback () payable external {
^ (Relevant source part starts here and spans across multiple lines).
Warning: contracts/open-zeppelin/InitializableAdminUpgradeabilityProxy.sol:12:1: Warning: This contract has a payable fallback function, but no receive ether function. Consider adding a receive ether function.
contract InitializableAdminUpgradeabilityProxy is BaseAdminUpgradeabilityProxy, InitializableUpgradeabilityProxy {
^ (Relevant source part starts here and spans across multiple lines).
contracts/open-zeppelin/Proxy.sol:15:3: The payable fallback function is defined here.
fallback () payable external {
^ (Relevant source part starts here and spans across multiple lines).
Warning: contracts/utils/MockTransferHook.sol:9:25: Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.
function onTransfer(address from, address to, uint256 amount) external override {
^----------^
Warning: contracts/utils/MockTransferHook.sol:9:39: Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.
function onTransfer(address from, address to, uint256 amount) external override {
^--------^
Warning: contracts/utils/MockTransferHook.sol:9:51: Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.
function onTransfer(address from, address to, uint256 amount) external override {
^------------^
```
View warnings for TransparentUpgradeableProxy at `0x8315177aB297bA92A06054cE80a67Ed4DBd7ed3a` with implementation Bridge at `0x1066CEcC8880948FE55e427E94F1FF221d626591`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x8315177ab297ba92a06054ce80a67ed4dbd7ed3a-TransparentUpgradeableProxy' running
```
View warnings for ARM at `0x8B63b3DE93431C0f756A493644d128134291fA1b`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x8b63b3de93431c0f756a493644d128134291fa1b-ARM' running
```
View warnings for OptimizedTransparentUpgradeableProxy at `0x902F09715B6303d4173037652FA7377e5b98089E` with implementation unknown contract name at `0xB830a5AfCBEBb936c30C607a18BbbA9f5B0a592f`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x902f09715b6303d4173037652fa7377e5b98089e-OptimizedTransparentUpgradeableProxy' running
WARNING:CryticCompile:Warning: solc_0.7/proxy/OptimizedTransparentUpgradeableProxy.sol:78:48: Warning: Unnamed return variable can remain unassigned. Add an explicit return with value to all non-reverting code paths or name the variable.
function admin() external ifAdmin returns (address) {
^-----^
Warning: solc_0.7/proxy/OptimizedTransparentUpgradeableProxy.sol:91:57: Warning: Unnamed return variable can remain unassigned. Add an explicit return with value to all non-reverting code paths or name the variable.
function implementation() external ifAdmin returns (address) {
^-----^
```
View warnings for AaveTokenV2 at `0x96F68837877fd0414B55050c9e794AECdBcfCA59`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x96f68837877fd0414b55050c9e794aecdbcfca59-AaveTokenV2' running
WARNING:CryticCompile:Warning: src/contracts/AaveTokenV2.sol:453:18: Warning: This declaration shadows an existing declaration.
constructor (string memory name, string memory symbol) public {
^----------------^
src/contracts/AaveTokenV2.sol:462:5: The shadowed declaration is here:
function name() public view returns (string memory) {
^ (Relevant source part starts here and spans across multiple lines).
Warning: src/contracts/AaveTokenV2.sol:453:38: Warning: This declaration shadows an existing declaration.
constructor (string memory name, string memory symbol) public {
^------------------^
src/contracts/AaveTokenV2.sol:470:5: The shadowed declaration is here:
function symbol() public view returns (string memory) {
^ (Relevant source part starts here and spans across multiple lines).
Warning: src/contracts/AaveTokenV2.sol:35:3: Warning: Interface functions are implicitly "virtual"
function delegateByType(address delegatee, DelegationType delegationType) external virtual;
^-----------------------------------------------------------------------------------------^
Warning: src/contracts/AaveTokenV2.sol:40:3: Warning: Interface functions are implicitly "virtual"
function delegate(address delegatee) external virtual;
^----------------------------------------------------^
Warning: src/contracts/AaveTokenV2.sol:45:3: Warning: Interface functions are implicitly "virtual"
function getDelegateeByType(address delegator, DelegationType delegationType)
^ (Relevant source part starts here and spans across multiple lines).
Warning: src/contracts/AaveTokenV2.sol:56:3: Warning: Interface functions are implicitly "virtual"
function getPowerCurrent(address user, DelegationType delegationType)
^ (Relevant source part starts here and spans across multiple lines).
Warning: src/contracts/AaveTokenV2.sol:66:3: Warning: Interface functions are implicitly "virtual"
function getPowerAtBlock(
^ (Relevant source part starts here and spans across multiple lines).
Warning: src/contracts/AaveTokenV2.sol:75:3: Warning: Interface functions are implicitly "virtual"
function totalSupplyAt(uint256 blockNumber) external virtual view returns (uint256);
^----------------------------------------------------------------------------------^
Warning: src/contracts/AaveTokenV2.sol:453:5: Warning: Visibility for constructor is ignored. If you want the contract to be non-deployable, making it "abstract" is sufficient.
constructor (string memory name, string memory symbol) public {
^ (Relevant source part starts here and spans across multiple lines).
Warning: src/contracts/AaveTokenV2.sol:1164:3: Warning: Visibility for constructor is ignored. If you want the contract to be non-deployable, making it "abstract" is sufficient.
constructor() ERC20(NAME, SYMBOL) public {
^ (Relevant source part starts here and spans across multiple lines).
Warning: src/contracts/AaveTokenV2.sol:913:26: Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.
function totalSupplyAt(uint256 blockNumber) external override view returns (uint256) {
^-----------------^
Warning: src/contracts/AaveTokenV2.sol:1079:5: Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.
uint128 oldValue,
^--------------^
```
View warnings for TransparentUpgradeableProxy at `0x9AEE0B04504CeF83A65AC3f0e838D0593BCb2BC7` with implementation Governance_V2_5 at `0x323F2c8E227b3F0d88B047Ed16581fc0b6B9B1d7`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x9aee0b04504cef83a65ac3f0e838d0593bcb2bc7-TransparentUpgradeableProxy' running
```
View warnings for EthRobotKeeper at `0x9EEa1Ba822d204077e9f90a92D30432417184587`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x9eea1ba822d204077e9f90a92d30432417184587-EthRobotKeeper' running
```
View warnings for PolygonAdapterEthereum at `0xb13712De579E1f9943502FFCf72eab6ec348cF79`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0xb13712de579e1f9943502ffcf72eab6ec348cf79-PolygonAdapterEthereum' running
```
View warnings for GovernanceStrategy at `0xb7e383ef9B1E9189Fc0F71fb30af8aa14377429e`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts' running
```
View warnings for AccessControlledOffchainAggregator at `0xbba12740DE905707251525477bAD74985DeC46D2`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0xbba12740de905707251525477bad74985dec46d2-AccessControlledOffchainAggregator' running
WARNING:CryticCompile:Warning: OffchainAggregator.sol:461:7: Warning: This declaration shadows an existing declaration.
int192 latestAnswer,
^-----------------^
OffchainAggregator.sol:653:3: The shadowed declaration is here:
function latestAnswer()
^ (Relevant source part starts here and spans across multiple lines).
Warning: OffchainAggregator.sol:462:7: Warning: This declaration shadows an existing declaration.
uint64 latestTimestamp
^--------------------^
OffchainAggregator.sol:666:3: The shadowed declaration is here:
function latestTimestamp()
^ (Relevant source part starts here and spans across multiple lines).
Warning: AccessControlledOffchainAggregator.sol:25:5: Warning: This declaration shadows an existing declaration.
string memory description
^-----------------------^
AccessControlledOffchainAggregator.sol:108:3: The shadowed declaration is here:
function description()
^ (Relevant source part starts here and spans across multiple lines).
```
View warnings for InterchainGasPaymaster at `0xbdd8eb3884A8F111F338b7784c163DD62d03DaF9`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts' running
WARNING:CryticCompile:Warning: Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing "SPDX-License-Identifier: " to each source file. Use "SPDX-License-Identifier: UNLICENSED" for non-open-source code. Please see https://spdx.org for more information.
--> crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol
Warning: Warning: This declaration shadows an existing declaration.
--> crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol:7281:5:
|
7281 | struct Message {
| ^ (Relevant source part starts here and spans across multiple lines).
Note: The shadowed declaration is here:
--> crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol:3637:1:
|
3637 | library Message {
| ^ (Relevant source part starts here and spans across multiple lines).
```
View warnings for Proxy at `0xbEb5Fc579115071764c7423A4f12eDde41f106Ed` with implementation OptimismPortal at `0x28a55488fef40005309e2DA0040DbE9D300a64AB`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0xbeb5fc579115071764c7423a4f12edde41f106ed-Proxy' running
```
View warnings for OptimizedTransparentUpgradeableProxy at `0xC03f31fD86a9077785b7bCf6598Ce3598Fa91113` with implementation unknown contract name at `0xF641db6860FD5f6643D05bD75405a2586a63a141`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0xc03f31fd86a9077785b7bcf6598ce3598fa91113-OptimizedTransparentUpgradeableProxy' running
```
View warnings for StorageGasOracle at `0xc9a103990A8dB11b4f627bc5CD1D0c2685484Ec5`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts' running
WARNING:CryticCompile:Warning: Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing "SPDX-License-Identifier: " to each source file. Use "SPDX-License-Identifier: UNLICENSED" for non-open-source code. Please see https://spdx.org for more information.
--> crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol
Warning: Warning: This declaration shadows an existing declaration.
--> crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol:7281:5:
|
7281 | struct Message {
| ^ (Relevant source part starts here and spans across multiple lines).
Note: The shadowed declaration is here:
--> crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol:3637:1:
|
3637 | library Message {
| ^ (Relevant source part starts here and spans across multiple lines).
```
View warnings for Mailbox at `0xcC48E741996B0d77b38d9dC2bf9217e65E368E06`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts' running
WARNING:CryticCompile:Warning: Warning: This declaration shadows an existing declaration.
--> crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol:6254:5:
|
6254 | struct Message {
| ^ (Relevant source part starts here and spans across multiple lines).
Note: The shadowed declaration is here:
--> crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol:2294:1:
|
2294 | library Message {
| ^ (Relevant source part starts here and spans across multiple lines).
```
View warnings for VerifierNetwork at `0xD56e4eAb23cb81f43168F9F45211Eb027b9aC7cc`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0xd56e4eab23cb81f43168f9f45211eb027b9ac7cc-VerifierNetwork' running
```
View warnings for CCIPAdapter at `0xDB8953194810b1942544fA528791278D458719D5`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0xdb8953194810b1942544fa528791278d458719d5-CCIPAdapter' running
```
View warnings for EACAggregatorProxy at `0xDC530D9457755926550b59e8ECcdaE7624181557`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts' running
WARNING:CryticCompile:Warning: crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:283:7: Warning: This declaration shadows an existing declaration.
uint80 roundId,
^------------^
crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:273:7: The shadowed declaration is here:
uint80 roundId,
^------------^
Warning: crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:284:7: Warning: This declaration shadows an existing declaration.
int256 answer,
^-----------^
crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:274:7: The shadowed declaration is here:
int256 answer,
^-----------^
Warning: crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:285:7: Warning: This declaration shadows an existing declaration.
uint256 startedAt,
^---------------^
crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:275:7: The shadowed declaration is here:
uint256 startedAt,
^---------------^
Warning: crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:286:7: Warning: This declaration shadows an existing declaration.
uint256 updatedAt,
^---------------^
crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:276:7: The shadowed declaration is here:
uint256 updatedAt,
^---------------^
Warning: crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:331:7: Warning: This declaration shadows an existing declaration.
uint80 roundId,
^------------^
crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:321:7: The shadowed declaration is here:
uint80 roundId,
^------------^
Warning: crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:332:7: Warning: This declaration shadows an existing declaration.
int256 answer,
^-----------^
crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:322:7: The shadowed declaration is here:
int256 answer,
^-----------^
Warning: crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:333:7: Warning: This declaration shadows an existing declaration.
uint256 startedAt,
^---------------^
crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:323:7: The shadowed declaration is here:
uint256 startedAt,
^---------------^
Warning: crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:334:7: Warning: This declaration shadows an existing declaration.
uint256 updatedAt,
^---------------^
crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:324:7: The shadowed declaration is here:
uint256 updatedAt,
^---------------^
Warning: crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:513:5: Warning: This declaration shadows an existing declaration.
uint16 phaseId = uint16(_roundId >> PHASE_OFFSET);
^------------^
crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:410:3: The shadowed declaration is here:
function phaseId()
^ (Relevant source part starts here and spans across multiple lines).
Warning: crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:525:7: Warning: This declaration shadows an existing declaration.
uint16 phaseId
^------------^
crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:410:3: The shadowed declaration is here:
function phaseId()
^ (Relevant source part starts here and spans across multiple lines).
Warning: crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:495:3: Warning: Function state mutability can be restricted to pure
function addPhase(
^ (Relevant source part starts here and spans across multiple lines).
Warning: crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:506:3: Warning: Function state mutability can be restricted to pure
function parseIds(
^ (Relevant source part starts here and spans across multiple lines).
```
View warnings for Lib_AddressManager at `0xdE1FCfB0851916CA5101820A69b13a4E276bd81F`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0xde1fcfb0851916ca5101820a69b13a4e276bd81f-Lib_AddressManager' running
WARNING:CryticCompile:Warning: @openzeppelin/contracts/access/Ownable.sol:26:5: Warning: Visibility for constructor is ignored. If you want the contract to be non-deployable, making it "abstract" is sufficient.
constructor () internal {
^ (Relevant source part starts here and spans across multiple lines).
```
View warnings for ArbAdapter at `0xE2a33403eaD139873820da597531f07f65ED0E3c`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0xe2a33403ead139873820da597531f07f65ed0e3c-ArbAdapter' running
```
View warnings for Router at `0xE561d5E02207fb5eB32cca20a699E0d8919a1476`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0xe561d5e02207fb5eb32cca20a699e0d8919a1476-Router' running
```
View warnings for TransparentUpgradeableProxy at `0xEd42a7D8559a463722Ca4beD50E0Cc05a386b0e1` with implementation CrossChainController at `0x0Bf5bbfaE7808D329e0Ba8277e0b746BbfDA68f1`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0xed42a7d8559a463722ca4bed50e0cc05a386b0e1-TransparentUpgradeableProxy' running
```
View warnings for FxTunnelEthereum at `0xF30FA9e36FdDd4982B722432FD39914e9ab2b033`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0xf30fa9e36fddd4982b722432fd39914e9ab2b033-FxTunnelEthereum' running
WARNING:CryticCompile:Warning: Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing "SPDX-License-Identifier: " to each source file. Use "SPDX-License-Identifier: UNLICENSED" for non-open-source code. Please see https://spdx.org for more information.
--> lib/fx-portal/contracts/lib/ExitPayloadReader.sol
Warning: Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing "SPDX-License-Identifier: " to each source file. Use "SPDX-License-Identifier: UNLICENSED" for non-open-source code. Please see https://spdx.org for more information.
--> lib/fx-portal/contracts/lib/RLPReader.sol
Warning: Warning: Unnamed return variable can remain unassigned. Add an explicit return with value to all non-reverting code paths or name the variable.
--> lib/fx-portal/contracts/lib/MerklePatriciaProof.sol:20:30:
|
20 | ) internal pure returns (bool) {
| ^^^^
```
View warnings for FxRoot at `0xfe5e5D361b2ad62c541bAb87C45a0B9B018389a2`
```
INFO:CryticCompile:'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts' running
```
#### Runs slither against the verified contracts ✅ Passed
Info:
-
View Details
Slither report for PriceRegistry at `0x020082A7a9c2510e1921116001152DEE4da81985`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x020082a7a9c2510e1921116001152dee4da81985-PriceRegistry' running
INFO:Detectors:
PriceRegistry._getValidatedTokenPrice(address) (src/v0.8/ccip/PriceRegistry.sol#134-140) uses a dangerous strict equality:
- tokenPrice.timestamp == 0 || tokenPrice.value == 0 (src/v0.8/ccip/PriceRegistry.sol#136)
PriceRegistry.getTokenAndGasPrices(address,uint64) (src/v0.8/ccip/PriceRegistry.sol#100-111) uses a dangerous strict equality:
- gasPrice.timestamp == 0 (src/v0.8/ccip/PriceRegistry.sol#106)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-strict-equalities
INFO:Detectors:
PriceRegistry.getTokenAndGasPrices(address,uint64) (src/v0.8/ccip/PriceRegistry.sol#100-111) uses timestamp for comparisons
Dangerous comparisons:
- gasPrice.timestamp == 0 (src/v0.8/ccip/PriceRegistry.sol#106)
- timePassed > i_stalenessThreshold (src/v0.8/ccip/PriceRegistry.sol#108)
PriceRegistry._getValidatedTokenPrice(address) (src/v0.8/ccip/PriceRegistry.sol#134-140) uses timestamp for comparisons
Dangerous comparisons:
- tokenPrice.timestamp == 0 || tokenPrice.value == 0 (src/v0.8/ccip/PriceRegistry.sol#136)
- timePassed > i_stalenessThreshold (src/v0.8/ccip/PriceRegistry.sol#138)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#block-timestamp
INFO:Detectors:
EnumerableSet.values(EnumerableSet.Bytes32Set) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#219-229) uses assembly
- INLINE ASM (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#224-226)
EnumerableSet.values(EnumerableSet.AddressSet) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#293-303) uses assembly
- INLINE ASM (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#298-300)
EnumerableSet.values(EnumerableSet.UintSet) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#367-377) uses assembly
- INLINE ASM (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#372-374)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
Client._argsToBytes(Client.EVMExtraArgsV1) (src/v0.8/ccip/libraries/Client.sol#36-38) is never used and should be removed
EnumerableSet._at(EnumerableSet.Set,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#141-143) is never used and should be removed
EnumerableSet._length(EnumerableSet.Set) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#127-129) is never used and should be removed
EnumerableSet.add(EnumerableSet.Bytes32Set,bytes32) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#169-171) is never used and should be removed
EnumerableSet.add(EnumerableSet.UintSet,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#317-319) is never used and should be removed
EnumerableSet.at(EnumerableSet.AddressSet,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#281-283) is never used and should be removed
EnumerableSet.at(EnumerableSet.Bytes32Set,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#207-209) is never used and should be removed
EnumerableSet.at(EnumerableSet.UintSet,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#355-357) is never used and should be removed
EnumerableSet.contains(EnumerableSet.Bytes32Set,bytes32) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#186-188) is never used and should be removed
EnumerableSet.contains(EnumerableSet.UintSet,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#334-336) is never used and should be removed
EnumerableSet.length(EnumerableSet.AddressSet) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#267-269) is never used and should be removed
EnumerableSet.length(EnumerableSet.Bytes32Set) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#193-195) is never used and should be removed
EnumerableSet.length(EnumerableSet.UintSet) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#341-343) is never used and should be removed
EnumerableSet.remove(EnumerableSet.Bytes32Set,bytes32) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#179-181) is never used and should be removed
EnumerableSet.remove(EnumerableSet.UintSet,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#327-329) is never used and should be removed
EnumerableSet.values(EnumerableSet.Bytes32Set) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#219-229) is never used and should be removed
EnumerableSet.values(EnumerableSet.UintSet) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#367-377) is never used and should be removed
Internal._hash(Internal.EVM2EVMMessage,bytes32) (src/v0.8/ccip/libraries/Internal.sol#71-89) is never used and should be removed
Internal._toAny2EVMMessage(Internal.EVM2EVMMessage,Client.EVMTokenAmount[]) (src/v0.8/ccip/libraries/Internal.sol#56-67) is never used and should be removed
MerkleMultiProof._hashInternalNode(bytes32,bytes32) (src/v0.8/ccip/libraries/MerkleMultiProof.sol#104-106) is never used and should be removed
MerkleMultiProof._hashPair(bytes32,bytes32) (src/v0.8/ccip/libraries/MerkleMultiProof.sol#110-112) is never used and should be removed
MerkleMultiProof.merkleRoot(bytes32[],bytes32[],uint256) (src/v0.8/ccip/libraries/MerkleMultiProof.sol#50-100) is never used and should be removed
USDPriceWith18Decimals._calcTokenAmountFromUSDValue(uint192,uint256) (src/v0.8/ccip/libraries/USDPriceWith18Decimals.sol#33-44) is never used and should be removed
USDPriceWith18Decimals._calcUSDValueFromTokenAmount(uint192,uint256) (src/v0.8/ccip/libraries/USDPriceWith18Decimals.sol#14-25) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Internal.EVM_2_EVM_MESSAGE_HASH (src/v0.8/ccip/libraries/Internal.sol#69) is never used in Internal (src/v0.8/ccip/libraries/Internal.sol#8-103)
MerkleMultiProof.LEAF_DOMAIN_SEPARATOR (src/v0.8/ccip/libraries/MerkleMultiProof.sol#6) is never used in MerkleMultiProof (src/v0.8/ccip/libraries/MerkleMultiProof.sol#4-113)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-state-variable
INFO:Slither:0x020082a7a9c2510e1921116001152dee4da81985 analyzed (11 contracts with 87 detectors), 33 result(s) found
```
Slither report for KeeperRegistry at `0x02777053d6764996e594c3E88AF1D58D5363a2e6`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x02777053d6764996e594c3e88af1d58d5363a2e6-KeeperRegistry' running
INFO:Detectors:
KeeperRegistry.addFunds(uint256,uint96) (contracts/v0.8/KeeperRegistry.sol#297-302) ignores return value by LINK.transferFrom(msg.sender,address(this),amount) (contracts/v0.8/KeeperRegistry.sol#300)
KeeperRegistry.withdrawFunds(uint256,address) (contracts/v0.8/KeeperRegistry.sol#331-355) ignores return value by LINK.transfer(to,amountToWithdraw) (contracts/v0.8/KeeperRegistry.sol#354)
KeeperRegistry.withdrawOwnerFunds() (contracts/v0.8/KeeperRegistry.sol#360-368) ignores return value by LINK.transfer(msg.sender,amount) (contracts/v0.8/KeeperRegistry.sol#367)
KeeperRegistry.recoverFunds() (contracts/v0.8/KeeperRegistry.sol#389-392) ignores return value by LINK.transfer(msg.sender,total - s_expectedLinkBalance) (contracts/v0.8/KeeperRegistry.sol#391)
KeeperRegistry.withdrawPayment(address,address) (contracts/v0.8/KeeperRegistry.sol#399-408) ignores return value by LINK.transfer(to,keeper.balance) (contracts/v0.8/KeeperRegistry.sol#407)
KeeperRegistry.migrateUpkeeps(uint256[],address) (contracts/v0.8/KeeperRegistry.sol#648-683) ignores return value by LINK.transfer(destination,totalBalanceRemaining) (contracts/v0.8/KeeperRegistry.sol#682)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unchecked-transfer
INFO:Detectors:
KeeperBase.preventExecution() (contracts/v0.8/KeeperBase.sol#11-15) uses tx.origin for authorization: tx.origin != address(0) (contracts/v0.8/KeeperBase.sol#12)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-usage-of-txorigin
INFO:Detectors:
KeeperRegistry.cancelUpkeep(uint256) (contracts/v0.8/KeeperRegistry.sol#273-289) ignores return value by s_upkeepIDs.remove(id) (contracts/v0.8/KeeperRegistry.sol#286)
KeeperRegistry.migrateUpkeeps(uint256[],address) (contracts/v0.8/KeeperRegistry.sol#648-683) ignores return value by s_upkeepIDs.remove(id) (contracts/v0.8/KeeperRegistry.sol#670)
KeeperRegistry._createUpkeep(uint256,address,uint32,address,uint96,bytes) (contracts/v0.8/KeeperRegistry.sol#723-745) ignores return value by s_upkeepIDs.add(id) (contracts/v0.8/KeeperRegistry.sol#744)
KeeperRegistry._getFeedData() (contracts/v0.8/KeeperRegistry.sol#753-771) ignores return value by (None,feedValue,None,timestamp,None) = FAST_GAS_FEED.latestRoundData() (contracts/v0.8/KeeperRegistry.sol#758)
KeeperRegistry._getFeedData() (contracts/v0.8/KeeperRegistry.sol#753-771) ignores return value by (None,feedValue,None,timestamp,None) = LINK_ETH_FEED.latestRoundData() (contracts/v0.8/KeeperRegistry.sol#764)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return
INFO:Detectors:
Reentrancy in KeeperRegistry.addFunds(uint256,uint96) (contracts/v0.8/KeeperRegistry.sol#297-302):
External calls:
- LINK.transferFrom(msg.sender,address(this),amount) (contracts/v0.8/KeeperRegistry.sol#300)
Event emitted after the call(s):
- FundsAdded(id,msg.sender,amount) (contracts/v0.8/KeeperRegistry.sol#301)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3
INFO:Detectors:
KeeperRegistry._getFeedData() (contracts/v0.8/KeeperRegistry.sol#753-771) uses timestamp for comparisons
Dangerous comparisons:
- (staleFallback && stalenessSeconds < block.timestamp - timestamp) || feedValue <= 0 (contracts/v0.8/KeeperRegistry.sol#759)
- (staleFallback && stalenessSeconds < block.timestamp - timestamp) || feedValue <= 0 (contracts/v0.8/KeeperRegistry.sol#765)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#block-timestamp
INFO:Detectors:
Address.verifyCallResult(bool,bytes,string) (@openzeppelin/contracts/utils/Address.sol#201-221) uses assembly
- INLINE ASM (@openzeppelin/contracts/utils/Address.sol#213-216)
EnumerableSet.values(EnumerableSet.AddressSet) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#274-283) uses assembly
- INLINE ASM (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#278-280)
EnumerableSet.values(EnumerableSet.UintSet) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#347-356) uses assembly
- INLINE ASM (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#351-353)
KeeperRegistry._callWithExactGas(uint256,address,bytes) (contracts/v0.8/KeeperRegistry.sol#792-817) uses assembly
- INLINE ASM (contracts/v0.8/KeeperRegistry.sol#797-815)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
KeeperRegistry.migrateUpkeeps(uint256[],address) (contracts/v0.8/KeeperRegistry.sol#648-683) has costly operations inside a loop:
- delete s_upkeep[id] (contracts/v0.8/KeeperRegistry.sol#668)
KeeperRegistry.migrateUpkeeps(uint256[],address) (contracts/v0.8/KeeperRegistry.sol#648-683) has costly operations inside a loop:
- delete s_checkData[id] (contracts/v0.8/KeeperRegistry.sol#669)
KeeperRegistry._createUpkeep(uint256,address,uint32,address,uint96,bytes) (contracts/v0.8/KeeperRegistry.sol#723-745) has costly operations inside a loop:
- s_expectedLinkBalance = s_expectedLinkBalance + balance (contracts/v0.8/KeeperRegistry.sol#742)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#costly-operations-inside-a-loop
INFO:Detectors:
Address.functionCall(address,bytes) (@openzeppelin/contracts/utils/Address.sol#85-87) is never used and should be removed
Address.functionCall(address,bytes,string) (@openzeppelin/contracts/utils/Address.sol#95-101) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (@openzeppelin/contracts/utils/Address.sol#114-120) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (@openzeppelin/contracts/utils/Address.sol#128-139) is never used and should be removed
Address.functionDelegateCall(address,bytes) (@openzeppelin/contracts/utils/Address.sol#174-176) is never used and should be removed
Address.functionDelegateCall(address,bytes,string) (@openzeppelin/contracts/utils/Address.sol#184-193) is never used and should be removed
Address.functionStaticCall(address,bytes) (@openzeppelin/contracts/utils/Address.sol#147-149) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (@openzeppelin/contracts/utils/Address.sol#157-166) is never used and should be removed
Address.sendValue(address,uint256) (@openzeppelin/contracts/utils/Address.sol#60-65) is never used and should be removed
Address.verifyCallResult(bool,bytes,string) (@openzeppelin/contracts/utils/Address.sol#201-221) is never used and should be removed
Context._msgData() (@openzeppelin/contracts/utils/Context.sol#21-23) is never used and should be removed
EnumerableSet._values(EnumerableSet.Set) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#142-144) is never used and should be removed
EnumerableSet.add(EnumerableSet.AddressSet,address) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#224-226) is never used and should be removed
EnumerableSet.add(EnumerableSet.Bytes32Set,bytes32) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#158-160) is never used and should be removed
EnumerableSet.at(EnumerableSet.AddressSet,uint256) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#262-264) is never used and should be removed
EnumerableSet.at(EnumerableSet.Bytes32Set,uint256) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#196-198) is never used and should be removed
EnumerableSet.contains(EnumerableSet.AddressSet,address) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#241-243) is never used and should be removed
EnumerableSet.contains(EnumerableSet.Bytes32Set,bytes32) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#175-177) is never used and should be removed
EnumerableSet.contains(EnumerableSet.UintSet,uint256) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#314-316) is never used and should be removed
EnumerableSet.length(EnumerableSet.AddressSet) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#248-250) is never used and should be removed
EnumerableSet.length(EnumerableSet.Bytes32Set) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#182-184) is never used and should be removed
EnumerableSet.remove(EnumerableSet.AddressSet,address) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#234-236) is never used and should be removed
EnumerableSet.remove(EnumerableSet.Bytes32Set,bytes32) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#168-170) is never used and should be removed
EnumerableSet.values(EnumerableSet.AddressSet) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#274-283) is never used and should be removed
EnumerableSet.values(EnumerableSet.Bytes32Set) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#208-210) is never used and should be removed
EnumerableSet.values(EnumerableSet.UintSet) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#347-356) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Low level call in Address.sendValue(address,uint256) (@openzeppelin/contracts/utils/Address.sol#60-65):
- (success) = recipient.call{value: amount}() (@openzeppelin/contracts/utils/Address.sol#63)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (@openzeppelin/contracts/utils/Address.sol#128-139):
- (success,returndata) = target.call{value: value}(data) (@openzeppelin/contracts/utils/Address.sol#137)
Low level call in Address.functionStaticCall(address,bytes,string) (@openzeppelin/contracts/utils/Address.sol#157-166):
- (success,returndata) = target.staticcall(data) (@openzeppelin/contracts/utils/Address.sol#164)
Low level call in Address.functionDelegateCall(address,bytes,string) (@openzeppelin/contracts/utils/Address.sol#184-193):
- (success,returndata) = target.delegatecall(data) (@openzeppelin/contracts/utils/Address.sol#191)
Low level call in KeeperRegistry.checkUpkeep(uint256,address) (contracts/v0.8/KeeperRegistry.sol#226-252):
- (success,result) = upkeep.target.call{gas: s_storage.checkGasLimit}(callData) (contracts/v0.8/KeeperRegistry.sol#241)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
INFO:Detectors:
Variable KeeperRegistry.LINK (contracts/v0.8/KeeperRegistry.sol#63) is not in mixedCase
Variable KeeperRegistry.LINK_ETH_FEED (contracts/v0.8/KeeperRegistry.sol#64) is not in mixedCase
Variable KeeperRegistry.FAST_GAS_FEED (contracts/v0.8/KeeperRegistry.sol#65) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Detectors:
Loop condition i < s_keeperList.length (contracts/v0.8/KeeperRegistry.sol#488) should use cached array length instead of referencing `length` member of the storage array.
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#cache-array-length
INFO:Slither:0x02777053d6764996e594c3e88af1d58d5363a2e6 analyzed (20 contracts with 87 detectors), 56 result(s) found
```
Slither report for CrossChainController at `0x0Bf5bbfaE7808D329e0Ba8277e0b746BbfDA68f1`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x0bf5bbfae7808d329e0ba8277e0b746bbfda68f1-CrossChainController' running
INFO:Detectors:
CrossChainForwarder._bridgeTransaction(bytes32,bytes32,bytes,uint256,uint256,ICrossChainForwarder.ChainIdBridgeConfig[]) (src/contracts/CrossChainForwarder.sol#274-314) uses delegatecall to a input-controlled function id
- (success,returnData) = bridgeAdapters[i].currentChainBridgeAdapter.delegatecall(abi.encodeWithSelector(IBaseAdapter.forwardMessage.selector,bridgeAdapters[i].destinationBridgeAdapter,gasLimit,destinationChainId,encodedTransaction)) (src/contracts/CrossChainForwarder.sol#284-294)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#controlled-delegatecall
INFO:Detectors:
CrossChainForwarder._bridgeAdaptersByChain (src/contracts/CrossChainForwarder.sol#41) is never initialized. It is used in:
- CrossChainForwarder.forwardMessage(uint256,address,uint256,bytes) (src/contracts/CrossChainForwarder.sol#105-144)
- CrossChainForwarder.retryEnvelope(Envelope,uint256) (src/contracts/CrossChainForwarder.sol#147-177)
- CrossChainForwarder.retryTransaction(bytes,uint256,address[]) (src/contracts/CrossChainForwarder.sol#180-231)
- CrossChainForwarder.getForwarderBridgeAdaptersByChain(uint256) (src/contracts/CrossChainForwarder.sol#234-238)
- CrossChainForwarder._enableBridgeAdapters(ICrossChainForwarder.ForwarderBridgeAdapterConfigInput[]) (src/contracts/CrossChainForwarder.sol#320-385)
- CrossChainForwarder._disableBridgeAdapters(ICrossChainForwarder.BridgeAdapterToDisable[]) (src/contracts/CrossChainForwarder.sol#391-421)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-state-variables
INFO:Detectors:
Reentrancy in CrossChainReceiver.receiveCrossChainMessage(bytes,uint256) (src/contracts/CrossChainReceiver.sol#151-220):
External calls:
- IBaseReceiverPortal(envelope.destination).receiveCrossChainMessage(envelope.origin,envelope.originChainId,envelope.message) (src/contracts/CrossChainReceiver.sol#206-217)
State variables written after the call(s):
- _envelopesState[envelopeId] = EnvelopeState.Confirmed (src/contracts/CrossChainReceiver.sol#215)
CrossChainReceiver._envelopesState (src/contracts/CrossChainReceiver.sol#30) can be used in cross function reentrancies:
- CrossChainReceiver.deliverEnvelope(Envelope) (src/contracts/CrossChainReceiver.sol#223-237)
- CrossChainReceiver.getEnvelopeState(bytes32) (src/contracts/CrossChainReceiver.sol#112-114)
- CrossChainReceiver.receiveCrossChainMessage(bytes,uint256) (src/contracts/CrossChainReceiver.sol#151-220)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-1
INFO:Detectors:
TransactionUtils.encode(Transaction).encodedTransaction (src/contracts/libs/EncodingUtils.sol#116) is a local variable never initialized
CrossChainForwarder._enableBridgeAdapters(ICrossChainForwarder.ForwarderBridgeAdapterConfigInput[]).configFound (src/contracts/CrossChainForwarder.sol#334) is a local variable never initialized
EnvelopeUtils.encode(Envelope).encodedEnvelope (src/contracts/libs/EncodingUtils.sol#47) is a local variable never initialized
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-local-variables
INFO:Detectors:
CrossChainReceiver._updateReceiverBridgeAdapters(ICrossChainReceiver.ReceiverBridgeAdapterConfigInput[],bool) (src/contracts/CrossChainReceiver.sol#286-317) ignores return value by _supportedChains.add(input.chainIds[j]) (src/contracts/CrossChainReceiver.sol#297)
CrossChainReceiver._updateReceiverBridgeAdapters(ICrossChainReceiver.ReceiverBridgeAdapterConfigInput[],bool) (src/contracts/CrossChainReceiver.sol#286-317) ignores return value by _supportedChains.remove(input.chainIds[j]) (src/contracts/CrossChainReceiver.sol#309)
CrossChainForwarder._enableBridgeAdapters(ICrossChainForwarder.ForwarderBridgeAdapterConfigInput[]) (src/contracts/CrossChainForwarder.sol#320-385) ignores return value by Address.functionDelegateCall(bridgeAdapterConfigInput.currentChainBridgeAdapter,abi.encodeWithSelector(IBaseAdapter.setupPayments.selector),Errors.ADAPTER_PAYMENT_SETUP_FAILED) (src/contracts/CrossChainForwarder.sol#364-368)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return
INFO:Detectors:
BaseCrossChainController._baseInitialize(address,address,ICrossChainReceiver.ConfirmationInput[],ICrossChainReceiver.ReceiverBridgeAdapterConfigInput[],ICrossChainForwarder.ForwarderBridgeAdapterConfigInput[],address[]).owner (src/contracts/BaseCrossChainController.sol#34) shadows:
- Ownable.owner() (lib/solidity-utils/src/contracts/oz-common/Ownable.sol#44-46) (function)
BaseCrossChainController._baseInitialize(address,address,ICrossChainReceiver.ConfirmationInput[],ICrossChainReceiver.ReceiverBridgeAdapterConfigInput[],ICrossChainForwarder.ForwarderBridgeAdapterConfigInput[],address[]).guardian (src/contracts/BaseCrossChainController.sol#35) shadows:
- OwnableWithGuardian.guardian() (lib/solidity-utils/src/contracts/access-control/OwnableWithGuardian.sol#24-26) (function)
- IWithGuardian.guardian() (lib/solidity-utils/src/contracts/access-control/interfaces/IWithGuardian.sol#15) (function)
CrossChainController.initialize(address,address,ICrossChainReceiver.ConfirmationInput[],ICrossChainReceiver.ReceiverBridgeAdapterConfigInput[],ICrossChainForwarder.ForwarderBridgeAdapterConfigInput[],address[]).owner (src/contracts/CrossChainController.sol#15) shadows:
- Ownable.owner() (lib/solidity-utils/src/contracts/oz-common/Ownable.sol#44-46) (function)
CrossChainController.initialize(address,address,ICrossChainReceiver.ConfirmationInput[],ICrossChainReceiver.ReceiverBridgeAdapterConfigInput[],ICrossChainForwarder.ForwarderBridgeAdapterConfigInput[],address[]).guardian (src/contracts/CrossChainController.sol#16) shadows:
- OwnableWithGuardian.guardian() (lib/solidity-utils/src/contracts/access-control/OwnableWithGuardian.sol#24-26) (function)
- IWithGuardian.guardian() (lib/solidity-utils/src/contracts/access-control/interfaces/IWithGuardian.sol#15) (function)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#local-variable-shadowing
INFO:Detectors:
Rescuable.emergencyEtherTransfer(address,uint256).to (lib/solidity-utils/src/contracts/utils/Rescuable.sol#34) lacks a zero-check on :
- (success) = to.call{value: amount}(new bytes(0)) (lib/solidity-utils/src/contracts/utils/Rescuable.sol#35)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation
INFO:Detectors:
Reentrancy in CrossChainForwarder._configureForwarderBasics(ICrossChainForwarder.ForwarderBridgeAdapterConfigInput[],ICrossChainForwarder.BridgeAdapterToDisable[],address[],address[]) (src/contracts/CrossChainForwarder.sol#437-447):
External calls:
- _enableBridgeAdapters(bridgesToEnable) (src/contracts/CrossChainForwarder.sol#443)
- (success,returndata) = target.delegatecall(data) (lib/solidity-utils/src/contracts/oz-common/Address.sol#189)
- Address.functionDelegateCall(bridgeAdapterConfigInput.currentChainBridgeAdapter,abi.encodeWithSelector(IBaseAdapter.setupPayments.selector),Errors.ADAPTER_PAYMENT_SETUP_FAILED) (src/contracts/CrossChainForwarder.sol#364-368)
State variables written after the call(s):
- _updateSenders(sendersToEnable,true) (src/contracts/CrossChainForwarder.sol#445)
- _approvedSenders[senders[i]] = newState (src/contracts/CrossChainForwarder.sol#431)
- _updateSenders(sendersToDisable,false) (src/contracts/CrossChainForwarder.sol#446)
- _approvedSenders[senders[i]] = newState (src/contracts/CrossChainForwarder.sol#431)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-2
INFO:Detectors:
Reentrancy in CrossChainForwarder._bridgeTransaction(bytes32,bytes32,bytes,uint256,uint256,ICrossChainForwarder.ChainIdBridgeConfig[]) (src/contracts/CrossChainForwarder.sol#274-314):
External calls:
- (success,returnData) = bridgeAdapters[i].currentChainBridgeAdapter.delegatecall(abi.encodeWithSelector(IBaseAdapter.forwardMessage.selector,bridgeAdapters[i].destinationBridgeAdapter,gasLimit,destinationChainId,encodedTransaction)) (src/contracts/CrossChainForwarder.sol#284-294)
Event emitted after the call(s):
- TransactionForwardingAttempted(transactionId,envelopeId,encodedTransaction,destinationChainId,bridgeAdapters[i].currentChainBridgeAdapter,bridgeAdapters[i].destinationBridgeAdapter,success,returnData) (src/contracts/CrossChainForwarder.sol#301-310)
Reentrancy in CrossChainForwarder._configureForwarderBasics(ICrossChainForwarder.ForwarderBridgeAdapterConfigInput[],ICrossChainForwarder.BridgeAdapterToDisable[],address[],address[]) (src/contracts/CrossChainForwarder.sol#437-447):
External calls:
- _enableBridgeAdapters(bridgesToEnable) (src/contracts/CrossChainForwarder.sol#443)
- (success,returndata) = target.delegatecall(data) (lib/solidity-utils/src/contracts/oz-common/Address.sol#189)
- Address.functionDelegateCall(bridgeAdapterConfigInput.currentChainBridgeAdapter,abi.encodeWithSelector(IBaseAdapter.setupPayments.selector),Errors.ADAPTER_PAYMENT_SETUP_FAILED) (src/contracts/CrossChainForwarder.sol#364-368)
Event emitted after the call(s):
- BridgeAdapterUpdated(bridgeAdaptersToDisable[i].chainIds[j],bridgeAdaptersToDisable[i].bridgeAdapter,destinationBridgeAdapter,false) (src/contracts/CrossChainForwarder.sol#410-415)
- _disableBridgeAdapters(bridgesToDisable) (src/contracts/CrossChainForwarder.sol#444)
- SenderUpdated(senders[i],newState) (src/contracts/CrossChainForwarder.sol#432)
- _updateSenders(sendersToEnable,true) (src/contracts/CrossChainForwarder.sol#445)
- SenderUpdated(senders[i],newState) (src/contracts/CrossChainForwarder.sol#432)
- _updateSenders(sendersToDisable,false) (src/contracts/CrossChainForwarder.sol#446)
Reentrancy in CrossChainForwarder._enableBridgeAdapters(ICrossChainForwarder.ForwarderBridgeAdapterConfigInput[]) (src/contracts/CrossChainForwarder.sol#320-385):
External calls:
- Address.functionDelegateCall(bridgeAdapterConfigInput.currentChainBridgeAdapter,abi.encodeWithSelector(IBaseAdapter.setupPayments.selector),Errors.ADAPTER_PAYMENT_SETUP_FAILED) (src/contracts/CrossChainForwarder.sol#364-368)
Event emitted after the call(s):
- BridgeAdapterUpdated(bridgeAdapterConfigInput.destinationChainId,bridgeAdapterConfigInput.currentChainBridgeAdapter,bridgeAdapterConfigInput.destinationBridgeAdapter,true) (src/contracts/CrossChainForwarder.sol#350-355)
- BridgeAdapterUpdated(bridgeAdapterConfigInput.destinationChainId,bridgeAdapterConfigInput.currentChainBridgeAdapter,bridgeAdapterConfigInput.destinationBridgeAdapter,true) (src/contracts/CrossChainForwarder.sol#377-382)
Reentrancy in CrossChainReceiver.deliverEnvelope(Envelope) (src/contracts/CrossChainReceiver.sol#223-237):
External calls:
- IBaseReceiverPortal(envelope.destination).receiveCrossChainMessage(envelope.origin,envelope.originChainId,envelope.message) (src/contracts/CrossChainReceiver.sol#231-235)
Event emitted after the call(s):
- EnvelopeDeliveryAttempted(envelopeId,envelope,true) (src/contracts/CrossChainReceiver.sol#236)
Reentrancy in Rescuable.emergencyEtherTransfer(address,uint256) (lib/solidity-utils/src/contracts/utils/Rescuable.sol#34-39):
External calls:
- (success) = to.call{value: amount}(new bytes(0)) (lib/solidity-utils/src/contracts/utils/Rescuable.sol#35)
Event emitted after the call(s):
- NativeTokensRescued(msg.sender,to,amount) (lib/solidity-utils/src/contracts/utils/Rescuable.sol#38)
Reentrancy in Rescuable.emergencyTokenTransfer(address,address,uint256) (lib/solidity-utils/src/contracts/utils/Rescuable.sol#23-31):
External calls:
- IERC20(erc20Token).safeTransfer(to,amount) (lib/solidity-utils/src/contracts/utils/Rescuable.sol#28)
Event emitted after the call(s):
- ERC20Rescued(msg.sender,erc20Token,to,amount) (lib/solidity-utils/src/contracts/utils/Rescuable.sol#30)
Reentrancy in CrossChainReceiver.receiveCrossChainMessage(bytes,uint256) (src/contracts/CrossChainReceiver.sol#151-220):
External calls:
- IBaseReceiverPortal(envelope.destination).receiveCrossChainMessage(envelope.origin,envelope.originChainId,envelope.message) (src/contracts/CrossChainReceiver.sol#206-217)
Event emitted after the call(s):
- EnvelopeDeliveryAttempted(envelopeId,envelope,true) (src/contracts/CrossChainReceiver.sol#213)
- EnvelopeDeliveryAttempted(envelopeId,envelope,false) (src/contracts/CrossChainReceiver.sol#216)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3
INFO:Detectors:
CrossChainReceiver._updateMessagesValidityTimestamp(ICrossChainReceiver.ValidityTimestampInput[]) (src/contracts/CrossChainReceiver.sol#244-260) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(input.validityTimestamp > _configurationsByChain[input.chainId].configuration.validityTimestamp && input.validityTimestamp <= block.timestamp,Errors.INVALID_VALIDITY_TIMESTAMP) (src/contracts/CrossChainReceiver.sol#249-254)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#block-timestamp
INFO:Detectors:
EnumerableSet.values(EnumerableSet.Bytes32Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#219-229) uses assembly
- INLINE ASM (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#224-226)
EnumerableSet.values(EnumerableSet.AddressSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#293-303) uses assembly
- INLINE ASM (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#298-300)
EnumerableSet.values(EnumerableSet.UintSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#367-377) uses assembly
- INLINE ASM (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#372-374)
Address._revert(bytes,string) (lib/solidity-utils/src/contracts/oz-common/Address.sol#235-247) uses assembly
- INLINE ASM (lib/solidity-utils/src/contracts/oz-common/Address.sol#240-243)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
Address.functionCall(address,bytes,string) (lib/solidity-utils/src/contracts/oz-common/Address.sol#96-102) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (lib/solidity-utils/src/contracts/oz-common/Address.sol#115-121) is never used and should be removed
Address.functionDelegateCall(address,bytes) (lib/solidity-utils/src/contracts/oz-common/Address.sol#174-176) is never used and should be removed
Address.functionStaticCall(address,bytes) (lib/solidity-utils/src/contracts/oz-common/Address.sol#146-151) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (lib/solidity-utils/src/contracts/oz-common/Address.sol#159-166) is never used and should be removed
Address.sendValue(address,uint256) (lib/solidity-utils/src/contracts/oz-common/Address.sol#61-66) is never used and should be removed
Address.verifyCallResult(bool,bytes,string) (lib/solidity-utils/src/contracts/oz-common/Address.sol#223-233) is never used and should be removed
Context._msgData() (lib/solidity-utils/src/contracts/oz-common/Context.sol#22-24) is never used and should be removed
EnumerableSet._at(EnumerableSet.Set,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#141-143) is never used and should be removed
EnumerableSet.add(EnumerableSet.Bytes32Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#169-171) is never used and should be removed
EnumerableSet.at(EnumerableSet.AddressSet,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#281-283) is never used and should be removed
EnumerableSet.at(EnumerableSet.Bytes32Set,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#207-209) is never used and should be removed
EnumerableSet.at(EnumerableSet.UintSet,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#355-357) is never used and should be removed
EnumerableSet.contains(EnumerableSet.Bytes32Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#186-188) is never used and should be removed
EnumerableSet.contains(EnumerableSet.UintSet,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#334-336) is never used and should be removed
EnumerableSet.length(EnumerableSet.Bytes32Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#193-195) is never used and should be removed
EnumerableSet.length(EnumerableSet.UintSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#341-343) is never used and should be removed
EnumerableSet.remove(EnumerableSet.Bytes32Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#179-181) is never used and should be removed
EnumerableSet.values(EnumerableSet.Bytes32Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#219-229) is never used and should be removed
Initializable._disableInitializers() (lib/solidity-utils/src/contracts/transparent-proxy/Initializable.sol#150-156) is never used and should be removed
OwnableWithGuardian._checkGuardian() (lib/solidity-utils/src/contracts/access-control/OwnableWithGuardian.sol#43-45) is never used and should be removed
SafeERC20._callOptionalReturnBool(IERC20,bytes) (lib/solidity-utils/src/contracts/oz-common/SafeERC20.sol#133-140) is never used and should be removed
SafeERC20.forceApprove(IERC20,address,uint256) (lib/solidity-utils/src/contracts/oz-common/SafeERC20.sol#77-84) is never used and should be removed
SafeERC20.safeDecreaseAllowance(IERC20,address,uint256) (lib/solidity-utils/src/contracts/oz-common/SafeERC20.sol#62-70) is never used and should be removed
SafeERC20.safeIncreaseAllowance(IERC20,address,uint256) (lib/solidity-utils/src/contracts/oz-common/SafeERC20.sol#53-56) is never used and should be removed
SafeERC20.safePermit(IERC20Permit,address,address,uint256,uint256,uint8,bytes32,bytes32) (lib/solidity-utils/src/contracts/oz-common/SafeERC20.sol#90-106) is never used and should be removed
SafeERC20.safeTransferFrom(IERC20,address,address,uint256) (lib/solidity-utils/src/contracts/oz-common/SafeERC20.sol#45-47) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Low level call in Address.sendValue(address,uint256) (lib/solidity-utils/src/contracts/oz-common/Address.sol#61-66):
- (success) = recipient.call{value: amount}() (lib/solidity-utils/src/contracts/oz-common/Address.sol#64)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (lib/solidity-utils/src/contracts/oz-common/Address.sol#129-138):
- (success,returndata) = target.call{value: value}(data) (lib/solidity-utils/src/contracts/oz-common/Address.sol#136)
Low level call in Address.functionStaticCall(address,bytes,string) (lib/solidity-utils/src/contracts/oz-common/Address.sol#159-166):
- (success,returndata) = target.staticcall(data) (lib/solidity-utils/src/contracts/oz-common/Address.sol#164)
Low level call in Address.functionDelegateCall(address,bytes,string) (lib/solidity-utils/src/contracts/oz-common/Address.sol#184-191):
- (success,returndata) = target.delegatecall(data) (lib/solidity-utils/src/contracts/oz-common/Address.sol#189)
Low level call in SafeERC20._callOptionalReturnBool(IERC20,bytes) (lib/solidity-utils/src/contracts/oz-common/SafeERC20.sol#133-140):
- (success,returndata) = address(token).call(data) (lib/solidity-utils/src/contracts/oz-common/SafeERC20.sol#138)
Low level call in Rescuable.emergencyEtherTransfer(address,uint256) (lib/solidity-utils/src/contracts/utils/Rescuable.sol#34-39):
- (success) = to.call{value: amount}(new bytes(0)) (lib/solidity-utils/src/contracts/utils/Rescuable.sol#35)
Low level call in CrossChainForwarder._bridgeTransaction(bytes32,bytes32,bytes,uint256,uint256,ICrossChainForwarder.ChainIdBridgeConfig[]) (src/contracts/CrossChainForwarder.sol#274-314):
- (success,returnData) = bridgeAdapters[i].currentChainBridgeAdapter.delegatecall(abi.encodeWithSelector(IBaseAdapter.forwardMessage.selector,bridgeAdapters[i].destinationBridgeAdapter,gasLimit,destinationChainId,encodedTransaction)) (src/contracts/CrossChainForwarder.sol#284-294)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
INFO:Detectors:
Function IERC20Permit.DOMAIN_SEPARATOR() (lib/solidity-utils/src/contracts/oz-common/interfaces/IERC20Permit.sol#59) is not in mixedCase
Variable CrossChainForwarder.__FORWARDER_GAP (src/contracts/CrossChainForwarder.sol#45) is not in mixedCase
Variable CrossChainReceiver.__RECEIVER_GAP (src/contracts/CrossChainReceiver.sol#37) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Slither:0x0bf5bbfae7808d329e0ba8277e0b746bbfda68f1 analyzed (25 contracts with 87 detectors), 64 result(s) found
```
Slither report for EVM2EVMOnRamp at `0x0f27c8532457b66D6037141DEB0ed479Dad04B3c`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x0f27c8532457b66d6037141deb0ed479dad04b3c-EVM2EVMOnRamp' running
INFO:Detectors:
Reentrancy in EVM2EVMOnRamp._setNops(EVM2EVMOnRamp.NopAndWeight[]) (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#643-677):
External calls:
- payNops() (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#651)
- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/token/ERC20/utils/SafeERC20.sol#110)
- (success,returndata) = target.call{value: value}(data) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#135)
- IERC20(i_linkToken).safeTransfer(nop,amount) (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#698)
External calls sending eth:
- payNops() (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#651)
- (success,returndata) = target.call{value: value}(data) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#135)
State variables written after the call(s):
- s_nopWeightsTotal = nopWeightsTotal (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#675)
EVM2EVMOnRamp.s_nopWeightsTotal (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#182) can be used in cross function reentrancies:
- EVM2EVMOnRamp._setNops(EVM2EVMOnRamp.NopAndWeight[]) (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#643-677)
- EVM2EVMOnRamp.getNops() (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#624-633)
- EVM2EVMOnRamp.payNops() (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#683-704)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities
INFO:Detectors:
Reentrancy in EVM2EVMOnRamp.payNops() (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#683-704):
External calls:
- IERC20(i_linkToken).safeTransfer(nop,amount) (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#698)
State variables written after the call(s):
- s_nopFeesJuels = fundsLeft (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#703)
EVM2EVMOnRamp.s_nopFeesJuels (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#180) can be used in cross function reentrancies:
- EVM2EVMOnRamp._linkLeftAfterNopFees() (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#725-728)
- EVM2EVMOnRamp._setNops(EVM2EVMOnRamp.NopAndWeight[]) (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#643-677)
- EVM2EVMOnRamp.forwardFromRouter(Client.EVM2AnyMessage,uint256,address) (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#262-330)
- EVM2EVMOnRamp.getNopFeesJuels() (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#617-619)
- EVM2EVMOnRamp.payNops() (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#683-704)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-1
INFO:Detectors:
EVM2EVMOnRamp.forwardFromRouter(Client.EVM2AnyMessage,uint256,address) (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#262-330) ignores return value by getPoolBySourceToken(IERC20(tokenAndAmount.token)).lockOrBurn(originalSender,message.receiver,tokenAndAmount.amount,i_destChainSelector,bytes()) (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#318-324)
EVM2EVMOnRamp.getSupportedTokens() (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#422-428) ignores return value by (sourceTokens[i],None) = s_poolsBySourceToken.at(i) (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#425)
EVM2EVMOnRamp._setNops(EVM2EVMOnRamp.NopAndWeight[]) (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#643-677) ignores return value by (nop) = s_nops.at(i - 1) (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#656)
EVM2EVMOnRamp._setNops(EVM2EVMOnRamp.NopAndWeight[]) (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#643-677) ignores return value by s_nops.remove(nop) (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#657)
EVM2EVMOnRamp._setNops(EVM2EVMOnRamp.NopAndWeight[]) (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#643-677) ignores return value by s_nops.set(nop_scope_1,weight) (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#672)
EnumerableMapAddresses.tryGet(EnumerableMapAddresses.AddressToAddressMap,address) (src/v0.8/shared/enumerable/EnumerableMapAddresses.sol#40-42) ignores return value by map._inner.tryGet(uint256(uint160(key))) (src/v0.8/shared/enumerable/EnumerableMapAddresses.sol#41)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return
INFO:Detectors:
AggregateRateLimiter.setAdmin(address).newAdmin (src/v0.8/ccip/AggregateRateLimiter.sol#79) lacks a zero-check on :
- s_admin = newAdmin (src/v0.8/ccip/AggregateRateLimiter.sol#80)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation
INFO:Detectors:
EVM2EVMOnRamp.forwardFromRouter(Client.EVM2AnyMessage,uint256,address) (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#262-330) has external calls inside a loop: getPoolBySourceToken(IERC20(tokenAndAmount.token)).lockOrBurn(originalSender,message.receiver,tokenAndAmount.amount,i_destChainSelector,bytes()) (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#318-324)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation/#calls-inside-a-loop
INFO:Detectors:
Reentrancy in EVM2EVMOnRamp._setNops(EVM2EVMOnRamp.NopAndWeight[]) (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#643-677):
External calls:
- payNops() (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#651)
- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/token/ERC20/utils/SafeERC20.sol#110)
- (success,returndata) = target.call{value: value}(data) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#135)
- IERC20(i_linkToken).safeTransfer(nop,amount) (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#698)
External calls sending eth:
- payNops() (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#651)
- (success,returndata) = target.call{value: value}(data) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#135)
Event emitted after the call(s):
- NopsSet(nopWeightsTotal,nopsAndWeights) (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#676)
Reentrancy in EVM2EVMOnRamp.forwardFromRouter(Client.EVM2AnyMessage,uint256,address) (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#262-330):
External calls:
- getPoolBySourceToken(IERC20(tokenAndAmount.token)).lockOrBurn(originalSender,message.receiver,tokenAndAmount.amount,i_destChainSelector,bytes()) (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#318-324)
Event emitted after the call(s):
- CCIPSendRequested(newMessage) (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#328)
Reentrancy in EVM2EVMOnRamp.payNops() (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#683-704):
External calls:
- IERC20(i_linkToken).safeTransfer(nop,amount) (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#698)
Event emitted after the call(s):
- NopPaid(nop,amount) (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#699)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3
INFO:Detectors:
RateLimiter._consume(RateLimiter.TokenBucket,uint256,address) (src/v0.8/ccip/libraries/RateLimiter.sol#42-81) uses timestamp for comparisons
Dangerous comparisons:
- timeDiff != 0 (src/v0.8/ccip/libraries/RateLimiter.sol#52)
- tokens > capacity (src/v0.8/ccip/libraries/RateLimiter.sol#53)
- tokens < requestTokens (src/v0.8/ccip/libraries/RateLimiter.sol#66)
RateLimiter._setTokenBucketConfig(RateLimiter.TokenBucket,RateLimiter.Config) (src/v0.8/ccip/libraries/RateLimiter.sol#99-115) uses timestamp for comparisons
Dangerous comparisons:
- timeDiff != 0 (src/v0.8/ccip/libraries/RateLimiter.sol#103)
RateLimiter._min(uint256,uint256) (src/v0.8/ccip/libraries/RateLimiter.sol#136-138) uses timestamp for comparisons
Dangerous comparisons:
- a < b (src/v0.8/ccip/libraries/RateLimiter.sol#137)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#block-timestamp
INFO:Detectors:
Address._revert(bytes,string) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#231-243) uses assembly
- INLINE ASM (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#236-239)
EnumerableSet.values(EnumerableSet.Bytes32Set) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#219-229) uses assembly
- INLINE ASM (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#224-226)
EnumerableSet.values(EnumerableSet.AddressSet) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#293-303) uses assembly
- INLINE ASM (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#298-300)
EnumerableSet.values(EnumerableSet.UintSet) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#367-377) uses assembly
- INLINE ASM (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#372-374)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
Address.functionCall(address,bytes) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#85-87) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#114-120) is never used and should be removed
Address.functionDelegateCall(address,bytes) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#170-172) is never used and should be removed
Address.functionDelegateCall(address,bytes,string) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#180-187) is never used and should be removed
Address.functionStaticCall(address,bytes) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#145-147) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#155-162) is never used and should be removed
Address.sendValue(address,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#60-65) is never used and should be removed
Address.verifyCallResult(bool,bytes,string) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#219-229) is never used and should be removed
Client._argsToBytes(Client.EVMExtraArgsV1) (src/v0.8/ccip/libraries/Client.sol#36-38) is never used and should be removed
EnumerableMap.at(EnumerableMap.Bytes32ToUintMap,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#492-495) is never used and should be removed
EnumerableMap.at(EnumerableMap.UintToUintMap,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#216-219) is never used and should be removed
EnumerableMap.contains(EnumerableMap.Bytes32ToUintMap,bytes32) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#472-474) is never used and should be removed
EnumerableMap.contains(EnumerableMap.UintToUintMap,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#196-198) is never used and should be removed
EnumerableMap.get(EnumerableMap.AddressToUintMap,address) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#421-423) is never used and should be removed
EnumerableMap.get(EnumerableMap.AddressToUintMap,address,string) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#431-437) is never used and should be removed
EnumerableMap.get(EnumerableMap.Bytes32ToBytes32Map,bytes32,string) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#153-161) is never used and should be removed
EnumerableMap.get(EnumerableMap.Bytes32ToUintMap,bytes32) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#513-515) is never used and should be removed
EnumerableMap.get(EnumerableMap.Bytes32ToUintMap,bytes32,string) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#523-529) is never used and should be removed
EnumerableMap.get(EnumerableMap.UintToAddressMap,uint256,string) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#339-345) is never used and should be removed
EnumerableMap.get(EnumerableMap.UintToUintMap,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#237-239) is never used and should be removed
EnumerableMap.get(EnumerableMap.UintToUintMap,uint256,string) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#247-253) is never used and should be removed
EnumerableMap.length(EnumerableMap.Bytes32ToUintMap) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#479-481) is never used and should be removed
EnumerableMap.length(EnumerableMap.UintToUintMap) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#203-205) is never used and should be removed
EnumerableMap.remove(EnumerableMap.Bytes32ToUintMap,bytes32) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#465-467) is never used and should be removed
EnumerableMap.remove(EnumerableMap.UintToUintMap,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#189-191) is never used and should be removed
EnumerableMap.set(EnumerableMap.Bytes32ToUintMap,bytes32,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#452-458) is never used and should be removed
EnumerableMap.set(EnumerableMap.UintToUintMap,uint256,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#176-182) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.AddressToUintMap,address) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#409-412) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.Bytes32ToBytes32Map,bytes32) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#125-132) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.Bytes32ToUintMap,bytes32) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#501-504) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.UintToAddressMap,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#317-320) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.UintToUintMap,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#225-228) is never used and should be removed
EnumerableMapAddresses.get(EnumerableMapAddresses.AddressToAddressMap,address,string) (src/v0.8/shared/enumerable/EnumerableMapAddresses.sol#50-56) is never used and should be removed
EnumerableMapAddresses.tryGet(EnumerableMapAddresses.AddressToAddressMap,address) (src/v0.8/shared/enumerable/EnumerableMapAddresses.sol#40-42) is never used and should be removed
EnumerableSet.add(EnumerableSet.UintSet,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#317-319) is never used and should be removed
EnumerableSet.at(EnumerableSet.AddressSet,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#281-283) is never used and should be removed
EnumerableSet.at(EnumerableSet.UintSet,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#355-357) is never used and should be removed
EnumerableSet.contains(EnumerableSet.UintSet,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#334-336) is never used and should be removed
EnumerableSet.length(EnumerableSet.AddressSet) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#267-269) is never used and should be removed
EnumerableSet.length(EnumerableSet.UintSet) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#341-343) is never used and should be removed
EnumerableSet.remove(EnumerableSet.UintSet,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#327-329) is never used and should be removed
EnumerableSet.values(EnumerableSet.Bytes32Set) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#219-229) is never used and should be removed
EnumerableSet.values(EnumerableSet.UintSet) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#367-377) is never used and should be removed
Internal._toAny2EVMMessage(Internal.EVM2EVMMessage,Client.EVMTokenAmount[]) (src/v0.8/ccip/libraries/Internal.sol#56-67) is never used and should be removed
MerkleMultiProof._hashInternalNode(bytes32,bytes32) (src/v0.8/ccip/libraries/MerkleMultiProof.sol#104-106) is never used and should be removed
MerkleMultiProof._hashPair(bytes32,bytes32) (src/v0.8/ccip/libraries/MerkleMultiProof.sol#110-112) is never used and should be removed
MerkleMultiProof.merkleRoot(bytes32[],bytes32[],uint256) (src/v0.8/ccip/libraries/MerkleMultiProof.sol#50-100) is never used and should be removed
SafeERC20.safeApprove(IERC20,address,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/token/ERC20/utils/SafeERC20.sol#46-59) is never used and should be removed
SafeERC20.safeDecreaseAllowance(IERC20,address,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/token/ERC20/utils/SafeERC20.sol#70-81) is never used and should be removed
SafeERC20.safeIncreaseAllowance(IERC20,address,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/token/ERC20/utils/SafeERC20.sol#61-68) is never used and should be removed
SafeERC20.safePermit(IERC20Permit,address,address,uint256,uint256,uint8,bytes32,bytes32) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/token/ERC20/utils/SafeERC20.sol#83-97) is never used and should be removed
SafeERC20.safeTransferFrom(IERC20,address,address,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/token/ERC20/utils/SafeERC20.sol#30-37) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Low level call in Address.sendValue(address,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#60-65):
- (success) = recipient.call{value: amount}() (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#63)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#128-137):
- (success,returndata) = target.call{value: value}(data) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#135)
Low level call in Address.functionStaticCall(address,bytes,string) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#155-162):
- (success,returndata) = target.staticcall(data) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#160)
Low level call in Address.functionDelegateCall(address,bytes,string) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#180-187):
- (success,returndata) = target.delegatecall(data) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#185)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
INFO:Detectors:
Function IERC20Permit.DOMAIN_SEPARATOR() (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/token/ERC20/extensions/draft-IERC20Permit.sol#59) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Detectors:
Internal.EVM_2_EVM_MESSAGE_HASH (src/v0.8/ccip/libraries/Internal.sol#69) is never used in Internal (src/v0.8/ccip/libraries/Internal.sol#8-103)
MerkleMultiProof.LEAF_DOMAIN_SEPARATOR (src/v0.8/ccip/libraries/MerkleMultiProof.sol#6) is never used in MerkleMultiProof (src/v0.8/ccip/libraries/MerkleMultiProof.sol#4-113)
EVM2EVMOnRamp.s_paused (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#188) is never used in EVM2EVMOnRamp (src/v0.8/ccip/onRamp/EVM2EVMOnRamp.sol#30-809)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-state-variable
INFO:Slither:0x0f27c8532457b66d6037141deb0ed479dad04b3c analyzed (24 contracts with 87 detectors), 80 result(s) found
```
Slither report for Bridge at `0x1066CEcC8880948FE55e427E94F1FF221d626591`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x1066cecc8880948fe55e427e94f1ff221d626591-Bridge' running
INFO:Detectors:
Reentrancy in Bridge.executeCall(address,uint256,bytes) (src/bridge/Bridge.sol#205-222):
External calls:
- (success,returnData) = to.call{value: value}(data) (src/bridge/Bridge.sol#219)
State variables written after the call(s):
- _activeOutbox = prevOutbox (src/bridge/Bridge.sol#220)
Bridge._activeOutbox (src/bridge/Bridge.sol#46) can be used in cross function reentrancies:
- Bridge.activeOutbox() (src/bridge/Bridge.sol#77-85)
- Bridge.executeCall(address,uint256,bytes) (src/bridge/Bridge.sol#205-222)
- Bridge.initialize(IOwnable) (src/bridge/Bridge.sol#61-64)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities
INFO:Detectors:
Bridge.setSequencerInbox(address)._sequencerInbox (src/bridge/Bridge.sol#224) lacks a zero-check on :
- sequencerInbox = _sequencerInbox (src/bridge/Bridge.sol#225)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation
INFO:Detectors:
Reentrancy in Bridge.executeCall(address,uint256,bytes) (src/bridge/Bridge.sol#205-222):
External calls:
- (success,returnData) = to.call{value: value}(data) (src/bridge/Bridge.sol#219)
Event emitted after the call(s):
- BridgeCallTriggered(msg.sender,to,value,data) (src/bridge/Bridge.sol#221)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3
INFO:Detectors:
Bridge.addMessageToDelayedAccumulator(uint8,address,uint64,uint64,uint256,bytes32) (src/bridge/Bridge.sol#169-203) uses timestamp for comparisons
Dangerous comparisons:
- count > 0 (src/bridge/Bridge.sol#188)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#block-timestamp
INFO:Detectors:
AddressUpgradeable.verifyCallResult(bool,bytes,string) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#174-194) uses assembly
- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#186-189)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
AddressUpgradeable.functionCall(address,bytes) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#85-87) is never used and should be removed
AddressUpgradeable.functionCall(address,bytes,string) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#95-101) is never used and should be removed
AddressUpgradeable.functionCallWithValue(address,bytes,uint256) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#114-120) is never used and should be removed
AddressUpgradeable.functionCallWithValue(address,bytes,uint256,string) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#128-139) is never used and should be removed
AddressUpgradeable.functionStaticCall(address,bytes) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#147-149) is never used and should be removed
AddressUpgradeable.functionStaticCall(address,bytes,string) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#157-166) is never used and should be removed
AddressUpgradeable.sendValue(address,uint256) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#60-65) is never used and should be removed
AddressUpgradeable.verifyCallResult(bool,bytes,string) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#174-194) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Low level call in AddressUpgradeable.sendValue(address,uint256) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#60-65):
- (success) = recipient.call{value: amount}() (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#63)
Low level call in AddressUpgradeable.functionCallWithValue(address,bytes,uint256,string) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#128-139):
- (success,returndata) = target.call{value: value}(data) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#137)
Low level call in AddressUpgradeable.functionStaticCall(address,bytes,string) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#157-166):
- (success,returndata) = target.staticcall(data) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#164)
Low level call in Bridge.executeCall(address,uint256,bytes) (src/bridge/Bridge.sol#205-222):
- (success,returnData) = to.call{value: value}(data) (src/bridge/Bridge.sol#219)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
INFO:Detectors:
Parameter Bridge.setSequencerInbox(address)._sequencerInbox (src/bridge/Bridge.sol#224) is not in mixedCase
Variable DelegateCallAware.__self (src/libraries/DelegateCallAware.sol#12) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Slither:0x1066cecc8880948fe55e427e94f1ff221d626591 analyzed (7 contracts with 87 detectors), 19 result(s) found
```
Slither report for EACAggregatorProxy at `0x169E633A2D1E6c10dD91238Ba11c4A708dfEF37C`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts' running
Warning: crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:283:7: Warning: This declaration shadows an existing declaration.
uint80 roundId,
^------------^
crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:273:7: The shadowed declaration is here:
uint80 roundId,
^------------^
Warning: crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:284:7: Warning: This declaration shadows an existing declaration.
int256 answer,
^-----------^
crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:274:7: The shadowed declaration is here:
int256 answer,
^-----------^
Warning: crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:285:7: Warning: This declaration shadows an existing declaration.
uint256 startedAt,
^---------------^
crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:275:7: The shadowed declaration is here:
uint256 startedAt,
^---------------^
Warning: crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:286:7: Warning: This declaration shadows an existing declaration.
uint256 updatedAt,
^---------------^
crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:276:7: The shadowed declaration is here:
uint256 updatedAt,
^---------------^
Warning: crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:331:7: Warning: This declaration shadows an existing declaration.
uint80 roundId,
^------------^
crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:321:7: The shadowed declaration is here:
uint80 roundId,
^------------^
Warning: crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:332:7: Warning: This declaration shadows an existing declaration.
int256 answer,
^-----------^
crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:322:7: The shadowed declaration is here:
int256 answer,
^-----------^
Warning: crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:333:7: Warning: This declaration shadows an existing declaration.
uint256 startedAt,
^---------------^
crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:323:7: The shadowed declaration is here:
uint256 startedAt,
^---------------^
Warning: crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:334:7: Warning: This declaration shadows an existing declaration.
uint256 updatedAt,
^---------------^
crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:324:7: The shadowed declaration is here:
uint256 updatedAt,
^---------------^
Warning: crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:513:5: Warning: This declaration shadows an existing declaration.
uint16 phaseId = uint16(_roundId >> PHASE_OFFSET);
^------------^
crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:410:3: The shadowed declaration is here:
function phaseId()
^ (Relevant source part starts here and spans across multiple lines).
Warning: crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:525:7: Warning: This declaration shadows an existing declaration.
uint16 phaseId
^------------^
crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:410:3: The shadowed declaration is here:
function phaseId()
^ (Relevant source part starts here and spans across multiple lines).
Warning: crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:495:3: Warning: Function state mutability can be restricted to pure
function addPhase(
^ (Relevant source part starts here and spans across multiple lines).
Warning: crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol:506:3: Warning: Function state mutability can be restricted to pure
function parseIds(
^ (Relevant source part starts here and spans across multiple lines).
INFO:Detectors:
AggregatorProxy.proposedGetRoundData(uint80) (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#353-367) ignores return value by proposedAggregator.getRoundData(_roundId) (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#366)
AggregatorProxy.proposedLatestRoundData() (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#380-394) ignores return value by proposedAggregator.latestRoundData() (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#393)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return
INFO:Detectors:
AggregatorProxy.getAnswer(uint256).phaseId (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#189) shadows:
- AggregatorProxy.phaseId() (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#410-416) (function)
AggregatorProxy.getAnswer(uint256).aggregator (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#190) shadows:
- AggregatorProxy.aggregator() (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#399-405) (function)
AggregatorProxy.getTimestamp(uint256).phaseId (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#214) shadows:
- AggregatorProxy.phaseId() (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#410-416) (function)
AggregatorProxy.getTimestamp(uint256).aggregator (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#215) shadows:
- AggregatorProxy.aggregator() (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#399-405) (function)
AggregatorProxy.getRoundData(uint80).phaseId (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#280) shadows:
- AggregatorProxy.phaseId() (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#410-416) (function)
AggregatorProxy.getRoundData(uint80).roundId_scope_0 (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#283) shadows:
- AggregatorProxy.getRoundData(uint80).roundId (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#273) (return variable)
- AggregatorProxy.getRoundData(uint80).roundId (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#273) (return variable)
- AggregatorProxy.getRoundData(uint80).roundId (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#273) (return variable)
- AggregatorProxy.getRoundData(uint80).roundId (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#273) (return variable)
- AggregatorProxy.getRoundData(uint80).roundId (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#273) (return variable)
AggregatorProxy.getRoundData(uint80).answer_scope_1 (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#284) shadows:
- AggregatorProxy.getRoundData(uint80).answer (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#274) (return variable)
- AggregatorProxy.getRoundData(uint80).answer (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#274) (return variable)
- AggregatorProxy.getRoundData(uint80).answer (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#274) (return variable)
- AggregatorProxy.getRoundData(uint80).answer (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#274) (return variable)
- AggregatorProxy.getRoundData(uint80).answer (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#274) (return variable)
AggregatorProxy.getRoundData(uint80).startedAt_scope_2 (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#285) shadows:
- AggregatorProxy.getRoundData(uint80).startedAt (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#275) (return variable)
- AggregatorProxy.getRoundData(uint80).startedAt (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#275) (return variable)
- AggregatorProxy.getRoundData(uint80).startedAt (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#275) (return variable)
- AggregatorProxy.getRoundData(uint80).startedAt (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#275) (return variable)
- AggregatorProxy.getRoundData(uint80).startedAt (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#275) (return variable)
AggregatorProxy.getRoundData(uint80).updatedAt_scope_3 (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#286) shadows:
- AggregatorProxy.getRoundData(uint80).updatedAt (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#276) (return variable)
- AggregatorProxy.getRoundData(uint80).updatedAt (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#276) (return variable)
- AggregatorProxy.getRoundData(uint80).updatedAt (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#276) (return variable)
- AggregatorProxy.getRoundData(uint80).updatedAt (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#276) (return variable)
- AggregatorProxy.getRoundData(uint80).updatedAt (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#276) (return variable)
AggregatorProxy.latestRoundData().roundId_scope_0 (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#331) shadows:
- AggregatorProxy.latestRoundData().roundId (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#321) (return variable)
- AggregatorProxy.latestRoundData().roundId (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#321) (return variable)
- AggregatorProxy.latestRoundData().roundId (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#321) (return variable)
- AggregatorProxy.latestRoundData().roundId (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#321) (return variable)
- AggregatorProxy.latestRoundData().roundId (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#321) (return variable)
AggregatorProxy.latestRoundData().answer_scope_1 (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#332) shadows:
- AggregatorProxy.latestRoundData().answer (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#322) (return variable)
- AggregatorProxy.latestRoundData().answer (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#322) (return variable)
- AggregatorProxy.latestRoundData().answer (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#322) (return variable)
- AggregatorProxy.latestRoundData().answer (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#322) (return variable)
- AggregatorProxy.latestRoundData().answer (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#322) (return variable)
AggregatorProxy.latestRoundData().startedAt_scope_2 (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#333) shadows:
- AggregatorProxy.latestRoundData().startedAt (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#323) (return variable)
- AggregatorProxy.latestRoundData().startedAt (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#323) (return variable)
- AggregatorProxy.latestRoundData().startedAt (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#323) (return variable)
- AggregatorProxy.latestRoundData().startedAt (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#323) (return variable)
- AggregatorProxy.latestRoundData().startedAt (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#323) (return variable)
AggregatorProxy.latestRoundData().updatedAt_scope_3 (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#334) shadows:
- AggregatorProxy.latestRoundData().updatedAt (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#324) (return variable)
- AggregatorProxy.latestRoundData().updatedAt (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#324) (return variable)
- AggregatorProxy.latestRoundData().updatedAt (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#324) (return variable)
- AggregatorProxy.latestRoundData().updatedAt (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#324) (return variable)
- AggregatorProxy.latestRoundData().updatedAt (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#324) (return variable)
AggregatorProxy.parseIds(uint256).phaseId (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#513) shadows:
- AggregatorProxy.phaseId() (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#410-416) (function)
AggregatorProxy.addPhaseIds(uint80,int256,uint256,uint256,uint80,uint16).phaseId (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#525) shadows:
- AggregatorProxy.phaseId() (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#410-416) (function)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#local-variable-shadowing
INFO:Detectors:
Owned.transferOwnership(address)._to (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#30) lacks a zero-check on :
- pendingOwner = _to (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#34)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation
INFO:Detectors:
Parameter Owned.transferOwnership(address)._to (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#30) is not in mixedCase
Parameter AggregatorProxy.getAnswer(uint256)._roundId (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#180) is not in mixedCase
Parameter AggregatorProxy.getTimestamp(uint256)._roundId (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#205) is not in mixedCase
Parameter AggregatorProxy.getRoundData(uint80)._roundId (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#267) is not in mixedCase
Parameter AggregatorProxy.proposedGetRoundData(uint80)._roundId (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#353) is not in mixedCase
Parameter AggregatorProxy.proposeAggregator(address)._aggregator (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#459) is not in mixedCase
Parameter AggregatorProxy.confirmAggregator(address)._aggregator (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#473) is not in mixedCase
Parameter AggregatorProxy.setAggregator(address)._aggregator (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#487) is not in mixedCase
Parameter AggregatorProxy.addPhase(uint16,uint64)._phase (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#496) is not in mixedCase
Parameter AggregatorProxy.addPhase(uint16,uint64)._originalId (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#497) is not in mixedCase
Parameter AggregatorProxy.parseIds(uint256)._roundId (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#507) is not in mixedCase
Parameter EACAggregatorProxy.setController(address)._accessController (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#582) is not in mixedCase
Parameter EACAggregatorProxy.getAnswer(uint256)._roundId (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#638) is not in mixedCase
Parameter EACAggregatorProxy.getTimestamp(uint256)._roundId (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#658) is not in mixedCase
Parameter EACAggregatorProxy.getRoundData(uint80)._roundId (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#710) is not in mixedCase
Parameter EACAggregatorProxy.proposedGetRoundData(uint80)._roundId (crytic-export/etherscan-contracts/0x169e633a2d1e6c10dd91238ba11c4a708dfef37c-EACAggregatorProxy.sol#776) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Slither:0x169e633a2d1e6c10dd91238ba11c4a708dfef37c analyzed (7 contracts with 87 detectors), 34 result(s) found
```
Slither report for L1CrossDomainMessenger at `0x2150Bc3c64cbfDDbaC9815EF615D6AB8671bfe43`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x2150bc3c64cbfddbac9815ef615d6ab8671bfe43-L1CrossDomainMessenger' running
INFO:Detectors:
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#55-135) has bitwise-xor operator ^ instead of the exponentiation operator **:
- inverse = (3 * denominator) ^ 2 (node_modules/@openzeppelin/contracts/utils/math/Math.sol#117)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-exponentiation
INFO:Detectors:
Initializable is re-used:
- Initializable (node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol#57-138)
- Initializable (node_modules/@openzeppelin/contracts/proxy/utils/Initializable.sol#57-138)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#name-reused
INFO:Detectors:
ResourceMetering._metered(uint64,uint256) (contracts/L1/ResourceMetering.sol#92-164) performs a multiplication on the result of a division:
- targetResourceLimit = int256(uint256(config.maxResourceLimit)) / int256(uint256(config.elasticityMultiplier)) (contracts/L1/ResourceMetering.sol#97-98)
- baseFeeDelta = (int256(uint256(params.prevBaseFee)) * gasUsedDelta) / (targetResourceLimit * int256(uint256(config.baseFeeMaxChangeDenominator))) (contracts/L1/ResourceMetering.sol#105-106)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#55-135) performs a multiplication on the result of a division:
- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#102)
- inverse = (3 * denominator) ^ 2 (node_modules/@openzeppelin/contracts/utils/math/Math.sol#117)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#55-135) performs a multiplication on the result of a division:
- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#102)
- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#121)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#55-135) performs a multiplication on the result of a division:
- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#102)
- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#122)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#55-135) performs a multiplication on the result of a division:
- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#102)
- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#123)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#55-135) performs a multiplication on the result of a division:
- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#102)
- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#124)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#55-135) performs a multiplication on the result of a division:
- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#102)
- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#125)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#55-135) performs a multiplication on the result of a division:
- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#102)
- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#126)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#55-135) performs a multiplication on the result of a division:
- prod0 = prod0 / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#105)
- result = prod0 * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#132)
FixedPointMathLib.expWad(int256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#34-90) performs a multiplication on the result of a division:
- x = (x << 78) / 5 ** 18 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#47)
- y = ((y * x) >> 96) + 57155421227552351082224309758442 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#60)
FixedPointMathLib.expWad(int256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#34-90) performs a multiplication on the result of a division:
- x = (x << 78) / 5 ** 18 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#47)
- p = p * x + (4385272521454847904659076985693276 << 96) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#63)
FixedPointMathLib.expWad(int256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#34-90) performs a multiplication on the result of a division:
- x = (x << 78) / 5 ** 18 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#47)
- q = ((q * x) >> 96) + 50020603652535783019961831881945 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#67)
FixedPointMathLib.expWad(int256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#34-90) performs a multiplication on the result of a division:
- x = (x << 78) / 5 ** 18 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#47)
- q = ((q * x) >> 96) - 533845033583426703283633433725380 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#68)
FixedPointMathLib.expWad(int256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#34-90) performs a multiplication on the result of a division:
- x = (x << 78) / 5 ** 18 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#47)
- q = ((q * x) >> 96) + 3604857256930695427073651918091429 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#69)
FixedPointMathLib.expWad(int256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#34-90) performs a multiplication on the result of a division:
- x = (x << 78) / 5 ** 18 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#47)
- q = ((q * x) >> 96) - 14423608567350463180887372962807573 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#70)
FixedPointMathLib.expWad(int256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#34-90) performs a multiplication on the result of a division:
- x = (x << 78) / 5 ** 18 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#47)
- q = ((q * x) >> 96) + 26449188498355588339934803723976023 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#71)
FixedPointMathLib.rpow(uint256,uint256,uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#196-282) performs a multiplication on the result of a division:
- x = xxRound_rpow_asm_0 / scalar (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#253)
- zx_rpow_asm_0 = z * x (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#258)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#divide-before-multiply
INFO:Detectors:
L2OutputOracle.latestBlockNumber() (contracts/L1/L2OutputOracle.sol#324-329) uses a dangerous strict equality:
- l2Outputs.length == 0 (contracts/L1/L2OutputOracle.sol#325-328)
L2OutputOracle.proposeL2Output(bytes32,uint256,bytes32,uint256) (contracts/L1/L2OutputOracle.sol#179-229) uses a dangerous strict equality:
- require(bool,string)(_l2BlockNumber == nextBlockNumber(),L2OutputOracle: block number must be equal to next expected block number) (contracts/L1/L2OutputOracle.sol#190-193)
OptimismPortal.proveWithdrawalTransaction(Types.WithdrawalTransaction,uint256,Types.OutputRootProof,bytes[]) (contracts/L1/OptimismPortal.sol#242-318) uses a dangerous strict equality:
- require(bool,string)(provenWithdrawal.timestamp == 0 || L2_ORACLE.getL2Output(provenWithdrawal.l2OutputIndex).outputRoot != provenWithdrawal.outputRoot,OptimismPortal: withdrawal hash has already been proven) (contracts/L1/OptimismPortal.sol#276-281)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-strict-equalities
INFO:Detectors:
CrossDomainMessenger.relayMessage(uint256,address,address,uint256,uint256,bytes) (contracts/universal/CrossDomainMessenger.sol#303-413) uses tx.origin for authorization: tx.origin == Constants.ESTIMATION_ADDRESS (contracts/universal/CrossDomainMessenger.sol#386)
CrossDomainMessenger.relayMessage(uint256,address,address,uint256,uint256,bytes) (contracts/universal/CrossDomainMessenger.sol#303-413) uses tx.origin for authorization: tx.origin == Constants.ESTIMATION_ADDRESS (contracts/universal/CrossDomainMessenger.sol#409)
OptimismPortal.finalizeWithdrawalTransaction(Types.WithdrawalTransaction) (contracts/L1/OptimismPortal.sol#325-420) uses tx.origin for authorization: success == false && tx.origin == Constants.ESTIMATION_ADDRESS (contracts/L1/OptimismPortal.sol#417)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-usage-of-txorigin
INFO:Detectors:
MerkleTrie._getSharedNibbleLength(bytes,bytes).shared (contracts/libraries/trie/MerkleTrie.sol#279) is a local variable never initialized
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-local-variables
INFO:Detectors:
CrossDomainMessenger.relayMessage(uint256,address,address,uint256,uint256,bytes) (contracts/universal/CrossDomainMessenger.sol#303-413) ignores return value by (version) = Encoding.decodeVersionedNonce(_nonce) (contracts/universal/CrossDomainMessenger.sol#311)
Hashing.hashCrossDomainMessage(uint256,address,address,uint256,uint256,bytes) (contracts/libraries/Hashing.sol#61-77) ignores return value by (version) = Encoding.decodeVersionedNonce(_nonce) (contracts/libraries/Hashing.sol#69)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return
INFO:Detectors:
CrossDomainMessenger.xDomainMsgSender (contracts/universal/CrossDomainMessenger.sol#179) is written in both
xDomainMsgSender = _sender (contracts/universal/CrossDomainMessenger.sol#393)
xDomainMsgSender = Constants.DEFAULT_L2_SENDER (contracts/universal/CrossDomainMessenger.sol#395)
OptimismPortal.l2Sender (contracts/L1/OptimismPortal.sol#67) is written in both
l2Sender = _tx.sender (contracts/L1/OptimismPortal.sol#396)
l2Sender = Constants.DEFAULT_L2_SENDER (contracts/L1/OptimismPortal.sol#408)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#write-after-write
INFO:Detectors:
SystemConfig.constructor(address,uint256,uint256,bytes32,uint64,address,ResourceMetering.ResourceConfig)._owner (contracts/L1/SystemConfig.sol#94) shadows:
- OwnableUpgradeable._owner (node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol#22) (state variable)
SystemConfig.initialize(address,uint256,uint256,bytes32,uint64,address,ResourceMetering.ResourceConfig)._owner (contracts/L1/SystemConfig.sol#126) shadows:
- OwnableUpgradeable._owner (node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol#22) (state variable)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#local-variable-shadowing
INFO:Detectors:
CrossDomainMessenger.relayMessage(uint256,address,address,uint256,uint256,bytes)._sender (contracts/universal/CrossDomainMessenger.sol#305) lacks a zero-check on :
- xDomainMsgSender = _sender (contracts/universal/CrossDomainMessenger.sol#393)
L2OutputOracle.constructor(uint256,uint256,uint256,uint256,address,address,uint256)._proposer (contracts/L1/L2OutputOracle.sol#95) lacks a zero-check on :
- PROPOSER = _proposer (contracts/L1/L2OutputOracle.sol#107)
L2OutputOracle.constructor(uint256,uint256,uint256,uint256,address,address,uint256)._challenger (contracts/L1/L2OutputOracle.sol#96) lacks a zero-check on :
- CHALLENGER = _challenger (contracts/L1/L2OutputOracle.sol#108)
OptimismPortal.constructor(L2OutputOracle,address,bool,SystemConfig)._guardian (contracts/L1/OptimismPortal.sol#152) lacks a zero-check on :
- GUARDIAN = _guardian (contracts/L1/OptimismPortal.sol#157)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation
INFO:Detectors:
L2OutputOracle.initialize(uint256,uint256) (contracts/L1/L2OutputOracle.sol#120-131) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(_startingTimestamp <= block.timestamp,L2OutputOracle: starting L2 timestamp must be less than current time) (contracts/L1/L2OutputOracle.sol#124-127)
L2OutputOracle.deleteL2Outputs(uint256) (contracts/L1/L2OutputOracle.sol#141-167) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(_l2OutputIndex < l2Outputs.length,L2OutputOracle: cannot delete outputs after the latest output index) (contracts/L1/L2OutputOracle.sol#148-151)
- require(bool,string)(block.timestamp - l2Outputs[_l2OutputIndex].timestamp < FINALIZATION_PERIOD_SECONDS,L2OutputOracle: cannot delete outputs that have already been finalized) (contracts/L1/L2OutputOracle.sol#154-157)
L2OutputOracle.proposeL2Output(bytes32,uint256,bytes32,uint256) (contracts/L1/L2OutputOracle.sol#179-229) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(_l2BlockNumber == nextBlockNumber(),L2OutputOracle: block number must be equal to next expected block number) (contracts/L1/L2OutputOracle.sol#190-193)
- require(bool,string)(computeL2Timestamp(_l2BlockNumber) < block.timestamp,L2OutputOracle: cannot propose L2 output in the future) (contracts/L1/L2OutputOracle.sol#195-198)
L2OutputOracle.getL2OutputIndexAfter(uint256) (contracts/L1/L2OutputOracle.sol#255-281) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(_l2BlockNumber <= latestBlockNumber(),L2OutputOracle: cannot get output for a block that has not been proposed) (contracts/L1/L2OutputOracle.sol#257-260)
- require(bool,string)(l2Outputs.length > 0,L2OutputOracle: cannot get output as no outputs have been proposed yet) (contracts/L1/L2OutputOracle.sol#263-266)
- lo < hi (contracts/L1/L2OutputOracle.sol#271)
- l2Outputs[mid].l2BlockNumber < _l2BlockNumber (contracts/L1/L2OutputOracle.sol#273)
L2OutputOracle.latestBlockNumber() (contracts/L1/L2OutputOracle.sol#324-329) uses timestamp for comparisons
Dangerous comparisons:
- l2Outputs.length == 0 (contracts/L1/L2OutputOracle.sol#325-328)
OptimismPortal.proveWithdrawalTransaction(Types.WithdrawalTransaction,uint256,Types.OutputRootProof,bytes[]) (contracts/L1/OptimismPortal.sol#242-318) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(provenWithdrawal.timestamp == 0 || L2_ORACLE.getL2Output(provenWithdrawal.l2OutputIndex).outputRoot != provenWithdrawal.outputRoot,OptimismPortal: withdrawal hash has already been proven) (contracts/L1/OptimismPortal.sol#276-281)
OptimismPortal._isFinalizationPeriodElapsed(uint256) (contracts/L1/OptimismPortal.sol#504-506) uses timestamp for comparisons
Dangerous comparisons:
- block.timestamp > _timestamp + L2_ORACLE.FINALIZATION_PERIOD_SECONDS() (contracts/L1/OptimismPortal.sol#505)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#block-timestamp
INFO:Detectors:
L2OutputOracle.deleteL2Outputs(uint256) (contracts/L1/L2OutputOracle.sol#141-167) uses assembly
- INLINE ASM (contracts/L1/L2OutputOracle.sol#162-164)
SystemConfig.unsafeBlockSigner() (contracts/L1/SystemConfig.sol#166-173) uses assembly
- INLINE ASM (contracts/L1/SystemConfig.sol#169-171)
SystemConfig._setUnsafeBlockSigner(address) (contracts/L1/SystemConfig.sol#232-237) uses assembly
- INLINE ASM (contracts/L1/SystemConfig.sol#234-236)
Bytes.slice(bytes,uint256,uint256) (contracts/libraries/Bytes.sol#21-88) uses assembly
- INLINE ASM (contracts/libraries/Bytes.sol#34-85)
Encoding.encodeVersionedNonce(uint240,uint16) (contracts/libraries/Encoding.sol#137-143) uses assembly
- INLINE ASM (contracts/libraries/Encoding.sol#139-141)
Encoding.decodeVersionedNonce(uint256) (contracts/libraries/Encoding.sol#153-161) uses assembly
- INLINE ASM (contracts/libraries/Encoding.sol#156-159)
SafeCall.send(address,uint256,uint256) (contracts/libraries/SafeCall.sol#17-35) uses assembly
- INLINE ASM (contracts/libraries/SafeCall.sol#23-33)
SafeCall.call(address,uint256,uint256,bytes) (contracts/libraries/SafeCall.sol#45-64) uses assembly
- INLINE ASM (contracts/libraries/SafeCall.sol#52-62)
SafeCall.hasMinGas(uint256,uint256) (contracts/libraries/SafeCall.sol#91-100) uses assembly
- INLINE ASM (contracts/libraries/SafeCall.sol#93-98)
SafeCall.callWithMinGas(address,uint256,uint256,bytes) (contracts/libraries/SafeCall.sol#112-159) uses assembly
- INLINE ASM (contracts/libraries/SafeCall.sol#120-157)
RLPReader.toRLPItem(bytes) (contracts/libraries/rlp/RLPReader.sol#51-64) uses assembly
- INLINE ASM (contracts/libraries/rlp/RLPReader.sol#59-61)
RLPReader.readList(RLPReader.RLPItem) (contracts/libraries/rlp/RLPReader.sol#73-119) uses assembly
- INLINE ASM (contracts/libraries/rlp/RLPReader.sol#114-116)
RLPReader._decodeLength(RLPReader.RLPItem) (contracts/libraries/rlp/RLPReader.sol#186-316) uses assembly
- INLINE ASM (contracts/libraries/rlp/RLPReader.sol#205-207)
- INLINE ASM (contracts/libraries/rlp/RLPReader.sol#224-226)
- INLINE ASM (contracts/libraries/rlp/RLPReader.sol#244-246)
- INLINE ASM (contracts/libraries/rlp/RLPReader.sol#254-256)
- INLINE ASM (contracts/libraries/rlp/RLPReader.sol#290-292)
- INLINE ASM (contracts/libraries/rlp/RLPReader.sol#300-302)
RLPReader._copy(RLPReader.MemoryPointer,uint256,uint256) (contracts/libraries/rlp/RLPReader.sol#327-358) uses assembly
- INLINE ASM (contracts/libraries/rlp/RLPReader.sol#341-355)
RLPWriter._memcpy(uint256,uint256,uint256) (contracts/libraries/rlp/RLPWriter.sol#154-180) uses assembly
- INLINE ASM (contracts/libraries/rlp/RLPWriter.sol#164-166)
- INLINE ASM (contracts/libraries/rlp/RLPWriter.sol#175-179)
RLPWriter._flatten(bytes[]) (contracts/libraries/rlp/RLPWriter.sol#190-220) uses assembly
- INLINE ASM (contracts/libraries/rlp/RLPWriter.sol#203-205)
- INLINE ASM (contracts/libraries/rlp/RLPWriter.sol#211-213)
AddressUpgradeable.verifyCallResult(bool,bytes,string) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#174-194) uses assembly
- INLINE ASM (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#186-189)
Address.verifyCallResult(bool,bytes,string) (node_modules/@openzeppelin/contracts/utils/Address.sol#201-221) uses assembly
- INLINE ASM (node_modules/@openzeppelin/contracts/utils/Address.sol#213-216)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#55-135) uses assembly
- INLINE ASM (node_modules/@openzeppelin/contracts/utils/math/Math.sol#66-70)
- INLINE ASM (node_modules/@openzeppelin/contracts/utils/math/Math.sol#86-93)
- INLINE ASM (node_modules/@openzeppelin/contracts/utils/math/Math.sol#100-109)
FixedPointMathLib.expWad(int256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#34-90) uses assembly
- INLINE ASM (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#73-78)
FixedPointMathLib.lnWad(int256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#92-150) uses assembly
- INLINE ASM (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#126-131)
FixedPointMathLib.mulDivDown(uint256,uint256,uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#156-173) uses assembly
- INLINE ASM (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#161-172)
FixedPointMathLib.mulDivUp(uint256,uint256,uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#175-194) uses assembly
- INLINE ASM (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#180-193)
FixedPointMathLib.rpow(uint256,uint256,uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#196-282) uses assembly
- INLINE ASM (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#201-281)
FixedPointMathLib.sqrt(uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#288-350) uses assembly
- INLINE ASM (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#289-349)
FixedPointMathLib.log2(uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#352-365) uses assembly
- INLINE ASM (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#355-364)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
OptimismPortal.finalizeWithdrawalTransaction(Types.WithdrawalTransaction) (contracts/L1/OptimismPortal.sol#325-420) compares to a boolean constant:
-success == false && tx.origin == Constants.ESTIMATION_ADDRESS (contracts/L1/OptimismPortal.sol#417)
OptimismPortal.finalizeWithdrawalTransaction(Types.WithdrawalTransaction) (contracts/L1/OptimismPortal.sol#325-420) compares to a boolean constant:
-require(bool,string)(finalizedWithdrawals[withdrawalHash] == false,OptimismPortal: withdrawal has already been finalized) (contracts/L1/OptimismPortal.sol#387-390)
OptimismPortal.whenNotPaused() (contracts/L1/OptimismPortal.sol#137-140) compares to a boolean constant:
-require(bool,string)(paused == false,OptimismPortal: paused) (contracts/L1/OptimismPortal.sol#138)
CrossDomainMessenger.relayMessage(uint256,address,address,uint256,uint256,bytes) (contracts/universal/CrossDomainMessenger.sol#303-413) compares to a boolean constant:
-require(bool,string)(successfulMessages[versionedHash] == false,CrossDomainMessenger: message has already been relayed) (contracts/universal/CrossDomainMessenger.sol#360-363)
CrossDomainMessenger.relayMessage(uint256,address,address,uint256,uint256,bytes) (contracts/universal/CrossDomainMessenger.sol#303-413) compares to a boolean constant:
-require(bool,string)(successfulMessages[oldHash] == false,CrossDomainMessenger: legacy withdrawal already relayed) (contracts/universal/CrossDomainMessenger.sol#321-324)
CrossDomainMessenger.relayMessage(uint256,address,address,uint256,uint256,bytes) (contracts/universal/CrossDomainMessenger.sol#303-413) compares to a boolean constant:
-require(bool,string)(_isUnsafeTarget(_target) == false,CrossDomainMessenger: cannot send message to blocked system address) (contracts/universal/CrossDomainMessenger.sol#355-358)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#boolean-equality
INFO:Detectors:
Address.functionCall(address,bytes) (node_modules/@openzeppelin/contracts/utils/Address.sol#85-87) is never used and should be removed
Address.functionCall(address,bytes,string) (node_modules/@openzeppelin/contracts/utils/Address.sol#95-101) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (node_modules/@openzeppelin/contracts/utils/Address.sol#114-120) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (node_modules/@openzeppelin/contracts/utils/Address.sol#128-139) is never used and should be removed
Address.functionDelegateCall(address,bytes) (node_modules/@openzeppelin/contracts/utils/Address.sol#174-176) is never used and should be removed
Address.functionDelegateCall(address,bytes,string) (node_modules/@openzeppelin/contracts/utils/Address.sol#184-193) is never used and should be removed
Address.functionStaticCall(address,bytes) (node_modules/@openzeppelin/contracts/utils/Address.sol#147-149) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (node_modules/@openzeppelin/contracts/utils/Address.sol#157-166) is never used and should be removed
Address.sendValue(address,uint256) (node_modules/@openzeppelin/contracts/utils/Address.sol#60-65) is never used and should be removed
Address.verifyCallResult(bool,bytes,string) (node_modules/@openzeppelin/contracts/utils/Address.sol#201-221) is never used and should be removed
AddressAliasHelper.undoL1ToL2Alias(address) (contracts/vendor/AddressAliasHelper.sol#38-42) is never used and should be removed
AddressUpgradeable.functionCall(address,bytes) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#85-87) is never used and should be removed
AddressUpgradeable.functionCall(address,bytes,string) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#95-101) is never used and should be removed
AddressUpgradeable.functionCallWithValue(address,bytes,uint256) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#114-120) is never used and should be removed
AddressUpgradeable.functionCallWithValue(address,bytes,uint256,string) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#128-139) is never used and should be removed
AddressUpgradeable.functionStaticCall(address,bytes) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#147-149) is never used and should be removed
AddressUpgradeable.functionStaticCall(address,bytes,string) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#157-166) is never used and should be removed
AddressUpgradeable.sendValue(address,uint256) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#60-65) is never used and should be removed
AddressUpgradeable.verifyCallResult(bool,bytes,string) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#174-194) is never used and should be removed
Burn.eth(uint256) (contracts/libraries/Burn.sol#14-16) is never used and should be removed
Burn.gas(uint256) (contracts/libraries/Burn.sol#23-29) is never used and should be removed
Constants.DEFAULT_RESOURCE_CONFIG() (contracts/libraries/Constants.sol#34-48) is never used and should be removed
ContextUpgradeable.__Context_init() (node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#18-19) is never used and should be removed
ContextUpgradeable.__Context_init_unchained() (node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#21-22) is never used and should be removed
ContextUpgradeable._msgData() (node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#27-29) is never used and should be removed
Encoding.encodeCrossDomainMessage(uint256,address,address,uint256,uint256,bytes) (contracts/libraries/Encoding.sol#53-69) is never used and should be removed
Encoding.encodeDepositTransaction(Types.UserDepositTransaction) (contracts/libraries/Encoding.sol#22-38) is never used and should be removed
FixedPointMathLib.divWadDown(uint256,uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#21-23) is never used and should be removed
FixedPointMathLib.divWadUp(uint256,uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#25-27) is never used and should be removed
FixedPointMathLib.mulDivDown(uint256,uint256,uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#156-173) is never used and should be removed
FixedPointMathLib.mulDivUp(uint256,uint256,uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#175-194) is never used and should be removed
FixedPointMathLib.mulWadDown(uint256,uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#13-15) is never used and should be removed
FixedPointMathLib.mulWadUp(uint256,uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#17-19) is never used and should be removed
FixedPointMathLib.rpow(uint256,uint256,uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#196-282) is never used and should be removed
FixedPointMathLib.sqrt(uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#288-350) is never used and should be removed
Hashing.hashCrossDomainMessage(uint256,address,address,uint256,uint256,bytes) (contracts/libraries/Hashing.sol#61-77) is never used and should be removed
Hashing.hashDepositSource(bytes32,uint256) (contracts/libraries/Hashing.sol#39-46) is never used and should be removed
Hashing.hashDepositTransaction(Types.UserDepositTransaction) (contracts/libraries/Hashing.sol#21-27) is never used and should be removed
Initializable._disableInitializers() (node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol#131-137) is never used and should be removed
Math.average(uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#34-37) is never used and should be removed
Math.ceilDiv(uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#45-48) is never used and should be removed
Math.min(uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#26-28) is never used and should be removed
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#55-135) is never used and should be removed
Math.mulDiv(uint256,uint256,uint256,Math.Rounding) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#140-151) is never used and should be removed
Math.sqrt(uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#158-214) is never used and should be removed
Math.sqrt(uint256,Math.Rounding) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#219-225) is never used and should be removed
RLPReader.readBytes(bytes) (contracts/libraries/rlp/RLPReader.sol#162-164) is never used and should be removed
RLPWriter._flatten(bytes[]) (contracts/libraries/rlp/RLPWriter.sol#190-220) is never used and should be removed
RLPWriter._memcpy(uint256,uint256,uint256) (contracts/libraries/rlp/RLPWriter.sol#154-180) is never used and should be removed
RLPWriter._toBinary(uint256) (contracts/libraries/rlp/RLPWriter.sol#128-144) is never used and should be removed
RLPWriter._writeLength(uint256,uint256) (contracts/libraries/rlp/RLPWriter.sol#97-119) is never used and should be removed
RLPWriter.writeAddress(address) (contracts/libraries/rlp/RLPWriter.sol#61-63) is never used and should be removed
RLPWriter.writeBool(bool) (contracts/libraries/rlp/RLPWriter.sol#83-87) is never used and should be removed
RLPWriter.writeBytes(bytes) (contracts/libraries/rlp/RLPWriter.sol#19-29) is never used and should be removed
RLPWriter.writeList(bytes[]) (contracts/libraries/rlp/RLPWriter.sol#38-41) is never used and should be removed
RLPWriter.writeString(string) (contracts/libraries/rlp/RLPWriter.sol#50-52) is never used and should be removed
RLPWriter.writeUint(uint256) (contracts/libraries/rlp/RLPWriter.sol#72-74) is never used and should be removed
SafeCall.send(address,uint256,uint256) (contracts/libraries/SafeCall.sol#17-35) is never used and should be removed
SecureMerkleTrie.get(bytes,bytes[],bytes32) (contracts/libraries/trie/SecureMerkleTrie.sol#45-52) is never used and should be removed
SignedMath.abs(int256) (node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol#37-42) is never used and should be removed
SignedMath.average(int256,int256) (node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol#28-32) is never used and should be removed
Strings.toHexString(address) (node_modules/@openzeppelin/contracts/utils/Strings.sol#72-74) is never used and should be removed
Strings.toHexString(uint256) (node_modules/@openzeppelin/contracts/utils/Strings.sol#41-52) is never used and should be removed
Strings.toHexString(uint256,uint256) (node_modules/@openzeppelin/contracts/utils/Strings.sol#57-67) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Low level call in AddressUpgradeable.sendValue(address,uint256) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#60-65):
- (success) = recipient.call{value: amount}() (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#63)
Low level call in AddressUpgradeable.functionCallWithValue(address,bytes,uint256,string) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#128-139):
- (success,returndata) = target.call{value: value}(data) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#137)
Low level call in AddressUpgradeable.functionStaticCall(address,bytes,string) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#157-166):
- (success,returndata) = target.staticcall(data) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#164)
Low level call in Address.sendValue(address,uint256) (node_modules/@openzeppelin/contracts/utils/Address.sol#60-65):
- (success) = recipient.call{value: amount}() (node_modules/@openzeppelin/contracts/utils/Address.sol#63)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (node_modules/@openzeppelin/contracts/utils/Address.sol#128-139):
- (success,returndata) = target.call{value: value}(data) (node_modules/@openzeppelin/contracts/utils/Address.sol#137)
Low level call in Address.functionStaticCall(address,bytes,string) (node_modules/@openzeppelin/contracts/utils/Address.sol#157-166):
- (success,returndata) = target.staticcall(data) (node_modules/@openzeppelin/contracts/utils/Address.sol#164)
Low level call in Address.functionDelegateCall(address,bytes,string) (node_modules/@openzeppelin/contracts/utils/Address.sol#184-193):
- (success,returndata) = target.delegatecall(data) (node_modules/@openzeppelin/contracts/utils/Address.sol#191)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
INFO:Detectors:
Variable L1CrossDomainMessenger.PORTAL (contracts/L1/L1CrossDomainMessenger.sol#20) is not in mixedCase
Parameter L2OutputOracle.initialize(uint256,uint256)._startingBlockNumber (contracts/L1/L2OutputOracle.sol#120) is not in mixedCase
Parameter L2OutputOracle.initialize(uint256,uint256)._startingTimestamp (contracts/L1/L2OutputOracle.sol#120) is not in mixedCase
Parameter L2OutputOracle.deleteL2Outputs(uint256)._l2OutputIndex (contracts/L1/L2OutputOracle.sol#141) is not in mixedCase
Parameter L2OutputOracle.proposeL2Output(bytes32,uint256,bytes32,uint256)._outputRoot (contracts/L1/L2OutputOracle.sol#180) is not in mixedCase
Parameter L2OutputOracle.proposeL2Output(bytes32,uint256,bytes32,uint256)._l2BlockNumber (contracts/L1/L2OutputOracle.sol#181) is not in mixedCase
Parameter L2OutputOracle.proposeL2Output(bytes32,uint256,bytes32,uint256)._l1BlockHash (contracts/L1/L2OutputOracle.sol#182) is not in mixedCase
Parameter L2OutputOracle.proposeL2Output(bytes32,uint256,bytes32,uint256)._l1BlockNumber (contracts/L1/L2OutputOracle.sol#183) is not in mixedCase
Parameter L2OutputOracle.getL2Output(uint256)._l2OutputIndex (contracts/L1/L2OutputOracle.sol#239) is not in mixedCase
Parameter L2OutputOracle.getL2OutputIndexAfter(uint256)._l2BlockNumber (contracts/L1/L2OutputOracle.sol#255) is not in mixedCase
Parameter L2OutputOracle.getL2OutputAfter(uint256)._l2BlockNumber (contracts/L1/L2OutputOracle.sol#291) is not in mixedCase
Parameter L2OutputOracle.computeL2Timestamp(uint256)._l2BlockNumber (contracts/L1/L2OutputOracle.sol#347) is not in mixedCase
Variable L2OutputOracle.SUBMISSION_INTERVAL (contracts/L1/L2OutputOracle.sol#20) is not in mixedCase
Variable L2OutputOracle.L2_BLOCK_TIME (contracts/L1/L2OutputOracle.sol#25) is not in mixedCase
Variable L2OutputOracle.CHALLENGER (contracts/L1/L2OutputOracle.sol#30) is not in mixedCase
Variable L2OutputOracle.PROPOSER (contracts/L1/L2OutputOracle.sol#35) is not in mixedCase
Variable L2OutputOracle.FINALIZATION_PERIOD_SECONDS (contracts/L1/L2OutputOracle.sol#40) is not in mixedCase
Parameter OptimismPortal.initialize(bool)._paused (contracts/L1/OptimismPortal.sol#165) is not in mixedCase
Parameter OptimismPortal.minimumGasLimit(uint64)._byteCount (contracts/L1/OptimismPortal.sol#196) is not in mixedCase
Parameter OptimismPortal.proveWithdrawalTransaction(Types.WithdrawalTransaction,uint256,Types.OutputRootProof,bytes[])._tx (contracts/L1/OptimismPortal.sol#243) is not in mixedCase
Parameter OptimismPortal.proveWithdrawalTransaction(Types.WithdrawalTransaction,uint256,Types.OutputRootProof,bytes[])._l2OutputIndex (contracts/L1/OptimismPortal.sol#244) is not in mixedCase
Parameter OptimismPortal.proveWithdrawalTransaction(Types.WithdrawalTransaction,uint256,Types.OutputRootProof,bytes[])._outputRootProof (contracts/L1/OptimismPortal.sol#245) is not in mixedCase
Parameter OptimismPortal.proveWithdrawalTransaction(Types.WithdrawalTransaction,uint256,Types.OutputRootProof,bytes[])._withdrawalProof (contracts/L1/OptimismPortal.sol#246) is not in mixedCase
Parameter OptimismPortal.finalizeWithdrawalTransaction(Types.WithdrawalTransaction)._tx (contracts/L1/OptimismPortal.sol#325) is not in mixedCase
Parameter OptimismPortal.depositTransaction(address,uint256,uint64,bool,bytes)._to (contracts/L1/OptimismPortal.sol#435) is not in mixedCase
Parameter OptimismPortal.depositTransaction(address,uint256,uint64,bool,bytes)._value (contracts/L1/OptimismPortal.sol#436) is not in mixedCase
Parameter OptimismPortal.depositTransaction(address,uint256,uint64,bool,bytes)._gasLimit (contracts/L1/OptimismPortal.sol#437) is not in mixedCase
Parameter OptimismPortal.depositTransaction(address,uint256,uint64,bool,bytes)._isCreation (contracts/L1/OptimismPortal.sol#438) is not in mixedCase
Parameter OptimismPortal.depositTransaction(address,uint256,uint64,bool,bytes)._data (contracts/L1/OptimismPortal.sol#439) is not in mixedCase
Parameter OptimismPortal.isOutputFinalized(uint256)._l2OutputIndex (contracts/L1/OptimismPortal.sol#493) is not in mixedCase
Variable OptimismPortal.L2_ORACLE (contracts/L1/OptimismPortal.sol#50) is not in mixedCase
Variable OptimismPortal.SYSTEM_CONFIG (contracts/L1/OptimismPortal.sol#55) is not in mixedCase
Variable OptimismPortal.GUARDIAN (contracts/L1/OptimismPortal.sol#60) is not in mixedCase
Function ResourceMetering.__ResourceMetering_init() (contracts/L1/ResourceMetering.sol#179-185) is not in mixedCase
Variable ResourceMetering.__gap (contracts/L1/ResourceMetering.sol#68) is not in mixedCase
Parameter SystemConfig.initialize(address,uint256,uint256,bytes32,uint64,address,ResourceMetering.ResourceConfig)._owner (contracts/L1/SystemConfig.sol#126) is not in mixedCase
Parameter SystemConfig.initialize(address,uint256,uint256,bytes32,uint64,address,ResourceMetering.ResourceConfig)._overhead (contracts/L1/SystemConfig.sol#127) is not in mixedCase
Parameter SystemConfig.initialize(address,uint256,uint256,bytes32,uint64,address,ResourceMetering.ResourceConfig)._scalar (contracts/L1/SystemConfig.sol#128) is not in mixedCase
Parameter SystemConfig.initialize(address,uint256,uint256,bytes32,uint64,address,ResourceMetering.ResourceConfig)._batcherHash (contracts/L1/SystemConfig.sol#129) is not in mixedCase
Parameter SystemConfig.initialize(address,uint256,uint256,bytes32,uint64,address,ResourceMetering.ResourceConfig)._gasLimit (contracts/L1/SystemConfig.sol#130) is not in mixedCase
Parameter SystemConfig.initialize(address,uint256,uint256,bytes32,uint64,address,ResourceMetering.ResourceConfig)._unsafeBlockSigner (contracts/L1/SystemConfig.sol#131) is not in mixedCase
Parameter SystemConfig.initialize(address,uint256,uint256,bytes32,uint64,address,ResourceMetering.ResourceConfig)._config (contracts/L1/SystemConfig.sol#132) is not in mixedCase
Parameter SystemConfig.setUnsafeBlockSigner(address)._unsafeBlockSigner (contracts/L1/SystemConfig.sol#180) is not in mixedCase
Parameter SystemConfig.setBatcherHash(bytes32)._batcherHash (contracts/L1/SystemConfig.sol#192) is not in mixedCase
Parameter SystemConfig.setGasConfig(uint256,uint256)._overhead (contracts/L1/SystemConfig.sol#205) is not in mixedCase
Parameter SystemConfig.setGasConfig(uint256,uint256)._scalar (contracts/L1/SystemConfig.sol#205) is not in mixedCase
Parameter SystemConfig.setGasLimit(uint64)._gasLimit (contracts/L1/SystemConfig.sol#218) is not in mixedCase
Parameter SystemConfig.setResourceConfig(ResourceMetering.ResourceConfig)._config (contracts/L1/SystemConfig.sol#256) is not in mixedCase
Parameter Arithmetic.clamp(int256,int256,int256)._value (contracts/libraries/Arithmetic.sol#22) is not in mixedCase
Parameter Arithmetic.clamp(int256,int256,int256)._min (contracts/libraries/Arithmetic.sol#23) is not in mixedCase
Parameter Arithmetic.clamp(int256,int256,int256)._max (contracts/libraries/Arithmetic.sol#24) is not in mixedCase
Parameter Arithmetic.cdexp(int256,int256,int256)._coefficient (contracts/libraries/Arithmetic.sol#40) is not in mixedCase
Parameter Arithmetic.cdexp(int256,int256,int256)._denominator (contracts/libraries/Arithmetic.sol#41) is not in mixedCase
Parameter Arithmetic.cdexp(int256,int256,int256)._exponent (contracts/libraries/Arithmetic.sol#42) is not in mixedCase
Parameter Burn.eth(uint256)._amount (contracts/libraries/Burn.sol#14) is not in mixedCase
Parameter Burn.gas(uint256)._amount (contracts/libraries/Burn.sol#23) is not in mixedCase
Parameter Bytes.slice(bytes,uint256,uint256)._bytes (contracts/libraries/Bytes.sol#22) is not in mixedCase
Parameter Bytes.slice(bytes,uint256,uint256)._start (contracts/libraries/Bytes.sol#23) is not in mixedCase
Parameter Bytes.slice(bytes,uint256,uint256)._length (contracts/libraries/Bytes.sol#24) is not in mixedCase
Parameter Bytes.slice(bytes,uint256)._bytes (contracts/libraries/Bytes.sol#99) is not in mixedCase
Parameter Bytes.slice(bytes,uint256)._start (contracts/libraries/Bytes.sol#99) is not in mixedCase
Parameter Bytes.toNibbles(bytes)._bytes (contracts/libraries/Bytes.sol#114) is not in mixedCase
Parameter Bytes.equal(bytes,bytes)._bytes (contracts/libraries/Bytes.sol#139) is not in mixedCase
Parameter Bytes.equal(bytes,bytes)._other (contracts/libraries/Bytes.sol#139) is not in mixedCase
Function Constants.DEFAULT_RESOURCE_CONFIG() (contracts/libraries/Constants.sol#34-48) is not in mixedCase
Parameter Encoding.encodeDepositTransaction(Types.UserDepositTransaction)._tx (contracts/libraries/Encoding.sol#22) is not in mixedCase
Parameter Encoding.encodeCrossDomainMessage(uint256,address,address,uint256,uint256,bytes)._nonce (contracts/libraries/Encoding.sol#54) is not in mixedCase
Parameter Encoding.encodeCrossDomainMessage(uint256,address,address,uint256,uint256,bytes)._sender (contracts/libraries/Encoding.sol#55) is not in mixedCase
Parameter Encoding.encodeCrossDomainMessage(uint256,address,address,uint256,uint256,bytes)._target (contracts/libraries/Encoding.sol#56) is not in mixedCase
Parameter Encoding.encodeCrossDomainMessage(uint256,address,address,uint256,uint256,bytes)._value (contracts/libraries/Encoding.sol#57) is not in mixedCase
Parameter Encoding.encodeCrossDomainMessage(uint256,address,address,uint256,uint256,bytes)._gasLimit (contracts/libraries/Encoding.sol#58) is not in mixedCase
Parameter Encoding.encodeCrossDomainMessage(uint256,address,address,uint256,uint256,bytes)._data (contracts/libraries/Encoding.sol#59) is not in mixedCase
Parameter Encoding.encodeCrossDomainMessageV0(address,address,bytes,uint256)._target (contracts/libraries/Encoding.sol#82) is not in mixedCase
Parameter Encoding.encodeCrossDomainMessageV0(address,address,bytes,uint256)._sender (contracts/libraries/Encoding.sol#83) is not in mixedCase
Parameter Encoding.encodeCrossDomainMessageV0(address,address,bytes,uint256)._data (contracts/libraries/Encoding.sol#84) is not in mixedCase
Parameter Encoding.encodeCrossDomainMessageV0(address,address,bytes,uint256)._nonce (contracts/libraries/Encoding.sol#85) is not in mixedCase
Parameter Encoding.encodeCrossDomainMessageV1(uint256,address,address,uint256,uint256,bytes)._nonce (contracts/libraries/Encoding.sol#110) is not in mixedCase
Parameter Encoding.encodeCrossDomainMessageV1(uint256,address,address,uint256,uint256,bytes)._sender (contracts/libraries/Encoding.sol#111) is not in mixedCase
Parameter Encoding.encodeCrossDomainMessageV1(uint256,address,address,uint256,uint256,bytes)._target (contracts/libraries/Encoding.sol#112) is not in mixedCase
Parameter Encoding.encodeCrossDomainMessageV1(uint256,address,address,uint256,uint256,bytes)._value (contracts/libraries/Encoding.sol#113) is not in mixedCase
Parameter Encoding.encodeCrossDomainMessageV1(uint256,address,address,uint256,uint256,bytes)._gasLimit (contracts/libraries/Encoding.sol#114) is not in mixedCase
Parameter Encoding.encodeCrossDomainMessageV1(uint256,address,address,uint256,uint256,bytes)._data (contracts/libraries/Encoding.sol#115) is not in mixedCase
Parameter Encoding.encodeVersionedNonce(uint240,uint16)._nonce (contracts/libraries/Encoding.sol#137) is not in mixedCase
Parameter Encoding.encodeVersionedNonce(uint240,uint16)._version (contracts/libraries/Encoding.sol#137) is not in mixedCase
Parameter Encoding.decodeVersionedNonce(uint256)._nonce (contracts/libraries/Encoding.sol#153) is not in mixedCase
Parameter Hashing.hashDepositTransaction(Types.UserDepositTransaction)._tx (contracts/libraries/Hashing.sol#21) is not in mixedCase
Parameter Hashing.hashDepositSource(bytes32,uint256)._l1BlockHash (contracts/libraries/Hashing.sol#39) is not in mixedCase
Parameter Hashing.hashDepositSource(bytes32,uint256)._logIndex (contracts/libraries/Hashing.sol#39) is not in mixedCase
Parameter Hashing.hashCrossDomainMessage(uint256,address,address,uint256,uint256,bytes)._nonce (contracts/libraries/Hashing.sol#62) is not in mixedCase
Parameter Hashing.hashCrossDomainMessage(uint256,address,address,uint256,uint256,bytes)._sender (contracts/libraries/Hashing.sol#63) is not in mixedCase
Parameter Hashing.hashCrossDomainMessage(uint256,address,address,uint256,uint256,bytes)._target (contracts/libraries/Hashing.sol#64) is not in mixedCase
Parameter Hashing.hashCrossDomainMessage(uint256,address,address,uint256,uint256,bytes)._value (contracts/libraries/Hashing.sol#65) is not in mixedCase
Parameter Hashing.hashCrossDomainMessage(uint256,address,address,uint256,uint256,bytes)._gasLimit (contracts/libraries/Hashing.sol#66) is not in mixedCase
Parameter Hashing.hashCrossDomainMessage(uint256,address,address,uint256,uint256,bytes)._data (contracts/libraries/Hashing.sol#67) is not in mixedCase
Parameter Hashing.hashCrossDomainMessageV0(address,address,bytes,uint256)._target (contracts/libraries/Hashing.sol#90) is not in mixedCase
Parameter Hashing.hashCrossDomainMessageV0(address,address,bytes,uint256)._sender (contracts/libraries/Hashing.sol#91) is not in mixedCase
Parameter Hashing.hashCrossDomainMessageV0(address,address,bytes,uint256)._data (contracts/libraries/Hashing.sol#92) is not in mixedCase
Parameter Hashing.hashCrossDomainMessageV0(address,address,bytes,uint256)._nonce (contracts/libraries/Hashing.sol#93) is not in mixedCase
Parameter Hashing.hashCrossDomainMessageV1(uint256,address,address,uint256,uint256,bytes)._nonce (contracts/libraries/Hashing.sol#111) is not in mixedCase
Parameter Hashing.hashCrossDomainMessageV1(uint256,address,address,uint256,uint256,bytes)._sender (contracts/libraries/Hashing.sol#112) is not in mixedCase
Parameter Hashing.hashCrossDomainMessageV1(uint256,address,address,uint256,uint256,bytes)._target (contracts/libraries/Hashing.sol#113) is not in mixedCase
Parameter Hashing.hashCrossDomainMessageV1(uint256,address,address,uint256,uint256,bytes)._value (contracts/libraries/Hashing.sol#114) is not in mixedCase
Parameter Hashing.hashCrossDomainMessageV1(uint256,address,address,uint256,uint256,bytes)._gasLimit (contracts/libraries/Hashing.sol#115) is not in mixedCase
Parameter Hashing.hashCrossDomainMessageV1(uint256,address,address,uint256,uint256,bytes)._data (contracts/libraries/Hashing.sol#116) is not in mixedCase
Parameter Hashing.hashWithdrawal(Types.WithdrawalTransaction)._tx (contracts/libraries/Hashing.sol#138) is not in mixedCase
Parameter Hashing.hashOutputRootProof(Types.OutputRootProof)._outputRootProof (contracts/libraries/Hashing.sol#157) is not in mixedCase
Parameter SafeCall.send(address,uint256,uint256)._target (contracts/libraries/SafeCall.sol#18) is not in mixedCase
Parameter SafeCall.send(address,uint256,uint256)._gas (contracts/libraries/SafeCall.sol#19) is not in mixedCase
Parameter SafeCall.send(address,uint256,uint256)._value (contracts/libraries/SafeCall.sol#20) is not in mixedCase
Parameter SafeCall.call(address,uint256,uint256,bytes)._target (contracts/libraries/SafeCall.sol#46) is not in mixedCase
Parameter SafeCall.call(address,uint256,uint256,bytes)._gas (contracts/libraries/SafeCall.sol#47) is not in mixedCase
Parameter SafeCall.call(address,uint256,uint256,bytes)._value (contracts/libraries/SafeCall.sol#48) is not in mixedCase
Parameter SafeCall.call(address,uint256,uint256,bytes)._calldata (contracts/libraries/SafeCall.sol#49) is not in mixedCase
Parameter SafeCall.hasMinGas(uint256,uint256)._minGas (contracts/libraries/SafeCall.sol#91) is not in mixedCase
Parameter SafeCall.hasMinGas(uint256,uint256)._reservedGas (contracts/libraries/SafeCall.sol#91) is not in mixedCase
Parameter SafeCall.callWithMinGas(address,uint256,uint256,bytes)._target (contracts/libraries/SafeCall.sol#113) is not in mixedCase
Parameter SafeCall.callWithMinGas(address,uint256,uint256,bytes)._minGas (contracts/libraries/SafeCall.sol#114) is not in mixedCase
Parameter SafeCall.callWithMinGas(address,uint256,uint256,bytes)._value (contracts/libraries/SafeCall.sol#115) is not in mixedCase
Parameter SafeCall.callWithMinGas(address,uint256,uint256,bytes)._calldata (contracts/libraries/SafeCall.sol#116) is not in mixedCase
Parameter RLPReader.toRLPItem(bytes)._in (contracts/libraries/rlp/RLPReader.sol#51) is not in mixedCase
Parameter RLPReader.readList(RLPReader.RLPItem)._in (contracts/libraries/rlp/RLPReader.sol#73) is not in mixedCase
Parameter RLPReader.readList(bytes)._in (contracts/libraries/rlp/RLPReader.sol#128) is not in mixedCase
Parameter RLPReader.readBytes(RLPReader.RLPItem)._in (contracts/libraries/rlp/RLPReader.sol#139) is not in mixedCase
Parameter RLPReader.readBytes(bytes)._in (contracts/libraries/rlp/RLPReader.sol#162) is not in mixedCase
Parameter RLPReader.readRawBytes(RLPReader.RLPItem)._in (contracts/libraries/rlp/RLPReader.sol#173) is not in mixedCase
Parameter RLPWriter.writeBytes(bytes)._in (contracts/libraries/rlp/RLPWriter.sol#19) is not in mixedCase
Parameter RLPWriter.writeList(bytes[])._in (contracts/libraries/rlp/RLPWriter.sol#38) is not in mixedCase
Parameter RLPWriter.writeString(string)._in (contracts/libraries/rlp/RLPWriter.sol#50) is not in mixedCase
Parameter RLPWriter.writeAddress(address)._in (contracts/libraries/rlp/RLPWriter.sol#61) is not in mixedCase
Parameter RLPWriter.writeUint(uint256)._in (contracts/libraries/rlp/RLPWriter.sol#72) is not in mixedCase
Parameter RLPWriter.writeBool(bool)._in (contracts/libraries/rlp/RLPWriter.sol#83) is not in mixedCase
Parameter MerkleTrie.verifyInclusionProof(bytes,bytes,bytes[],bytes32)._key (contracts/libraries/trie/MerkleTrie.sol#74) is not in mixedCase
Parameter MerkleTrie.verifyInclusionProof(bytes,bytes,bytes[],bytes32)._value (contracts/libraries/trie/MerkleTrie.sol#75) is not in mixedCase
Parameter MerkleTrie.verifyInclusionProof(bytes,bytes,bytes[],bytes32)._proof (contracts/libraries/trie/MerkleTrie.sol#76) is not in mixedCase
Parameter MerkleTrie.verifyInclusionProof(bytes,bytes,bytes[],bytes32)._root (contracts/libraries/trie/MerkleTrie.sol#77) is not in mixedCase
Parameter MerkleTrie.get(bytes,bytes[],bytes32)._key (contracts/libraries/trie/MerkleTrie.sol#92) is not in mixedCase
Parameter MerkleTrie.get(bytes,bytes[],bytes32)._proof (contracts/libraries/trie/MerkleTrie.sol#93) is not in mixedCase
Parameter MerkleTrie.get(bytes,bytes[],bytes32)._root (contracts/libraries/trie/MerkleTrie.sol#94) is not in mixedCase
Parameter SecureMerkleTrie.verifyInclusionProof(bytes,bytes,bytes[],bytes32)._key (contracts/libraries/trie/SecureMerkleTrie.sol#27) is not in mixedCase
Parameter SecureMerkleTrie.verifyInclusionProof(bytes,bytes,bytes[],bytes32)._value (contracts/libraries/trie/SecureMerkleTrie.sol#28) is not in mixedCase
Parameter SecureMerkleTrie.verifyInclusionProof(bytes,bytes,bytes[],bytes32)._proof (contracts/libraries/trie/SecureMerkleTrie.sol#29) is not in mixedCase
Parameter SecureMerkleTrie.verifyInclusionProof(bytes,bytes,bytes[],bytes32)._root (contracts/libraries/trie/SecureMerkleTrie.sol#30) is not in mixedCase
Parameter SecureMerkleTrie.get(bytes,bytes[],bytes32)._key (contracts/libraries/trie/SecureMerkleTrie.sol#46) is not in mixedCase
Parameter SecureMerkleTrie.get(bytes,bytes[],bytes32)._proof (contracts/libraries/trie/SecureMerkleTrie.sol#47) is not in mixedCase
Parameter SecureMerkleTrie.get(bytes,bytes[],bytes32)._root (contracts/libraries/trie/SecureMerkleTrie.sol#48) is not in mixedCase
Variable CrossDomainMessengerLegacySpacer0.spacer_0_0_20 (contracts/universal/CrossDomainMessenger.sol#23) is not in mixedCase
Variable CrossDomainMessengerLegacySpacer1.spacer_1_0_1600 (contracts/universal/CrossDomainMessenger.sol#41) is not in mixedCase
Variable CrossDomainMessengerLegacySpacer1.spacer_51_0_20 (contracts/universal/CrossDomainMessenger.sol#49) is not in mixedCase
Variable CrossDomainMessengerLegacySpacer1.spacer_52_0_1568 (contracts/universal/CrossDomainMessenger.sol#57) is not in mixedCase
Variable CrossDomainMessengerLegacySpacer1.spacer_101_0_1 (contracts/universal/CrossDomainMessenger.sol#65) is not in mixedCase
Variable CrossDomainMessengerLegacySpacer1.spacer_102_0_1568 (contracts/universal/CrossDomainMessenger.sol#73) is not in mixedCase
Variable CrossDomainMessengerLegacySpacer1.spacer_151_0_32 (contracts/universal/CrossDomainMessenger.sol#80) is not in mixedCase
Variable CrossDomainMessengerLegacySpacer1.spacer_152_0_1568 (contracts/universal/CrossDomainMessenger.sol#87) is not in mixedCase
Variable CrossDomainMessengerLegacySpacer1.spacer_201_0_32 (contracts/universal/CrossDomainMessenger.sol#94) is not in mixedCase
Variable CrossDomainMessengerLegacySpacer1.spacer_202_0_32 (contracts/universal/CrossDomainMessenger.sol#101) is not in mixedCase
Parameter CrossDomainMessenger.sendMessage(address,bytes,uint32)._target (contracts/universal/CrossDomainMessenger.sol#260) is not in mixedCase
Parameter CrossDomainMessenger.sendMessage(address,bytes,uint32)._message (contracts/universal/CrossDomainMessenger.sol#261) is not in mixedCase
Parameter CrossDomainMessenger.sendMessage(address,bytes,uint32)._minGasLimit (contracts/universal/CrossDomainMessenger.sol#262) is not in mixedCase
Parameter CrossDomainMessenger.relayMessage(uint256,address,address,uint256,uint256,bytes)._nonce (contracts/universal/CrossDomainMessenger.sol#304) is not in mixedCase
Parameter CrossDomainMessenger.relayMessage(uint256,address,address,uint256,uint256,bytes)._sender (contracts/universal/CrossDomainMessenger.sol#305) is not in mixedCase
Parameter CrossDomainMessenger.relayMessage(uint256,address,address,uint256,uint256,bytes)._target (contracts/universal/CrossDomainMessenger.sol#306) is not in mixedCase
Parameter CrossDomainMessenger.relayMessage(uint256,address,address,uint256,uint256,bytes)._value (contracts/universal/CrossDomainMessenger.sol#307) is not in mixedCase
Parameter CrossDomainMessenger.relayMessage(uint256,address,address,uint256,uint256,bytes)._minGasLimit (contracts/universal/CrossDomainMessenger.sol#308) is not in mixedCase
Parameter CrossDomainMessenger.relayMessage(uint256,address,address,uint256,uint256,bytes)._message (contracts/universal/CrossDomainMessenger.sol#309) is not in mixedCase
Parameter CrossDomainMessenger.baseGas(bytes,uint32)._message (contracts/universal/CrossDomainMessenger.sol#453) is not in mixedCase
Parameter CrossDomainMessenger.baseGas(bytes,uint32)._minGasLimit (contracts/universal/CrossDomainMessenger.sol#453) is not in mixedCase
Function CrossDomainMessenger.__CrossDomainMessenger_init() (contracts/universal/CrossDomainMessenger.sol#477-479) is not in mixedCase
Variable CrossDomainMessenger.OTHER_MESSENGER (contracts/universal/CrossDomainMessenger.sol#164) is not in mixedCase
Variable CrossDomainMessenger.__gap (contracts/universal/CrossDomainMessenger.sol#200) is not in mixedCase
Variable Semver.MAJOR_VERSION (contracts/universal/Semver.sol#14) is not in mixedCase
Variable Semver.MINOR_VERSION (contracts/universal/Semver.sol#19) is not in mixedCase
Variable Semver.PATCH_VERSION (contracts/universal/Semver.sol#24) is not in mixedCase
Constant AddressAliasHelper.offset (contracts/vendor/AddressAliasHelper.sol#22) is not in UPPER_CASE_WITH_UNDERSCORES
Function OwnableUpgradeable.__Ownable_init() (node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol#29-31) is not in mixedCase
Function OwnableUpgradeable.__Ownable_init_unchained() (node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol#33-35) is not in mixedCase
Variable OwnableUpgradeable.__gap (node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol#94) is not in mixedCase
Function ContextUpgradeable.__Context_init() (node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#18-19) is not in mixedCase
Function ContextUpgradeable.__Context_init_unchained() (node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#21-22) is not in mixedCase
Variable ContextUpgradeable.__gap (node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#36) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Detectors:
Variable CrossDomainMessenger.OTHER_MESSENGER (contracts/universal/CrossDomainMessenger.sol#164) is too similar to CrossDomainMessenger.constructor(address)._otherMessenger (contracts/universal/CrossDomainMessenger.sol#245)
Variable L2OutputOracle.SUBMISSION_INTERVAL (contracts/L1/L2OutputOracle.sol#20) is too similar to L2OutputOracle.constructor(uint256,uint256,uint256,uint256,address,address,uint256)._submissionInterval (contracts/L1/L2OutputOracle.sol#91)
Variable L2OutputOracle.proposeL2Output(bytes32,uint256,bytes32,uint256)._l1BlockNumber (contracts/L1/L2OutputOracle.sol#183) is too similar to L2OutputOracle.getL2OutputIndexAfter(uint256)._l2BlockNumber (contracts/L1/L2OutputOracle.sol#255)
Variable L2OutputOracle.proposeL2Output(bytes32,uint256,bytes32,uint256)._l1BlockNumber (contracts/L1/L2OutputOracle.sol#183) is too similar to L2OutputOracle.computeL2Timestamp(uint256)._l2BlockNumber (contracts/L1/L2OutputOracle.sol#347)
Variable L2OutputOracle.proposeL2Output(bytes32,uint256,bytes32,uint256)._l1BlockNumber (contracts/L1/L2OutputOracle.sol#183) is too similar to L2OutputOracle.getL2OutputAfter(uint256)._l2BlockNumber (contracts/L1/L2OutputOracle.sol#291)
Variable L2OutputOracle.proposeL2Output(bytes32,uint256,bytes32,uint256)._l1BlockNumber (contracts/L1/L2OutputOracle.sol#183) is too similar to L2OutputOracle.proposeL2Output(bytes32,uint256,bytes32,uint256)._l2BlockNumber (contracts/L1/L2OutputOracle.sol#181)
Variable RLPReader._decodeLength(RLPReader.RLPItem).firstByteOfContent_scope_0 (contracts/libraries/rlp/RLPReader.sol#243) is too similar to RLPReader._decodeLength(RLPReader.RLPItem).firstByteOfContent_scope_2 (contracts/libraries/rlp/RLPReader.sol#289)
Variable CrossDomainMessengerLegacySpacer1.spacer_102_0_1568 (contracts/universal/CrossDomainMessenger.sol#73) is too similar to CrossDomainMessengerLegacySpacer1.spacer_152_0_1568 (contracts/universal/CrossDomainMessenger.sol#87)
Variable CrossDomainMessengerLegacySpacer1.spacer_201_0_32 (contracts/universal/CrossDomainMessenger.sol#94) is too similar to CrossDomainMessengerLegacySpacer1.spacer_202_0_32 (contracts/universal/CrossDomainMessenger.sol#101)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#variable-names-too-similar
INFO:Detectors:
Constants.ESTIMATION_ADDRESS (contracts/libraries/Constants.sol#21) is never used in Constants (contracts/libraries/Constants.sol#12-49)
Constants.DEFAULT_L2_SENDER (contracts/libraries/Constants.sol#28) is never used in Constants (contracts/libraries/Constants.sol#12-49)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-state-variable
INFO:Slither:0x2150bc3c64cbfddbac9815ef615d6ab8671bfe43 analyzed (34 contracts with 87 detectors), 336 result(s) found
```
Slither report for Proxy at `0x229047fed2591dbec1eF1118d64F7aF3dB9EB290` with implementation SystemConfig at `0x5efa852e92800D1C982711761e45c3FE39a2b6D8`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x229047fed2591dbec1ef1118d64f7af3db9eb290-Proxy' running
INFO:Detectors:
Proxy.upgradeTo(address) (contracts/universal/Proxy.sol#87-89) calls Proxy.proxyCallIfNotAdmin() (contracts/universal/Proxy.sol#48-55) which halt the execution return(uint256,uint256)(0x0,returndatasize()()) (contracts/universal/Proxy.sol#188)
Proxy.upgradeToAndCall(address,bytes) (contracts/universal/Proxy.sol#98-109) calls Proxy.proxyCallIfNotAdmin() (contracts/universal/Proxy.sol#48-55) which halt the execution return(uint256,uint256)(0x0,returndatasize()()) (contracts/universal/Proxy.sol#188)
Proxy.changeAdmin(address) (contracts/universal/Proxy.sol#116-118) calls Proxy.proxyCallIfNotAdmin() (contracts/universal/Proxy.sol#48-55) which halt the execution return(uint256,uint256)(0x0,returndatasize()()) (contracts/universal/Proxy.sol#188)
Proxy.admin() (contracts/universal/Proxy.sol#125-127) calls Proxy.proxyCallIfNotAdmin() (contracts/universal/Proxy.sol#48-55) which halt the execution return(uint256,uint256)(0x0,returndatasize()()) (contracts/universal/Proxy.sol#188)
Proxy.implementation() (contracts/universal/Proxy.sol#134-136) calls Proxy.proxyCallIfNotAdmin() (contracts/universal/Proxy.sol#48-55) which halt the execution return(uint256,uint256)(0x0,returndatasize()()) (contracts/universal/Proxy.sol#188)
Proxy.proxyCallIfNotAdmin() (contracts/universal/Proxy.sol#48-55) calls Proxy._doProxyCall() (contracts/universal/Proxy.sol#166-190) which halt the execution return(uint256,uint256)(0x0,returndatasize()()) (contracts/universal/Proxy.sol#188)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-assembly-return
INFO:Detectors:
Proxy.upgradeToAndCall(address,bytes)._implementation (contracts/universal/Proxy.sol#98) lacks a zero-check on :
- (success,returndata) = _implementation.delegatecall(_data) (contracts/universal/Proxy.sol#106)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation
INFO:Detectors:
Modifier Proxy.proxyCallIfNotAdmin() (contracts/universal/Proxy.sol#48-55) does not always execute _; or revertReference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-modifier
INFO:Detectors:
Proxy._setImplementation(address) (contracts/universal/Proxy.sol#143-148) uses assembly
- INLINE ASM (contracts/universal/Proxy.sol#144-146)
Proxy._changeAdmin(address) (contracts/universal/Proxy.sol#155-161) uses assembly
- INLINE ASM (contracts/universal/Proxy.sol#157-159)
Proxy._doProxyCall() (contracts/universal/Proxy.sol#166-190) uses assembly
- INLINE ASM (contracts/universal/Proxy.sol#170-189)
Proxy._getImplementation() (contracts/universal/Proxy.sol#197-203) uses assembly
- INLINE ASM (contracts/universal/Proxy.sol#199-201)
Proxy._getAdmin() (contracts/universal/Proxy.sol#210-216) uses assembly
- INLINE ASM (contracts/universal/Proxy.sol#212-214)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
Low level call in Proxy.upgradeToAndCall(address,bytes) (contracts/universal/Proxy.sol#98-109):
- (success,returndata) = _implementation.delegatecall(_data) (contracts/universal/Proxy.sol#106)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
INFO:Detectors:
Parameter Proxy.upgradeTo(address)._implementation (contracts/universal/Proxy.sol#87) is not in mixedCase
Parameter Proxy.upgradeToAndCall(address,bytes)._implementation (contracts/universal/Proxy.sol#98) is not in mixedCase
Parameter Proxy.upgradeToAndCall(address,bytes)._data (contracts/universal/Proxy.sol#98) is not in mixedCase
Parameter Proxy.changeAdmin(address)._admin (contracts/universal/Proxy.sol#116) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Slither:0x229047fed2591dbec1ef1118d64f7af3db9eb290 analyzed (1 contracts with 87 detectors), 18 result(s) found
```
Slither report for Lib_ResolvedDelegateProxy at `0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x25ace71c97b33cc4729cf772ae268934f7ab5fa1-Lib_ResolvedDelegateProxy' running
Warning: @openzeppelin/contracts/access/Ownable.sol:26:5: Warning: Visibility for constructor is ignored. If you want the contract to be non-deployable, making it "abstract" is sufficient.
constructor () internal {
^ (Relevant source part starts here and spans across multiple lines).
INFO:Detectors:
Lib_ResolvedDelegateProxy.fallback() (contracts/optimistic-ethereum/libraries/resolver/Lib_ResolvedDelegateProxy.sol#49-73) uses delegatecall to a input-controlled function id
- (success,returndata) = target.delegatecall(msg.data) (contracts/optimistic-ethereum/libraries/resolver/Lib_ResolvedDelegateProxy.sol#62)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#controlled-delegatecall
INFO:Detectors:
Lib_ResolvedDelegateProxy.fallback() (contracts/optimistic-ethereum/libraries/resolver/Lib_ResolvedDelegateProxy.sol#49-73) uses assembly
- INLINE ASM (contracts/optimistic-ethereum/libraries/resolver/Lib_ResolvedDelegateProxy.sol#65-67)
- INLINE ASM (contracts/optimistic-ethereum/libraries/resolver/Lib_ResolvedDelegateProxy.sol#69-71)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
Lib_ResolvedDelegateProxy.fallback() (contracts/optimistic-ethereum/libraries/resolver/Lib_ResolvedDelegateProxy.sol#49-73) compares to a boolean constant:
-success == true (contracts/optimistic-ethereum/libraries/resolver/Lib_ResolvedDelegateProxy.sol#64)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#boolean-equality
INFO:Detectors:
Context._msgData() (@openzeppelin/contracts/utils/Context.sol#20-23) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Low level call in Lib_ResolvedDelegateProxy.fallback() (contracts/optimistic-ethereum/libraries/resolver/Lib_ResolvedDelegateProxy.sol#49-73):
- (success,returndata) = target.delegatecall(msg.data) (contracts/optimistic-ethereum/libraries/resolver/Lib_ResolvedDelegateProxy.sol#62)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
INFO:Detectors:
Contract Lib_AddressManager (contracts/optimistic-ethereum/libraries/resolver/Lib_AddressManager.sol#10-95) is not in CapWords
Parameter Lib_AddressManager.setAddress(string,address)._name (contracts/optimistic-ethereum/libraries/resolver/Lib_AddressManager.sol#40) is not in mixedCase
Parameter Lib_AddressManager.setAddress(string,address)._address (contracts/optimistic-ethereum/libraries/resolver/Lib_AddressManager.sol#41) is not in mixedCase
Parameter Lib_AddressManager.getAddress(string)._name (contracts/optimistic-ethereum/libraries/resolver/Lib_AddressManager.sol#63) is not in mixedCase
Contract Lib_ResolvedDelegateProxy (contracts/optimistic-ethereum/libraries/resolver/Lib_ResolvedDelegateProxy.sol#10-74) is not in CapWords
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Detectors:
Redundant expression "this (@openzeppelin/contracts/utils/Context.sol#21)" inContext (@openzeppelin/contracts/utils/Context.sol#15-24)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#redundant-statements
INFO:Slither:0x25ace71c97b33cc4729cf772ae268934f7ab5fa1 analyzed (4 contracts with 87 detectors), 11 result(s) found
```
Slither report for OptimismPortal at `0x28a55488fef40005309e2DA0040DbE9D300a64AB`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x28a55488fef40005309e2da0040dbe9d300a64ab-OptimismPortal' running
INFO:Detectors:
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#55-135) has bitwise-xor operator ^ instead of the exponentiation operator **:
- inverse = (3 * denominator) ^ 2 (node_modules/@openzeppelin/contracts/utils/math/Math.sol#117)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-exponentiation
INFO:Detectors:
Initializable is re-used:
- Initializable (node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol#57-138)
- Initializable (node_modules/@openzeppelin/contracts/proxy/utils/Initializable.sol#57-138)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#name-reused
INFO:Detectors:
ResourceMetering._metered(uint64,uint256) (contracts/L1/ResourceMetering.sol#92-164) performs a multiplication on the result of a division:
- targetResourceLimit = int256(uint256(config.maxResourceLimit)) / int256(uint256(config.elasticityMultiplier)) (contracts/L1/ResourceMetering.sol#97-98)
- baseFeeDelta = (int256(uint256(params.prevBaseFee)) * gasUsedDelta) / (targetResourceLimit * int256(uint256(config.baseFeeMaxChangeDenominator))) (contracts/L1/ResourceMetering.sol#105-106)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#55-135) performs a multiplication on the result of a division:
- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#102)
- inverse = (3 * denominator) ^ 2 (node_modules/@openzeppelin/contracts/utils/math/Math.sol#117)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#55-135) performs a multiplication on the result of a division:
- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#102)
- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#121)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#55-135) performs a multiplication on the result of a division:
- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#102)
- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#122)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#55-135) performs a multiplication on the result of a division:
- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#102)
- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#123)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#55-135) performs a multiplication on the result of a division:
- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#102)
- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#124)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#55-135) performs a multiplication on the result of a division:
- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#102)
- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#125)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#55-135) performs a multiplication on the result of a division:
- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#102)
- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#126)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#55-135) performs a multiplication on the result of a division:
- prod0 = prod0 / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#105)
- result = prod0 * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#132)
FixedPointMathLib.expWad(int256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#34-90) performs a multiplication on the result of a division:
- x = (x << 78) / 5 ** 18 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#47)
- y = ((y * x) >> 96) + 57155421227552351082224309758442 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#60)
FixedPointMathLib.expWad(int256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#34-90) performs a multiplication on the result of a division:
- x = (x << 78) / 5 ** 18 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#47)
- p = p * x + (4385272521454847904659076985693276 << 96) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#63)
FixedPointMathLib.expWad(int256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#34-90) performs a multiplication on the result of a division:
- x = (x << 78) / 5 ** 18 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#47)
- q = ((q * x) >> 96) + 50020603652535783019961831881945 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#67)
FixedPointMathLib.expWad(int256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#34-90) performs a multiplication on the result of a division:
- x = (x << 78) / 5 ** 18 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#47)
- q = ((q * x) >> 96) - 533845033583426703283633433725380 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#68)
FixedPointMathLib.expWad(int256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#34-90) performs a multiplication on the result of a division:
- x = (x << 78) / 5 ** 18 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#47)
- q = ((q * x) >> 96) + 3604857256930695427073651918091429 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#69)
FixedPointMathLib.expWad(int256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#34-90) performs a multiplication on the result of a division:
- x = (x << 78) / 5 ** 18 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#47)
- q = ((q * x) >> 96) - 14423608567350463180887372962807573 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#70)
FixedPointMathLib.expWad(int256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#34-90) performs a multiplication on the result of a division:
- x = (x << 78) / 5 ** 18 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#47)
- q = ((q * x) >> 96) + 26449188498355588339934803723976023 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#71)
FixedPointMathLib.rpow(uint256,uint256,uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#196-282) performs a multiplication on the result of a division:
- x = xxRound_rpow_asm_0 / scalar (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#253)
- zx_rpow_asm_0 = z * x (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#258)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#divide-before-multiply
INFO:Detectors:
L2OutputOracle.latestBlockNumber() (contracts/L1/L2OutputOracle.sol#324-329) uses a dangerous strict equality:
- l2Outputs.length == 0 (contracts/L1/L2OutputOracle.sol#325-328)
L2OutputOracle.proposeL2Output(bytes32,uint256,bytes32,uint256) (contracts/L1/L2OutputOracle.sol#179-229) uses a dangerous strict equality:
- require(bool,string)(_l2BlockNumber == nextBlockNumber(),L2OutputOracle: block number must be equal to next expected block number) (contracts/L1/L2OutputOracle.sol#190-193)
OptimismPortal.proveWithdrawalTransaction(Types.WithdrawalTransaction,uint256,Types.OutputRootProof,bytes[]) (contracts/L1/OptimismPortal.sol#242-318) uses a dangerous strict equality:
- require(bool,string)(provenWithdrawal.timestamp == 0 || L2_ORACLE.getL2Output(provenWithdrawal.l2OutputIndex).outputRoot != provenWithdrawal.outputRoot,OptimismPortal: withdrawal hash has already been proven) (contracts/L1/OptimismPortal.sol#276-281)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-strict-equalities
INFO:Detectors:
OptimismPortal.finalizeWithdrawalTransaction(Types.WithdrawalTransaction) (contracts/L1/OptimismPortal.sol#325-420) uses tx.origin for authorization: success == false && tx.origin == Constants.ESTIMATION_ADDRESS (contracts/L1/OptimismPortal.sol#417)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-usage-of-txorigin
INFO:Detectors:
MerkleTrie._getSharedNibbleLength(bytes,bytes).shared (contracts/libraries/trie/MerkleTrie.sol#279) is a local variable never initialized
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-local-variables
INFO:Detectors:
Hashing.hashCrossDomainMessage(uint256,address,address,uint256,uint256,bytes) (contracts/libraries/Hashing.sol#61-77) ignores return value by (version) = Encoding.decodeVersionedNonce(_nonce) (contracts/libraries/Hashing.sol#69)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return
INFO:Detectors:
OptimismPortal.l2Sender (contracts/L1/OptimismPortal.sol#67) is written in both
l2Sender = _tx.sender (contracts/L1/OptimismPortal.sol#396)
l2Sender = Constants.DEFAULT_L2_SENDER (contracts/L1/OptimismPortal.sol#408)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#write-after-write
INFO:Detectors:
SystemConfig.constructor(address,uint256,uint256,bytes32,uint64,address,ResourceMetering.ResourceConfig)._owner (contracts/L1/SystemConfig.sol#94) shadows:
- OwnableUpgradeable._owner (node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol#22) (state variable)
SystemConfig.initialize(address,uint256,uint256,bytes32,uint64,address,ResourceMetering.ResourceConfig)._owner (contracts/L1/SystemConfig.sol#126) shadows:
- OwnableUpgradeable._owner (node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol#22) (state variable)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#local-variable-shadowing
INFO:Detectors:
L2OutputOracle.constructor(uint256,uint256,uint256,uint256,address,address,uint256)._proposer (contracts/L1/L2OutputOracle.sol#95) lacks a zero-check on :
- PROPOSER = _proposer (contracts/L1/L2OutputOracle.sol#107)
L2OutputOracle.constructor(uint256,uint256,uint256,uint256,address,address,uint256)._challenger (contracts/L1/L2OutputOracle.sol#96) lacks a zero-check on :
- CHALLENGER = _challenger (contracts/L1/L2OutputOracle.sol#108)
OptimismPortal.constructor(L2OutputOracle,address,bool,SystemConfig)._guardian (contracts/L1/OptimismPortal.sol#152) lacks a zero-check on :
- GUARDIAN = _guardian (contracts/L1/OptimismPortal.sol#157)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation
INFO:Detectors:
L2OutputOracle.initialize(uint256,uint256) (contracts/L1/L2OutputOracle.sol#120-131) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(_startingTimestamp <= block.timestamp,L2OutputOracle: starting L2 timestamp must be less than current time) (contracts/L1/L2OutputOracle.sol#124-127)
L2OutputOracle.deleteL2Outputs(uint256) (contracts/L1/L2OutputOracle.sol#141-167) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(_l2OutputIndex < l2Outputs.length,L2OutputOracle: cannot delete outputs after the latest output index) (contracts/L1/L2OutputOracle.sol#148-151)
- require(bool,string)(block.timestamp - l2Outputs[_l2OutputIndex].timestamp < FINALIZATION_PERIOD_SECONDS,L2OutputOracle: cannot delete outputs that have already been finalized) (contracts/L1/L2OutputOracle.sol#154-157)
L2OutputOracle.proposeL2Output(bytes32,uint256,bytes32,uint256) (contracts/L1/L2OutputOracle.sol#179-229) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(_l2BlockNumber == nextBlockNumber(),L2OutputOracle: block number must be equal to next expected block number) (contracts/L1/L2OutputOracle.sol#190-193)
- require(bool,string)(computeL2Timestamp(_l2BlockNumber) < block.timestamp,L2OutputOracle: cannot propose L2 output in the future) (contracts/L1/L2OutputOracle.sol#195-198)
L2OutputOracle.getL2OutputIndexAfter(uint256) (contracts/L1/L2OutputOracle.sol#255-281) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(_l2BlockNumber <= latestBlockNumber(),L2OutputOracle: cannot get output for a block that has not been proposed) (contracts/L1/L2OutputOracle.sol#257-260)
- require(bool,string)(l2Outputs.length > 0,L2OutputOracle: cannot get output as no outputs have been proposed yet) (contracts/L1/L2OutputOracle.sol#263-266)
- lo < hi (contracts/L1/L2OutputOracle.sol#271)
- l2Outputs[mid].l2BlockNumber < _l2BlockNumber (contracts/L1/L2OutputOracle.sol#273)
L2OutputOracle.latestBlockNumber() (contracts/L1/L2OutputOracle.sol#324-329) uses timestamp for comparisons
Dangerous comparisons:
- l2Outputs.length == 0 (contracts/L1/L2OutputOracle.sol#325-328)
OptimismPortal.proveWithdrawalTransaction(Types.WithdrawalTransaction,uint256,Types.OutputRootProof,bytes[]) (contracts/L1/OptimismPortal.sol#242-318) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(provenWithdrawal.timestamp == 0 || L2_ORACLE.getL2Output(provenWithdrawal.l2OutputIndex).outputRoot != provenWithdrawal.outputRoot,OptimismPortal: withdrawal hash has already been proven) (contracts/L1/OptimismPortal.sol#276-281)
OptimismPortal._isFinalizationPeriodElapsed(uint256) (contracts/L1/OptimismPortal.sol#504-506) uses timestamp for comparisons
Dangerous comparisons:
- block.timestamp > _timestamp + L2_ORACLE.FINALIZATION_PERIOD_SECONDS() (contracts/L1/OptimismPortal.sol#505)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#block-timestamp
INFO:Detectors:
L2OutputOracle.deleteL2Outputs(uint256) (contracts/L1/L2OutputOracle.sol#141-167) uses assembly
- INLINE ASM (contracts/L1/L2OutputOracle.sol#162-164)
SystemConfig.unsafeBlockSigner() (contracts/L1/SystemConfig.sol#166-173) uses assembly
- INLINE ASM (contracts/L1/SystemConfig.sol#169-171)
SystemConfig._setUnsafeBlockSigner(address) (contracts/L1/SystemConfig.sol#232-237) uses assembly
- INLINE ASM (contracts/L1/SystemConfig.sol#234-236)
Bytes.slice(bytes,uint256,uint256) (contracts/libraries/Bytes.sol#21-88) uses assembly
- INLINE ASM (contracts/libraries/Bytes.sol#34-85)
Encoding.encodeVersionedNonce(uint240,uint16) (contracts/libraries/Encoding.sol#137-143) uses assembly
- INLINE ASM (contracts/libraries/Encoding.sol#139-141)
Encoding.decodeVersionedNonce(uint256) (contracts/libraries/Encoding.sol#153-161) uses assembly
- INLINE ASM (contracts/libraries/Encoding.sol#156-159)
SafeCall.send(address,uint256,uint256) (contracts/libraries/SafeCall.sol#17-35) uses assembly
- INLINE ASM (contracts/libraries/SafeCall.sol#23-33)
SafeCall.call(address,uint256,uint256,bytes) (contracts/libraries/SafeCall.sol#45-64) uses assembly
- INLINE ASM (contracts/libraries/SafeCall.sol#52-62)
SafeCall.hasMinGas(uint256,uint256) (contracts/libraries/SafeCall.sol#91-100) uses assembly
- INLINE ASM (contracts/libraries/SafeCall.sol#93-98)
SafeCall.callWithMinGas(address,uint256,uint256,bytes) (contracts/libraries/SafeCall.sol#112-159) uses assembly
- INLINE ASM (contracts/libraries/SafeCall.sol#120-157)
RLPReader.toRLPItem(bytes) (contracts/libraries/rlp/RLPReader.sol#51-64) uses assembly
- INLINE ASM (contracts/libraries/rlp/RLPReader.sol#59-61)
RLPReader.readList(RLPReader.RLPItem) (contracts/libraries/rlp/RLPReader.sol#73-119) uses assembly
- INLINE ASM (contracts/libraries/rlp/RLPReader.sol#114-116)
RLPReader._decodeLength(RLPReader.RLPItem) (contracts/libraries/rlp/RLPReader.sol#186-316) uses assembly
- INLINE ASM (contracts/libraries/rlp/RLPReader.sol#205-207)
- INLINE ASM (contracts/libraries/rlp/RLPReader.sol#224-226)
- INLINE ASM (contracts/libraries/rlp/RLPReader.sol#244-246)
- INLINE ASM (contracts/libraries/rlp/RLPReader.sol#254-256)
- INLINE ASM (contracts/libraries/rlp/RLPReader.sol#290-292)
- INLINE ASM (contracts/libraries/rlp/RLPReader.sol#300-302)
RLPReader._copy(RLPReader.MemoryPointer,uint256,uint256) (contracts/libraries/rlp/RLPReader.sol#327-358) uses assembly
- INLINE ASM (contracts/libraries/rlp/RLPReader.sol#341-355)
RLPWriter._memcpy(uint256,uint256,uint256) (contracts/libraries/rlp/RLPWriter.sol#154-180) uses assembly
- INLINE ASM (contracts/libraries/rlp/RLPWriter.sol#164-166)
- INLINE ASM (contracts/libraries/rlp/RLPWriter.sol#175-179)
RLPWriter._flatten(bytes[]) (contracts/libraries/rlp/RLPWriter.sol#190-220) uses assembly
- INLINE ASM (contracts/libraries/rlp/RLPWriter.sol#203-205)
- INLINE ASM (contracts/libraries/rlp/RLPWriter.sol#211-213)
AddressUpgradeable.verifyCallResult(bool,bytes,string) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#174-194) uses assembly
- INLINE ASM (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#186-189)
Address.verifyCallResult(bool,bytes,string) (node_modules/@openzeppelin/contracts/utils/Address.sol#201-221) uses assembly
- INLINE ASM (node_modules/@openzeppelin/contracts/utils/Address.sol#213-216)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#55-135) uses assembly
- INLINE ASM (node_modules/@openzeppelin/contracts/utils/math/Math.sol#66-70)
- INLINE ASM (node_modules/@openzeppelin/contracts/utils/math/Math.sol#86-93)
- INLINE ASM (node_modules/@openzeppelin/contracts/utils/math/Math.sol#100-109)
FixedPointMathLib.expWad(int256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#34-90) uses assembly
- INLINE ASM (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#73-78)
FixedPointMathLib.lnWad(int256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#92-150) uses assembly
- INLINE ASM (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#126-131)
FixedPointMathLib.mulDivDown(uint256,uint256,uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#156-173) uses assembly
- INLINE ASM (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#161-172)
FixedPointMathLib.mulDivUp(uint256,uint256,uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#175-194) uses assembly
- INLINE ASM (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#180-193)
FixedPointMathLib.rpow(uint256,uint256,uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#196-282) uses assembly
- INLINE ASM (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#201-281)
FixedPointMathLib.sqrt(uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#288-350) uses assembly
- INLINE ASM (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#289-349)
FixedPointMathLib.log2(uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#352-365) uses assembly
- INLINE ASM (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#355-364)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
OptimismPortal.finalizeWithdrawalTransaction(Types.WithdrawalTransaction) (contracts/L1/OptimismPortal.sol#325-420) compares to a boolean constant:
-require(bool,string)(finalizedWithdrawals[withdrawalHash] == false,OptimismPortal: withdrawal has already been finalized) (contracts/L1/OptimismPortal.sol#387-390)
OptimismPortal.finalizeWithdrawalTransaction(Types.WithdrawalTransaction) (contracts/L1/OptimismPortal.sol#325-420) compares to a boolean constant:
-success == false && tx.origin == Constants.ESTIMATION_ADDRESS (contracts/L1/OptimismPortal.sol#417)
OptimismPortal.whenNotPaused() (contracts/L1/OptimismPortal.sol#137-140) compares to a boolean constant:
-require(bool,string)(paused == false,OptimismPortal: paused) (contracts/L1/OptimismPortal.sol#138)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#boolean-equality
INFO:Detectors:
Address.functionCall(address,bytes) (node_modules/@openzeppelin/contracts/utils/Address.sol#85-87) is never used and should be removed
Address.functionCall(address,bytes,string) (node_modules/@openzeppelin/contracts/utils/Address.sol#95-101) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (node_modules/@openzeppelin/contracts/utils/Address.sol#114-120) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (node_modules/@openzeppelin/contracts/utils/Address.sol#128-139) is never used and should be removed
Address.functionDelegateCall(address,bytes) (node_modules/@openzeppelin/contracts/utils/Address.sol#174-176) is never used and should be removed
Address.functionDelegateCall(address,bytes,string) (node_modules/@openzeppelin/contracts/utils/Address.sol#184-193) is never used and should be removed
Address.functionStaticCall(address,bytes) (node_modules/@openzeppelin/contracts/utils/Address.sol#147-149) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (node_modules/@openzeppelin/contracts/utils/Address.sol#157-166) is never used and should be removed
Address.sendValue(address,uint256) (node_modules/@openzeppelin/contracts/utils/Address.sol#60-65) is never used and should be removed
Address.verifyCallResult(bool,bytes,string) (node_modules/@openzeppelin/contracts/utils/Address.sol#201-221) is never used and should be removed
AddressAliasHelper.undoL1ToL2Alias(address) (contracts/vendor/AddressAliasHelper.sol#38-42) is never used and should be removed
AddressUpgradeable.functionCall(address,bytes) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#85-87) is never used and should be removed
AddressUpgradeable.functionCall(address,bytes,string) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#95-101) is never used and should be removed
AddressUpgradeable.functionCallWithValue(address,bytes,uint256) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#114-120) is never used and should be removed
AddressUpgradeable.functionCallWithValue(address,bytes,uint256,string) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#128-139) is never used and should be removed
AddressUpgradeable.functionStaticCall(address,bytes) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#147-149) is never used and should be removed
AddressUpgradeable.functionStaticCall(address,bytes,string) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#157-166) is never used and should be removed
AddressUpgradeable.sendValue(address,uint256) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#60-65) is never used and should be removed
AddressUpgradeable.verifyCallResult(bool,bytes,string) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#174-194) is never used and should be removed
Burn.eth(uint256) (contracts/libraries/Burn.sol#14-16) is never used and should be removed
Burn.gas(uint256) (contracts/libraries/Burn.sol#23-29) is never used and should be removed
Constants.DEFAULT_RESOURCE_CONFIG() (contracts/libraries/Constants.sol#34-48) is never used and should be removed
ContextUpgradeable.__Context_init() (node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#18-19) is never used and should be removed
ContextUpgradeable.__Context_init_unchained() (node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#21-22) is never used and should be removed
ContextUpgradeable._msgData() (node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#27-29) is never used and should be removed
Encoding.decodeVersionedNonce(uint256) (contracts/libraries/Encoding.sol#153-161) is never used and should be removed
Encoding.encodeCrossDomainMessage(uint256,address,address,uint256,uint256,bytes) (contracts/libraries/Encoding.sol#53-69) is never used and should be removed
Encoding.encodeCrossDomainMessageV0(address,address,bytes,uint256) (contracts/libraries/Encoding.sol#81-95) is never used and should be removed
Encoding.encodeCrossDomainMessageV1(uint256,address,address,uint256,uint256,bytes) (contracts/libraries/Encoding.sol#109-127) is never used and should be removed
Encoding.encodeDepositTransaction(Types.UserDepositTransaction) (contracts/libraries/Encoding.sol#22-38) is never used and should be removed
Encoding.encodeVersionedNonce(uint240,uint16) (contracts/libraries/Encoding.sol#137-143) is never used and should be removed
FixedPointMathLib.divWadDown(uint256,uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#21-23) is never used and should be removed
FixedPointMathLib.divWadUp(uint256,uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#25-27) is never used and should be removed
FixedPointMathLib.mulDivDown(uint256,uint256,uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#156-173) is never used and should be removed
FixedPointMathLib.mulDivUp(uint256,uint256,uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#175-194) is never used and should be removed
FixedPointMathLib.mulWadDown(uint256,uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#13-15) is never used and should be removed
FixedPointMathLib.mulWadUp(uint256,uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#17-19) is never used and should be removed
FixedPointMathLib.rpow(uint256,uint256,uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#196-282) is never used and should be removed
FixedPointMathLib.sqrt(uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#288-350) is never used and should be removed
Hashing.hashCrossDomainMessage(uint256,address,address,uint256,uint256,bytes) (contracts/libraries/Hashing.sol#61-77) is never used and should be removed
Hashing.hashCrossDomainMessageV0(address,address,bytes,uint256) (contracts/libraries/Hashing.sol#89-96) is never used and should be removed
Hashing.hashCrossDomainMessageV1(uint256,address,address,uint256,uint256,bytes) (contracts/libraries/Hashing.sol#110-129) is never used and should be removed
Hashing.hashDepositSource(bytes32,uint256) (contracts/libraries/Hashing.sol#39-46) is never used and should be removed
Hashing.hashDepositTransaction(Types.UserDepositTransaction) (contracts/libraries/Hashing.sol#21-27) is never used and should be removed
Initializable._disableInitializers() (node_modules/@openzeppelin/contracts/proxy/utils/Initializable.sol#131-137) is never used and should be removed
Math.average(uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#34-37) is never used and should be removed
Math.ceilDiv(uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#45-48) is never used and should be removed
Math.min(uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#26-28) is never used and should be removed
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#55-135) is never used and should be removed
Math.mulDiv(uint256,uint256,uint256,Math.Rounding) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#140-151) is never used and should be removed
Math.sqrt(uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#158-214) is never used and should be removed
Math.sqrt(uint256,Math.Rounding) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#219-225) is never used and should be removed
RLPReader.readBytes(bytes) (contracts/libraries/rlp/RLPReader.sol#162-164) is never used and should be removed
RLPWriter._flatten(bytes[]) (contracts/libraries/rlp/RLPWriter.sol#190-220) is never used and should be removed
RLPWriter._memcpy(uint256,uint256,uint256) (contracts/libraries/rlp/RLPWriter.sol#154-180) is never used and should be removed
RLPWriter._toBinary(uint256) (contracts/libraries/rlp/RLPWriter.sol#128-144) is never used and should be removed
RLPWriter._writeLength(uint256,uint256) (contracts/libraries/rlp/RLPWriter.sol#97-119) is never used and should be removed
RLPWriter.writeAddress(address) (contracts/libraries/rlp/RLPWriter.sol#61-63) is never used and should be removed
RLPWriter.writeBool(bool) (contracts/libraries/rlp/RLPWriter.sol#83-87) is never used and should be removed
RLPWriter.writeBytes(bytes) (contracts/libraries/rlp/RLPWriter.sol#19-29) is never used and should be removed
RLPWriter.writeList(bytes[]) (contracts/libraries/rlp/RLPWriter.sol#38-41) is never used and should be removed
RLPWriter.writeString(string) (contracts/libraries/rlp/RLPWriter.sol#50-52) is never used and should be removed
RLPWriter.writeUint(uint256) (contracts/libraries/rlp/RLPWriter.sol#72-74) is never used and should be removed
SafeCall.call(address,uint256,uint256,bytes) (contracts/libraries/SafeCall.sol#45-64) is never used and should be removed
SafeCall.send(address,uint256,uint256) (contracts/libraries/SafeCall.sol#17-35) is never used and should be removed
SecureMerkleTrie.get(bytes,bytes[],bytes32) (contracts/libraries/trie/SecureMerkleTrie.sol#45-52) is never used and should be removed
SignedMath.abs(int256) (node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol#37-42) is never used and should be removed
SignedMath.average(int256,int256) (node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol#28-32) is never used and should be removed
Strings.toHexString(address) (node_modules/@openzeppelin/contracts/utils/Strings.sol#72-74) is never used and should be removed
Strings.toHexString(uint256) (node_modules/@openzeppelin/contracts/utils/Strings.sol#41-52) is never used and should be removed
Strings.toHexString(uint256,uint256) (node_modules/@openzeppelin/contracts/utils/Strings.sol#57-67) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Low level call in AddressUpgradeable.sendValue(address,uint256) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#60-65):
- (success) = recipient.call{value: amount}() (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#63)
Low level call in AddressUpgradeable.functionCallWithValue(address,bytes,uint256,string) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#128-139):
- (success,returndata) = target.call{value: value}(data) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#137)
Low level call in AddressUpgradeable.functionStaticCall(address,bytes,string) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#157-166):
- (success,returndata) = target.staticcall(data) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#164)
Low level call in Address.sendValue(address,uint256) (node_modules/@openzeppelin/contracts/utils/Address.sol#60-65):
- (success) = recipient.call{value: amount}() (node_modules/@openzeppelin/contracts/utils/Address.sol#63)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (node_modules/@openzeppelin/contracts/utils/Address.sol#128-139):
- (success,returndata) = target.call{value: value}(data) (node_modules/@openzeppelin/contracts/utils/Address.sol#137)
Low level call in Address.functionStaticCall(address,bytes,string) (node_modules/@openzeppelin/contracts/utils/Address.sol#157-166):
- (success,returndata) = target.staticcall(data) (node_modules/@openzeppelin/contracts/utils/Address.sol#164)
Low level call in Address.functionDelegateCall(address,bytes,string) (node_modules/@openzeppelin/contracts/utils/Address.sol#184-193):
- (success,returndata) = target.delegatecall(data) (node_modules/@openzeppelin/contracts/utils/Address.sol#191)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
INFO:Detectors:
Parameter L2OutputOracle.initialize(uint256,uint256)._startingBlockNumber (contracts/L1/L2OutputOracle.sol#120) is not in mixedCase
Parameter L2OutputOracle.initialize(uint256,uint256)._startingTimestamp (contracts/L1/L2OutputOracle.sol#120) is not in mixedCase
Parameter L2OutputOracle.deleteL2Outputs(uint256)._l2OutputIndex (contracts/L1/L2OutputOracle.sol#141) is not in mixedCase
Parameter L2OutputOracle.proposeL2Output(bytes32,uint256,bytes32,uint256)._outputRoot (contracts/L1/L2OutputOracle.sol#180) is not in mixedCase
Parameter L2OutputOracle.proposeL2Output(bytes32,uint256,bytes32,uint256)._l2BlockNumber (contracts/L1/L2OutputOracle.sol#181) is not in mixedCase
Parameter L2OutputOracle.proposeL2Output(bytes32,uint256,bytes32,uint256)._l1BlockHash (contracts/L1/L2OutputOracle.sol#182) is not in mixedCase
Parameter L2OutputOracle.proposeL2Output(bytes32,uint256,bytes32,uint256)._l1BlockNumber (contracts/L1/L2OutputOracle.sol#183) is not in mixedCase
Parameter L2OutputOracle.getL2Output(uint256)._l2OutputIndex (contracts/L1/L2OutputOracle.sol#239) is not in mixedCase
Parameter L2OutputOracle.getL2OutputIndexAfter(uint256)._l2BlockNumber (contracts/L1/L2OutputOracle.sol#255) is not in mixedCase
Parameter L2OutputOracle.getL2OutputAfter(uint256)._l2BlockNumber (contracts/L1/L2OutputOracle.sol#291) is not in mixedCase
Parameter L2OutputOracle.computeL2Timestamp(uint256)._l2BlockNumber (contracts/L1/L2OutputOracle.sol#347) is not in mixedCase
Variable L2OutputOracle.SUBMISSION_INTERVAL (contracts/L1/L2OutputOracle.sol#20) is not in mixedCase
Variable L2OutputOracle.L2_BLOCK_TIME (contracts/L1/L2OutputOracle.sol#25) is not in mixedCase
Variable L2OutputOracle.CHALLENGER (contracts/L1/L2OutputOracle.sol#30) is not in mixedCase
Variable L2OutputOracle.PROPOSER (contracts/L1/L2OutputOracle.sol#35) is not in mixedCase
Variable L2OutputOracle.FINALIZATION_PERIOD_SECONDS (contracts/L1/L2OutputOracle.sol#40) is not in mixedCase
Parameter OptimismPortal.initialize(bool)._paused (contracts/L1/OptimismPortal.sol#165) is not in mixedCase
Parameter OptimismPortal.minimumGasLimit(uint64)._byteCount (contracts/L1/OptimismPortal.sol#196) is not in mixedCase
Parameter OptimismPortal.proveWithdrawalTransaction(Types.WithdrawalTransaction,uint256,Types.OutputRootProof,bytes[])._tx (contracts/L1/OptimismPortal.sol#243) is not in mixedCase
Parameter OptimismPortal.proveWithdrawalTransaction(Types.WithdrawalTransaction,uint256,Types.OutputRootProof,bytes[])._l2OutputIndex (contracts/L1/OptimismPortal.sol#244) is not in mixedCase
Parameter OptimismPortal.proveWithdrawalTransaction(Types.WithdrawalTransaction,uint256,Types.OutputRootProof,bytes[])._outputRootProof (contracts/L1/OptimismPortal.sol#245) is not in mixedCase
Parameter OptimismPortal.proveWithdrawalTransaction(Types.WithdrawalTransaction,uint256,Types.OutputRootProof,bytes[])._withdrawalProof (contracts/L1/OptimismPortal.sol#246) is not in mixedCase
Parameter OptimismPortal.finalizeWithdrawalTransaction(Types.WithdrawalTransaction)._tx (contracts/L1/OptimismPortal.sol#325) is not in mixedCase
Parameter OptimismPortal.depositTransaction(address,uint256,uint64,bool,bytes)._to (contracts/L1/OptimismPortal.sol#435) is not in mixedCase
Parameter OptimismPortal.depositTransaction(address,uint256,uint64,bool,bytes)._value (contracts/L1/OptimismPortal.sol#436) is not in mixedCase
Parameter OptimismPortal.depositTransaction(address,uint256,uint64,bool,bytes)._gasLimit (contracts/L1/OptimismPortal.sol#437) is not in mixedCase
Parameter OptimismPortal.depositTransaction(address,uint256,uint64,bool,bytes)._isCreation (contracts/L1/OptimismPortal.sol#438) is not in mixedCase
Parameter OptimismPortal.depositTransaction(address,uint256,uint64,bool,bytes)._data (contracts/L1/OptimismPortal.sol#439) is not in mixedCase
Parameter OptimismPortal.isOutputFinalized(uint256)._l2OutputIndex (contracts/L1/OptimismPortal.sol#493) is not in mixedCase
Variable OptimismPortal.L2_ORACLE (contracts/L1/OptimismPortal.sol#50) is not in mixedCase
Variable OptimismPortal.SYSTEM_CONFIG (contracts/L1/OptimismPortal.sol#55) is not in mixedCase
Variable OptimismPortal.GUARDIAN (contracts/L1/OptimismPortal.sol#60) is not in mixedCase
Function ResourceMetering.__ResourceMetering_init() (contracts/L1/ResourceMetering.sol#179-185) is not in mixedCase
Variable ResourceMetering.__gap (contracts/L1/ResourceMetering.sol#68) is not in mixedCase
Parameter SystemConfig.initialize(address,uint256,uint256,bytes32,uint64,address,ResourceMetering.ResourceConfig)._owner (contracts/L1/SystemConfig.sol#126) is not in mixedCase
Parameter SystemConfig.initialize(address,uint256,uint256,bytes32,uint64,address,ResourceMetering.ResourceConfig)._overhead (contracts/L1/SystemConfig.sol#127) is not in mixedCase
Parameter SystemConfig.initialize(address,uint256,uint256,bytes32,uint64,address,ResourceMetering.ResourceConfig)._scalar (contracts/L1/SystemConfig.sol#128) is not in mixedCase
Parameter SystemConfig.initialize(address,uint256,uint256,bytes32,uint64,address,ResourceMetering.ResourceConfig)._batcherHash (contracts/L1/SystemConfig.sol#129) is not in mixedCase
Parameter SystemConfig.initialize(address,uint256,uint256,bytes32,uint64,address,ResourceMetering.ResourceConfig)._gasLimit (contracts/L1/SystemConfig.sol#130) is not in mixedCase
Parameter SystemConfig.initialize(address,uint256,uint256,bytes32,uint64,address,ResourceMetering.ResourceConfig)._unsafeBlockSigner (contracts/L1/SystemConfig.sol#131) is not in mixedCase
Parameter SystemConfig.initialize(address,uint256,uint256,bytes32,uint64,address,ResourceMetering.ResourceConfig)._config (contracts/L1/SystemConfig.sol#132) is not in mixedCase
Parameter SystemConfig.setUnsafeBlockSigner(address)._unsafeBlockSigner (contracts/L1/SystemConfig.sol#180) is not in mixedCase
Parameter SystemConfig.setBatcherHash(bytes32)._batcherHash (contracts/L1/SystemConfig.sol#192) is not in mixedCase
Parameter SystemConfig.setGasConfig(uint256,uint256)._overhead (contracts/L1/SystemConfig.sol#205) is not in mixedCase
Parameter SystemConfig.setGasConfig(uint256,uint256)._scalar (contracts/L1/SystemConfig.sol#205) is not in mixedCase
Parameter SystemConfig.setGasLimit(uint64)._gasLimit (contracts/L1/SystemConfig.sol#218) is not in mixedCase
Parameter SystemConfig.setResourceConfig(ResourceMetering.ResourceConfig)._config (contracts/L1/SystemConfig.sol#256) is not in mixedCase
Parameter Arithmetic.clamp(int256,int256,int256)._value (contracts/libraries/Arithmetic.sol#22) is not in mixedCase
Parameter Arithmetic.clamp(int256,int256,int256)._min (contracts/libraries/Arithmetic.sol#23) is not in mixedCase
Parameter Arithmetic.clamp(int256,int256,int256)._max (contracts/libraries/Arithmetic.sol#24) is not in mixedCase
Parameter Arithmetic.cdexp(int256,int256,int256)._coefficient (contracts/libraries/Arithmetic.sol#40) is not in mixedCase
Parameter Arithmetic.cdexp(int256,int256,int256)._denominator (contracts/libraries/Arithmetic.sol#41) is not in mixedCase
Parameter Arithmetic.cdexp(int256,int256,int256)._exponent (contracts/libraries/Arithmetic.sol#42) is not in mixedCase
Parameter Burn.eth(uint256)._amount (contracts/libraries/Burn.sol#14) is not in mixedCase
Parameter Burn.gas(uint256)._amount (contracts/libraries/Burn.sol#23) is not in mixedCase
Parameter Bytes.slice(bytes,uint256,uint256)._bytes (contracts/libraries/Bytes.sol#22) is not in mixedCase
Parameter Bytes.slice(bytes,uint256,uint256)._start (contracts/libraries/Bytes.sol#23) is not in mixedCase
Parameter Bytes.slice(bytes,uint256,uint256)._length (contracts/libraries/Bytes.sol#24) is not in mixedCase
Parameter Bytes.slice(bytes,uint256)._bytes (contracts/libraries/Bytes.sol#99) is not in mixedCase
Parameter Bytes.slice(bytes,uint256)._start (contracts/libraries/Bytes.sol#99) is not in mixedCase
Parameter Bytes.toNibbles(bytes)._bytes (contracts/libraries/Bytes.sol#114) is not in mixedCase
Parameter Bytes.equal(bytes,bytes)._bytes (contracts/libraries/Bytes.sol#139) is not in mixedCase
Parameter Bytes.equal(bytes,bytes)._other (contracts/libraries/Bytes.sol#139) is not in mixedCase
Function Constants.DEFAULT_RESOURCE_CONFIG() (contracts/libraries/Constants.sol#34-48) is not in mixedCase
Parameter Encoding.encodeDepositTransaction(Types.UserDepositTransaction)._tx (contracts/libraries/Encoding.sol#22) is not in mixedCase
Parameter Encoding.encodeCrossDomainMessage(uint256,address,address,uint256,uint256,bytes)._nonce (contracts/libraries/Encoding.sol#54) is not in mixedCase
Parameter Encoding.encodeCrossDomainMessage(uint256,address,address,uint256,uint256,bytes)._sender (contracts/libraries/Encoding.sol#55) is not in mixedCase
Parameter Encoding.encodeCrossDomainMessage(uint256,address,address,uint256,uint256,bytes)._target (contracts/libraries/Encoding.sol#56) is not in mixedCase
Parameter Encoding.encodeCrossDomainMessage(uint256,address,address,uint256,uint256,bytes)._value (contracts/libraries/Encoding.sol#57) is not in mixedCase
Parameter Encoding.encodeCrossDomainMessage(uint256,address,address,uint256,uint256,bytes)._gasLimit (contracts/libraries/Encoding.sol#58) is not in mixedCase
Parameter Encoding.encodeCrossDomainMessage(uint256,address,address,uint256,uint256,bytes)._data (contracts/libraries/Encoding.sol#59) is not in mixedCase
Parameter Encoding.encodeCrossDomainMessageV0(address,address,bytes,uint256)._target (contracts/libraries/Encoding.sol#82) is not in mixedCase
Parameter Encoding.encodeCrossDomainMessageV0(address,address,bytes,uint256)._sender (contracts/libraries/Encoding.sol#83) is not in mixedCase
Parameter Encoding.encodeCrossDomainMessageV0(address,address,bytes,uint256)._data (contracts/libraries/Encoding.sol#84) is not in mixedCase
Parameter Encoding.encodeCrossDomainMessageV0(address,address,bytes,uint256)._nonce (contracts/libraries/Encoding.sol#85) is not in mixedCase
Parameter Encoding.encodeCrossDomainMessageV1(uint256,address,address,uint256,uint256,bytes)._nonce (contracts/libraries/Encoding.sol#110) is not in mixedCase
Parameter Encoding.encodeCrossDomainMessageV1(uint256,address,address,uint256,uint256,bytes)._sender (contracts/libraries/Encoding.sol#111) is not in mixedCase
Parameter Encoding.encodeCrossDomainMessageV1(uint256,address,address,uint256,uint256,bytes)._target (contracts/libraries/Encoding.sol#112) is not in mixedCase
Parameter Encoding.encodeCrossDomainMessageV1(uint256,address,address,uint256,uint256,bytes)._value (contracts/libraries/Encoding.sol#113) is not in mixedCase
Parameter Encoding.encodeCrossDomainMessageV1(uint256,address,address,uint256,uint256,bytes)._gasLimit (contracts/libraries/Encoding.sol#114) is not in mixedCase
Parameter Encoding.encodeCrossDomainMessageV1(uint256,address,address,uint256,uint256,bytes)._data (contracts/libraries/Encoding.sol#115) is not in mixedCase
Parameter Encoding.encodeVersionedNonce(uint240,uint16)._nonce (contracts/libraries/Encoding.sol#137) is not in mixedCase
Parameter Encoding.encodeVersionedNonce(uint240,uint16)._version (contracts/libraries/Encoding.sol#137) is not in mixedCase
Parameter Encoding.decodeVersionedNonce(uint256)._nonce (contracts/libraries/Encoding.sol#153) is not in mixedCase
Parameter Hashing.hashDepositTransaction(Types.UserDepositTransaction)._tx (contracts/libraries/Hashing.sol#21) is not in mixedCase
Parameter Hashing.hashDepositSource(bytes32,uint256)._l1BlockHash (contracts/libraries/Hashing.sol#39) is not in mixedCase
Parameter Hashing.hashDepositSource(bytes32,uint256)._logIndex (contracts/libraries/Hashing.sol#39) is not in mixedCase
Parameter Hashing.hashCrossDomainMessage(uint256,address,address,uint256,uint256,bytes)._nonce (contracts/libraries/Hashing.sol#62) is not in mixedCase
Parameter Hashing.hashCrossDomainMessage(uint256,address,address,uint256,uint256,bytes)._sender (contracts/libraries/Hashing.sol#63) is not in mixedCase
Parameter Hashing.hashCrossDomainMessage(uint256,address,address,uint256,uint256,bytes)._target (contracts/libraries/Hashing.sol#64) is not in mixedCase
Parameter Hashing.hashCrossDomainMessage(uint256,address,address,uint256,uint256,bytes)._value (contracts/libraries/Hashing.sol#65) is not in mixedCase
Parameter Hashing.hashCrossDomainMessage(uint256,address,address,uint256,uint256,bytes)._gasLimit (contracts/libraries/Hashing.sol#66) is not in mixedCase
Parameter Hashing.hashCrossDomainMessage(uint256,address,address,uint256,uint256,bytes)._data (contracts/libraries/Hashing.sol#67) is not in mixedCase
Parameter Hashing.hashCrossDomainMessageV0(address,address,bytes,uint256)._target (contracts/libraries/Hashing.sol#90) is not in mixedCase
Parameter Hashing.hashCrossDomainMessageV0(address,address,bytes,uint256)._sender (contracts/libraries/Hashing.sol#91) is not in mixedCase
Parameter Hashing.hashCrossDomainMessageV0(address,address,bytes,uint256)._data (contracts/libraries/Hashing.sol#92) is not in mixedCase
Parameter Hashing.hashCrossDomainMessageV0(address,address,bytes,uint256)._nonce (contracts/libraries/Hashing.sol#93) is not in mixedCase
Parameter Hashing.hashCrossDomainMessageV1(uint256,address,address,uint256,uint256,bytes)._nonce (contracts/libraries/Hashing.sol#111) is not in mixedCase
Parameter Hashing.hashCrossDomainMessageV1(uint256,address,address,uint256,uint256,bytes)._sender (contracts/libraries/Hashing.sol#112) is not in mixedCase
Parameter Hashing.hashCrossDomainMessageV1(uint256,address,address,uint256,uint256,bytes)._target (contracts/libraries/Hashing.sol#113) is not in mixedCase
Parameter Hashing.hashCrossDomainMessageV1(uint256,address,address,uint256,uint256,bytes)._value (contracts/libraries/Hashing.sol#114) is not in mixedCase
Parameter Hashing.hashCrossDomainMessageV1(uint256,address,address,uint256,uint256,bytes)._gasLimit (contracts/libraries/Hashing.sol#115) is not in mixedCase
Parameter Hashing.hashCrossDomainMessageV1(uint256,address,address,uint256,uint256,bytes)._data (contracts/libraries/Hashing.sol#116) is not in mixedCase
Parameter Hashing.hashWithdrawal(Types.WithdrawalTransaction)._tx (contracts/libraries/Hashing.sol#138) is not in mixedCase
Parameter Hashing.hashOutputRootProof(Types.OutputRootProof)._outputRootProof (contracts/libraries/Hashing.sol#157) is not in mixedCase
Parameter SafeCall.send(address,uint256,uint256)._target (contracts/libraries/SafeCall.sol#18) is not in mixedCase
Parameter SafeCall.send(address,uint256,uint256)._gas (contracts/libraries/SafeCall.sol#19) is not in mixedCase
Parameter SafeCall.send(address,uint256,uint256)._value (contracts/libraries/SafeCall.sol#20) is not in mixedCase
Parameter SafeCall.call(address,uint256,uint256,bytes)._target (contracts/libraries/SafeCall.sol#46) is not in mixedCase
Parameter SafeCall.call(address,uint256,uint256,bytes)._gas (contracts/libraries/SafeCall.sol#47) is not in mixedCase
Parameter SafeCall.call(address,uint256,uint256,bytes)._value (contracts/libraries/SafeCall.sol#48) is not in mixedCase
Parameter SafeCall.call(address,uint256,uint256,bytes)._calldata (contracts/libraries/SafeCall.sol#49) is not in mixedCase
Parameter SafeCall.hasMinGas(uint256,uint256)._minGas (contracts/libraries/SafeCall.sol#91) is not in mixedCase
Parameter SafeCall.hasMinGas(uint256,uint256)._reservedGas (contracts/libraries/SafeCall.sol#91) is not in mixedCase
Parameter SafeCall.callWithMinGas(address,uint256,uint256,bytes)._target (contracts/libraries/SafeCall.sol#113) is not in mixedCase
Parameter SafeCall.callWithMinGas(address,uint256,uint256,bytes)._minGas (contracts/libraries/SafeCall.sol#114) is not in mixedCase
Parameter SafeCall.callWithMinGas(address,uint256,uint256,bytes)._value (contracts/libraries/SafeCall.sol#115) is not in mixedCase
Parameter SafeCall.callWithMinGas(address,uint256,uint256,bytes)._calldata (contracts/libraries/SafeCall.sol#116) is not in mixedCase
Parameter RLPReader.toRLPItem(bytes)._in (contracts/libraries/rlp/RLPReader.sol#51) is not in mixedCase
Parameter RLPReader.readList(RLPReader.RLPItem)._in (contracts/libraries/rlp/RLPReader.sol#73) is not in mixedCase
Parameter RLPReader.readList(bytes)._in (contracts/libraries/rlp/RLPReader.sol#128) is not in mixedCase
Parameter RLPReader.readBytes(RLPReader.RLPItem)._in (contracts/libraries/rlp/RLPReader.sol#139) is not in mixedCase
Parameter RLPReader.readBytes(bytes)._in (contracts/libraries/rlp/RLPReader.sol#162) is not in mixedCase
Parameter RLPReader.readRawBytes(RLPReader.RLPItem)._in (contracts/libraries/rlp/RLPReader.sol#173) is not in mixedCase
Parameter RLPWriter.writeBytes(bytes)._in (contracts/libraries/rlp/RLPWriter.sol#19) is not in mixedCase
Parameter RLPWriter.writeList(bytes[])._in (contracts/libraries/rlp/RLPWriter.sol#38) is not in mixedCase
Parameter RLPWriter.writeString(string)._in (contracts/libraries/rlp/RLPWriter.sol#50) is not in mixedCase
Parameter RLPWriter.writeAddress(address)._in (contracts/libraries/rlp/RLPWriter.sol#61) is not in mixedCase
Parameter RLPWriter.writeUint(uint256)._in (contracts/libraries/rlp/RLPWriter.sol#72) is not in mixedCase
Parameter RLPWriter.writeBool(bool)._in (contracts/libraries/rlp/RLPWriter.sol#83) is not in mixedCase
Parameter MerkleTrie.verifyInclusionProof(bytes,bytes,bytes[],bytes32)._key (contracts/libraries/trie/MerkleTrie.sol#74) is not in mixedCase
Parameter MerkleTrie.verifyInclusionProof(bytes,bytes,bytes[],bytes32)._value (contracts/libraries/trie/MerkleTrie.sol#75) is not in mixedCase
Parameter MerkleTrie.verifyInclusionProof(bytes,bytes,bytes[],bytes32)._proof (contracts/libraries/trie/MerkleTrie.sol#76) is not in mixedCase
Parameter MerkleTrie.verifyInclusionProof(bytes,bytes,bytes[],bytes32)._root (contracts/libraries/trie/MerkleTrie.sol#77) is not in mixedCase
Parameter MerkleTrie.get(bytes,bytes[],bytes32)._key (contracts/libraries/trie/MerkleTrie.sol#92) is not in mixedCase
Parameter MerkleTrie.get(bytes,bytes[],bytes32)._proof (contracts/libraries/trie/MerkleTrie.sol#93) is not in mixedCase
Parameter MerkleTrie.get(bytes,bytes[],bytes32)._root (contracts/libraries/trie/MerkleTrie.sol#94) is not in mixedCase
Parameter SecureMerkleTrie.verifyInclusionProof(bytes,bytes,bytes[],bytes32)._key (contracts/libraries/trie/SecureMerkleTrie.sol#27) is not in mixedCase
Parameter SecureMerkleTrie.verifyInclusionProof(bytes,bytes,bytes[],bytes32)._value (contracts/libraries/trie/SecureMerkleTrie.sol#28) is not in mixedCase
Parameter SecureMerkleTrie.verifyInclusionProof(bytes,bytes,bytes[],bytes32)._proof (contracts/libraries/trie/SecureMerkleTrie.sol#29) is not in mixedCase
Parameter SecureMerkleTrie.verifyInclusionProof(bytes,bytes,bytes[],bytes32)._root (contracts/libraries/trie/SecureMerkleTrie.sol#30) is not in mixedCase
Parameter SecureMerkleTrie.get(bytes,bytes[],bytes32)._key (contracts/libraries/trie/SecureMerkleTrie.sol#46) is not in mixedCase
Parameter SecureMerkleTrie.get(bytes,bytes[],bytes32)._proof (contracts/libraries/trie/SecureMerkleTrie.sol#47) is not in mixedCase
Parameter SecureMerkleTrie.get(bytes,bytes[],bytes32)._root (contracts/libraries/trie/SecureMerkleTrie.sol#48) is not in mixedCase
Variable Semver.MAJOR_VERSION (contracts/universal/Semver.sol#14) is not in mixedCase
Variable Semver.MINOR_VERSION (contracts/universal/Semver.sol#19) is not in mixedCase
Variable Semver.PATCH_VERSION (contracts/universal/Semver.sol#24) is not in mixedCase
Constant AddressAliasHelper.offset (contracts/vendor/AddressAliasHelper.sol#22) is not in UPPER_CASE_WITH_UNDERSCORES
Function OwnableUpgradeable.__Ownable_init() (node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol#29-31) is not in mixedCase
Function OwnableUpgradeable.__Ownable_init_unchained() (node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol#33-35) is not in mixedCase
Variable OwnableUpgradeable.__gap (node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol#94) is not in mixedCase
Function ContextUpgradeable.__Context_init() (node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#18-19) is not in mixedCase
Function ContextUpgradeable.__Context_init_unchained() (node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#21-22) is not in mixedCase
Variable ContextUpgradeable.__gap (node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#36) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Detectors:
Variable L2OutputOracle.proposeL2Output(bytes32,uint256,bytes32,uint256)._l1BlockNumber (contracts/L1/L2OutputOracle.sol#183) is too similar to L2OutputOracle.proposeL2Output(bytes32,uint256,bytes32,uint256)._l2BlockNumber (contracts/L1/L2OutputOracle.sol#181)
Variable L2OutputOracle.proposeL2Output(bytes32,uint256,bytes32,uint256)._l1BlockNumber (contracts/L1/L2OutputOracle.sol#183) is too similar to L2OutputOracle.getL2OutputIndexAfter(uint256)._l2BlockNumber (contracts/L1/L2OutputOracle.sol#255)
Variable L2OutputOracle.proposeL2Output(bytes32,uint256,bytes32,uint256)._l1BlockNumber (contracts/L1/L2OutputOracle.sol#183) is too similar to L2OutputOracle.computeL2Timestamp(uint256)._l2BlockNumber (contracts/L1/L2OutputOracle.sol#347)
Variable L2OutputOracle.proposeL2Output(bytes32,uint256,bytes32,uint256)._l1BlockNumber (contracts/L1/L2OutputOracle.sol#183) is too similar to L2OutputOracle.getL2OutputAfter(uint256)._l2BlockNumber (contracts/L1/L2OutputOracle.sol#291)
Variable L2OutputOracle.SUBMISSION_INTERVAL (contracts/L1/L2OutputOracle.sol#20) is too similar to L2OutputOracle.constructor(uint256,uint256,uint256,uint256,address,address,uint256)._submissionInterval (contracts/L1/L2OutputOracle.sol#91)
Variable RLPReader._decodeLength(RLPReader.RLPItem).firstByteOfContent_scope_0 (contracts/libraries/rlp/RLPReader.sol#243) is too similar to RLPReader._decodeLength(RLPReader.RLPItem).firstByteOfContent_scope_2 (contracts/libraries/rlp/RLPReader.sol#289)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#variable-names-too-similar
INFO:Detectors:
Constants.ESTIMATION_ADDRESS (contracts/libraries/Constants.sol#21) is never used in Constants (contracts/libraries/Constants.sol#12-49)
Constants.DEFAULT_L2_SENDER (contracts/libraries/Constants.sol#28) is never used in Constants (contracts/libraries/Constants.sol#12-49)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-state-variable
INFO:Slither:0x28a55488fef40005309e2da0040dbe9d300a64ab analyzed (29 contracts with 87 detectors), 307 result(s) found
```
Slither report for StateSender at `0x28e4F3a7f651294B9564800b2D01f35189A5bFbE`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts' running
INFO:Detectors:
SafeMath.div(uint256,uint256) (crytic-export/etherscan-contracts/0x28e4f3a7f651294b9564800b2d01f35189a5bfbe-StateSender.sol#96-103) is never used and should be removed
SafeMath.mod(uint256,uint256) (crytic-export/etherscan-contracts/0x28e4f3a7f651294b9564800b2d01f35189a5bfbe-StateSender.sol#129-132) is never used and should be removed
SafeMath.mul(uint256,uint256) (crytic-export/etherscan-contracts/0x28e4f3a7f651294b9564800b2d01f35189a5bfbe-StateSender.sol#79-91) is never used and should be removed
SafeMath.sub(uint256,uint256) (crytic-export/etherscan-contracts/0x28e4f3a7f651294b9564800b2d01f35189a5bfbe-StateSender.sol#108-113) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Slither:0x28e4f3a7f651294b9564800b2d01f35189a5bfbe analyzed (3 contracts with 87 detectors), 4 result(s) found
```
Slither report for LayerZeroAdapter at `0x2a323be63e08E08536Fc3b5d8C6f24825e68895e`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x2a323be63e08e08536fc3b5d8c6f24825e68895e-LayerZeroAdapter' running
INFO:Detectors:
LayerZeroAdapter.forwardMessage(address,uint256,uint256,bytes) (src/contracts/adapters/layerZero/LayerZeroAdapter.sol#66-103) sends eth to arbitrary user
Dangerous calls:
- LZ_ENDPOINT.send{value: nativeFee}(nativeChainId,remoteAndLocalAddresses,message,address(address(this)),address(0),adapterParams) (src/contracts/adapters/layerZero/LayerZeroAdapter.sol#93-100)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#functions-that-send-ether-to-arbitrary-destinations
INFO:Detectors:
EnvelopeUtils.encode(Envelope).encodedEnvelope (src/contracts/libs/EncodingUtils.sol#47) is a local variable never initialized
TransactionUtils.encode(Transaction).encodedTransaction (src/contracts/libs/EncodingUtils.sol#116) is a local variable never initialized
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-local-variables
INFO:Detectors:
LayerZeroAdapter.forwardMessage(address,uint256,uint256,bytes) (src/contracts/adapters/layerZero/LayerZeroAdapter.sol#66-103) ignores return value by (nativeFee) = LZ_ENDPOINT.estimateFees(nativeChainId,receiver,message,false,adapterParams) (src/contracts/adapters/layerZero/LayerZeroAdapter.sol#78-84)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return
INFO:Detectors:
EnumerableSet.values(EnumerableSet.Bytes32Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#219-229) uses assembly
- INLINE ASM (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#224-226)
EnumerableSet.values(EnumerableSet.AddressSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#293-303) uses assembly
- INLINE ASM (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#298-300)
EnumerableSet.values(EnumerableSet.UintSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#367-377) uses assembly
- INLINE ASM (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#372-374)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
EnumerableSet._add(EnumerableSet.Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#65-75) is never used and should be removed
EnumerableSet._at(EnumerableSet.Set,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#141-143) is never used and should be removed
EnumerableSet._contains(EnumerableSet.Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#120-122) is never used and should be removed
EnumerableSet._length(EnumerableSet.Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#127-129) is never used and should be removed
EnumerableSet._remove(EnumerableSet.Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#83-115) is never used and should be removed
EnumerableSet._values(EnumerableSet.Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#153-155) is never used and should be removed
EnumerableSet.add(EnumerableSet.AddressSet,address) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#243-245) is never used and should be removed
EnumerableSet.add(EnumerableSet.Bytes32Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#169-171) is never used and should be removed
EnumerableSet.add(EnumerableSet.UintSet,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#317-319) is never used and should be removed
EnumerableSet.at(EnumerableSet.AddressSet,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#281-283) is never used and should be removed
EnumerableSet.at(EnumerableSet.Bytes32Set,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#207-209) is never used and should be removed
EnumerableSet.at(EnumerableSet.UintSet,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#355-357) is never used and should be removed
EnumerableSet.contains(EnumerableSet.AddressSet,address) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#260-262) is never used and should be removed
EnumerableSet.contains(EnumerableSet.Bytes32Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#186-188) is never used and should be removed
EnumerableSet.contains(EnumerableSet.UintSet,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#334-336) is never used and should be removed
EnumerableSet.length(EnumerableSet.AddressSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#267-269) is never used and should be removed
EnumerableSet.length(EnumerableSet.Bytes32Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#193-195) is never used and should be removed
EnumerableSet.length(EnumerableSet.UintSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#341-343) is never used and should be removed
EnumerableSet.remove(EnumerableSet.AddressSet,address) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#253-255) is never used and should be removed
EnumerableSet.remove(EnumerableSet.Bytes32Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#179-181) is never used and should be removed
EnumerableSet.remove(EnumerableSet.UintSet,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#327-329) is never used and should be removed
EnumerableSet.values(EnumerableSet.AddressSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#293-303) is never used and should be removed
EnumerableSet.values(EnumerableSet.Bytes32Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#219-229) is never used and should be removed
EnumerableSet.values(EnumerableSet.UintSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#367-377) is never used and should be removed
EnvelopeUtils.decode(bytes) (src/contracts/libs/EncodingUtils.sol#58-60) is never used and should be removed
EnvelopeUtils.encode(Envelope) (src/contracts/libs/EncodingUtils.sol#46-51) is never used and should be removed
EnvelopeUtils.getId(Envelope) (src/contracts/libs/EncodingUtils.sol#67-70) is never used and should be removed
EnvelopeUtils.getId(bytes) (src/contracts/libs/EncodingUtils.sol#77-79) is never used and should be removed
SafeCast.toInt104(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#901-904) is never used and should be removed
SafeCast.toInt112(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#883-886) is never used and should be removed
SafeCast.toInt120(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#865-868) is never used and should be removed
SafeCast.toInt128(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#847-850) is never used and should be removed
SafeCast.toInt136(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#829-832) is never used and should be removed
SafeCast.toInt144(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#811-814) is never used and should be removed
SafeCast.toInt152(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#793-796) is never used and should be removed
SafeCast.toInt16(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#1099-1102) is never used and should be removed
SafeCast.toInt160(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#775-778) is never used and should be removed
SafeCast.toInt168(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#757-760) is never used and should be removed
SafeCast.toInt176(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#739-742) is never used and should be removed
SafeCast.toInt184(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#721-724) is never used and should be removed
SafeCast.toInt192(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#703-706) is never used and should be removed
SafeCast.toInt200(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#685-688) is never used and should be removed
SafeCast.toInt208(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#667-670) is never used and should be removed
SafeCast.toInt216(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#649-652) is never used and should be removed
SafeCast.toInt224(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#631-634) is never used and should be removed
SafeCast.toInt232(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#613-616) is never used and should be removed
SafeCast.toInt24(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#1081-1084) is never used and should be removed
SafeCast.toInt240(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#595-598) is never used and should be removed
SafeCast.toInt248(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#577-580) is never used and should be removed
SafeCast.toInt256(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#1131-1135) is never used and should be removed
SafeCast.toInt32(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#1063-1066) is never used and should be removed
SafeCast.toInt40(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#1045-1048) is never used and should be removed
SafeCast.toInt48(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#1027-1030) is never used and should be removed
SafeCast.toInt56(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#1009-1012) is never used and should be removed
SafeCast.toInt64(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#991-994) is never used and should be removed
SafeCast.toInt72(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#973-976) is never used and should be removed
SafeCast.toInt8(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#1117-1120) is never used and should be removed
SafeCast.toInt80(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#955-958) is never used and should be removed
SafeCast.toInt88(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#937-940) is never used and should be removed
SafeCast.toInt96(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#919-922) is never used and should be removed
SafeCast.toUint104(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#341-344) is never used and should be removed
SafeCast.toUint112(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#324-327) is never used and should be removed
SafeCast.toUint120(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#307-310) is never used and should be removed
SafeCast.toUint128(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#290-293) is never used and should be removed
SafeCast.toUint136(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#273-276) is never used and should be removed
SafeCast.toUint144(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#256-259) is never used and should be removed
SafeCast.toUint152(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#239-242) is never used and should be removed
SafeCast.toUint160(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#222-225) is never used and should be removed
SafeCast.toUint168(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#205-208) is never used and should be removed
SafeCast.toUint176(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#188-191) is never used and should be removed
SafeCast.toUint184(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#171-174) is never used and should be removed
SafeCast.toUint192(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#154-157) is never used and should be removed
SafeCast.toUint200(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#137-140) is never used and should be removed
SafeCast.toUint208(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#120-123) is never used and should be removed
SafeCast.toUint216(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#103-106) is never used and should be removed
SafeCast.toUint224(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#86-89) is never used and should be removed
SafeCast.toUint232(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#69-72) is never used and should be removed
SafeCast.toUint24(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#511-514) is never used and should be removed
SafeCast.toUint240(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#52-55) is never used and should be removed
SafeCast.toUint248(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#35-38) is never used and should be removed
SafeCast.toUint256(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#559-562) is never used and should be removed
SafeCast.toUint32(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#494-497) is never used and should be removed
SafeCast.toUint40(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#477-480) is never used and should be removed
SafeCast.toUint48(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#460-463) is never used and should be removed
SafeCast.toUint56(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#443-446) is never used and should be removed
SafeCast.toUint64(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#426-429) is never used and should be removed
SafeCast.toUint72(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#409-412) is never used and should be removed
SafeCast.toUint8(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#545-548) is never used and should be removed
SafeCast.toUint80(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#392-395) is never used and should be removed
SafeCast.toUint88(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#375-378) is never used and should be removed
SafeCast.toUint96(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#358-361) is never used and should be removed
TransactionUtils.decode(bytes) (src/contracts/libs/EncodingUtils.sol#127-129) is never used and should be removed
TransactionUtils.encode(Transaction) (src/contracts/libs/EncodingUtils.sol#113-120) is never used and should be removed
TransactionUtils.getEnvelope(Transaction) (src/contracts/libs/EncodingUtils.sol#155-157) is never used and should be removed
TransactionUtils.getEnvelopeId(Transaction) (src/contracts/libs/EncodingUtils.sol#164-166) is never used and should be removed
TransactionUtils.getId(Transaction) (src/contracts/libs/EncodingUtils.sol#136-139) is never used and should be removed
TransactionUtils.getId(bytes) (src/contracts/libs/EncodingUtils.sol#146-148) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Variable BaseAdapter.CROSS_CHAIN_CONTROLLER (src/contracts/adapters/BaseAdapter.sol#15) is not in mixedCase
Function ILayerZeroAdapter.VERSION() (src/contracts/adapters/layerZero/ILayerZeroAdapter.sol#14) is not in mixedCase
Parameter LayerZeroAdapter.lzReceive(uint16,bytes,uint64,bytes)._srcChainId (src/contracts/adapters/layerZero/LayerZeroAdapter.sol#42) is not in mixedCase
Parameter LayerZeroAdapter.lzReceive(uint16,bytes,uint64,bytes)._srcAddress (src/contracts/adapters/layerZero/LayerZeroAdapter.sol#43) is not in mixedCase
Parameter LayerZeroAdapter.lzReceive(uint16,bytes,uint64,bytes)._payload (src/contracts/adapters/layerZero/LayerZeroAdapter.sol#45) is not in mixedCase
Variable LayerZeroAdapter.LZ_ENDPOINT (src/contracts/adapters/layerZero/LayerZeroAdapter.sol#23) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Slither:0x2a323be63e08e08536fc3b5d8c6f24825e68895e analyzed (17 contracts with 87 detectors), 110 result(s) found
```
Slither report for OpAdapter at `0x2ecC4F6CDbe6ea77107dd131Af81ec82Db330d6b`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x2ecc4f6cdbe6ea77107dd131af81ec82db330d6b-OpAdapter' running
INFO:Detectors:
TransactionUtils.encode(Transaction).encodedTransaction (src/contracts/libs/EncodingUtils.sol#116) is a local variable never initialized
EnvelopeUtils.encode(Envelope).encodedEnvelope (src/contracts/libs/EncodingUtils.sol#47) is a local variable never initialized
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-local-variables
INFO:Detectors:
OpAdapter.constructor(address,address,IBaseAdapter.TrustedRemotesConfig[]).ovmCrossDomainMessenger (src/contracts/adapters/optimism/OpAdapter.sol#38) lacks a zero-check on :
- OVM_CROSS_DOMAIN_MESSENGER = ovmCrossDomainMessenger (src/contracts/adapters/optimism/OpAdapter.sol#41)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation
INFO:Detectors:
EnumerableSet.values(EnumerableSet.Bytes32Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#219-229) uses assembly
- INLINE ASM (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#224-226)
EnumerableSet.values(EnumerableSet.AddressSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#293-303) uses assembly
- INLINE ASM (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#298-300)
EnumerableSet.values(EnumerableSet.UintSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#367-377) uses assembly
- INLINE ASM (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#372-374)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
EnumerableSet._add(EnumerableSet.Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#65-75) is never used and should be removed
EnumerableSet._at(EnumerableSet.Set,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#141-143) is never used and should be removed
EnumerableSet._contains(EnumerableSet.Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#120-122) is never used and should be removed
EnumerableSet._length(EnumerableSet.Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#127-129) is never used and should be removed
EnumerableSet._remove(EnumerableSet.Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#83-115) is never used and should be removed
EnumerableSet._values(EnumerableSet.Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#153-155) is never used and should be removed
EnumerableSet.add(EnumerableSet.AddressSet,address) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#243-245) is never used and should be removed
EnumerableSet.add(EnumerableSet.Bytes32Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#169-171) is never used and should be removed
EnumerableSet.add(EnumerableSet.UintSet,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#317-319) is never used and should be removed
EnumerableSet.at(EnumerableSet.AddressSet,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#281-283) is never used and should be removed
EnumerableSet.at(EnumerableSet.Bytes32Set,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#207-209) is never used and should be removed
EnumerableSet.at(EnumerableSet.UintSet,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#355-357) is never used and should be removed
EnumerableSet.contains(EnumerableSet.AddressSet,address) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#260-262) is never used and should be removed
EnumerableSet.contains(EnumerableSet.Bytes32Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#186-188) is never used and should be removed
EnumerableSet.contains(EnumerableSet.UintSet,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#334-336) is never used and should be removed
EnumerableSet.length(EnumerableSet.AddressSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#267-269) is never used and should be removed
EnumerableSet.length(EnumerableSet.Bytes32Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#193-195) is never used and should be removed
EnumerableSet.length(EnumerableSet.UintSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#341-343) is never used and should be removed
EnumerableSet.remove(EnumerableSet.AddressSet,address) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#253-255) is never used and should be removed
EnumerableSet.remove(EnumerableSet.Bytes32Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#179-181) is never used and should be removed
EnumerableSet.remove(EnumerableSet.UintSet,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#327-329) is never used and should be removed
EnumerableSet.values(EnumerableSet.AddressSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#293-303) is never used and should be removed
EnumerableSet.values(EnumerableSet.Bytes32Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#219-229) is never used and should be removed
EnumerableSet.values(EnumerableSet.UintSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#367-377) is never used and should be removed
EnvelopeUtils.decode(bytes) (src/contracts/libs/EncodingUtils.sol#58-60) is never used and should be removed
EnvelopeUtils.encode(Envelope) (src/contracts/libs/EncodingUtils.sol#46-51) is never used and should be removed
EnvelopeUtils.getId(Envelope) (src/contracts/libs/EncodingUtils.sol#67-70) is never used and should be removed
EnvelopeUtils.getId(bytes) (src/contracts/libs/EncodingUtils.sol#77-79) is never used and should be removed
SafeCast.toInt104(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#901-904) is never used and should be removed
SafeCast.toInt112(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#883-886) is never used and should be removed
SafeCast.toInt120(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#865-868) is never used and should be removed
SafeCast.toInt128(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#847-850) is never used and should be removed
SafeCast.toInt136(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#829-832) is never used and should be removed
SafeCast.toInt144(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#811-814) is never used and should be removed
SafeCast.toInt152(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#793-796) is never used and should be removed
SafeCast.toInt16(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#1099-1102) is never used and should be removed
SafeCast.toInt160(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#775-778) is never used and should be removed
SafeCast.toInt168(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#757-760) is never used and should be removed
SafeCast.toInt176(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#739-742) is never used and should be removed
SafeCast.toInt184(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#721-724) is never used and should be removed
SafeCast.toInt192(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#703-706) is never used and should be removed
SafeCast.toInt200(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#685-688) is never used and should be removed
SafeCast.toInt208(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#667-670) is never used and should be removed
SafeCast.toInt216(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#649-652) is never used and should be removed
SafeCast.toInt224(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#631-634) is never used and should be removed
SafeCast.toInt232(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#613-616) is never used and should be removed
SafeCast.toInt24(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#1081-1084) is never used and should be removed
SafeCast.toInt240(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#595-598) is never used and should be removed
SafeCast.toInt248(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#577-580) is never used and should be removed
SafeCast.toInt256(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#1131-1135) is never used and should be removed
SafeCast.toInt32(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#1063-1066) is never used and should be removed
SafeCast.toInt40(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#1045-1048) is never used and should be removed
SafeCast.toInt48(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#1027-1030) is never used and should be removed
SafeCast.toInt56(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#1009-1012) is never used and should be removed
SafeCast.toInt64(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#991-994) is never used and should be removed
SafeCast.toInt72(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#973-976) is never used and should be removed
SafeCast.toInt8(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#1117-1120) is never used and should be removed
SafeCast.toInt80(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#955-958) is never used and should be removed
SafeCast.toInt88(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#937-940) is never used and should be removed
SafeCast.toInt96(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#919-922) is never used and should be removed
SafeCast.toUint104(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#341-344) is never used and should be removed
SafeCast.toUint112(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#324-327) is never used and should be removed
SafeCast.toUint120(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#307-310) is never used and should be removed
SafeCast.toUint128(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#290-293) is never used and should be removed
SafeCast.toUint136(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#273-276) is never used and should be removed
SafeCast.toUint144(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#256-259) is never used and should be removed
SafeCast.toUint152(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#239-242) is never used and should be removed
SafeCast.toUint16(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#528-531) is never used and should be removed
SafeCast.toUint160(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#222-225) is never used and should be removed
SafeCast.toUint168(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#205-208) is never used and should be removed
SafeCast.toUint176(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#188-191) is never used and should be removed
SafeCast.toUint184(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#171-174) is never used and should be removed
SafeCast.toUint192(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#154-157) is never used and should be removed
SafeCast.toUint200(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#137-140) is never used and should be removed
SafeCast.toUint208(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#120-123) is never used and should be removed
SafeCast.toUint216(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#103-106) is never used and should be removed
SafeCast.toUint224(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#86-89) is never used and should be removed
SafeCast.toUint232(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#69-72) is never used and should be removed
SafeCast.toUint24(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#511-514) is never used and should be removed
SafeCast.toUint240(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#52-55) is never used and should be removed
SafeCast.toUint248(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#35-38) is never used and should be removed
SafeCast.toUint256(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#559-562) is never used and should be removed
SafeCast.toUint40(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#477-480) is never used and should be removed
SafeCast.toUint48(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#460-463) is never used and should be removed
SafeCast.toUint56(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#443-446) is never used and should be removed
SafeCast.toUint64(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#426-429) is never used and should be removed
SafeCast.toUint72(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#409-412) is never used and should be removed
SafeCast.toUint8(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#545-548) is never used and should be removed
SafeCast.toUint80(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#392-395) is never used and should be removed
SafeCast.toUint88(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#375-378) is never used and should be removed
SafeCast.toUint96(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#358-361) is never used and should be removed
TransactionUtils.decode(bytes) (src/contracts/libs/EncodingUtils.sol#127-129) is never used and should be removed
TransactionUtils.encode(Transaction) (src/contracts/libs/EncodingUtils.sol#113-120) is never used and should be removed
TransactionUtils.getEnvelope(Transaction) (src/contracts/libs/EncodingUtils.sol#155-157) is never used and should be removed
TransactionUtils.getEnvelopeId(Transaction) (src/contracts/libs/EncodingUtils.sol#164-166) is never used and should be removed
TransactionUtils.getId(Transaction) (src/contracts/libs/EncodingUtils.sol#136-139) is never used and should be removed
TransactionUtils.getId(bytes) (src/contracts/libs/EncodingUtils.sol#146-148) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Variable BaseAdapter.CROSS_CHAIN_CONTROLLER (src/contracts/adapters/BaseAdapter.sol#15) is not in mixedCase
Function IOpAdapter.OVM_CROSS_DOMAIN_MESSENGER() (src/contracts/adapters/optimism/IOpAdapter.sol#14) is not in mixedCase
Variable OpAdapter.OVM_CROSS_DOMAIN_MESSENGER (src/contracts/adapters/optimism/OpAdapter.sol#21) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Slither:0x2ecc4f6cdbe6ea77107dd131af81ec82db330d6b analyzed (15 contracts with 87 detectors), 106 result(s) found
```
Slither report for Governance_V2_5 at `0x323F2c8E227b3F0d88B047Ed16581fc0b6B9B1d7`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x323f2c8e227b3f0d88b047ed16581fc0b6b9b1d7-Governance_V2_5' running
INFO:Detectors:
PayloadsControllerUtils is re-used:
- PayloadsControllerUtils (lib/aave-address-book/src/governance-v3/PayloadsControllerUtils.sol#4-25)
- PayloadsControllerUtils (src/contracts/payloads/PayloadsControllerUtils.sol#4-25)
Errors is re-used:
- Errors (lib/aave-address-book/src/governance-v3/Errors.sol#4-102)
- Errors (src/contracts/libraries/Errors.sol#9-109)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#name-reused
INFO:Detectors:
TransactionUtils.encode(Transaction).encodedTransaction (lib/aave-delivery-infrastructure/src/contracts/libs/EncodingUtils.sol#116) is a local variable never initialized
EnvelopeUtils.encode(Envelope).encodedEnvelope (lib/aave-delivery-infrastructure/src/contracts/libs/EncodingUtils.sol#47) is a local variable never initialized
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-local-variables
INFO:Detectors:
Governance_V2_5.forwardPayloadForExecution(PayloadsControllerUtils.Payload) (src/contracts/governance_2_5/Governance_V2_5.sol#35-61) ignores return value by ICrossChainForwarder(CROSS_CHAIN_CONTROLLER).forwardMessage(payload.chain,payload.payloadsController,GAS_LIMIT,abi.encode(payload.payloadId,payload.accessLevel,uint40(block.timestamp))) (src/contracts/governance_2_5/Governance_V2_5.sol#51-60)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return
INFO:Detectors:
Address._revert(bytes,string) (lib/solidity-utils/src/contracts/oz-common/Address.sol#235-247) uses assembly
- INLINE ASM (lib/solidity-utils/src/contracts/oz-common/Address.sol#240-243)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
Address._revert(bytes,string) (lib/solidity-utils/src/contracts/oz-common/Address.sol#235-247) is never used and should be removed
Address.functionCall(address,bytes) (lib/solidity-utils/src/contracts/oz-common/Address.sol#86-88) is never used and should be removed
Address.functionCall(address,bytes,string) (lib/solidity-utils/src/contracts/oz-common/Address.sol#96-102) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (lib/solidity-utils/src/contracts/oz-common/Address.sol#115-121) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (lib/solidity-utils/src/contracts/oz-common/Address.sol#129-138) is never used and should be removed
Address.functionDelegateCall(address,bytes) (lib/solidity-utils/src/contracts/oz-common/Address.sol#174-176) is never used and should be removed
Address.functionDelegateCall(address,bytes,string) (lib/solidity-utils/src/contracts/oz-common/Address.sol#184-191) is never used and should be removed
Address.functionStaticCall(address,bytes) (lib/solidity-utils/src/contracts/oz-common/Address.sol#146-151) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (lib/solidity-utils/src/contracts/oz-common/Address.sol#159-166) is never used and should be removed
Address.isContract(address) (lib/solidity-utils/src/contracts/oz-common/Address.sol#37-43) is never used and should be removed
Address.sendValue(address,uint256) (lib/solidity-utils/src/contracts/oz-common/Address.sol#61-66) is never used and should be removed
Address.verifyCallResult(bool,bytes,string) (lib/solidity-utils/src/contracts/oz-common/Address.sol#223-233) is never used and should be removed
Address.verifyCallResultFromTarget(address,bool,bytes,string) (lib/solidity-utils/src/contracts/oz-common/Address.sol#199-215) is never used and should be removed
EnvelopeUtils.decode(bytes) (lib/aave-delivery-infrastructure/src/contracts/libs/EncodingUtils.sol#58-60) is never used and should be removed
EnvelopeUtils.encode(Envelope) (lib/aave-delivery-infrastructure/src/contracts/libs/EncodingUtils.sol#46-51) is never used and should be removed
EnvelopeUtils.getId(Envelope) (lib/aave-delivery-infrastructure/src/contracts/libs/EncodingUtils.sol#67-70) is never used and should be removed
EnvelopeUtils.getId(bytes) (lib/aave-delivery-infrastructure/src/contracts/libs/EncodingUtils.sol#77-79) is never used and should be removed
Initializable._disableInitializers() (lib/solidity-utils/src/contracts/transparent-proxy/Initializable.sol#150-156) is never used and should be removed
TransactionUtils.decode(bytes) (lib/aave-delivery-infrastructure/src/contracts/libs/EncodingUtils.sol#127-129) is never used and should be removed
TransactionUtils.encode(Transaction) (lib/aave-delivery-infrastructure/src/contracts/libs/EncodingUtils.sol#113-120) is never used and should be removed
TransactionUtils.getEnvelope(Transaction) (lib/aave-delivery-infrastructure/src/contracts/libs/EncodingUtils.sol#155-157) is never used and should be removed
TransactionUtils.getEnvelopeId(Transaction) (lib/aave-delivery-infrastructure/src/contracts/libs/EncodingUtils.sol#164-166) is never used and should be removed
TransactionUtils.getId(Transaction) (lib/aave-delivery-infrastructure/src/contracts/libs/EncodingUtils.sol#136-139) is never used and should be removed
TransactionUtils.getId(bytes) (lib/aave-delivery-infrastructure/src/contracts/libs/EncodingUtils.sol#146-148) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Low level call in Address.sendValue(address,uint256) (lib/solidity-utils/src/contracts/oz-common/Address.sol#61-66):
- (success) = recipient.call{value: amount}() (lib/solidity-utils/src/contracts/oz-common/Address.sol#64)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (lib/solidity-utils/src/contracts/oz-common/Address.sol#129-138):
- (success,returndata) = target.call{value: value}(data) (lib/solidity-utils/src/contracts/oz-common/Address.sol#136)
Low level call in Address.functionStaticCall(address,bytes,string) (lib/solidity-utils/src/contracts/oz-common/Address.sol#159-166):
- (success,returndata) = target.staticcall(data) (lib/solidity-utils/src/contracts/oz-common/Address.sol#164)
Low level call in Address.functionDelegateCall(address,bytes,string) (lib/solidity-utils/src/contracts/oz-common/Address.sol#184-191):
- (success,returndata) = target.delegatecall(data) (lib/solidity-utils/src/contracts/oz-common/Address.sol#189)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
INFO:Detectors:
Function IAaveGovernanceV2.__abdicate() (lib/aave-address-book/src/common/IAaveGovernanceV2.sol#222) is not in mixedCase
Function IExecutorWithTimelock.GRACE_PERIOD() (lib/aave-address-book/src/common/IExecutorWithTimelock.sol#128) is not in mixedCase
Function IExecutorWithTimelock.VOTING_DURATION() (lib/aave-address-book/src/common/IExecutorWithTimelock.sol#130) is not in mixedCase
Function IExecutorWithTimelock.MINIMUM_DELAY() (lib/aave-address-book/src/common/IExecutorWithTimelock.sol#136) is not in mixedCase
Function IExecutorWithTimelock.MAXIMUM_DELAY() (lib/aave-address-book/src/common/IExecutorWithTimelock.sol#142) is not in mixedCase
Function IGovernanceCore.CANCELLATION_FEE_COLLECTOR() (lib/aave-address-book/src/governance-v3/IGovernanceCore.sol#256) is not in mixedCase
Function IGovernanceCore.ACHIEVABLE_VOTING_PARTICIPATION() (lib/aave-address-book/src/governance-v3/IGovernanceCore.sol#379) is not in mixedCase
Function IGovernanceCore.COOLDOWN_PERIOD() (lib/aave-address-book/src/governance-v3/IGovernanceCore.sol#385) is not in mixedCase
Function IGovernanceCore.MIN_VOTING_DURATION() (lib/aave-address-book/src/governance-v3/IGovernanceCore.sol#391) is not in mixedCase
Function IGovernanceCore.PRECISION_DIVIDER() (lib/aave-address-book/src/governance-v3/IGovernanceCore.sol#397) is not in mixedCase
Function IGovernanceCore.VOTING_TOKENS_CAP() (lib/aave-address-book/src/governance-v3/IGovernanceCore.sol#405) is not in mixedCase
Function IGovernanceCore.PROPOSAL_EXPIRATION_TIME() (lib/aave-address-book/src/governance-v3/IGovernanceCore.sol#411) is not in mixedCase
Function IGovernanceCore.NAME() (lib/aave-address-book/src/governance-v3/IGovernanceCore.sol#417) is not in mixedCase
Function IPayloadsControllerCore.EXPIRATION_DELAY() (lib/aave-address-book/src/governance-v3/IPayloadsControllerCore.sol#147) is not in mixedCase
Function IPayloadsControllerCore.MAX_EXECUTION_DELAY() (lib/aave-address-book/src/governance-v3/IPayloadsControllerCore.sol#153) is not in mixedCase
Function IPayloadsControllerCore.MIN_EXECUTION_DELAY() (lib/aave-address-book/src/governance-v3/IPayloadsControllerCore.sol#159) is not in mixedCase
Function IPayloadsControllerCore.GRACE_PERIOD() (lib/aave-address-book/src/governance-v3/IPayloadsControllerCore.sol#165) is not in mixedCase
Function IVotingMachineWithProofs.REPRESENTATIVES_SLOT() (lib/aave-address-book/src/governance-v3/IVotingMachineWithProofs.sol#191) is not in mixedCase
Function IVotingMachineWithProofs.GOVERNANCE() (lib/aave-address-book/src/governance-v3/IVotingMachineWithProofs.sol#197) is not in mixedCase
Function IVotingMachineWithProofs.VOTING_ASSET_WITH_SLOT_RAW() (lib/aave-address-book/src/governance-v3/IVotingMachineWithProofs.sol#203) is not in mixedCase
Function IVotingMachineWithProofs.DATA_WAREHOUSE() (lib/aave-address-book/src/governance-v3/IVotingMachineWithProofs.sol#209) is not in mixedCase
Function IVotingMachineWithProofs.VOTING_STRATEGY() (lib/aave-address-book/src/governance-v3/IVotingMachineWithProofs.sol#215) is not in mixedCase
Function IVotingMachineWithProofs.DOMAIN_SEPARATOR() (lib/aave-address-book/src/governance-v3/IVotingMachineWithProofs.sol#222) is not in mixedCase
Function IVotingMachineWithProofs.VOTE_SUBMITTED_TYPEHASH() (lib/aave-address-book/src/governance-v3/IVotingMachineWithProofs.sol#228) is not in mixedCase
Function IVotingMachineWithProofs.VOTE_SUBMITTED_BY_REPRESENTATIVE_TYPEHASH() (lib/aave-address-book/src/governance-v3/IVotingMachineWithProofs.sol#234) is not in mixedCase
Function IVotingMachineWithProofs.VOTING_ASSET_WITH_SLOT_TYPEHASH() (lib/aave-address-book/src/governance-v3/IVotingMachineWithProofs.sol#240) is not in mixedCase
Function IVotingMachineWithProofs.NAME() (lib/aave-address-book/src/governance-v3/IVotingMachineWithProofs.sol#246) is not in mixedCase
Function IVotingPortal.VOTING_MACHINE_CHAIN_ID() (lib/aave-address-book/src/governance-v3/IVotingPortal.sol#49) is not in mixedCase
Function IVotingPortal.VOTING_MACHINE() (lib/aave-address-book/src/governance-v3/IVotingPortal.sol#55) is not in mixedCase
Function IVotingPortal.GOVERNANCE() (lib/aave-address-book/src/governance-v3/IVotingPortal.sol#61) is not in mixedCase
Function IVotingPortal.CROSS_CHAIN_CONTROLLER() (lib/aave-address-book/src/governance-v3/IVotingPortal.sol#67) is not in mixedCase
Function IVotingStrategy.DATA_WAREHOUSE() (lib/aave-address-book/src/governance-v3/IVotingStrategy.sol#11) is not in mixedCase
Function IVotingStrategy.STK_AAVE_SLASHING_EXCHANGE_RATE_PRECISION() (lib/aave-address-book/src/governance-v3/IVotingStrategy.sol#17) is not in mixedCase
Function IVotingStrategy.STK_AAVE_SLASHING_EXCHANGE_RATE_SLOT() (lib/aave-address-book/src/governance-v3/IVotingStrategy.sol#23) is not in mixedCase
Function IVotingStrategy.POWER_SCALE_FACTOR() (lib/aave-address-book/src/governance-v3/IVotingStrategy.sol#29) is not in mixedCase
Contract Governance_V2_5 (src/contracts/governance_2_5/Governance_V2_5.sol#17-62) is not in CapWords
Contract IGovernance_V2_5 (src/contracts/governance_2_5/IGovernance_V2_5.sol#6-44) is not in CapWords
Function IGovernance_V2_5.CROSS_CHAIN_CONTROLLER() (src/contracts/governance_2_5/IGovernance_V2_5.sol#17) is not in mixedCase
Function IGovernance_V2_5.NAME() (src/contracts/governance_2_5/IGovernance_V2_5.sol#23) is not in mixedCase
Function IGovernance_V2_5.GAS_LIMIT() (src/contracts/governance_2_5/IGovernance_V2_5.sol#30) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Detectors:
Variable GovernanceV3Ethereum.EXECUTOR_LVL_1 (lib/aave-address-book/src/GovernanceV3Ethereum.sol#50) is too similar to GovernanceV3Ethereum.EXECUTOR_LVL_2 (lib/aave-address-book/src/GovernanceV3Ethereum.sol#53)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#variable-names-too-similar
INFO:Slither:0x323f2c8e227b3f0d88b047ed16581fc0b6b9b1d7 analyzed (25 contracts with 87 detectors), 75 result(s) found
```
Slither report for TransparentUpgradeableProxy at `0x35231d4c2D8B8ADcB5617A638A0c4548684c7C70` with implementation Mailbox at `0xcC48E741996B0d77b38d9dC2bf9217e65E368E06`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts' running
Warning: Warning: This declaration shadows an existing declaration.
--> crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol:6254:5:
|
6254 | struct Message {
| ^ (Relevant source part starts here and spans across multiple lines).
Note: The shadowed declaration is here:
--> crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol:2294:1:
|
2294 | library Message {
| ^ (Relevant source part starts here and spans across multiple lines).
INFO:Detectors:
InterchainGasPaymaster.claim() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1087-1091) sends eth to arbitrary user
Dangerous calls:
- (success) = owner().call{value: address(this).balance}() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1089)
Router._dispatchWithGas(uint32,bytes,uint256,uint256,address) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4516-4532) sends eth to arbitrary user
Dangerous calls:
- interchainGasPaymaster.payForGas{value: _gasPayment}(_messageId,_destinationDomain,_gasAmount,_gasPaymentRefundAddress) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4526-4531)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#functions-that-send-ether-to-arbitrary-destinations
INFO:Detectors:
TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6993-7031) uses a weak PRNG: "_blockHashNum % 5 == 0 (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7006)"
TestSendReceiver.handle(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7033-7042) uses a weak PRNG: "isBlockHashEven = uint256(blockHash) % 2 == 0 (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7039)"
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#weak-PRNG
INFO:Detectors:
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1264-1344) has bitwise-xor operator ^ instead of the exponentiation operator **:
- inverse = (3 * denominator) ^ 2 (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1326)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-exponentiation
INFO:Detectors:
TransparentUpgradeableProxy.admin() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7604-7606) calls TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7587-7593) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7139)
TransparentUpgradeableProxy.implementation() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7617-7619) calls TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7587-7593) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7139)
TransparentUpgradeableProxy.changeAdmin(address) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7628-7630) calls TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7587-7593) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7139)
TransparentUpgradeableProxy.upgradeTo(address) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7637-7639) calls TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7587-7593) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7139)
TransparentUpgradeableProxy.upgradeToAndCall(address,bytes) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7648-7650) calls TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7587-7593) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7139)
TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7587-7593) calls Proxy._fallback() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7155-7158) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7139)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-assembly-return
INFO:Detectors:
Router.__GAP (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4347) shadows:
- HyperlaneConnectionClient.__GAP (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#888)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#state-variable-shadowing
INFO:Detectors:
MockCircleBridge.depositForBurn(uint256,uint32,bytes32,address) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6164-6175) ignores return value by token.transferFrom(msg.sender,address(this),_amount) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6173)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unchecked-transfer
INFO:Detectors:
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1264-1344) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1311)
- inverse = (3 * denominator) ^ 2 (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1326)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1264-1344) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1311)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1330)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1264-1344) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1311)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1331)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1264-1344) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1311)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1332)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1264-1344) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1311)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1333)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1264-1344) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1311)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1334)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1264-1344) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1311)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1335)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1264-1344) performs a multiplication on the result of a division:
- prod0 = prod0 / twos (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1314)
- result = prod0 * inverse (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1341)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#divide-before-multiply
INFO:Detectors:
TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6993-7031) uses a dangerous strict equality:
- _blockHashNum % 5 == 0 (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7006)
TestSendReceiver.handle(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7033-7042) uses a dangerous strict equality:
- isBlockHashEven = uint256(blockHash) % 2 == 0 (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7039)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-strict-equalities
INFO:Detectors:
Reentrancy in MockMailbox.processNextInboundMessage() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6304-6312):
External calls:
- IMessageRecipient(_message.recipient).handle(_message.origin,_message.sender.addressToBytes32(),_message.body) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6306-6310)
State variables written after the call(s):
- inboundProcessedNonce ++ (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6311)
MockMailbox.inboundProcessedNonce (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6250) can be used in cross function reentrancies:
- MockMailbox.inboundProcessedNonce (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6250)
- MockMailbox.processNextInboundMessage() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6304-6312)
Reentrancy in MockInterchainAccountRouter.processNextPendingCall() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6448-6458):
External calls:
- getDeployedInterchainAccount(originDomain,sender).proxyCalls(calls) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6455)
- OwnableMulticall(interchainAccount).initialize() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4773)
State variables written after the call(s):
- callsProcessed += 1 (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6457)
MockInterchainAccountRouter.callsProcessed (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6432) can be used in cross function reentrancies:
- MockInterchainAccountRouter.processNextPendingCall() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6448-6458)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-1
INFO:Detectors:
TestMailbox.proof()._proof (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6590) is a local variable never initialized
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-local-variables
INFO:Detectors:
EnumerableMapExtended.set(EnumerableMapExtended.UintToBytes32Map,uint256,bytes32) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3806-3812) ignores return value by map._inner.set(bytes32(key),value) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3811)
TestQuery.queryRouterOwner(uint32,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6779-6789) ignores return value by router.query(domain,call,callback) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6788)
TestQuerySender.queryAddress(uint32,address,bytes) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6822-6832) ignores return value by queryRouter.query(_destinationDomain,Call({to:_target,data:_targetData}),abi.encodePacked(this.handleQueryAddressResult.selector)) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6827-6831)
TestQuerySender.queryUint256(uint32,address,bytes) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6839-6849) ignores return value by queryRouter.query(_destinationDomain,Call({to:_target,data:_targetData}),abi.encodePacked(this.handleQueryUint256Result.selector)) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6844-6848)
TestQuerySender.queryBytes32(uint32,address,bytes) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6856-6866) ignores return value by queryRouter.query(_destinationDomain,Call({to:_target,data:_targetData}),abi.encodePacked(this.handleQueryBytes32Result.selector)) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6861-6865)
ERC1967Upgrade._upgradeToAndCall(address,bytes,bool) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7386-7395) ignores return value by Address.functionDelegateCall(newImplementation,data) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7393)
ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7495-7505) ignores return value by Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7503)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return
INFO:Detectors:
Mailbox.initialize(address,address)._owner (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4071) shadows:
- OwnableUpgradeable._owner (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#538) (state variable)
CircleBridgeAdapter.initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5259) shadows:
- OwnableUpgradeable._owner (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#538) (state variable)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#local-variable-shadowing
INFO:Detectors:
CircleBridgeAdapter.initialize(address,address,address,address)._liquidityLayerRouter (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5262) lacks a zero-check on :
- liquidityLayerRouter = _liquidityLayerRouter (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5271)
TestQuerySender.handleQueryAddressResult(address)._result (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6834) lacks a zero-check on :
- lastAddressResult = _result (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6836)
TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._token (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7078) lacks a zero-check on :
- lastToken = _token (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7084)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation
INFO:Detectors:
Modifier TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7587-7593) does not always execute _; or revertReference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-modifier
INFO:Detectors:
OwnableMulticall.proxyCalls(Call[]) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4287-4298) has external calls inside a loop: (success,returnData) = calls[i].to.call(calls[i].data) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4289-4291)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation/#calls-inside-a-loop
INFO:Detectors:
Reentrancy in MockMailbox.dispatch(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6269-6287):
External calls:
- _destinationMailbox.addInboundMessage(domain,msg.sender,_recipientAddress.bytes32ToAddress(),_messageBody) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6279-6284)
State variables written after the call(s):
- outboundNonce ++ (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6285)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-2
INFO:Detectors:
Reentrancy in InterchainQueryRouter._handle(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4950-4978):
External calls:
- resolveCallbacks = _call(calls,callbacks) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4964)
- (success,returnData) = calls[i].to.call(calls[i].data) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4306-4308)
- _dispatch(_origin,abi.encode(Action.RESOLVE,sender,resolveCallbacks)) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4965-4968)
- mailbox.dispatch(_destinationDomain,_router,_messageBody) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4548)
Event emitted after the call(s):
- QueryReturned(_origin,sender) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4969)
Reentrancy in InterchainQueryRouter._handle(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4950-4978):
External calls:
- proxyCallBatch(sender_scope_0,resolveCallbacks_scope_1) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4975)
- (success,returnData) = to.call(calls[i]) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4317)
Event emitted after the call(s):
- QueryResolved(_origin,sender_scope_0) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4976)
Reentrancy in InterchainAccountRouter.getDeployedInterchainAccount(uint32,address) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4764-4777):
External calls:
- OwnableMulticall(interchainAccount).initialize() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4773)
Event emitted after the call(s):
- InterchainAccountCreated(_origin,_sender,interchainAccount) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4774)
Reentrancy in Mailbox.process(bytes,bytes) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4134-4161):
External calls:
- require(bool,string)(_ism.verify(_metadata,_message),!module) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4152)
- IMessageRecipient(recipient).handle(origin,sender,_message.body()) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4158)
Event emitted after the call(s):
- Process(origin,sender,recipient) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4159)
- ProcessId(_id) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4160)
Reentrancy in InterchainQueryRouter.query(uint32,Call[],bytes[]) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4933-4947):
External calls:
- messageId = _dispatch(_destinationDomain,abi.encode(Action.DISPATCH,msg.sender,calls,callbacks)) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4942-4945)
- mailbox.dispatch(_destinationDomain,_router,_messageBody) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4548)
Event emitted after the call(s):
- QueryDispatched(_destinationDomain,msg.sender) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4946)
Reentrancy in CircleBridgeAdapter.sendTokens(uint32,bytes32,address,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5274-5311):
External calls:
- require(bool,string)(IERC20(_token).approve(address(circleBridge),_amount),!approval) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5297-5300)
- _nonce = circleBridge.depositForBurn(_amount,_circleDomain,_remoteRouter,_token) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5302-5307)
Event emitted after the call(s):
- BridgedToken(_nonce) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5309)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3
INFO:Detectors:
AddressUpgradeable._revert(bytes,string) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#294-306) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#299-302)
Address._revert(bytes,string) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#846-858) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#851-854)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1264-1344) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1275-1279)
- INLINE ASM (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1295-1302)
- INLINE ASM (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1309-1318)
Strings.toString(uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1574-1594) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1580-1582)
- INLINE ASM (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1586-1588)
ECDSA.tryRecover(bytes32,bytes) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1683-1700) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1691-1695)
EnumerableSet.values(EnumerableSet.Bytes32Set) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2064-2074) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2069-2071)
EnumerableSet.values(EnumerableSet.AddressSet) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2138-2148) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2143-2145)
EnumerableSet.values(EnumerableSet.UintSet) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2212-2222) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2217-2219)
TypeCasts.coerceString(bytes32) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2254-2271) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2265-2270)
OwnableMulticall.proxyCalls(Call[]) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4287-4298) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4293-4295)
OwnableMulticall.proxyCallBatch(address,bytes[]) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4315-4324) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4319-4321)
Create2.deploy(uint256,bytes32,bytes) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4627-4639) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4635-4637)
Create2.computeAddress(bytes32,bytes32,address) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4653-4679) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4659-4678)
BadRecipient1.handle(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6468-6476) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6473-6475)
BadRecipient3.handle(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6486-6495) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6491-6494)
Proxy._delegate(address) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7119-7142) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7120-7141)
StorageSlot.getAddressSlot(bytes32) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7283-7288) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7285-7287)
StorageSlot.getBooleanSlot(bytes32) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7293-7298) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7295-7297)
StorageSlot.getBytes32Slot(bytes32) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7303-7308) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7305-7307)
StorageSlot.getUint256Slot(bytes32) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7313-7318) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7315-7317)
Create2Factory._deploy(bytes,bytes32) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7863-7882) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7870-7877)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
Mailbox.process(bytes,bytes) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4134-4161) compares to a boolean constant:
-require(bool,string)(delivered[_id] == false,delivered) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4145)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#boolean-equality
INFO:Detectors:
Address.functionCall(address,bytes) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#700-702) is never used and should be removed
Address.functionCall(address,bytes,string) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#710-716) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#729-735) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#743-752) is never used and should be removed
Address.functionStaticCall(address,bytes) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#760-762) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#770-777) is never used and should be removed
Address.sendValue(address,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#675-680) is never used and should be removed
Address.verifyCallResult(bool,bytes,string) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#834-844) is never used and should be removed
AddressUpgradeable._revert(bytes,string) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#294-306) is never used and should be removed
AddressUpgradeable.functionCall(address,bytes) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#173-175) is never used and should be removed
AddressUpgradeable.functionCall(address,bytes,string) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#183-189) is never used and should be removed
AddressUpgradeable.functionCallWithValue(address,bytes,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#202-208) is never used and should be removed
AddressUpgradeable.functionCallWithValue(address,bytes,uint256,string) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#216-225) is never used and should be removed
AddressUpgradeable.functionStaticCall(address,bytes) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#233-235) is never used and should be removed
AddressUpgradeable.functionStaticCall(address,bytes,string) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#243-250) is never used and should be removed
AddressUpgradeable.sendValue(address,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#148-153) is never used and should be removed
AddressUpgradeable.verifyCallResult(bool,bytes,string) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#282-292) is never used and should be removed
AddressUpgradeable.verifyCallResultFromTarget(address,bool,bytes,string) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#258-274) is never used and should be removed
Context._msgData() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1117-1119) is never used and should be removed
ContextUpgradeable.__Context_init() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#495-496) is never used and should be removed
ContextUpgradeable.__Context_init_unchained() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#498-499) is never used and should be removed
ContextUpgradeable._msgData() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#504-506) is never used and should be removed
ECDSA.recover(bytes32,bytes32,bytes32) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1744-1752) is never used and should be removed
ECDSA.recover(bytes32,uint8,bytes32,bytes32) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1792-1801) is never used and should be removed
ECDSA.toEthSignedMessageHash(bytes) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1825-1827) is never used and should be removed
ECDSA.toTypedDataHash(bytes32,bytes32) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1838-1840) is never used and should be removed
ECDSA.tryRecover(bytes32,bytes32,bytes32) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1729-1737) is never used and should be removed
ERC1967Upgrade._getBeacon() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7473-7475) is never used and should be removed
ERC1967Upgrade._setBeacon(address) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7480-7487) is never used and should be removed
ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7495-7505) is never used and should be removed
ERC1967Upgrade._upgradeToAndCallUUPS(address,bytes,bool) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7402-7420) is never used and should be removed
ERC20Upgradeable.__ERC20_init(string,string) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5785-5787) is never used and should be removed
ERC20Upgradeable.__ERC20_init_unchained(string,string) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5789-5792) is never used and should be removed
EnumerableMap.at(EnumerableMap.AddressToUintMap,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3648-3651) is never used and should be removed
EnumerableMap.at(EnumerableMap.Bytes32ToBytes32Map,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3364-3367) is never used and should be removed
EnumerableMap.at(EnumerableMap.Bytes32ToUintMap,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3740-3743) is never used and should be removed
EnumerableMap.at(EnumerableMap.UintToAddressMap,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3556-3559) is never used and should be removed
EnumerableMap.at(EnumerableMap.UintToUintMap,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3464-3467) is never used and should be removed
EnumerableMap.contains(EnumerableMap.AddressToUintMap,address) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3628-3630) is never used and should be removed
EnumerableMap.contains(EnumerableMap.Bytes32ToUintMap,bytes32) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3720-3722) is never used and should be removed
EnumerableMap.contains(EnumerableMap.UintToAddressMap,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3536-3538) is never used and should be removed
EnumerableMap.contains(EnumerableMap.UintToUintMap,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3444-3446) is never used and should be removed
EnumerableMap.get(EnumerableMap.AddressToUintMap,address) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3669-3671) is never used and should be removed
EnumerableMap.get(EnumerableMap.AddressToUintMap,address,string) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3679-3685) is never used and should be removed
EnumerableMap.get(EnumerableMap.Bytes32ToBytes32Map,bytes32,string) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3401-3409) is never used and should be removed
EnumerableMap.get(EnumerableMap.Bytes32ToUintMap,bytes32) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3761-3763) is never used and should be removed
EnumerableMap.get(EnumerableMap.Bytes32ToUintMap,bytes32,string) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3771-3777) is never used and should be removed
EnumerableMap.get(EnumerableMap.UintToAddressMap,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3577-3579) is never used and should be removed
EnumerableMap.get(EnumerableMap.UintToAddressMap,uint256,string) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3587-3593) is never used and should be removed
EnumerableMap.get(EnumerableMap.UintToUintMap,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3485-3487) is never used and should be removed
EnumerableMap.get(EnumerableMap.UintToUintMap,uint256,string) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3495-3501) is never used and should be removed
EnumerableMap.length(EnumerableMap.AddressToUintMap) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3635-3637) is never used and should be removed
EnumerableMap.length(EnumerableMap.Bytes32ToBytes32Map) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3350-3352) is never used and should be removed
EnumerableMap.length(EnumerableMap.Bytes32ToUintMap) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3727-3729) is never used and should be removed
EnumerableMap.length(EnumerableMap.UintToAddressMap) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3543-3545) is never used and should be removed
EnumerableMap.length(EnumerableMap.UintToUintMap) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3451-3453) is never used and should be removed
EnumerableMap.remove(EnumerableMap.AddressToUintMap,address) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3621-3623) is never used and should be removed
EnumerableMap.remove(EnumerableMap.Bytes32ToBytes32Map,bytes32) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3335-3338) is never used and should be removed
EnumerableMap.remove(EnumerableMap.Bytes32ToUintMap,bytes32) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3713-3715) is never used and should be removed
EnumerableMap.remove(EnumerableMap.UintToAddressMap,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3529-3531) is never used and should be removed
EnumerableMap.remove(EnumerableMap.UintToUintMap,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3437-3439) is never used and should be removed
EnumerableMap.set(EnumerableMap.AddressToUintMap,address,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3608-3614) is never used and should be removed
EnumerableMap.set(EnumerableMap.Bytes32ToUintMap,bytes32,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3700-3706) is never used and should be removed
EnumerableMap.set(EnumerableMap.UintToAddressMap,uint256,address) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3516-3522) is never used and should be removed
EnumerableMap.set(EnumerableMap.UintToUintMap,uint256,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3424-3430) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.AddressToUintMap,address) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3657-3660) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.Bytes32ToBytes32Map,bytes32) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3373-3380) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.Bytes32ToUintMap,bytes32) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3749-3752) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.UintToAddressMap,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3565-3568) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.UintToUintMap,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3473-3476) is never used and should be removed
EnumerableMapExtended.at(EnumerableMapExtended.UintToBytes32Map,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3845-3852) is never used and should be removed
EnumerableMapExtended.length(EnumerableMapExtended.UintToBytes32Map) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3837-3843) is never used and should be removed
EnumerableMapExtended.remove(EnumerableMapExtended.UintToBytes32Map,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3822-3827) is never used and should be removed
EnumerableSet._values(EnumerableSet.Set) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1998-2000) is never used and should be removed
EnumerableSet.add(EnumerableSet.UintSet,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2162-2164) is never used and should be removed
EnumerableSet.at(EnumerableSet.Bytes32Set,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2052-2054) is never used and should be removed
EnumerableSet.at(EnumerableSet.UintSet,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2200-2202) is never used and should be removed
EnumerableSet.contains(EnumerableSet.UintSet,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2179-2181) is never used and should be removed
EnumerableSet.length(EnumerableSet.Bytes32Set) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2038-2040) is never used and should be removed
EnumerableSet.length(EnumerableSet.UintSet) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2186-2188) is never used and should be removed
EnumerableSet.remove(EnumerableSet.Bytes32Set,bytes32) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2024-2026) is never used and should be removed
EnumerableSet.remove(EnumerableSet.UintSet,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2172-2174) is never used and should be removed
EnumerableSet.values(EnumerableSet.AddressSet) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2138-2148) is never used and should be removed
EnumerableSet.values(EnumerableSet.Bytes32Set) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2064-2074) is never used and should be removed
EnumerableSet.values(EnumerableSet.UintSet) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2212-2222) is never used and should be removed
Initializable._disableInitializers() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#453-459) is never used and should be removed
Initializable._getInitializedVersion() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#464-466) is never used and should be removed
Initializable._isInitializing() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#471-473) is never used and should be removed
Math.average(uint256,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1243-1246) is never used and should be removed
Math.ceilDiv(uint256,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1254-1257) is never used and should be removed
Math.log10(uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1467-1499) is never used and should be removed
Math.log10(uint256,Math.Rounding) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1505-1510) is never used and should be removed
Math.log2(uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1414-1450) is never used and should be removed
Math.log2(uint256,Math.Rounding) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1456-1461) is never used and should be removed
Math.log256(uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1518-1542) is never used and should be removed
Math.log256(uint256,Math.Rounding) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1548-1553) is never used and should be removed
Math.max(uint256,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1228-1230) is never used and should be removed
Math.min(uint256,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1235-1237) is never used and should be removed
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1264-1344) is never used and should be removed
Math.mulDiv(uint256,uint256,uint256,Math.Rounding) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1349-1360) is never used and should be removed
Math.sqrt(uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1367-1398) is never used and should be removed
Math.sqrt(uint256,Math.Rounding) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1403-1408) is never used and should be removed
Message.senderAddress(bytes) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2388-2394) is never used and should be removed
MultisigIsmMetadata.commitment(bytes) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2598-2604) is never used and should be removed
StorageSlot.getBooleanSlot(bytes32) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7293-7298) is never used and should be removed
StorageSlot.getBytes32Slot(bytes32) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7303-7308) is never used and should be removed
StorageSlot.getUint256Slot(bytes32) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7313-7318) is never used and should be removed
Strings.toHexString(address) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1623-1625) is never used and should be removed
Strings.toHexString(uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1599-1603) is never used and should be removed
Strings.toHexString(uint256,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1608-1618) is never used and should be removed
Strings.toString(uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1574-1594) is never used and should be removed
TransparentUpgradeableProxy._admin() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7655-7657) is never used and should be removed
TypeCasts.coerceString(bytes32) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2254-2271) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Low level call in AddressUpgradeable.sendValue(address,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#148-153):
- (success) = recipient.call{value: amount}() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#151)
Low level call in AddressUpgradeable.functionCallWithValue(address,bytes,uint256,string) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#216-225):
- (success,returndata) = target.call{value: value}(data) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#223)
Low level call in AddressUpgradeable.functionStaticCall(address,bytes,string) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#243-250):
- (success,returndata) = target.staticcall(data) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#248)
Low level call in Address.sendValue(address,uint256) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#675-680):
- (success) = recipient.call{value: amount}() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#678)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#743-752):
- (success,returndata) = target.call{value: value}(data) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#750)
Low level call in Address.functionStaticCall(address,bytes,string) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#770-777):
- (success,returndata) = target.staticcall(data) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#775)
Low level call in Address.functionDelegateCall(address,bytes,string) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#795-802):
- (success,returndata) = target.delegatecall(data) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#800)
Low level call in InterchainGasPaymaster.claim() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1087-1091):
- (success) = owner().call{value: address(this).balance}() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1089)
Low level call in OwnableMulticall.proxyCalls(Call[]) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4287-4298):
- (success,returnData) = calls[i].to.call(calls[i].data) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4289-4291)
Low level call in OwnableMulticall._call(Call[],bytes[]) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4300-4312):
- (success,returnData) = calls[i].to.call(calls[i].data) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4306-4308)
Low level call in OwnableMulticall.proxyCallBatch(address,bytes[]) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4315-4324):
- (success,returnData) = to.call(calls[i]) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4317)
Low level call in ProxyAdmin.getProxyImplementation(TransparentUpgradeableProxy) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7689-7695):
- (success,returndata) = address(proxy).staticcall(0x5c60da1b) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7692)
Low level call in ProxyAdmin.getProxyAdmin(TransparentUpgradeableProxy) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7704-7710):
- (success,returndata) = address(proxy).staticcall(0xf851a440) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7707)
Low level call in Create2Factory.deployAndInit(bytes,bytes32,bytes) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7822-7835):
- (success) = deployedAddress_.call(init) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7833)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
INFO:Detectors:
TransparentUpgradeableProxy (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7571-7666) should inherit from IBeacon (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7196-7203)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-inheritance
INFO:Detectors:
Function ContextUpgradeable.__Context_init() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#495-496) is not in mixedCase
Function ContextUpgradeable.__Context_init_unchained() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#498-499) is not in mixedCase
Variable ContextUpgradeable.__gap (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#513) is not in mixedCase
Function OwnableUpgradeable.__Ownable_init() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#545-547) is not in mixedCase
Function OwnableUpgradeable.__Ownable_init_unchained() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#549-551) is not in mixedCase
Variable OwnableUpgradeable.__gap (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#610) is not in mixedCase
Function HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#925-931) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address)._mailbox (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#925) is not in mixedCase
Function HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#933-939) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address)._mailbox (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#934) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#935) is not in mixedCase
Function HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#941-951) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address)._mailbox (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#942) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#943) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address)._interchainSecurityModule (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#944) is not in mixedCase
Parameter HyperlaneConnectionClient.setMailbox(address)._mailbox (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#959) is not in mixedCase
Parameter HyperlaneConnectionClient.setInterchainGasPaymaster(address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#967) is not in mixedCase
Parameter HyperlaneConnectionClient.setInterchainSecurityModule(address)._module (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#975) is not in mixedCase
Variable HyperlaneConnectionClient.__GAP (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#888) is not in mixedCase
Parameter InterchainGasPaymaster.payForGas(bytes32,uint32,uint256,address)._messageId (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1069) is not in mixedCase
Parameter InterchainGasPaymaster.payForGas(bytes32,uint32,uint256,address)._gasAmount (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1071) is not in mixedCase
Parameter TypeCasts.coerceString(bytes32)._buf (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2254) is not in mixedCase
Parameter TypeCasts.addressToBytes32(address)._addr (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2274) is not in mixedCase
Parameter TypeCasts.bytes32ToAddress(bytes32)._buf (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2279) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._version (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2318) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._nonce (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2319) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._originDomain (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2320) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._sender (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2321) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._destinationDomain (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2322) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._recipient (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2323) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._messageBody (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2324) is not in mixedCase
Parameter Message.id(bytes)._message (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2343) is not in mixedCase
Parameter Message.version(bytes)._message (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2352) is not in mixedCase
Parameter Message.nonce(bytes)._message (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2361) is not in mixedCase
Parameter Message.origin(bytes)._message (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2370) is not in mixedCase
Parameter Message.sender(bytes)._message (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2379) is not in mixedCase
Parameter Message.senderAddress(bytes)._message (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2388) is not in mixedCase
Parameter Message.destination(bytes)._message (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2401) is not in mixedCase
Parameter Message.recipient(bytes)._message (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2414) is not in mixedCase
Parameter Message.recipientAddress(bytes)._message (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2427) is not in mixedCase
Parameter Message.body(bytes)._message (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2440) is not in mixedCase
Parameter MultisigIsmMetadata.root(bytes)._metadata (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2479) is not in mixedCase
Parameter MultisigIsmMetadata.index(bytes)._metadata (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2488) is not in mixedCase
Parameter MultisigIsmMetadata.originMailbox(bytes)._metadata (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2500) is not in mixedCase
Parameter MultisigIsmMetadata.proof(bytes)._metadata (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2515) is not in mixedCase
Parameter MultisigIsmMetadata.threshold(bytes)._metadata (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2533) is not in mixedCase
Parameter MultisigIsmMetadata.signatureAt(bytes,uint256)._metadata (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2546) is not in mixedCase
Parameter MultisigIsmMetadata.signatureAt(bytes,uint256)._index (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2546) is not in mixedCase
Parameter MultisigIsmMetadata.validatorAt(bytes,uint256)._metadata (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2563) is not in mixedCase
Parameter MultisigIsmMetadata.validatorAt(bytes,uint256)._index (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2563) is not in mixedCase
Parameter MultisigIsmMetadata.validators(bytes)._metadata (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2583) is not in mixedCase
Parameter MultisigIsmMetadata.commitment(bytes)._metadata (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2598) is not in mixedCase
Parameter MultisigIsmMetadata.validatorCount(bytes)._metadata (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2613) is not in mixedCase
Parameter MerkleLib.insert(MerkleLib.Tree,bytes32)._tree (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2669) is not in mixedCase
Parameter MerkleLib.insert(MerkleLib.Tree,bytes32)._node (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2669) is not in mixedCase
Parameter MerkleLib.rootWithCtx(MerkleLib.Tree,bytes32[32])._tree (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2693) is not in mixedCase
Parameter MerkleLib.rootWithCtx(MerkleLib.Tree,bytes32[32])._zeroes (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2693) is not in mixedCase
Parameter MerkleLib.root(MerkleLib.Tree)._tree (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2712) is not in mixedCase
Parameter MerkleLib.branchRoot(bytes32,bytes32[32],uint256)._item (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2766) is not in mixedCase
Parameter MerkleLib.branchRoot(bytes32,bytes32[32],uint256)._branch (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2767) is not in mixedCase
Parameter MerkleLib.branchRoot(bytes32,bytes32[32],uint256)._index (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2768) is not in mixedCase
Parameter MultisigIsm.enrollValidators(uint32[],address[][])._domains (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2949) is not in mixedCase
Parameter MultisigIsm.enrollValidators(uint32[],address[][])._validators (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2950) is not in mixedCase
Parameter MultisigIsm.enrollValidator(uint32,address)._domain (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2968) is not in mixedCase
Parameter MultisigIsm.enrollValidator(uint32,address)._validator (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2968) is not in mixedCase
Parameter MultisigIsm.unenrollValidator(uint32,address)._domain (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2982) is not in mixedCase
Parameter MultisigIsm.unenrollValidator(uint32,address)._validator (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2982) is not in mixedCase
Parameter MultisigIsm.setThresholds(uint32[],uint8[])._domains (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3002) is not in mixedCase
Parameter MultisigIsm.setThresholds(uint32[],uint8[])._thresholds (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3003) is not in mixedCase
Parameter MultisigIsm.isEnrolled(uint32,address)._domain (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3017) is not in mixedCase
Parameter MultisigIsm.isEnrolled(uint32,address)._address (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3017) is not in mixedCase
Parameter MultisigIsm.setThreshold(uint32,uint8)._domain (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3033) is not in mixedCase
Parameter MultisigIsm.setThreshold(uint32,uint8)._threshold (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3033) is not in mixedCase
Parameter MultisigIsm.verify(bytes,bytes)._metadata (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3051) is not in mixedCase
Parameter MultisigIsm.verify(bytes,bytes)._message (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3051) is not in mixedCase
Parameter MultisigIsm.validators(uint32)._domain (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3066) is not in mixedCase
Parameter MultisigIsm.validatorsAndThreshold(bytes)._message (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3084) is not in mixedCase
Parameter MultisigIsm.validatorCount(uint32)._domain (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3100) is not in mixedCase
Function PausableReentrancyGuardUpgradeable.__PausableReentrancyGuard_init() (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3900-3902) is not in mixedCase
Variable PausableReentrancyGuardUpgradeable.__gap (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#3951) is not in mixedCase
Parameter Mailbox.initialize(address,address)._owner (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4071) is not in mixedCase
Parameter Mailbox.initialize(address,address)._defaultIsm (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4071) is not in mixedCase
Parameter Mailbox.setDefaultIsm(address)._module (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4087) is not in mixedCase
Parameter Mailbox.dispatch(uint32,bytes32,bytes)._destinationDomain (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4099) is not in mixedCase
Parameter Mailbox.dispatch(uint32,bytes32,bytes)._recipientAddress (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4100) is not in mixedCase
Parameter Mailbox.dispatch(uint32,bytes32,bytes)._messageBody (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4101) is not in mixedCase
Parameter Mailbox.process(bytes,bytes)._metadata (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4134) is not in mixedCase
Parameter Mailbox.process(bytes,bytes)._message (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4134) is not in mixedCase
Parameter Mailbox.recipientIsm(address)._recipient (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4220) is not in mixedCase
Variable Mailbox.__GAP (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4004) is not in mixedCase
Function Router.__Router_initialize(address) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4373-4375) is not in mixedCase
Parameter Router.__Router_initialize(address)._mailbox (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4373) is not in mixedCase
Function Router.__Router_initialize(address,address) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4377-4385) is not in mixedCase
Parameter Router.__Router_initialize(address,address)._mailbox (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4378) is not in mixedCase
Parameter Router.__Router_initialize(address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4379) is not in mixedCase
Function Router.__Router_initialize(address,address,address) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4387-4397) is not in mixedCase
Parameter Router.__Router_initialize(address,address,address)._mailbox (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4388) is not in mixedCase
Parameter Router.__Router_initialize(address,address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4389) is not in mixedCase
Parameter Router.__Router_initialize(address,address,address)._interchainSecurityModule (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4390) is not in mixedCase
Parameter Router.routers(uint32)._domain (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4409) is not in mixedCase
Parameter Router.enrollRemoteRouter(uint32,bytes32)._domain (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4422) is not in mixedCase
Parameter Router.enrollRemoteRouter(uint32,bytes32)._router (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4422) is not in mixedCase
Parameter Router.enrollRemoteRouters(uint32[],bytes32[])._domains (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4436) is not in mixedCase
Parameter Router.enrollRemoteRouters(uint32[],bytes32[])._addresses (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4437) is not in mixedCase
Parameter Router.handle(uint32,bytes32,bytes)._origin (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4452) is not in mixedCase
Parameter Router.handle(uint32,bytes32,bytes)._sender (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4453) is not in mixedCase
Parameter Router.handle(uint32,bytes32,bytes)._message (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4454) is not in mixedCase
Variable Router.__GAP (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4347) is not in mixedCase
Parameter InterchainAccountRouter.initialize(address,address,address)._mailbox (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4719) is not in mixedCase
Parameter InterchainAccountRouter.initialize(address,address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4720) is not in mixedCase
Parameter InterchainAccountRouter.initialize(address,address,address)._interchainSecurityModule (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4721) is not in mixedCase
Parameter InterchainAccountRouter.initialize(address,address)._mailbox (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4731) is not in mixedCase
Parameter InterchainAccountRouter.initialize(address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4731) is not in mixedCase
Parameter InterchainAccountRouter.dispatch(uint32,Call[])._destinationDomain (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4739) is not in mixedCase
Parameter InterchainAccountRouter.dispatch(uint32,address,bytes)._destinationDomain (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4747) is not in mixedCase
Parameter InterchainAccountRouter.getInterchainAccount(uint32,address)._origin (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4756) is not in mixedCase
Parameter InterchainAccountRouter.getInterchainAccount(uint32,address)._sender (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4756) is not in mixedCase
Parameter InterchainAccountRouter.getDeployedInterchainAccount(uint32,address)._origin (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4764) is not in mixedCase
Parameter InterchainAccountRouter.getDeployedInterchainAccount(uint32,address)._sender (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4764) is not in mixedCase
Parameter InterchainQueryRouter.initialize(address,address,address)._mailbox (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4870) is not in mixedCase
Parameter InterchainQueryRouter.initialize(address,address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4871) is not in mixedCase
Parameter InterchainQueryRouter.initialize(address,address,address)._interchainSecurityModule (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4872) is not in mixedCase
Parameter InterchainQueryRouter.initialize(address,address)._mailbox (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4882) is not in mixedCase
Parameter InterchainQueryRouter.initialize(address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4882) is not in mixedCase
Parameter InterchainQueryRouter.query(uint32,address,bytes,bytes)._destinationDomain (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4897) is not in mixedCase
Parameter InterchainQueryRouter.query(uint32,Call,bytes)._destinationDomain (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4916) is not in mixedCase
Parameter InterchainQueryRouter.query(uint32,Call[],bytes[])._destinationDomain (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#4934) is not in mixedCase
Parameter CircleBridgeAdapter.initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5259) is not in mixedCase
Parameter CircleBridgeAdapter.initialize(address,address,address,address)._circleBridge (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5260) is not in mixedCase
Parameter CircleBridgeAdapter.initialize(address,address,address,address)._circleMessageTransmitter (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5261) is not in mixedCase
Parameter CircleBridgeAdapter.initialize(address,address,address,address)._liquidityLayerRouter (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5262) is not in mixedCase
Parameter CircleBridgeAdapter.sendTokens(uint32,bytes32,address,uint256)._destinationDomain (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5275) is not in mixedCase
Parameter CircleBridgeAdapter.sendTokens(uint32,bytes32,address,uint256)._token (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5277) is not in mixedCase
Parameter CircleBridgeAdapter.sendTokens(uint32,bytes32,address,uint256)._amount (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5278) is not in mixedCase
Parameter CircleBridgeAdapter.receiveTokens(uint32,address,uint256,bytes)._originDomain (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5315) is not in mixedCase
Parameter CircleBridgeAdapter.receiveTokens(uint32,address,uint256,bytes)._recipient (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5316) is not in mixedCase
Parameter CircleBridgeAdapter.receiveTokens(uint32,address,uint256,bytes)._amount (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5317) is not in mixedCase
Parameter CircleBridgeAdapter.receiveTokens(uint32,address,uint256,bytes)._adapterData (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5318) is not in mixedCase
Parameter CircleBridgeAdapter.addDomain(uint32,uint32)._hyperlaneDomain (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5362) is not in mixedCase
Parameter CircleBridgeAdapter.addDomain(uint32,uint32)._circleDomain (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5362) is not in mixedCase
Parameter CircleBridgeAdapter.addToken(address,string)._token (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5371) is not in mixedCase
Parameter CircleBridgeAdapter.addToken(address,string)._tokenSymbol (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5371) is not in mixedCase
Parameter CircleBridgeAdapter.removeToken(address,string)._token (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5396) is not in mixedCase
Parameter CircleBridgeAdapter.removeToken(address,string)._tokenSymbol (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5396) is not in mixedCase
Parameter LiquidityLayerRouter.initialize(address,address,address)._mailbox (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5485) is not in mixedCase
Parameter LiquidityLayerRouter.initialize(address,address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5486) is not in mixedCase
Parameter LiquidityLayerRouter.initialize(address,address,address)._interchainSecurityModule (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5487) is not in mixedCase
Parameter LiquidityLayerRouter.initialize(address,address)._mailbox (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5497) is not in mixedCase
Parameter LiquidityLayerRouter.initialize(address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5497) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,bytes,address,uint256,string)._destinationDomain (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5506) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,bytes,address,uint256,string)._recipientAddress (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5507) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,bytes,address,uint256,string)._messageBody (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5508) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,bytes,address,uint256,string)._token (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5509) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,bytes,address,uint256,string)._amount (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5510) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,bytes,address,uint256,string)._bridge (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5511) is not in mixedCase
Parameter LiquidityLayerRouter.setLiquidityLayerAdapter(string,address)._bridge (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5595) is not in mixedCase
Parameter LiquidityLayerRouter.setLiquidityLayerAdapter(string,address)._adapter (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5595) is not in mixedCase
Function ERC20Upgradeable.__ERC20_init(string,string) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5785-5787) is not in mixedCase
Function ERC20Upgradeable.__ERC20_init_unchained(string,string) (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#5789-5792) is not in mixedCase
Variable ERC20Upgradeable.__gap (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6130) is not in mixedCase
Parameter MockToken.burn(uint256)._amount (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6144) is not in mixedCase
Parameter MockCircleBridge.depositForBurn(uint256,uint32,bytes32,address)._amount (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6165) is not in mixedCase
Parameter MockCircleBridge.depositForBurn(uint256,uint32,bytes32,address)._burnToken (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6168) is not in mixedCase
Parameter MockCircleMessageTransmitter.hashSourceAndNonce(uint32,uint256)._source (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6212) is not in mixedCase
Parameter MockCircleMessageTransmitter.hashSourceAndNonce(uint32,uint256)._nonce (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6212) is not in mixedCase
Parameter MockCircleMessageTransmitter.process(bytes32,address,uint256)._nonceId (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6221) is not in mixedCase
Parameter MockCircleMessageTransmitter.process(bytes32,address,uint256)._recipient (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6222) is not in mixedCase
Parameter MockCircleMessageTransmitter.process(bytes32,address,uint256)._amount (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6223) is not in mixedCase
Parameter MockCircleMessageTransmitter.usedNonces(bytes32)._nonceId (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6229) is not in mixedCase
Parameter MockMailbox.addRemoteMailbox(uint32,MockMailbox)._domain (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6265) is not in mixedCase
Parameter MockMailbox.addRemoteMailbox(uint32,MockMailbox)._mailbox (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6265) is not in mixedCase
Parameter MockMailbox.dispatch(uint32,bytes32,bytes)._destinationDomain (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6270) is not in mixedCase
Parameter MockMailbox.dispatch(uint32,bytes32,bytes)._recipientAddress (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6271) is not in mixedCase
Parameter MockMailbox.dispatch(uint32,bytes32,bytes)._messageBody (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6272) is not in mixedCase
Parameter MockMailbox.addInboundMessage(uint32,address,address,bytes)._origin (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6290) is not in mixedCase
Parameter MockMailbox.addInboundMessage(uint32,address,address,bytes)._sender (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6291) is not in mixedCase
Parameter MockMailbox.addInboundMessage(uint32,address,address,bytes)._recipient (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6292) is not in mixedCase
Parameter MockMailbox.addInboundMessage(uint32,address,address,bytes)._body (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6293) is not in mixedCase
Parameter TestIsm.setAccept(bool)._val (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6325) is not in mixedCase
Parameter TestHyperlaneConnectionClient.initialize(address)._mailbox (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6538) is not in mixedCase
Parameter TestLiquidityLayerMessageRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._origin (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6563) is not in mixedCase
Parameter TestLiquidityLayerMessageRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._sender (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6564) is not in mixedCase
Parameter TestLiquidityLayerMessageRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._message (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6565) is not in mixedCase
Parameter TestLiquidityLayerMessageRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._token (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6566) is not in mixedCase
Parameter TestLiquidityLayerMessageRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._amount (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6567) is not in mixedCase
Parameter TestMailbox.testHandle(uint32,bytes32,bytes32,bytes)._origin (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6604) is not in mixedCase
Parameter TestMailbox.testHandle(uint32,bytes32,bytes32,bytes)._sender (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6605) is not in mixedCase
Parameter TestMailbox.testHandle(uint32,bytes32,bytes32,bytes)._recipient (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6606) is not in mixedCase
Parameter TestMailbox.testHandle(uint32,bytes32,bytes32,bytes)._body (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6607) is not in mixedCase
Parameter TestMerkle.insert(bytes32)._node (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6631) is not in mixedCase
Parameter TestMerkle.branchRoot(bytes32,bytes32[32],uint256)._leaf (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6636) is not in mixedCase
Parameter TestMerkle.branchRoot(bytes32,bytes32[32],uint256)._proof (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6637) is not in mixedCase
Parameter TestMerkle.branchRoot(bytes32,bytes32[32],uint256)._index (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6638) is not in mixedCase
Parameter TestMessage.version(bytes)._message (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6664) is not in mixedCase
Parameter TestMessage.nonce(bytes)._message (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6672) is not in mixedCase
Parameter TestMessage.body(bytes)._message (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6680) is not in mixedCase
Parameter TestMessage.origin(bytes)._message (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6688) is not in mixedCase
Parameter TestMessage.sender(bytes)._message (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6696) is not in mixedCase
Parameter TestMessage.destination(bytes)._message (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6704) is not in mixedCase
Parameter TestMessage.recipient(bytes)._message (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6712) is not in mixedCase
Parameter TestMessage.recipientAddress(bytes)._message (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6720) is not in mixedCase
Parameter TestMessage.id(bytes)._message (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6728) is not in mixedCase
Parameter TestMultisigIsm.getDomainHash(uint32,bytes32)._origin (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6742) is not in mixedCase
Parameter TestMultisigIsm.getDomainHash(uint32,bytes32)._originMailbox (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6742) is not in mixedCase
Parameter TestMultisigIsm.getCheckpointDigest(bytes,uint32)._metadata (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6750) is not in mixedCase
Parameter TestMultisigIsm.getCheckpointDigest(bytes,uint32)._origin (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6750) is not in mixedCase
Parameter TestQuerySender.initialize(address)._queryRouterAddress (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6818) is not in mixedCase
Parameter TestQuerySender.queryAddress(uint32,address,bytes)._destinationDomain (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6823) is not in mixedCase
Parameter TestQuerySender.queryAddress(uint32,address,bytes)._target (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6824) is not in mixedCase
Parameter TestQuerySender.queryAddress(uint32,address,bytes)._targetData (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6825) is not in mixedCase
Parameter TestQuerySender.handleQueryAddressResult(address)._result (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6834) is not in mixedCase
Parameter TestQuerySender.queryUint256(uint32,address,bytes)._destinationDomain (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6840) is not in mixedCase
Parameter TestQuerySender.queryUint256(uint32,address,bytes)._target (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6841) is not in mixedCase
Parameter TestQuerySender.queryUint256(uint32,address,bytes)._targetData (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6842) is not in mixedCase
Parameter TestQuerySender.handleQueryUint256Result(uint256)._result (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6851) is not in mixedCase
Parameter TestQuerySender.queryBytes32(uint32,address,bytes)._destinationDomain (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6857) is not in mixedCase
Parameter TestQuerySender.queryBytes32(uint32,address,bytes)._target (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6858) is not in mixedCase
Parameter TestQuerySender.queryBytes32(uint32,address,bytes)._targetData (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6859) is not in mixedCase
Parameter TestQuerySender.handleQueryBytes32Result(bytes32)._result (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6868) is not in mixedCase
Parameter TestRecipient.setInterchainSecurityModule(address)._ism (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6900) is not in mixedCase
Parameter TestRecipient.handle(uint32,bytes32,bytes)._origin (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6905) is not in mixedCase
Parameter TestRecipient.handle(uint32,bytes32,bytes)._sender (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6906) is not in mixedCase
Parameter TestRecipient.handle(uint32,bytes32,bytes)._data (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6907) is not in mixedCase
Parameter TestRouter.initialize(address)._mailbox (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6930) is not in mixedCase
Parameter TestRouter.isRemoteRouter(uint32,bytes32)._domain (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6941) is not in mixedCase
Parameter TestRouter.isRemoteRouter(uint32,bytes32)._potentialRemoteRouter (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6941) is not in mixedCase
Parameter TestRouter.mustHaveRemoteRouter(uint32)._domain (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6949) is not in mixedCase
Parameter TestRouter.dispatch(uint32,bytes)._destination (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6957) is not in mixedCase
Parameter TestRouter.dispatch(uint32,bytes)._msg (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6957) is not in mixedCase
Parameter TestRouter.dispatchWithGas(uint32,bytes,uint256,uint256,address)._destinationDomain (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6962) is not in mixedCase
Parameter TestRouter.dispatchWithGas(uint32,bytes,uint256,uint256,address)._messageBody (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6963) is not in mixedCase
Parameter TestRouter.dispatchWithGas(uint32,bytes,uint256,uint256,address)._gasAmount (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6964) is not in mixedCase
Parameter TestRouter.dispatchWithGas(uint32,bytes,uint256,uint256,address)._gasPayment (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6965) is not in mixedCase
Parameter TestRouter.dispatchWithGas(uint32,bytes,uint256,uint256,address)._gasPaymentRefundAddress (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6966) is not in mixedCase
Parameter TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes)._mailbox (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6994) is not in mixedCase
Parameter TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes)._paymaster (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6995) is not in mixedCase
Parameter TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes)._destinationDomain (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6996) is not in mixedCase
Parameter TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes)._messageBody (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6997) is not in mixedCase
Parameter TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._origin (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7075) is not in mixedCase
Parameter TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._sender (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7076) is not in mixedCase
Parameter TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._data (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7077) is not in mixedCase
Parameter TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._token (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7078) is not in mixedCase
Parameter TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._amount (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#7079) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Detectors:
Redundant expression "_destinationDomain (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1077)" inInterchainGasPaymaster (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1032-1092)
Redundant expression "_refundAddress (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1078)" inInterchainGasPaymaster (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#1032-1092)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#redundant-statements
INFO:Detectors:
Message.VERSION_OFFSET (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2297) is never used in Message (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2294-2447)
Message.NONCE_OFFSET (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2298) is never used in Message (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2294-2447)
Message.ORIGIN_OFFSET (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2299) is never used in Message (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2294-2447)
Message.SENDER_OFFSET (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2300) is never used in Message (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2294-2447)
Message.DESTINATION_OFFSET (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2301) is never used in Message (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2294-2447)
Message.RECIPIENT_OFFSET (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2302) is never used in Message (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2294-2447)
Message.BODY_OFFSET (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2303) is never used in Message (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2294-2447)
MultisigIsmMetadata.MERKLE_ROOT_OFFSET (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2466) is never used in MultisigIsmMetadata (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2465-2636)
MultisigIsmMetadata.MERKLE_INDEX_OFFSET (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2467) is never used in MultisigIsmMetadata (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2465-2636)
MultisigIsmMetadata.ORIGIN_MAILBOX_OFFSET (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2468) is never used in MultisigIsmMetadata (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2465-2636)
MultisigIsmMetadata.MERKLE_PROOF_OFFSET (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2469) is never used in MultisigIsmMetadata (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2465-2636)
MultisigIsmMetadata.THRESHOLD_OFFSET (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2470) is never used in MultisigIsmMetadata (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#2465-2636)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-state-variable
INFO:Detectors:
MockCircleBridge.token (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6158) should be immutable
MockCircleMessageTransmitter.token (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6198) should be immutable
MockHyperlaneEnvironment.destinationDomain (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6349) should be immutable
MockHyperlaneEnvironment.originDomain (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6348) should be immutable
MockInterchainAccountRouter.originDomain (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6428) should be immutable
TestQuery.router (crytic-export/etherscan-contracts/0x35231d4c2d8b8adcb5617a638a0c4548684c7c70-TransparentUpgradeableProxy.sol#6768) should be immutable
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-immutable
INFO:Slither:0x35231d4c2d8b8adcb5617a638a0c4548684c7c70 analyzed (81 contracts with 87 detectors), 460 result(s) found
```
Slither report for TreasuryV2 at `0x3773E1E9Deb273fCdf9f80bc88bB387B1e6Ce34d`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x3773e1e9deb273fcdf9f80bc88bb387b1e6ce34d-TreasuryV2' running
INFO:Detectors:
Context._msgData() (@openzeppelin/contracts/utils/Context.sol#20-23) is never used and should be removed
SafeMath.div(uint256,uint256,string) (@openzeppelin/contracts/math/SafeMath.sol#190-193) is never used and should be removed
SafeMath.mod(uint256,uint256) (@openzeppelin/contracts/math/SafeMath.sol#152-155) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (@openzeppelin/contracts/math/SafeMath.sol#210-213) is never used and should be removed
SafeMath.sub(uint256,uint256) (@openzeppelin/contracts/math/SafeMath.sol#101-104) is never used and should be removed
SafeMath.sub(uint256,uint256,string) (@openzeppelin/contracts/math/SafeMath.sol#170-173) is never used and should be removed
SafeMath.tryAdd(uint256,uint256) (@openzeppelin/contracts/math/SafeMath.sol#24-28) is never used and should be removed
SafeMath.tryDiv(uint256,uint256) (@openzeppelin/contracts/math/SafeMath.sol#60-63) is never used and should be removed
SafeMath.tryMod(uint256,uint256) (@openzeppelin/contracts/math/SafeMath.sol#70-73) is never used and should be removed
SafeMath.tryMul(uint256,uint256) (@openzeppelin/contracts/math/SafeMath.sol#45-53) is never used and should be removed
SafeMath.trySub(uint256,uint256) (@openzeppelin/contracts/math/SafeMath.sol#35-38) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Parameter TreasuryV2.setFeeEnabled(bool)._feeEnabled (contracts/TreasuryV2.sol#41) is not in mixedCase
Parameter TreasuryV2.setZroEnabled(bool)._zroEnabled (contracts/TreasuryV2.sol#46) is not in mixedCase
Parameter TreasuryV2.setNativeBP(uint256)._nativeBP (contracts/TreasuryV2.sol#51) is not in mixedCase
Parameter TreasuryV2.setZroFee(uint256)._zroFee (contracts/TreasuryV2.sol#56) is not in mixedCase
Parameter TreasuryV2.withdrawZROFromULN(address,uint256)._to (contracts/TreasuryV2.sol#61) is not in mixedCase
Parameter TreasuryV2.withdrawZROFromULN(address,uint256)._amount (contracts/TreasuryV2.sol#61) is not in mixedCase
Parameter TreasuryV2.withdrawNativeFromULN(address,uint256)._to (contracts/TreasuryV2.sol#65) is not in mixedCase
Parameter TreasuryV2.withdrawNativeFromULN(address,uint256)._amount (contracts/TreasuryV2.sol#65) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Detectors:
Redundant expression "this (@openzeppelin/contracts/utils/Context.sol#21)" inContext (@openzeppelin/contracts/utils/Context.sol#15-24)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#redundant-statements
INFO:Detectors:
TreasuryV2.uln (contracts/TreasuryV2.sol#18) should be immutable
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-immutable
INFO:Slither:0x3773e1e9deb273fcdf9f80bc88bb387b1e6ce34d analyzed (6 contracts with 87 detectors), 21 result(s) found
```
Slither report for ARMProxy at `0x411dE17f12D1A34ecC7F45f49844626267c75e81`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x411de17f12d1a34ecc7f45f49844626267c75e81-ARMProxy' running
INFO:Detectors:
ARMProxy.fallback() (src/v0.8/ccip/ARMProxy.sol#44-71) uses assembly
- INLINE ASM (src/v0.8/ccip/ARMProxy.sol#46-70)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Slither:0x411de17f12d1a34ecc7f45f49844626267c75e81 analyzed (7 contracts with 87 detectors), 1 result(s) found
```
Slither report for UltraLightNodeV2 at `0x4D73AdB72bC3DD368966edD0f0b2148401A178E2`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x4d73adb72bc3dd368966edd0f0b2148401a178e2-UltraLightNodeV2' running
INFO:Detectors:
UltraLightNodeV2._handleProtocolFee(uint256,uint256,address,address) (UltraLightNodeV2.sol#184-204) uses arbitrary from in transferFrom: layerZeroToken.safeTransferFrom(_zroPaymentAddress,address(this),protocolFee) (UltraLightNodeV2.sol#199)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#arbitrary-from-in-transferfrom
INFO:Detectors:
UltraLightNodeV2.send(address,uint64,uint16,bytes,bytes,address,address,bytes) (UltraLightNodeV2.sol#116-161) calls abi.encodePacked() with multiple dynamic arguments:
- encodedPayload = abi.encodePacked(nonce,localChainId,ua,dstChainId,dstAddress,payload) (UltraLightNodeV2.sol#159)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#abi-encodePacked-collision
INFO:Detectors:
Reentrancy in UltraLightNodeV2.send(address,uint64,uint16,bytes,bytes,address,address,bytes) (UltraLightNodeV2.sol#116-161):
External calls:
- nonce = nonceContract.increment(dstChainId,ua,path) (UltraLightNodeV2.sol#135)
- relayerFee = _handleRelayer(dstChainId,uaConfig,ua,payload.length,_adapterParams) (UltraLightNodeV2.sol#142)
- relayerFee = relayer.assignJob(_dstChainId,_uaConfig.outboundProofType,_ua,_payloadSize,_adapterParams) (UltraLightNodeV2.sol#169)
- oracleFee = _handleOracle(dstChainId,uaConfig,ua) (UltraLightNodeV2.sol#143)
- oracleFee = ILayerZeroOracleV2(oracleAddress).assignJob(_dstChainId,_uaConfig.outboundProofType,_uaConfig.outboundBlockConfirmations,_ua) (UltraLightNodeV2.sol#179)
State variables written after the call(s):
- oracleFee = _handleOracle(dstChainId,uaConfig,ua) (UltraLightNodeV2.sol#143)
- nativeFees[_receiver] = nativeFees[_receiver].add(_amount) (UltraLightNodeV2.sol#207)
UltraLightNodeV2.nativeFees (UltraLightNodeV2.sol#39) can be used in cross function reentrancies:
- UltraLightNodeV2._creditNativeFee(address,uint256) (UltraLightNodeV2.sol#206-208)
- UltraLightNodeV2.accruedNativeFee(address) (UltraLightNodeV2.sol#436-438)
- UltraLightNodeV2.nativeFees (UltraLightNodeV2.sol#39)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-1
INFO:Detectors:
UltraLightNodeV2._handleProtocolFee(uint256,uint256,address,address) (UltraLightNodeV2.sol#184-204) uses tx.origin for authorization: require(bool,string)(_zroPaymentAddress == _ua || _zroPaymentAddress == tx.origin,LayerZero: must be paid by sender or origin) (UltraLightNodeV2.sol#196)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-usage-of-txorigin
INFO:Detectors:
LayerZeroPacket.getPacket(bytes,uint16,uint256,bytes32) (LayerZeroPacket.sol#22-56) ignores return value by srcAddressBuffer.init(sizeOfSrcAddress) (LayerZeroPacket.sol#48)
LayerZeroPacket.getPacket(bytes,uint16,uint256,bytes32) (LayerZeroPacket.sol#22-56) ignores return value by srcAddressBuffer.writeRawBytes(0,data,136,sizeOfSrcAddress) (LayerZeroPacket.sol#49)
LayerZeroPacket.getPacket(bytes,uint16,uint256,bytes32) (LayerZeroPacket.sol#22-56) ignores return value by payloadBuffer.init(payloadSize) (LayerZeroPacket.sol#53)
LayerZeroPacket.getPacket(bytes,uint16,uint256,bytes32) (LayerZeroPacket.sol#22-56) ignores return value by payloadBuffer.writeRawBytes(0,data,sizeOfSrcAddress.add(156),payloadSize) (LayerZeroPacket.sol#54)
LayerZeroPacket.getPacketV2(bytes,uint256,bytes32) (LayerZeroPacket.sol#58-103) ignores return value by srcAddressBuffer.init(sizeOfSrcAddress) (LayerZeroPacket.sol#93)
LayerZeroPacket.getPacketV2(bytes,uint256,bytes32) (LayerZeroPacket.sol#58-103) ignores return value by srcAddressBuffer.writeRawBytes(0,data,106,sizeOfSrcAddress) (LayerZeroPacket.sol#94)
LayerZeroPacket.getPacketV2(bytes,uint256,bytes32) (LayerZeroPacket.sol#58-103) ignores return value by payloadBuffer.init(payloadSize) (LayerZeroPacket.sol#99)
LayerZeroPacket.getPacketV2(bytes,uint256,bytes32) (LayerZeroPacket.sol#58-103) ignores return value by payloadBuffer.writeRawBytes(0,data,nonPayloadSize.add(96),payloadSize) (LayerZeroPacket.sol#100)
LayerZeroPacket.getPacketV3(bytes,uint256,bytes32) (LayerZeroPacket.sol#105-150) ignores return value by srcAddressBuffer.init(sizeOfSrcAddress) (LayerZeroPacket.sol#140)
LayerZeroPacket.getPacketV3(bytes,uint256,bytes32) (LayerZeroPacket.sol#105-150) ignores return value by srcAddressBuffer.writeRawBytes(0,data,42,sizeOfSrcAddress) (LayerZeroPacket.sol#141)
LayerZeroPacket.getPacketV3(bytes,uint256,bytes32) (LayerZeroPacket.sol#105-150) ignores return value by payloadBuffer.init(payloadSize) (LayerZeroPacket.sol#145)
LayerZeroPacket.getPacketV3(bytes,uint256,bytes32) (LayerZeroPacket.sol#105-150) ignores return value by payloadBuffer.writeRawBytes(0,data,nonPayloadSize.add(32),payloadSize) (LayerZeroPacket.sol#146)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return
INFO:Detectors:
UltraLightNodeV2.send(address,uint64,uint16,bytes,bytes,address,address,bytes)._refundAddress (UltraLightNodeV2.sol#116) lacks a zero-check on :
- (success) = _refundAddress.call{value: amount}() (UltraLightNodeV2.sol#154)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation
INFO:Detectors:
Reentrancy in UltraLightNodeV2._handleOracle(uint16,ILayerZeroUltraLightNodeV2.ApplicationConfiguration,address) (UltraLightNodeV2.sol#177-182):
External calls:
- oracleFee = ILayerZeroOracleV2(oracleAddress).assignJob(_dstChainId,_uaConfig.outboundProofType,_uaConfig.outboundBlockConfirmations,_ua) (UltraLightNodeV2.sol#179)
State variables written after the call(s):
- _creditNativeFee(oracleAddress,oracleFee) (UltraLightNodeV2.sol#181)
- nativeFees[_receiver] = nativeFees[_receiver].add(_amount) (UltraLightNodeV2.sol#207)
Reentrancy in UltraLightNodeV2._handleProtocolFee(uint256,uint256,address,address) (UltraLightNodeV2.sol#184-204):
External calls:
- layerZeroToken.safeTransferFrom(_zroPaymentAddress,address(this),protocolFee) (UltraLightNodeV2.sol#199)
State variables written after the call(s):
- treasuryZROFees = treasuryZROFees.add(protocolFee) (UltraLightNodeV2.sol#201)
Reentrancy in UltraLightNodeV2._handleRelayer(uint16,ILayerZeroUltraLightNodeV2.ApplicationConfiguration,address,uint256,bytes) (UltraLightNodeV2.sol#163-175):
External calls:
- relayerFee = relayer.assignJob(_dstChainId,_uaConfig.outboundProofType,_ua,_payloadSize,_adapterParams) (UltraLightNodeV2.sol#169)
State variables written after the call(s):
- _creditNativeFee(relayerAddress,relayerFee) (UltraLightNodeV2.sol#171)
- nativeFees[_receiver] = nativeFees[_receiver].add(_amount) (UltraLightNodeV2.sol#207)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-2
INFO:Detectors:
Reentrancy in UltraLightNodeV2._handleRelayer(uint16,ILayerZeroUltraLightNodeV2.ApplicationConfiguration,address,uint256,bytes) (UltraLightNodeV2.sol#163-175):
External calls:
- relayerFee = relayer.assignJob(_dstChainId,_uaConfig.outboundProofType,_ua,_payloadSize,_adapterParams) (UltraLightNodeV2.sol#169)
Event emitted after the call(s):
- RelayerParams(_adapterParams,_uaConfig.outboundProofType) (UltraLightNodeV2.sol#174)
Reentrancy in UltraLightNodeV2.send(address,uint64,uint16,bytes,bytes,address,address,bytes) (UltraLightNodeV2.sol#116-161):
External calls:
- nonce = nonceContract.increment(dstChainId,ua,path) (UltraLightNodeV2.sol#135)
- relayerFee = _handleRelayer(dstChainId,uaConfig,ua,payload.length,_adapterParams) (UltraLightNodeV2.sol#142)
- relayerFee = relayer.assignJob(_dstChainId,_uaConfig.outboundProofType,_ua,_payloadSize,_adapterParams) (UltraLightNodeV2.sol#169)
Event emitted after the call(s):
- RelayerParams(_adapterParams,_uaConfig.outboundProofType) (UltraLightNodeV2.sol#174)
- relayerFee = _handleRelayer(dstChainId,uaConfig,ua,payload.length,_adapterParams) (UltraLightNodeV2.sol#142)
Reentrancy in UltraLightNodeV2.send(address,uint64,uint16,bytes,bytes,address,address,bytes) (UltraLightNodeV2.sol#116-161):
External calls:
- nonce = nonceContract.increment(dstChainId,ua,path) (UltraLightNodeV2.sol#135)
- relayerFee = _handleRelayer(dstChainId,uaConfig,ua,payload.length,_adapterParams) (UltraLightNodeV2.sol#142)
- relayerFee = relayer.assignJob(_dstChainId,_uaConfig.outboundProofType,_ua,_payloadSize,_adapterParams) (UltraLightNodeV2.sol#169)
- oracleFee = _handleOracle(dstChainId,uaConfig,ua) (UltraLightNodeV2.sol#143)
- oracleFee = ILayerZeroOracleV2(oracleAddress).assignJob(_dstChainId,_uaConfig.outboundProofType,_uaConfig.outboundBlockConfirmations,_ua) (UltraLightNodeV2.sol#179)
- nativeProtocolFee = _handleProtocolFee(relayerFee,oracleFee,ua,_zroPaymentAddress) (UltraLightNodeV2.sol#144)
- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (SafeERC20.sol#69)
- (success,returndata) = target.call{value: value}(data) (Address.sol#119)
- layerZeroToken.safeTransferFrom(_zroPaymentAddress,address(this),protocolFee) (UltraLightNodeV2.sol#199)
- (success) = _refundAddress.call{value: amount}() (UltraLightNodeV2.sol#154)
External calls sending eth:
- nativeProtocolFee = _handleProtocolFee(relayerFee,oracleFee,ua,_zroPaymentAddress) (UltraLightNodeV2.sol#144)
- (success,returndata) = target.call{value: value}(data) (Address.sol#119)
- (success) = _refundAddress.call{value: amount}() (UltraLightNodeV2.sol#154)
Event emitted after the call(s):
- Packet(encodedPayload) (UltraLightNodeV2.sol#160)
Reentrancy in UltraLightNodeV2.validateTransactionProof(uint16,address,uint256,bytes32,bytes32,bytes) (UltraLightNodeV2.sol#76-114):
External calls:
- _packet = ILayerZeroValidationLibrary(inboundProofLib).validateProof(_blockData,_transactionProof,remoteAddressSize) (UltraLightNodeV2.sol#93)
Event emitted after the call(s):
- InvalidDst(_packet.srcChainId,_packet.srcAddress,_packet.dstAddress,_packet.nonce,keccak256(bytes)(_packet.payload)) (UltraLightNodeV2.sol#107)
- PacketReceived(_packet.srcChainId,_packet.srcAddress,_packet.dstAddress,_packet.nonce,keccak256(bytes)(_packet.payload)) (UltraLightNodeV2.sol#112)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3
INFO:Detectors:
Address.isContract(address) (Address.sol#26-35) uses assembly
- INLINE ASM (Address.sol#33)
Address._verifyCallResult(bool,bytes,string) (Address.sol#171-188) uses assembly
- INLINE ASM (Address.sol#180-183)
Buffer.init(Buffer.buffer,uint256) (Buffer.sol#32-45) uses assembly
- INLINE ASM (Buffer.sol#38-43)
Buffer.writeRawBytes(Buffer.buffer,uint256,bytes,uint256,uint256) (Buffer.sol#57-102) uses assembly
- INLINE ASM (Buffer.sol#70-82)
- INLINE ASM (Buffer.sol#86-88)
- INLINE ASM (Buffer.sol#95-99)
Buffer.write(Buffer.buffer,uint256,bytes,uint256) (Buffer.sol#113-154) uses assembly
- INLINE ASM (Buffer.sol#122-134)
- INLINE ASM (Buffer.sol#138-140)
- INLINE ASM (Buffer.sol#147-151)
LayerZeroPacket.getPacket(bytes,uint16,uint256,bytes32) (LayerZeroPacket.sol#22-56) uses assembly
- INLINE ASM (LayerZeroPacket.sol#40-45)
LayerZeroPacket.getPacketV2(bytes,uint256,bytes32) (LayerZeroPacket.sol#58-103) uses assembly
- INLINE ASM (LayerZeroPacket.sol#82-88)
LayerZeroPacket.getPacketV3(bytes,uint256,bytes32) (LayerZeroPacket.sol#105-150) uses assembly
- INLINE ASM (LayerZeroPacket.sol#130-135)
UltraLightNodeV2.send(address,uint64,uint16,bytes,bytes,address,address,bytes) (UltraLightNodeV2.sol#116-161) uses assembly
- INLINE ASM (UltraLightNodeV2.sol#130-132)
UltraLightNodeV2._isContract(address) (UltraLightNodeV2.sol#444-450) uses assembly
- INLINE ASM (UltraLightNodeV2.sol#446-448)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
Address.functionCall(address,bytes) (Address.sol#79-81) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (Address.sol#104-106) is never used and should be removed
Address.functionDelegateCall(address,bytes) (Address.sol#153-155) is never used and should be removed
Address.functionDelegateCall(address,bytes,string) (Address.sol#163-169) is never used and should be removed
Address.functionStaticCall(address,bytes) (Address.sol#129-131) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (Address.sol#139-145) is never used and should be removed
Address.sendValue(address,uint256) (Address.sol#53-59) is never used and should be removed
Buffer.append(Buffer.buffer,bytes) (Buffer.sol#156-158) is never used and should be removed
Buffer.init(Buffer.buffer,uint256) (Buffer.sol#32-45) is never used and should be removed
Buffer.max(uint256,uint256) (Buffer.sol#166-171) is never used and should be removed
Buffer.resize(Buffer.buffer,uint256) (Buffer.sol#160-164) is never used and should be removed
Buffer.write(Buffer.buffer,uint256,bytes,uint256) (Buffer.sol#113-154) is never used and should be removed
Buffer.writeRawBytes(Buffer.buffer,uint256,bytes,uint256,uint256) (Buffer.sol#57-102) is never used and should be removed
Context._msgData() (Context.sol#20-23) is never used and should be removed
LayerZeroPacket.getPacket(bytes,uint16,uint256,bytes32) (LayerZeroPacket.sol#22-56) is never used and should be removed
LayerZeroPacket.getPacketV2(bytes,uint256,bytes32) (LayerZeroPacket.sol#58-103) is never used and should be removed
LayerZeroPacket.getPacketV3(bytes,uint256,bytes32) (LayerZeroPacket.sol#105-150) is never used and should be removed
SafeERC20.safeApprove(IERC20,address,uint256) (SafeERC20.sol#37-46) is never used and should be removed
SafeERC20.safeDecreaseAllowance(IERC20,address,uint256) (SafeERC20.sol#53-56) is never used and should be removed
SafeERC20.safeIncreaseAllowance(IERC20,address,uint256) (SafeERC20.sol#48-51) is never used and should be removed
SafeMath.div(uint256,uint256) (SafeMath.sol#135-138) is never used and should be removed
SafeMath.div(uint256,uint256,string) (SafeMath.sol#190-193) is never used and should be removed
SafeMath.mod(uint256,uint256) (SafeMath.sol#152-155) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (SafeMath.sol#210-213) is never used and should be removed
SafeMath.mul(uint256,uint256) (SafeMath.sol#116-121) is never used and should be removed
SafeMath.sub(uint256,uint256,string) (SafeMath.sol#170-173) is never used and should be removed
SafeMath.tryAdd(uint256,uint256) (SafeMath.sol#24-28) is never used and should be removed
SafeMath.tryDiv(uint256,uint256) (SafeMath.sol#60-63) is never used and should be removed
SafeMath.tryMod(uint256,uint256) (SafeMath.sol#70-73) is never used and should be removed
SafeMath.tryMul(uint256,uint256) (SafeMath.sol#45-53) is never used and should be removed
SafeMath.trySub(uint256,uint256) (SafeMath.sol#35-38) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Low level call in Address.sendValue(address,uint256) (Address.sol#53-59):
- (success) = recipient.call{value: amount}() (Address.sol#57)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (Address.sol#114-121):
- (success,returndata) = target.call{value: value}(data) (Address.sol#119)
Low level call in Address.functionStaticCall(address,bytes,string) (Address.sol#139-145):
- (success,returndata) = target.staticcall(data) (Address.sol#143)
Low level call in Address.functionDelegateCall(address,bytes,string) (Address.sol#163-169):
- (success,returndata) = target.delegatecall(data) (Address.sol#167)
Low level call in UltraLightNodeV2.send(address,uint64,uint16,bytes,bytes,address,address,bytes) (UltraLightNodeV2.sol#116-161):
- (success) = _refundAddress.call{value: amount}() (UltraLightNodeV2.sol#154)
Low level call in UltraLightNodeV2.withdrawNative(address,uint256) (UltraLightNodeV2.sol#368-375):
- (success) = _to.call{value: _amount}() (UltraLightNodeV2.sol#372)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
INFO:Detectors:
Struct Buffer.buffer (Buffer.sol#21-24) is not in CapWords
Parameter NonceContract.increment(uint16,address,bytes)._chainId (NonceContract.sol#16) is not in mixedCase
Parameter NonceContract.increment(uint16,address,bytes)._ua (NonceContract.sol#16) is not in mixedCase
Parameter NonceContract.increment(uint16,address,bytes)._path (NonceContract.sol#16) is not in mixedCase
Parameter UltraLightNodeV2.validateTransactionProof(uint16,address,uint256,bytes32,bytes32,bytes)._srcChainId (UltraLightNodeV2.sol#76) is not in mixedCase
Parameter UltraLightNodeV2.validateTransactionProof(uint16,address,uint256,bytes32,bytes32,bytes)._dstAddress (UltraLightNodeV2.sol#76) is not in mixedCase
Parameter UltraLightNodeV2.validateTransactionProof(uint16,address,uint256,bytes32,bytes32,bytes)._gasLimit (UltraLightNodeV2.sol#76) is not in mixedCase
Parameter UltraLightNodeV2.validateTransactionProof(uint16,address,uint256,bytes32,bytes32,bytes)._lookupHash (UltraLightNodeV2.sol#76) is not in mixedCase
Parameter UltraLightNodeV2.validateTransactionProof(uint16,address,uint256,bytes32,bytes32,bytes)._blockData (UltraLightNodeV2.sol#76) is not in mixedCase
Parameter UltraLightNodeV2.validateTransactionProof(uint16,address,uint256,bytes32,bytes32,bytes)._transactionProof (UltraLightNodeV2.sol#76) is not in mixedCase
Parameter UltraLightNodeV2.send(address,uint64,uint16,bytes,bytes,address,address,bytes)._ua (UltraLightNodeV2.sol#116) is not in mixedCase
Parameter UltraLightNodeV2.send(address,uint64,uint16,bytes,bytes,address,address,bytes)._dstChainId (UltraLightNodeV2.sol#116) is not in mixedCase
Parameter UltraLightNodeV2.send(address,uint64,uint16,bytes,bytes,address,address,bytes)._path (UltraLightNodeV2.sol#116) is not in mixedCase
Parameter UltraLightNodeV2.send(address,uint64,uint16,bytes,bytes,address,address,bytes)._payload (UltraLightNodeV2.sol#116) is not in mixedCase
Parameter UltraLightNodeV2.send(address,uint64,uint16,bytes,bytes,address,address,bytes)._refundAddress (UltraLightNodeV2.sol#116) is not in mixedCase
Parameter UltraLightNodeV2.send(address,uint64,uint16,bytes,bytes,address,address,bytes)._zroPaymentAddress (UltraLightNodeV2.sol#116) is not in mixedCase
Parameter UltraLightNodeV2.send(address,uint64,uint16,bytes,bytes,address,address,bytes)._adapterParams (UltraLightNodeV2.sol#116) is not in mixedCase
Parameter UltraLightNodeV2.updateHash(uint16,bytes32,uint256,bytes32)._srcChainId (UltraLightNodeV2.sol#212) is not in mixedCase
Parameter UltraLightNodeV2.updateHash(uint16,bytes32,uint256,bytes32)._lookupHash (UltraLightNodeV2.sol#212) is not in mixedCase
Parameter UltraLightNodeV2.updateHash(uint16,bytes32,uint256,bytes32)._confirmations (UltraLightNodeV2.sol#212) is not in mixedCase
Parameter UltraLightNodeV2.updateHash(uint16,bytes32,uint256,bytes32)._blockData (UltraLightNodeV2.sol#212) is not in mixedCase
Parameter UltraLightNodeV2.getAppConfig(uint16,address)._remoteChainId (UltraLightNodeV2.sol#228) is not in mixedCase
Parameter UltraLightNodeV2.getAppConfig(uint16,address)._ua (UltraLightNodeV2.sol#228) is not in mixedCase
Parameter UltraLightNodeV2.setConfig(uint16,address,uint256,bytes)._remoteChainId (UltraLightNodeV2.sol#263) is not in mixedCase
Parameter UltraLightNodeV2.setConfig(uint16,address,uint256,bytes)._ua (UltraLightNodeV2.sol#263) is not in mixedCase
Parameter UltraLightNodeV2.setConfig(uint16,address,uint256,bytes)._configType (UltraLightNodeV2.sol#263) is not in mixedCase
Parameter UltraLightNodeV2.setConfig(uint16,address,uint256,bytes)._config (UltraLightNodeV2.sol#263) is not in mixedCase
Parameter UltraLightNodeV2.getConfig(uint16,address,uint256)._remoteChainId (UltraLightNodeV2.sol#292) is not in mixedCase
Parameter UltraLightNodeV2.getConfig(uint16,address,uint256)._ua (UltraLightNodeV2.sol#292) is not in mixedCase
Parameter UltraLightNodeV2.getConfig(uint16,address,uint256)._configType (UltraLightNodeV2.sol#292) is not in mixedCase
Parameter UltraLightNodeV2.estimateFees(uint16,address,bytes,bool,bytes)._dstChainId (UltraLightNodeV2.sol#331) is not in mixedCase
Parameter UltraLightNodeV2.estimateFees(uint16,address,bytes,bool,bytes)._ua (UltraLightNodeV2.sol#331) is not in mixedCase
Parameter UltraLightNodeV2.estimateFees(uint16,address,bytes,bool,bytes)._payload (UltraLightNodeV2.sol#331) is not in mixedCase
Parameter UltraLightNodeV2.estimateFees(uint16,address,bytes,bool,bytes)._payInZRO (UltraLightNodeV2.sol#331) is not in mixedCase
Parameter UltraLightNodeV2.estimateFees(uint16,address,bytes,bool,bytes)._adapterParams (UltraLightNodeV2.sol#331) is not in mixedCase
Parameter UltraLightNodeV2.withdrawZRO(address,uint256)._to (UltraLightNodeV2.sol#359) is not in mixedCase
Parameter UltraLightNodeV2.withdrawZRO(address,uint256)._amount (UltraLightNodeV2.sol#359) is not in mixedCase
Parameter UltraLightNodeV2.withdrawNative(address,uint256)._to (UltraLightNodeV2.sol#368) is not in mixedCase
Parameter UltraLightNodeV2.withdrawNative(address,uint256)._amount (UltraLightNodeV2.sol#368) is not in mixedCase
Parameter UltraLightNodeV2.setLayerZeroToken(address)._layerZeroToken (UltraLightNodeV2.sol#379) is not in mixedCase
Parameter UltraLightNodeV2.setTreasury(address)._treasury (UltraLightNodeV2.sol#385) is not in mixedCase
Parameter UltraLightNodeV2.addInboundProofLibraryForChain(uint16,address)._chainId (UltraLightNodeV2.sol#391) is not in mixedCase
Parameter UltraLightNodeV2.addInboundProofLibraryForChain(uint16,address)._library (UltraLightNodeV2.sol#391) is not in mixedCase
Parameter UltraLightNodeV2.enableSupportedOutboundProof(uint16,uint16)._chainId (UltraLightNodeV2.sol#400) is not in mixedCase
Parameter UltraLightNodeV2.enableSupportedOutboundProof(uint16,uint16)._proofType (UltraLightNodeV2.sol#400) is not in mixedCase
Parameter UltraLightNodeV2.setDefaultConfigForChainId(uint16,uint16,uint64,address,uint16,uint64,address)._chainId (UltraLightNodeV2.sol#405) is not in mixedCase
Parameter UltraLightNodeV2.setDefaultConfigForChainId(uint16,uint16,uint64,address,uint16,uint64,address)._inboundProofLibraryVersion (UltraLightNodeV2.sol#405) is not in mixedCase
Parameter UltraLightNodeV2.setDefaultConfigForChainId(uint16,uint16,uint64,address,uint16,uint64,address)._inboundBlockConfirmations (UltraLightNodeV2.sol#405) is not in mixedCase
Parameter UltraLightNodeV2.setDefaultConfigForChainId(uint16,uint16,uint64,address,uint16,uint64,address)._relayer (UltraLightNodeV2.sol#405) is not in mixedCase
Parameter UltraLightNodeV2.setDefaultConfigForChainId(uint16,uint16,uint64,address,uint16,uint64,address)._outboundProofType (UltraLightNodeV2.sol#405) is not in mixedCase
Parameter UltraLightNodeV2.setDefaultConfigForChainId(uint16,uint16,uint64,address,uint16,uint64,address)._outboundBlockConfirmations (UltraLightNodeV2.sol#405) is not in mixedCase
Parameter UltraLightNodeV2.setDefaultConfigForChainId(uint16,uint16,uint64,address,uint16,uint64,address)._oracle (UltraLightNodeV2.sol#405) is not in mixedCase
Parameter UltraLightNodeV2.setDefaultAdapterParamsForChainId(uint16,uint16,bytes)._chainId (UltraLightNodeV2.sol#416) is not in mixedCase
Parameter UltraLightNodeV2.setDefaultAdapterParamsForChainId(uint16,uint16,bytes)._proofType (UltraLightNodeV2.sol#416) is not in mixedCase
Parameter UltraLightNodeV2.setDefaultAdapterParamsForChainId(uint16,uint16,bytes)._adapterParams (UltraLightNodeV2.sol#416) is not in mixedCase
Parameter UltraLightNodeV2.setRemoteUln(uint16,bytes32)._remoteChainId (UltraLightNodeV2.sol#421) is not in mixedCase
Parameter UltraLightNodeV2.setRemoteUln(uint16,bytes32)._remoteUln (UltraLightNodeV2.sol#421) is not in mixedCase
Parameter UltraLightNodeV2.setChainAddressSize(uint16,uint256)._chainId (UltraLightNodeV2.sol#427) is not in mixedCase
Parameter UltraLightNodeV2.setChainAddressSize(uint16,uint256)._size (UltraLightNodeV2.sol#427) is not in mixedCase
Parameter UltraLightNodeV2.accruedNativeFee(address)._address (UltraLightNodeV2.sol#436) is not in mixedCase
Parameter UltraLightNodeV2.getOutboundNonce(uint16,bytes)._chainId (UltraLightNodeV2.sol#440) is not in mixedCase
Parameter UltraLightNodeV2.getOutboundNonce(uint16,bytes)._path (UltraLightNodeV2.sol#440) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Detectors:
Redundant expression "this (Context.sol#21)" inContext (Context.sol#15-24)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#redundant-statements
INFO:Detectors:
Variable ILayerZeroMessagingLibrary.estimateFees(uint16,address,bytes,bool,bytes)._adapterParam (ILayerZeroMessagingLibrary.sol#12) is too similar to UltraLightNodeV2.estimateFees(uint16,address,bytes,bool,bytes).adapterParams (UltraLightNodeV2.sol#335)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#variable-names-too-similar
INFO:Slither:0x4d73adb72bc3dd368966edd0f0b2148401a178e2 analyzed (21 contracts with 87 detectors), 135 result(s) found
```
Slither report for TransparentUpgradeableProxy at `0x4Dbd4fc535Ac27206064B68FfCf827b0A60BAB3f` with implementation Inbox at `0x5aED5f8A1e3607476F1f81c3d8fe126deB0aFE94`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x4dbd4fc535ac27206064b68ffcf827b0a60bab3f-TransparentUpgradeableProxy' running
INFO:Detectors:
TransparentUpgradeableProxy.admin() (@openzeppelin/contracts/proxy/TransparentUpgradeableProxy.sol#70-72) calls TransparentUpgradeableProxy.ifAdmin() (@openzeppelin/contracts/proxy/TransparentUpgradeableProxy.sol#53-59) which halt the execution return(uint256,uint256)(0,returndatasize()()) (@openzeppelin/contracts/proxy/Proxy.sol#39)
TransparentUpgradeableProxy.implementation() (@openzeppelin/contracts/proxy/TransparentUpgradeableProxy.sol#83-85) calls TransparentUpgradeableProxy.ifAdmin() (@openzeppelin/contracts/proxy/TransparentUpgradeableProxy.sol#53-59) which halt the execution return(uint256,uint256)(0,returndatasize()()) (@openzeppelin/contracts/proxy/Proxy.sol#39)
TransparentUpgradeableProxy.changeAdmin(address) (@openzeppelin/contracts/proxy/TransparentUpgradeableProxy.sol#94-98) calls TransparentUpgradeableProxy.ifAdmin() (@openzeppelin/contracts/proxy/TransparentUpgradeableProxy.sol#53-59) which halt the execution return(uint256,uint256)(0,returndatasize()()) (@openzeppelin/contracts/proxy/Proxy.sol#39)
TransparentUpgradeableProxy.upgradeTo(address) (@openzeppelin/contracts/proxy/TransparentUpgradeableProxy.sol#105-107) calls TransparentUpgradeableProxy.ifAdmin() (@openzeppelin/contracts/proxy/TransparentUpgradeableProxy.sol#53-59) which halt the execution return(uint256,uint256)(0,returndatasize()()) (@openzeppelin/contracts/proxy/Proxy.sol#39)
TransparentUpgradeableProxy.upgradeToAndCall(address,bytes) (@openzeppelin/contracts/proxy/TransparentUpgradeableProxy.sol#116-119) calls TransparentUpgradeableProxy.ifAdmin() (@openzeppelin/contracts/proxy/TransparentUpgradeableProxy.sol#53-59) which halt the execution return(uint256,uint256)(0,returndatasize()()) (@openzeppelin/contracts/proxy/Proxy.sol#39)
TransparentUpgradeableProxy.ifAdmin() (@openzeppelin/contracts/proxy/TransparentUpgradeableProxy.sol#53-59) calls Proxy._fallback() (@openzeppelin/contracts/proxy/Proxy.sol#54-57) which halt the execution return(uint256,uint256)(0,returndatasize()()) (@openzeppelin/contracts/proxy/Proxy.sol#39)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-assembly-return
INFO:Detectors:
UpgradeableProxy.constructor(address,bytes) (@openzeppelin/contracts/proxy/UpgradeableProxy.sol#24-30) ignores return value by Address.functionDelegateCall(_logic,_data) (@openzeppelin/contracts/proxy/UpgradeableProxy.sol#28)
TransparentUpgradeableProxy.upgradeToAndCall(address,bytes) (@openzeppelin/contracts/proxy/TransparentUpgradeableProxy.sol#116-119) ignores return value by Address.functionDelegateCall(newImplementation,data) (@openzeppelin/contracts/proxy/TransparentUpgradeableProxy.sol#118)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return
INFO:Detectors:
Modifier TransparentUpgradeableProxy.ifAdmin() (@openzeppelin/contracts/proxy/TransparentUpgradeableProxy.sol#53-59) does not always execute _; or revertReference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-modifier
INFO:Detectors:
Proxy._delegate(address) (@openzeppelin/contracts/proxy/Proxy.sol#21-41) uses assembly
- INLINE ASM (@openzeppelin/contracts/proxy/Proxy.sol#23-40)
TransparentUpgradeableProxy._admin() (@openzeppelin/contracts/proxy/TransparentUpgradeableProxy.sol#124-130) uses assembly
- INLINE ASM (@openzeppelin/contracts/proxy/TransparentUpgradeableProxy.sol#127-129)
TransparentUpgradeableProxy._setAdmin(address) (@openzeppelin/contracts/proxy/TransparentUpgradeableProxy.sol#135-142) uses assembly
- INLINE ASM (@openzeppelin/contracts/proxy/TransparentUpgradeableProxy.sol#139-141)
UpgradeableProxy._implementation() (@openzeppelin/contracts/proxy/UpgradeableProxy.sol#47-53) uses assembly
- INLINE ASM (@openzeppelin/contracts/proxy/UpgradeableProxy.sol#50-52)
UpgradeableProxy._setImplementation(address) (@openzeppelin/contracts/proxy/UpgradeableProxy.sol#68-77) uses assembly
- INLINE ASM (@openzeppelin/contracts/proxy/UpgradeableProxy.sol#74-76)
Address.isContract(address) (@openzeppelin/contracts/utils/Address.sol#26-35) uses assembly
- INLINE ASM (@openzeppelin/contracts/utils/Address.sol#33)
Address._verifyCallResult(bool,bytes,string) (@openzeppelin/contracts/utils/Address.sol#171-188) uses assembly
- INLINE ASM (@openzeppelin/contracts/utils/Address.sol#180-183)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
Address.functionCall(address,bytes) (@openzeppelin/contracts/utils/Address.sol#79-81) is never used and should be removed
Address.functionCall(address,bytes,string) (@openzeppelin/contracts/utils/Address.sol#89-91) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (@openzeppelin/contracts/utils/Address.sol#104-106) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (@openzeppelin/contracts/utils/Address.sol#114-121) is never used and should be removed
Address.functionStaticCall(address,bytes) (@openzeppelin/contracts/utils/Address.sol#129-131) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (@openzeppelin/contracts/utils/Address.sol#139-145) is never used and should be removed
Address.sendValue(address,uint256) (@openzeppelin/contracts/utils/Address.sol#53-59) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Low level call in Address.sendValue(address,uint256) (@openzeppelin/contracts/utils/Address.sol#53-59):
- (success) = recipient.call{value: amount}() (@openzeppelin/contracts/utils/Address.sol#57)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (@openzeppelin/contracts/utils/Address.sol#114-121):
- (success,returndata) = target.call{value: value}(data) (@openzeppelin/contracts/utils/Address.sol#119)
Low level call in Address.functionStaticCall(address,bytes,string) (@openzeppelin/contracts/utils/Address.sol#139-145):
- (success,returndata) = target.staticcall(data) (@openzeppelin/contracts/utils/Address.sol#143)
Low level call in Address.functionDelegateCall(address,bytes,string) (@openzeppelin/contracts/utils/Address.sol#163-169):
- (success,returndata) = target.delegatecall(data) (@openzeppelin/contracts/utils/Address.sol#167)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
INFO:Slither:0x4dbd4fc535ac27206064b68ffcf827b0a60bab3f analyzed (4 contracts with 87 detectors), 27 result(s) found
```
Slither report for LinkToken (Chainlink) at `0x514910771AF9Ca656af840dff83E8264EcF986CA`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts' running
INFO:Detectors:
LinkToken.totalSupply (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#222) shadows:
- ERC20Basic.totalSupply (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#41)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#state-variable-shadowing-from-abstract-contracts
INFO:Detectors:
ERC677Token.isContract(address) (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#209-216) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#214-215)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
SafeMath.div(uint256,uint256) (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#15-20) is never used and should be removed
SafeMath.mul(uint256,uint256) (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#9-13) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Parameter BasicToken.transfer(address,uint256)._to (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#81) is not in mixedCase
Parameter BasicToken.transfer(address,uint256)._value (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#81) is not in mixedCase
Parameter BasicToken.balanceOf(address)._owner (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#93) is not in mixedCase
Parameter StandardToken.transferFrom(address,address,uint256)._from (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#118) is not in mixedCase
Parameter StandardToken.transferFrom(address,address,uint256)._to (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#118) is not in mixedCase
Parameter StandardToken.transferFrom(address,address,uint256)._value (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#118) is not in mixedCase
Parameter StandardToken.approve(address,uint256)._spender (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#136) is not in mixedCase
Parameter StandardToken.approve(address,uint256)._value (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#136) is not in mixedCase
Parameter StandardToken.allowance(address,address)._owner (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#148) is not in mixedCase
Parameter StandardToken.allowance(address,address)._spender (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#148) is not in mixedCase
Parameter StandardToken.increaseApproval(address,uint256)._spender (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#158) is not in mixedCase
Parameter StandardToken.increaseApproval(address,uint256)._addedValue (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#158) is not in mixedCase
Parameter StandardToken.decreaseApproval(address,uint256)._spender (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#165) is not in mixedCase
Parameter StandardToken.decreaseApproval(address,uint256)._subtractedValue (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#165) is not in mixedCase
Parameter ERC677Token.transferAndCall(address,uint256,bytes)._to (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#187) is not in mixedCase
Parameter ERC677Token.transferAndCall(address,uint256,bytes)._value (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#187) is not in mixedCase
Parameter ERC677Token.transferAndCall(address,uint256,bytes)._data (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#187) is not in mixedCase
Parameter ERC677Token.contractFallback(address,uint256,bytes)._to (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#202) is not in mixedCase
Parameter ERC677Token.contractFallback(address,uint256,bytes)._value (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#202) is not in mixedCase
Parameter ERC677Token.contractFallback(address,uint256,bytes)._data (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#202) is not in mixedCase
Parameter LinkToken.transferAndCall(address,uint256,bytes)._to (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#239) is not in mixedCase
Parameter LinkToken.transferAndCall(address,uint256,bytes)._value (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#239) is not in mixedCase
Parameter LinkToken.transferAndCall(address,uint256,bytes)._data (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#239) is not in mixedCase
Parameter LinkToken.transfer(address,uint256)._to (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#252) is not in mixedCase
Parameter LinkToken.transfer(address,uint256)._value (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#252) is not in mixedCase
Parameter LinkToken.approve(address,uint256)._spender (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#265) is not in mixedCase
Parameter LinkToken.approve(address,uint256)._value (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#265) is not in mixedCase
Parameter LinkToken.transferFrom(address,address,uint256)._from (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#279) is not in mixedCase
Parameter LinkToken.transferFrom(address,address,uint256)._to (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#279) is not in mixedCase
Parameter LinkToken.transferFrom(address,address,uint256)._value (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#279) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Detectors:
LinkToken (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#220-296) does not implement functions:
- ERC20Basic.transfer(address,uint256) (crytic-export/etherscan-contracts/0x514910771af9ca656af840dff83e8264ecf986ca-LinkToken.sol#43)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unimplemented-functions
INFO:Slither:0x514910771af9ca656af840dff83e8264ecf986ca analyzed (9 contracts with 87 detectors), 35 result(s) found
```
Slither report for OverheadIgp at `0x56f52c0A1ddcD557285f7CBc782D3d83096CE1Cc`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts' running
Warning: Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing "SPDX-License-Identifier: " to each source file. Use "SPDX-License-Identifier: UNLICENSED" for non-open-source code. Please see https://spdx.org for more information.
--> crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol
Warning: Warning: This declaration shadows an existing declaration.
--> crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol:6785:5:
|
6785 | struct Message {
| ^ (Relevant source part starts here and spans across multiple lines).
Note: The shadowed declaration is here:
--> crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol:2457:1:
|
2457 | library Message {
| ^ (Relevant source part starts here and spans across multiple lines).
INFO:Detectors:
InterchainGasPaymaster.claim() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1124-1128) sends eth to arbitrary user
Dangerous calls:
- (success) = owner().call{value: address(this).balance}() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1126)
Router._dispatchWithGas(uint32,bytes,uint256,uint256,address) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4701-4717) sends eth to arbitrary user
Dangerous calls:
- interchainGasPaymaster.payForGas{value: _gasPayment}(_messageId,_destinationDomain,_gasAmount,_gasPaymentRefundAddress) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4711-4716)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#functions-that-send-ether-to-arbitrary-destinations
INFO:Detectors:
TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7590-7628) uses a weak PRNG: "_blockHashNum % 5 == 0 (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7603)"
TestSendReceiver.handle(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7630-7639) uses a weak PRNG: "isBlockHashEven = uint256(blockHash) % 2 == 0 (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7636)"
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#weak-PRNG
INFO:Detectors:
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1433-1513) has bitwise-xor operator ^ instead of the exponentiation operator **:
- inverse = (3 * denominator) ^ 2 (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1495)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-exponentiation
INFO:Detectors:
TransparentUpgradeableProxy.admin() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8193-8195) calls TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8176-8182) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7734)
TransparentUpgradeableProxy.implementation() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8206-8208) calls TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8176-8182) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7734)
TransparentUpgradeableProxy.changeAdmin(address) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8217-8219) calls TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8176-8182) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7734)
TransparentUpgradeableProxy.upgradeTo(address) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8226-8228) calls TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8176-8182) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7734)
TransparentUpgradeableProxy.upgradeToAndCall(address,bytes) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8237-8239) calls TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8176-8182) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7734)
TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8176-8182) calls Proxy._fallback() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7750-7753) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7734)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-assembly-return
INFO:Detectors:
Router.__GAP (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4532) shadows:
- HyperlaneConnectionClient.__GAP (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#884)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#state-variable-shadowing
INFO:Detectors:
MockCircleTokenMessenger.depositForBurn(uint256,uint32,bytes32,address) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6741-6752) ignores return value by token.transferFrom(msg.sender,address(this),_amount) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6750)
MockPortalBridge.transferTokensWithPayload(address,uint256,uint16,bytes32,uint32,bytes) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6958-6970) ignores return value by token.transferFrom(msg.sender,address(this),amount) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6967)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unchecked-transfer
INFO:Detectors:
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1433-1513) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1480)
- inverse = (3 * denominator) ^ 2 (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1495)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1433-1513) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1480)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1499)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1433-1513) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1480)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1500)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1433-1513) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1480)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1501)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1433-1513) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1480)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1502)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1433-1513) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1480)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1503)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1433-1513) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1480)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1504)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1433-1513) performs a multiplication on the result of a division:
- prod0 = prod0 / twos (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1483)
- result = prod0 * inverse (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1510)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#divide-before-multiply
INFO:Detectors:
TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7590-7628) uses a dangerous strict equality:
- _blockHashNum % 5 == 0 (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7603)
TestSendReceiver.handle(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7630-7639) uses a dangerous strict equality:
- isBlockHashEven = uint256(blockHash) % 2 == 0 (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7636)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-strict-equalities
INFO:Detectors:
Reentrancy in MockMailbox.processNextInboundMessage() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6835-6843):
External calls:
- IMessageRecipient(_message.recipient).handle(_message.origin,_message.sender.addressToBytes32(),_message.body) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6837-6841)
State variables written after the call(s):
- inboundProcessedNonce ++ (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6842)
MockMailbox.inboundProcessedNonce (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6781) can be used in cross function reentrancies:
- MockMailbox.inboundProcessedNonce (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6781)
- MockMailbox.processNextInboundMessage() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6835-6843)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-1
INFO:Detectors:
TestMailbox.proof()._proof (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7215) is a local variable never initialized
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-local-variables
INFO:Detectors:
CallLib._multicall(address,bytes[]) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3404-3413) ignores return value by Address.functionCall(to,calls[i]) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3408)
CallLib._multicall(CallLib.Call[]) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3415-3424) ignores return value by Address.functionCall(calls[i].to,calls[i].data) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3419)
EnumerableMapExtended.set(EnumerableMapExtended.UintToBytes32Map,uint256,bytes32) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4004-4010) ignores return value by map._inner.set(bytes32(key),value) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4009)
TestQuery.queryRouterOwner(uint32,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7399-7407) ignores return value by router.query(domain,target,data,callback) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7406)
ERC1967Upgrade._upgradeToAndCall(address,bytes,bool) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7977-7986) ignores return value by Address.functionDelegateCall(newImplementation,data) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7984)
ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8086-8096) ignores return value by Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8094)
ValidatorAnnounce.announce(address,string,bytes) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8460-8486) ignores return value by validators.add(_validator) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8481)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return
INFO:Detectors:
HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#953) shadows:
- OwnableUpgradeable._owner (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#536) (state variable)
Mailbox.initialize(address,address)._owner (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4301) shadows:
- OwnableUpgradeable._owner (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#536) (state variable)
InterchainAccountRouter.initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4920) shadows:
- OwnableUpgradeable._owner (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#536) (state variable)
InterchainQueryRouter.initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5127) shadows:
- OwnableUpgradeable._owner (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#536) (state variable)
CircleBridgeAdapter.initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5505) shadows:
- OwnableUpgradeable._owner (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#536) (state variable)
PortalAdapter.initialize(uint32,address,address,address)._owner (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5828) shadows:
- OwnableUpgradeable._owner (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#536) (state variable)
LiquidityLayerRouter.initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6038) shadows:
- OwnableUpgradeable._owner (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#536) (state variable)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#local-variable-shadowing
INFO:Detectors:
InterchainGasPaymaster.payForGas(bytes32,uint32,uint256,address)._refundAddress (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1081) lacks a zero-check on :
- (_success) = _refundAddress.call{value: _overpayment}() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1093)
CircleBridgeAdapter.initialize(address,address,address,address)._liquidityLayerRouter (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5508) lacks a zero-check on :
- liquidityLayerRouter = _liquidityLayerRouter (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5517)
PortalAdapter.initialize(uint32,address,address,address)._liquidityLayerRouter (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5830) lacks a zero-check on :
- liquidityLayerRouter = _liquidityLayerRouter (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5837)
TestQuerySender.handleQueryAddressResult(address)._result (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7461) lacks a zero-check on :
- lastAddressResult = _result (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7463)
TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._token (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7674) lacks a zero-check on :
- lastToken = _token (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7680)
ValidatorAnnounce.constructor(address)._mailbox (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8446) lacks a zero-check on :
- mailbox = _mailbox (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8447)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation
INFO:Detectors:
Modifier TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8176-8182) does not always execute _; or revertReference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-modifier
INFO:Detectors:
Reentrancy in PortalAdapter.completeTransfer(bytes) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5922-5947):
External calls:
- _tokenBridgeTransferWithPayload = portalTokenBridge.completeTransferWithPayload(encodedVm) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5923-5924)
State variables written after the call(s):
- portalTransfersProcessed[transferId(_originDomain,_nonce)] = tokenAddress (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5944-5946)
Reentrancy in MockMailbox.dispatch(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6800-6818):
External calls:
- _destinationMailbox.addInboundMessage(localDomain,msg.sender,_recipientAddress.bytes32ToAddress(),_messageBody) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6810-6815)
State variables written after the call(s):
- outboundNonce ++ (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6816)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-2
INFO:Detectors:
Reentrancy in InterchainQueryRouter._handle(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5202-5229):
External calls:
- callbacks = calls._multicallAndResolve(callbacks) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5218)
- _dispatch(_origin,abi.encode(Action.RESOLVE,sender,callbacks)) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5219)
- mailbox.dispatch(_destinationDomain,_router,_messageBody) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4733)
Event emitted after the call(s):
- QueryReturned(_origin,sender) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5220)
Reentrancy in InterchainQueryRouter._handle(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5202-5229):
External calls:
- sender_scope_0._multicall(resolveCallbacks) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5226)
Event emitted after the call(s):
- QueryResolved(_origin,sender_scope_0) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5227)
Reentrancy in InterchainAccountRouter.getDeployedInterchainAccount(uint32,address) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4979-4992):
External calls:
- OwnableMulticall(interchainAccount).initialize() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4988)
Event emitted after the call(s):
- InterchainAccountCreated(_origin,_sender,interchainAccount) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4989)
Reentrancy in InterchainGasPaymaster.payForGas(bytes32,uint32,uint256,address) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1077-1098):
External calls:
- (_success) = _refundAddress.call{value: _overpayment}() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1093)
Event emitted after the call(s):
- GasPayment(_messageId,_gasAmount,msg.value) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1097)
Reentrancy in Mailbox.process(bytes,bytes) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4364-4391):
External calls:
- require(bool,string)(_ism.verify(_metadata,_message),!module) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4382)
- IMessageRecipient(recipient).handle(origin,sender,_message.body()) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4388)
Event emitted after the call(s):
- Process(origin,sender,recipient) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4389)
- ProcessId(_id) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4390)
Reentrancy in InterchainQueryRouter.query(uint32,CallLib.Call[],bytes[]) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5181-5195):
External calls:
- messageId = _dispatch(_destinationDomain,abi.encode(Action.DISPATCH,msg.sender,calls,callbacks)) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5190-5193)
- mailbox.dispatch(_destinationDomain,_router,_messageBody) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4733)
Event emitted after the call(s):
- QueryDispatched(_destinationDomain,msg.sender) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5194)
Reentrancy in CircleBridgeAdapter.sendTokens(uint32,bytes32,address,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5520-5557):
External calls:
- require(bool,string)(IERC20(_token).approve(address(tokenMessenger),_amount),!approval) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5543-5546)
- _nonce = tokenMessenger.depositForBurn(_amount,_circleDomain,_remoteRouter,_token) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5548-5553)
Event emitted after the call(s):
- BridgedToken(_nonce) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5555)
Reentrancy in PortalAdapter.sendTokens(uint32,bytes32,address,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5846-5880):
External calls:
- require(bool,string)(IERC20(_token).approve(address(portalTokenBridge),_amount),!approval) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5861-5864)
- _portalSequence = portalTokenBridge.transferTokensWithPayload(_token,_amount,_wormholeDomain,_remoteRouter,0,abi.encode(localDomain,nonce)) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5866-5876)
Event emitted after the call(s):
- BridgedToken(nonce,_portalSequence,_destinationDomain) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5878)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3
INFO:Detectors:
AddressUpgradeable._revert(bytes,string) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#295-307) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#300-303)
Address._revert(bytes,string) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#843-855) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#848-851)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1433-1513) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1444-1448)
- INLINE ASM (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1464-1471)
- INLINE ASM (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1478-1487)
Strings.toString(uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1742-1762) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1748-1750)
- INLINE ASM (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1754-1756)
ECDSA.tryRecover(bytes32,bytes) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1850-1867) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1858-1862)
EnumerableSet.values(EnumerableSet.Bytes32Set) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2230-2240) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2235-2237)
EnumerableSet.values(EnumerableSet.AddressSet) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2304-2314) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2309-2311)
EnumerableSet.values(EnumerableSet.UintSet) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2378-2388) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2383-2385)
TypeCasts.coerceString(bytes32) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2418-2435) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2429-2434)
Create2.deploy(uint256,bytes32,bytes) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4809-4821) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4817-4819)
Create2.computeAddress(bytes32,bytes32,address) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4835-4861) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4841-4860)
BadRecipient1.handle(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7039-7047) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7044-7046)
BadRecipient3.handle(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7056-7065) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7061-7064)
Proxy._delegate(address) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7714-7737) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7715-7736)
StorageSlot.getAddressSlot(bytes32) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7875-7880) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7877-7879)
StorageSlot.getBooleanSlot(bytes32) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7885-7890) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7887-7889)
StorageSlot.getBytes32Slot(bytes32) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7895-7900) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7897-7899)
StorageSlot.getUint256Slot(bytes32) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7905-7910) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7907-7909)
Create2Factory._deploy(bytes,bytes32) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8606-8625) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8613-8620)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
Mailbox.process(bytes,bytes) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4364-4391) compares to a boolean constant:
-require(bool,string)(delivered[_id] == false,delivered) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4375)
ValidatorAnnounce.announce(address,string,bytes) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8460-8486) compares to a boolean constant:
-require(bool,string)(replayProtection[_replayId] == false,replay) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8470)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#boolean-equality
INFO:Detectors:
Address.functionCall(address,bytes,string) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#707-713) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#726-732) is never used and should be removed
Address.functionStaticCall(address,bytes) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#757-759) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#767-774) is never used and should be removed
Address.sendValue(address,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#672-677) is never used and should be removed
Address.verifyCallResult(bool,bytes,string) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#831-841) is never used and should be removed
AddressUpgradeable._revert(bytes,string) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#295-307) is never used and should be removed
AddressUpgradeable.functionCall(address,bytes) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#174-176) is never used and should be removed
AddressUpgradeable.functionCall(address,bytes,string) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#184-190) is never used and should be removed
AddressUpgradeable.functionCallWithValue(address,bytes,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#203-209) is never used and should be removed
AddressUpgradeable.functionCallWithValue(address,bytes,uint256,string) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#217-226) is never used and should be removed
AddressUpgradeable.functionStaticCall(address,bytes) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#234-236) is never used and should be removed
AddressUpgradeable.functionStaticCall(address,bytes,string) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#244-251) is never used and should be removed
AddressUpgradeable.sendValue(address,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#149-154) is never used and should be removed
AddressUpgradeable.verifyCallResult(bool,bytes,string) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#283-293) is never used and should be removed
AddressUpgradeable.verifyCallResultFromTarget(address,bool,bytes,string) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#259-275) is never used and should be removed
Context._msgData() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1153-1155) is never used and should be removed
ContextUpgradeable.__Context_init() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#494-495) is never used and should be removed
ContextUpgradeable.__Context_init_unchained() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#497-498) is never used and should be removed
ContextUpgradeable._msgData() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#503-505) is never used and should be removed
ECDSA.recover(bytes32,bytes32,bytes32) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1911-1919) is never used and should be removed
ECDSA.recover(bytes32,uint8,bytes32,bytes32) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1959-1968) is never used and should be removed
ECDSA.toEthSignedMessageHash(bytes) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1992-1994) is never used and should be removed
ECDSA.toTypedDataHash(bytes32,bytes32) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2005-2007) is never used and should be removed
ECDSA.tryRecover(bytes32,bytes32,bytes32) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1896-1904) is never used and should be removed
ERC1967Upgrade._getBeacon() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8064-8066) is never used and should be removed
ERC1967Upgrade._setBeacon(address) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8071-8078) is never used and should be removed
ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8086-8096) is never used and should be removed
ERC1967Upgrade._upgradeToAndCallUUPS(address,bytes,bool) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7993-8011) is never used and should be removed
ERC20Upgradeable.__ERC20_init(string,string) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6320-6322) is never used and should be removed
ERC20Upgradeable.__ERC20_init_unchained(string,string) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6324-6327) is never used and should be removed
EnumerableMap.at(EnumerableMap.AddressToUintMap,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3847-3850) is never used and should be removed
EnumerableMap.at(EnumerableMap.Bytes32ToBytes32Map,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3563-3566) is never used and should be removed
EnumerableMap.at(EnumerableMap.Bytes32ToUintMap,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3939-3942) is never used and should be removed
EnumerableMap.at(EnumerableMap.UintToAddressMap,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3755-3758) is never used and should be removed
EnumerableMap.at(EnumerableMap.UintToUintMap,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3663-3666) is never used and should be removed
EnumerableMap.contains(EnumerableMap.AddressToUintMap,address) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3827-3829) is never used and should be removed
EnumerableMap.contains(EnumerableMap.Bytes32ToUintMap,bytes32) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3919-3921) is never used and should be removed
EnumerableMap.contains(EnumerableMap.UintToAddressMap,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3735-3737) is never used and should be removed
EnumerableMap.contains(EnumerableMap.UintToUintMap,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3643-3645) is never used and should be removed
EnumerableMap.get(EnumerableMap.AddressToUintMap,address) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3868-3870) is never used and should be removed
EnumerableMap.get(EnumerableMap.AddressToUintMap,address,string) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3878-3884) is never used and should be removed
EnumerableMap.get(EnumerableMap.Bytes32ToBytes32Map,bytes32,string) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3600-3608) is never used and should be removed
EnumerableMap.get(EnumerableMap.Bytes32ToUintMap,bytes32) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3960-3962) is never used and should be removed
EnumerableMap.get(EnumerableMap.Bytes32ToUintMap,bytes32,string) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3970-3976) is never used and should be removed
EnumerableMap.get(EnumerableMap.UintToAddressMap,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3776-3778) is never used and should be removed
EnumerableMap.get(EnumerableMap.UintToAddressMap,uint256,string) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3786-3792) is never used and should be removed
EnumerableMap.get(EnumerableMap.UintToUintMap,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3684-3686) is never used and should be removed
EnumerableMap.get(EnumerableMap.UintToUintMap,uint256,string) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3694-3700) is never used and should be removed
EnumerableMap.length(EnumerableMap.AddressToUintMap) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3834-3836) is never used and should be removed
EnumerableMap.length(EnumerableMap.Bytes32ToBytes32Map) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3549-3551) is never used and should be removed
EnumerableMap.length(EnumerableMap.Bytes32ToUintMap) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3926-3928) is never used and should be removed
EnumerableMap.length(EnumerableMap.UintToAddressMap) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3742-3744) is never used and should be removed
EnumerableMap.length(EnumerableMap.UintToUintMap) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3650-3652) is never used and should be removed
EnumerableMap.remove(EnumerableMap.AddressToUintMap,address) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3820-3822) is never used and should be removed
EnumerableMap.remove(EnumerableMap.Bytes32ToBytes32Map,bytes32) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3534-3537) is never used and should be removed
EnumerableMap.remove(EnumerableMap.Bytes32ToUintMap,bytes32) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3912-3914) is never used and should be removed
EnumerableMap.remove(EnumerableMap.UintToAddressMap,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3728-3730) is never used and should be removed
EnumerableMap.remove(EnumerableMap.UintToUintMap,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3636-3638) is never used and should be removed
EnumerableMap.set(EnumerableMap.AddressToUintMap,address,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3807-3813) is never used and should be removed
EnumerableMap.set(EnumerableMap.Bytes32ToUintMap,bytes32,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3899-3905) is never used and should be removed
EnumerableMap.set(EnumerableMap.UintToAddressMap,uint256,address) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3715-3721) is never used and should be removed
EnumerableMap.set(EnumerableMap.UintToUintMap,uint256,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3623-3629) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.AddressToUintMap,address) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3856-3859) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.Bytes32ToBytes32Map,bytes32) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3572-3579) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.Bytes32ToUintMap,bytes32) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3948-3951) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.UintToAddressMap,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3764-3767) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.UintToUintMap,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3672-3675) is never used and should be removed
EnumerableMapExtended.at(EnumerableMapExtended.UintToBytes32Map,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4043-4050) is never used and should be removed
EnumerableMapExtended.length(EnumerableMapExtended.UintToBytes32Map) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4035-4041) is never used and should be removed
EnumerableMapExtended.remove(EnumerableMapExtended.UintToBytes32Map,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4020-4025) is never used and should be removed
EnumerableSet.add(EnumerableSet.UintSet,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2328-2330) is never used and should be removed
EnumerableSet.at(EnumerableSet.Bytes32Set,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2218-2220) is never used and should be removed
EnumerableSet.at(EnumerableSet.UintSet,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2366-2368) is never used and should be removed
EnumerableSet.contains(EnumerableSet.UintSet,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2345-2347) is never used and should be removed
EnumerableSet.length(EnumerableSet.Bytes32Set) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2204-2206) is never used and should be removed
EnumerableSet.length(EnumerableSet.UintSet) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2352-2354) is never used and should be removed
EnumerableSet.remove(EnumerableSet.Bytes32Set,bytes32) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2190-2192) is never used and should be removed
EnumerableSet.remove(EnumerableSet.UintSet,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2338-2340) is never used and should be removed
EnumerableSet.values(EnumerableSet.Bytes32Set) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2230-2240) is never used and should be removed
EnumerableSet.values(EnumerableSet.UintSet) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2378-2388) is never used and should be removed
HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#929-935) is never used and should be removed
HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#937-947) is never used and should be removed
Initializable._disableInitializers() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#453-459) is never used and should be removed
Initializable._getInitializedVersion() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#464-466) is never used and should be removed
Initializable._isInitializing() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#471-473) is never used and should be removed
Math.average(uint256,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1412-1415) is never used and should be removed
Math.ceilDiv(uint256,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1423-1426) is never used and should be removed
Math.log10(uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1636-1668) is never used and should be removed
Math.log10(uint256,Math.Rounding) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1674-1679) is never used and should be removed
Math.log2(uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1583-1619) is never used and should be removed
Math.log2(uint256,Math.Rounding) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1625-1630) is never used and should be removed
Math.log256(uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1687-1711) is never used and should be removed
Math.log256(uint256,Math.Rounding) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1717-1722) is never used and should be removed
Math.max(uint256,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1397-1399) is never used and should be removed
Math.min(uint256,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1404-1406) is never used and should be removed
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1433-1513) is never used and should be removed
Math.mulDiv(uint256,uint256,uint256,Math.Rounding) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1518-1529) is never used and should be removed
Math.sqrt(uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1536-1567) is never used and should be removed
Math.sqrt(uint256,Math.Rounding) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1572-1577) is never used and should be removed
Message.senderAddress(bytes) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2551-2557) is never used and should be removed
Router.__Router_initialize(address) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4558-4560) is never used and should be removed
Router.__Router_initialize(address,address) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4562-4570) is never used and should be removed
Router.__Router_initialize(address,address,address) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4572-4582) is never used and should be removed
StorageSlot.getBooleanSlot(bytes32) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7885-7890) is never used and should be removed
StorageSlot.getBytes32Slot(bytes32) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7895-7900) is never used and should be removed
StorageSlot.getUint256Slot(bytes32) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7905-7910) is never used and should be removed
Strings.toHexString(address) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1791-1793) is never used and should be removed
Strings.toHexString(uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1767-1771) is never used and should be removed
Strings.toHexString(uint256,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1776-1786) is never used and should be removed
Strings.toString(uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1742-1762) is never used and should be removed
TransparentUpgradeableProxy._admin() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8244-8246) is never used and should be removed
TypeCasts.coerceString(bytes32) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2418-2435) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Low level call in AddressUpgradeable.sendValue(address,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#149-154):
- (success) = recipient.call{value: amount}() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#152)
Low level call in AddressUpgradeable.functionCallWithValue(address,bytes,uint256,string) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#217-226):
- (success,returndata) = target.call{value: value}(data) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#224)
Low level call in AddressUpgradeable.functionStaticCall(address,bytes,string) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#244-251):
- (success,returndata) = target.staticcall(data) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#249)
Low level call in Address.sendValue(address,uint256) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#672-677):
- (success) = recipient.call{value: amount}() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#675)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#740-749):
- (success,returndata) = target.call{value: value}(data) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#747)
Low level call in Address.functionStaticCall(address,bytes,string) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#767-774):
- (success,returndata) = target.staticcall(data) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#772)
Low level call in Address.functionDelegateCall(address,bytes,string) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#792-799):
- (success,returndata) = target.delegatecall(data) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#797)
Low level call in InterchainGasPaymaster.payForGas(bytes32,uint32,uint256,address) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1077-1098):
- (_success) = _refundAddress.call{value: _overpayment}() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1093)
Low level call in InterchainGasPaymaster.claim() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1124-1128):
- (success) = owner().call{value: address(this).balance}() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1126)
Low level call in ProxyAdmin.getProxyImplementation(TransparentUpgradeableProxy) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8277-8283):
- (success,returndata) = address(proxy).staticcall(0x5c60da1b) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8280)
Low level call in ProxyAdmin.getProxyAdmin(TransparentUpgradeableProxy) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8292-8298):
- (success,returndata) = address(proxy).staticcall(0xf851a440) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8295)
Low level call in Create2Factory.deployAndInit(bytes,bytes32,bytes) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8565-8578):
- (success) = deployedAddress_.call(init) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8576)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
INFO:Detectors:
TransparentUpgradeableProxy (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8160-8255) should inherit from IBeacon (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7790-7797)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-inheritance
INFO:Detectors:
Function ContextUpgradeable.__Context_init() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#494-495) is not in mixedCase
Function ContextUpgradeable.__Context_init_unchained() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#497-498) is not in mixedCase
Variable ContextUpgradeable.__gap (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#512) is not in mixedCase
Function OwnableUpgradeable.__Ownable_init() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#543-545) is not in mixedCase
Function OwnableUpgradeable.__Ownable_init_unchained() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#547-549) is not in mixedCase
Variable OwnableUpgradeable.__gap (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#608) is not in mixedCase
Function HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#921-927) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address)._mailbox (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#921) is not in mixedCase
Function HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#929-935) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address)._mailbox (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#930) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#931) is not in mixedCase
Function HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#937-947) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address)._mailbox (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#938) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#939) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address)._interchainSecurityModule (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#940) is not in mixedCase
Function HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address,address) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#949-959) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address,address)._mailbox (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#950) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#951) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address,address)._interchainSecurityModule (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#952) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#953) is not in mixedCase
Parameter HyperlaneConnectionClient.setMailbox(address)._mailbox (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#967) is not in mixedCase
Parameter HyperlaneConnectionClient.setInterchainGasPaymaster(address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#975) is not in mixedCase
Parameter HyperlaneConnectionClient.setInterchainSecurityModule(address)._module (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#983) is not in mixedCase
Variable HyperlaneConnectionClient.__GAP (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#884) is not in mixedCase
Parameter InterchainGasPaymaster.payForGas(bytes32,uint32,uint256,address)._messageId (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1078) is not in mixedCase
Parameter InterchainGasPaymaster.payForGas(bytes32,uint32,uint256,address)._destinationDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1079) is not in mixedCase
Parameter InterchainGasPaymaster.payForGas(bytes32,uint32,uint256,address)._gasAmount (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1080) is not in mixedCase
Parameter InterchainGasPaymaster.payForGas(bytes32,uint32,uint256,address)._refundAddress (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1081) is not in mixedCase
Parameter OverheadIgp.payForGas(bytes32,uint32,uint256,address)._messageId (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1302) is not in mixedCase
Parameter OverheadIgp.payForGas(bytes32,uint32,uint256,address)._destinationDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1303) is not in mixedCase
Parameter OverheadIgp.payForGas(bytes32,uint32,uint256,address)._gasAmount (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1304) is not in mixedCase
Parameter OverheadIgp.payForGas(bytes32,uint32,uint256,address)._refundAddress (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1305) is not in mixedCase
Parameter OverheadIgp.quoteGasPayment(uint32,uint256)._destinationDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1339) is not in mixedCase
Parameter OverheadIgp.quoteGasPayment(uint32,uint256)._gasAmount (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1339) is not in mixedCase
Parameter OverheadIgp.destinationGasAmount(uint32,uint256)._destinationDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1359) is not in mixedCase
Parameter OverheadIgp.destinationGasAmount(uint32,uint256)._gasAmount (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1359) is not in mixedCase
Parameter TypeCasts.coerceString(bytes32)._buf (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2418) is not in mixedCase
Parameter TypeCasts.addressToBytes32(address)._addr (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2438) is not in mixedCase
Parameter TypeCasts.bytes32ToAddress(bytes32)._buf (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2443) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._version (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2481) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._nonce (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2482) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._originDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2483) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._sender (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2484) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._destinationDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2485) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._recipient (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2486) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._messageBody (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2487) is not in mixedCase
Parameter Message.id(bytes)._message (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2506) is not in mixedCase
Parameter Message.version(bytes)._message (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2515) is not in mixedCase
Parameter Message.nonce(bytes)._message (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2524) is not in mixedCase
Parameter Message.origin(bytes)._message (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2533) is not in mixedCase
Parameter Message.sender(bytes)._message (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2542) is not in mixedCase
Parameter Message.senderAddress(bytes)._message (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2551) is not in mixedCase
Parameter Message.destination(bytes)._message (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2564) is not in mixedCase
Parameter Message.recipient(bytes)._message (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2577) is not in mixedCase
Parameter Message.recipientAddress(bytes)._message (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2590) is not in mixedCase
Parameter Message.body(bytes)._message (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2603) is not in mixedCase
Parameter MultisigIsmMetadata.root(bytes)._metadata (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2641) is not in mixedCase
Parameter MultisigIsmMetadata.index(bytes)._metadata (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2650) is not in mixedCase
Parameter MultisigIsmMetadata.originMailbox(bytes)._metadata (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2662) is not in mixedCase
Parameter MultisigIsmMetadata.proof(bytes)._metadata (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2677) is not in mixedCase
Parameter MultisigIsmMetadata.threshold(bytes)._metadata (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2695) is not in mixedCase
Parameter MultisigIsmMetadata.signatureAt(bytes,uint256)._metadata (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2708) is not in mixedCase
Parameter MultisigIsmMetadata.signatureAt(bytes,uint256)._index (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2708) is not in mixedCase
Parameter MultisigIsmMetadata.validatorAt(bytes,uint256)._metadata (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2725) is not in mixedCase
Parameter MultisigIsmMetadata.validatorAt(bytes,uint256)._index (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2725) is not in mixedCase
Parameter MultisigIsmMetadata.validators(bytes)._metadata (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2745) is not in mixedCase
Parameter MultisigIsmMetadata.validatorCount(bytes)._metadata (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2760) is not in mixedCase
Parameter MerkleLib.insert(MerkleLib.Tree,bytes32)._tree (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2815) is not in mixedCase
Parameter MerkleLib.insert(MerkleLib.Tree,bytes32)._node (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2815) is not in mixedCase
Parameter MerkleLib.rootWithCtx(MerkleLib.Tree,bytes32[32])._tree (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2839) is not in mixedCase
Parameter MerkleLib.rootWithCtx(MerkleLib.Tree,bytes32[32])._zeroes (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2839) is not in mixedCase
Parameter MerkleLib.root(MerkleLib.Tree)._tree (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2858) is not in mixedCase
Parameter MerkleLib.branchRoot(bytes32,bytes32[32],uint256)._item (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2912) is not in mixedCase
Parameter MerkleLib.branchRoot(bytes32,bytes32[32],uint256)._branch (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2913) is not in mixedCase
Parameter MerkleLib.branchRoot(bytes32,bytes32[32],uint256)._index (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2914) is not in mixedCase
Parameter MultisigIsm.enrollValidators(uint32[],address[][])._domains (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3094) is not in mixedCase
Parameter MultisigIsm.enrollValidators(uint32[],address[][])._validators (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3095) is not in mixedCase
Parameter MultisigIsm.enrollValidator(uint32,address)._domain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3113) is not in mixedCase
Parameter MultisigIsm.enrollValidator(uint32,address)._validator (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3113) is not in mixedCase
Parameter MultisigIsm.unenrollValidator(uint32,address)._domain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3127) is not in mixedCase
Parameter MultisigIsm.unenrollValidator(uint32,address)._validator (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3127) is not in mixedCase
Parameter MultisigIsm.setThresholds(uint32[],uint8[])._domains (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3147) is not in mixedCase
Parameter MultisigIsm.setThresholds(uint32[],uint8[])._thresholds (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3148) is not in mixedCase
Parameter MultisigIsm.isEnrolled(uint32,address)._domain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3162) is not in mixedCase
Parameter MultisigIsm.isEnrolled(uint32,address)._address (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3162) is not in mixedCase
Parameter MultisigIsm.setThreshold(uint32,uint8)._domain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3178) is not in mixedCase
Parameter MultisigIsm.setThreshold(uint32,uint8)._threshold (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3178) is not in mixedCase
Parameter MultisigIsm.verify(bytes,bytes)._metadata (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3196) is not in mixedCase
Parameter MultisigIsm.verify(bytes,bytes)._message (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3196) is not in mixedCase
Parameter MultisigIsm.validators(uint32)._domain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3211) is not in mixedCase
Parameter MultisigIsm.validatorsAndThreshold(bytes)._message (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3229) is not in mixedCase
Parameter MultisigIsm.validatorCount(uint32)._domain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#3245) is not in mixedCase
Parameter ValidatorAnnouncements.getAnnouncementDigest(address,uint32,string)._mailbox (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4072) is not in mixedCase
Parameter ValidatorAnnouncements.getAnnouncementDigest(address,uint32,string)._localDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4073) is not in mixedCase
Parameter ValidatorAnnouncements.getAnnouncementDigest(address,uint32,string)._storageLocation (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4074) is not in mixedCase
Function PausableReentrancyGuardUpgradeable.__PausableReentrancyGuard_init() (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4132-4134) is not in mixedCase
Variable PausableReentrancyGuardUpgradeable.__gap (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4183) is not in mixedCase
Parameter Mailbox.initialize(address,address)._owner (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4301) is not in mixedCase
Parameter Mailbox.initialize(address,address)._defaultIsm (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4301) is not in mixedCase
Parameter Mailbox.setDefaultIsm(address)._module (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4317) is not in mixedCase
Parameter Mailbox.dispatch(uint32,bytes32,bytes)._destinationDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4329) is not in mixedCase
Parameter Mailbox.dispatch(uint32,bytes32,bytes)._recipientAddress (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4330) is not in mixedCase
Parameter Mailbox.dispatch(uint32,bytes32,bytes)._messageBody (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4331) is not in mixedCase
Parameter Mailbox.process(bytes,bytes)._metadata (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4364) is not in mixedCase
Parameter Mailbox.process(bytes,bytes)._message (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4364) is not in mixedCase
Parameter Mailbox.recipientIsm(address)._recipient (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4450) is not in mixedCase
Variable Mailbox.__GAP (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4235) is not in mixedCase
Function Router.__Router_initialize(address) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4558-4560) is not in mixedCase
Parameter Router.__Router_initialize(address)._mailbox (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4558) is not in mixedCase
Function Router.__Router_initialize(address,address) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4562-4570) is not in mixedCase
Parameter Router.__Router_initialize(address,address)._mailbox (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4563) is not in mixedCase
Parameter Router.__Router_initialize(address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4564) is not in mixedCase
Function Router.__Router_initialize(address,address,address) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4572-4582) is not in mixedCase
Parameter Router.__Router_initialize(address,address,address)._mailbox (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4573) is not in mixedCase
Parameter Router.__Router_initialize(address,address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4574) is not in mixedCase
Parameter Router.__Router_initialize(address,address,address)._interchainSecurityModule (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4575) is not in mixedCase
Parameter Router.routers(uint32)._domain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4594) is not in mixedCase
Parameter Router.enrollRemoteRouter(uint32,bytes32)._domain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4607) is not in mixedCase
Parameter Router.enrollRemoteRouter(uint32,bytes32)._router (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4607) is not in mixedCase
Parameter Router.enrollRemoteRouters(uint32[],bytes32[])._domains (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4621) is not in mixedCase
Parameter Router.enrollRemoteRouters(uint32[],bytes32[])._addresses (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4622) is not in mixedCase
Parameter Router.handle(uint32,bytes32,bytes)._origin (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4637) is not in mixedCase
Parameter Router.handle(uint32,bytes32,bytes)._sender (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4638) is not in mixedCase
Parameter Router.handle(uint32,bytes32,bytes)._message (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4639) is not in mixedCase
Variable Router.__GAP (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4532) is not in mixedCase
Parameter InterchainAccountRouter.initialize(address,address,address,address)._mailbox (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4917) is not in mixedCase
Parameter InterchainAccountRouter.initialize(address,address,address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4918) is not in mixedCase
Parameter InterchainAccountRouter.initialize(address,address,address,address)._interchainSecurityModule (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4919) is not in mixedCase
Parameter InterchainAccountRouter.initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4920) is not in mixedCase
Parameter InterchainAccountRouter.dispatch(uint32,CallLib.Call[])._destinationDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4935) is not in mixedCase
Parameter InterchainAccountRouter.dispatch(uint32,address,bytes)._destinationDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4950) is not in mixedCase
Parameter InterchainAccountRouter.getInterchainAccount(uint32,address)._origin (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4965) is not in mixedCase
Parameter InterchainAccountRouter.getInterchainAccount(uint32,address)._sender (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4965) is not in mixedCase
Parameter InterchainAccountRouter.getDeployedInterchainAccount(uint32,address)._origin (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4979) is not in mixedCase
Parameter InterchainAccountRouter.getDeployedInterchainAccount(uint32,address)._sender (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#4979) is not in mixedCase
Parameter InterchainQueryRouter.initialize(address,address,address,address)._mailbox (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5124) is not in mixedCase
Parameter InterchainQueryRouter.initialize(address,address,address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5125) is not in mixedCase
Parameter InterchainQueryRouter.initialize(address,address,address,address)._interchainSecurityModule (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5126) is not in mixedCase
Parameter InterchainQueryRouter.initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5127) is not in mixedCase
Parameter InterchainQueryRouter.query(uint32,address,bytes,bytes)._destinationDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5145) is not in mixedCase
Parameter InterchainQueryRouter.query(uint32,CallLib.Call,bytes)._destinationDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5164) is not in mixedCase
Parameter InterchainQueryRouter.query(uint32,CallLib.Call[],bytes[])._destinationDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5182) is not in mixedCase
Parameter CircleBridgeAdapter.initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5505) is not in mixedCase
Parameter CircleBridgeAdapter.initialize(address,address,address,address)._tokenMessenger (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5506) is not in mixedCase
Parameter CircleBridgeAdapter.initialize(address,address,address,address)._circleMessageTransmitter (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5507) is not in mixedCase
Parameter CircleBridgeAdapter.initialize(address,address,address,address)._liquidityLayerRouter (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5508) is not in mixedCase
Parameter CircleBridgeAdapter.sendTokens(uint32,bytes32,address,uint256)._destinationDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5521) is not in mixedCase
Parameter CircleBridgeAdapter.sendTokens(uint32,bytes32,address,uint256)._token (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5523) is not in mixedCase
Parameter CircleBridgeAdapter.sendTokens(uint32,bytes32,address,uint256)._amount (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5524) is not in mixedCase
Parameter CircleBridgeAdapter.receiveTokens(uint32,address,uint256,bytes)._originDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5561) is not in mixedCase
Parameter CircleBridgeAdapter.receiveTokens(uint32,address,uint256,bytes)._recipient (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5562) is not in mixedCase
Parameter CircleBridgeAdapter.receiveTokens(uint32,address,uint256,bytes)._amount (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5563) is not in mixedCase
Parameter CircleBridgeAdapter.receiveTokens(uint32,address,uint256,bytes)._adapterData (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5564) is not in mixedCase
Parameter CircleBridgeAdapter.addDomain(uint32,uint32)._hyperlaneDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5608) is not in mixedCase
Parameter CircleBridgeAdapter.addDomain(uint32,uint32)._circleDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5608) is not in mixedCase
Parameter CircleBridgeAdapter.addToken(address,string)._token (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5617) is not in mixedCase
Parameter CircleBridgeAdapter.addToken(address,string)._tokenSymbol (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5617) is not in mixedCase
Parameter CircleBridgeAdapter.removeToken(address,string)._token (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5642) is not in mixedCase
Parameter CircleBridgeAdapter.removeToken(address,string)._tokenSymbol (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5642) is not in mixedCase
Parameter PortalAdapter.initialize(uint32,address,address,address)._localDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5827) is not in mixedCase
Parameter PortalAdapter.initialize(uint32,address,address,address)._owner (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5828) is not in mixedCase
Parameter PortalAdapter.initialize(uint32,address,address,address)._portalTokenBridge (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5829) is not in mixedCase
Parameter PortalAdapter.initialize(uint32,address,address,address)._liquidityLayerRouter (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5830) is not in mixedCase
Parameter PortalAdapter.sendTokens(uint32,bytes32,address,uint256)._destinationDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5847) is not in mixedCase
Parameter PortalAdapter.sendTokens(uint32,bytes32,address,uint256)._token (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5849) is not in mixedCase
Parameter PortalAdapter.sendTokens(uint32,bytes32,address,uint256)._amount (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5850) is not in mixedCase
Parameter PortalAdapter.receiveTokens(uint32,address,uint256,bytes)._originDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5890) is not in mixedCase
Parameter PortalAdapter.receiveTokens(uint32,address,uint256,bytes)._recipient (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5891) is not in mixedCase
Parameter PortalAdapter.receiveTokens(uint32,address,uint256,bytes)._amount (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5892) is not in mixedCase
Parameter PortalAdapter.receiveTokens(uint32,address,uint256,bytes)._adapterData (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5893) is not in mixedCase
Parameter PortalAdapter.addDomain(uint32,uint16)._hyperlaneDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5959) is not in mixedCase
Parameter PortalAdapter.addDomain(uint32,uint16)._wormholeDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5959) is not in mixedCase
Parameter PortalAdapter.transferId(uint32,uint224)._hyperlaneDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5973) is not in mixedCase
Parameter PortalAdapter.transferId(uint32,uint224)._nonce (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#5973) is not in mixedCase
Parameter LiquidityLayerRouter.initialize(address,address,address,address)._mailbox (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6035) is not in mixedCase
Parameter LiquidityLayerRouter.initialize(address,address,address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6036) is not in mixedCase
Parameter LiquidityLayerRouter.initialize(address,address,address,address)._interchainSecurityModule (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6037) is not in mixedCase
Parameter LiquidityLayerRouter.initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6038) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,address,uint256,string,bytes)._destinationDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6049) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,address,uint256,string,bytes)._recipientAddress (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6050) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,address,uint256,string,bytes)._token (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6051) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,address,uint256,string,bytes)._amount (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6052) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,address,uint256,string,bytes)._bridge (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6053) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,address,uint256,string,bytes)._messageBody (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6054) is not in mixedCase
Parameter LiquidityLayerRouter.setLiquidityLayerAdapter(string,address)._bridge (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6133) is not in mixedCase
Parameter LiquidityLayerRouter.setLiquidityLayerAdapter(string,address)._adapter (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6133) is not in mixedCase
Function ERC20Upgradeable.__ERC20_init(string,string) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6320-6322) is not in mixedCase
Function ERC20Upgradeable.__ERC20_init_unchained(string,string) (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6324-6327) is not in mixedCase
Variable ERC20Upgradeable.__gap (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6665) is not in mixedCase
Parameter MockToken.burn(uint256)._amount (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6678) is not in mixedCase
Parameter MockCircleMessageTransmitter.hashSourceAndNonce(uint32,uint64)._source (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6705) is not in mixedCase
Parameter MockCircleMessageTransmitter.hashSourceAndNonce(uint32,uint64)._nonce (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6705) is not in mixedCase
Parameter MockCircleMessageTransmitter.process(bytes32,address,uint256)._nonceId (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6714) is not in mixedCase
Parameter MockCircleMessageTransmitter.process(bytes32,address,uint256)._recipient (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6715) is not in mixedCase
Parameter MockCircleMessageTransmitter.process(bytes32,address,uint256)._amount (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6716) is not in mixedCase
Parameter MockCircleMessageTransmitter.usedNonces(bytes32)._nonceId (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6722) is not in mixedCase
Parameter MockCircleTokenMessenger.depositForBurn(uint256,uint32,bytes32,address)._amount (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6742) is not in mixedCase
Parameter MockCircleTokenMessenger.depositForBurn(uint256,uint32,bytes32,address)._burnToken (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6745) is not in mixedCase
Parameter MockMailbox.addRemoteMailbox(uint32,MockMailbox)._domain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6796) is not in mixedCase
Parameter MockMailbox.addRemoteMailbox(uint32,MockMailbox)._mailbox (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6796) is not in mixedCase
Parameter MockMailbox.dispatch(uint32,bytes32,bytes)._destinationDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6801) is not in mixedCase
Parameter MockMailbox.dispatch(uint32,bytes32,bytes)._recipientAddress (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6802) is not in mixedCase
Parameter MockMailbox.dispatch(uint32,bytes32,bytes)._messageBody (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6803) is not in mixedCase
Parameter MockMailbox.addInboundMessage(uint32,address,address,bytes)._origin (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6821) is not in mixedCase
Parameter MockMailbox.addInboundMessage(uint32,address,address,bytes)._sender (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6822) is not in mixedCase
Parameter MockMailbox.addInboundMessage(uint32,address,address,bytes)._recipient (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6823) is not in mixedCase
Parameter MockMailbox.addInboundMessage(uint32,address,address,bytes)._body (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6824) is not in mixedCase
Variable MockMailbox.VERSION (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6777) is not in mixedCase
Parameter TestIsm.setAccept(bool)._val (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6855) is not in mixedCase
Parameter MockPortalBridge.adapterData(uint32,uint224,address)._originDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7012) is not in mixedCase
Parameter MockPortalBridge.adapterData(uint32,uint224,address)._nonce (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7013) is not in mixedCase
Parameter MockPortalBridge.adapterData(uint32,uint224,address)._token (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7014) is not in mixedCase
Parameter MockPortalBridge.mockPortalVaa(uint32,uint224,uint256)._originDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7025) is not in mixedCase
Parameter MockPortalBridge.mockPortalVaa(uint32,uint224,uint256)._nonce (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7026) is not in mixedCase
Parameter MockPortalBridge.mockPortalVaa(uint32,uint224,uint256)._amount (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7027) is not in mixedCase
Parameter TestRecipient.setInterchainSecurityModule(address)._ism (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7123) is not in mixedCase
Parameter TestRecipient.handle(uint32,bytes32,bytes)._origin (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7128) is not in mixedCase
Parameter TestRecipient.handle(uint32,bytes32,bytes)._sender (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7129) is not in mixedCase
Parameter TestRecipient.handle(uint32,bytes32,bytes)._data (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7130) is not in mixedCase
Parameter TestHyperlaneConnectionClient.initialize(address)._mailbox (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7165) is not in mixedCase
Parameter TestLiquidityLayerMessageRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._origin (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7189) is not in mixedCase
Parameter TestLiquidityLayerMessageRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._sender (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7190) is not in mixedCase
Parameter TestLiquidityLayerMessageRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._message (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7191) is not in mixedCase
Parameter TestLiquidityLayerMessageRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._token (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7192) is not in mixedCase
Parameter TestLiquidityLayerMessageRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._amount (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7193) is not in mixedCase
Parameter TestMailbox.testHandle(uint32,bytes32,bytes32,bytes)._origin (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7229) is not in mixedCase
Parameter TestMailbox.testHandle(uint32,bytes32,bytes32,bytes)._sender (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7230) is not in mixedCase
Parameter TestMailbox.testHandle(uint32,bytes32,bytes32,bytes)._recipient (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7231) is not in mixedCase
Parameter TestMailbox.testHandle(uint32,bytes32,bytes32,bytes)._body (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7232) is not in mixedCase
Parameter TestMerkle.insert(bytes32)._node (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7255) is not in mixedCase
Parameter TestMerkle.branchRoot(bytes32,bytes32[32],uint256)._leaf (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7260) is not in mixedCase
Parameter TestMerkle.branchRoot(bytes32,bytes32[32],uint256)._proof (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7261) is not in mixedCase
Parameter TestMerkle.branchRoot(bytes32,bytes32[32],uint256)._index (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7262) is not in mixedCase
Parameter TestMessage.version(bytes)._message (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7287) is not in mixedCase
Parameter TestMessage.nonce(bytes)._message (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7295) is not in mixedCase
Parameter TestMessage.body(bytes)._message (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7303) is not in mixedCase
Parameter TestMessage.origin(bytes)._message (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7311) is not in mixedCase
Parameter TestMessage.sender(bytes)._message (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7319) is not in mixedCase
Parameter TestMessage.destination(bytes)._message (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7327) is not in mixedCase
Parameter TestMessage.recipient(bytes)._message (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7335) is not in mixedCase
Parameter TestMessage.recipientAddress(bytes)._message (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7343) is not in mixedCase
Parameter TestMessage.id(bytes)._message (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7351) is not in mixedCase
Parameter TestMultisigIsm.getDomainHash(uint32,bytes32)._origin (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7364) is not in mixedCase
Parameter TestMultisigIsm.getDomainHash(uint32,bytes32)._originMailbox (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7364) is not in mixedCase
Parameter TestMultisigIsm.getCheckpointDigest(bytes,uint32)._metadata (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7372) is not in mixedCase
Parameter TestMultisigIsm.getCheckpointDigest(bytes,uint32)._origin (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7372) is not in mixedCase
Parameter TestQuerySender.initialize(address,address)._queryRouterAddress (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7437) is not in mixedCase
Parameter TestQuerySender.initialize(address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7438) is not in mixedCase
Parameter TestQuerySender.queryAddress(uint32,address,bytes,uint256)._destinationDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7447) is not in mixedCase
Parameter TestQuerySender.queryAddress(uint32,address,bytes,uint256)._target (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7448) is not in mixedCase
Parameter TestQuerySender.queryAddress(uint32,address,bytes,uint256)._targetData (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7449) is not in mixedCase
Parameter TestQuerySender.queryAddress(uint32,address,bytes,uint256)._gasAmount (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7450) is not in mixedCase
Parameter TestQuerySender.handleQueryAddressResult(address)._result (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7461) is not in mixedCase
Parameter TestQuerySender.queryUint256(uint32,address,bytes,uint256)._destinationDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7467) is not in mixedCase
Parameter TestQuerySender.queryUint256(uint32,address,bytes,uint256)._target (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7468) is not in mixedCase
Parameter TestQuerySender.queryUint256(uint32,address,bytes,uint256)._targetData (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7469) is not in mixedCase
Parameter TestQuerySender.queryUint256(uint32,address,bytes,uint256)._gasAmount (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7470) is not in mixedCase
Parameter TestQuerySender.handleQueryUint256Result(uint256)._result (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7481) is not in mixedCase
Parameter TestQuerySender.queryBytes32(uint32,address,bytes,uint256)._destinationDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7487) is not in mixedCase
Parameter TestQuerySender.queryBytes32(uint32,address,bytes,uint256)._target (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7488) is not in mixedCase
Parameter TestQuerySender.queryBytes32(uint32,address,bytes,uint256)._targetData (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7489) is not in mixedCase
Parameter TestQuerySender.queryBytes32(uint32,address,bytes,uint256)._gasAmount (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7490) is not in mixedCase
Parameter TestQuerySender.handleQueryBytes32Result(bytes32)._result (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7501) is not in mixedCase
Parameter TestRouter.initialize(address)._mailbox (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7528) is not in mixedCase
Parameter TestRouter.isRemoteRouter(uint32,bytes32)._domain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7539) is not in mixedCase
Parameter TestRouter.isRemoteRouter(uint32,bytes32)._potentialRemoteRouter (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7539) is not in mixedCase
Parameter TestRouter.mustHaveRemoteRouter(uint32)._domain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7547) is not in mixedCase
Parameter TestRouter.dispatch(uint32,bytes)._destination (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7555) is not in mixedCase
Parameter TestRouter.dispatch(uint32,bytes)._msg (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7555) is not in mixedCase
Parameter TestRouter.dispatchWithGas(uint32,bytes,uint256,uint256,address)._destinationDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7560) is not in mixedCase
Parameter TestRouter.dispatchWithGas(uint32,bytes,uint256,uint256,address)._messageBody (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7561) is not in mixedCase
Parameter TestRouter.dispatchWithGas(uint32,bytes,uint256,uint256,address)._gasAmount (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7562) is not in mixedCase
Parameter TestRouter.dispatchWithGas(uint32,bytes,uint256,uint256,address)._gasPayment (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7563) is not in mixedCase
Parameter TestRouter.dispatchWithGas(uint32,bytes,uint256,uint256,address)._gasPaymentRefundAddress (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7564) is not in mixedCase
Parameter TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes)._mailbox (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7591) is not in mixedCase
Parameter TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes)._paymaster (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7592) is not in mixedCase
Parameter TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes)._destinationDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7593) is not in mixedCase
Parameter TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes)._messageBody (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7594) is not in mixedCase
Parameter TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._origin (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7671) is not in mixedCase
Parameter TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._sender (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7672) is not in mixedCase
Parameter TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._data (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7673) is not in mixedCase
Parameter TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._token (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7674) is not in mixedCase
Parameter TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._amount (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7675) is not in mixedCase
Parameter ValidatorAnnounce.announce(address,string,bytes)._validator (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8461) is not in mixedCase
Parameter ValidatorAnnounce.announce(address,string,bytes)._storageLocation (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8462) is not in mixedCase
Parameter ValidatorAnnounce.announce(address,string,bytes)._signature (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8463) is not in mixedCase
Parameter ValidatorAnnounce.getAnnouncedStorageLocations(address[])._validators (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8493) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Detectors:
Redundant expression "_destinationDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1113)" inInterchainGasPaymaster (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1040-1129)
Redundant expression "_gasAmount (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1114)" inInterchainGasPaymaster (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#1040-1129)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#redundant-statements
INFO:Detectors:
Variable IValidatorAnnounce.announce(address,string,bytes)._storageLocation (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8387) is too similar to ValidatorAnnounce.storageLocations (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8427)
Variable ValidatorAnnounce.announce(address,string,bytes)._storageLocation (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8462) is too similar to ValidatorAnnounce.storageLocations (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#8427)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#variable-names-too-similar
INFO:Detectors:
Message.VERSION_OFFSET (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2460) is never used in Message (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2457-2610)
Message.NONCE_OFFSET (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2461) is never used in Message (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2457-2610)
Message.ORIGIN_OFFSET (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2462) is never used in Message (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2457-2610)
Message.SENDER_OFFSET (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2463) is never used in Message (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2457-2610)
Message.DESTINATION_OFFSET (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2464) is never used in Message (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2457-2610)
Message.RECIPIENT_OFFSET (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2465) is never used in Message (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2457-2610)
Message.BODY_OFFSET (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2466) is never used in Message (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2457-2610)
MultisigIsmMetadata.MERKLE_ROOT_OFFSET (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2628) is never used in MultisigIsmMetadata (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2627-2783)
MultisigIsmMetadata.MERKLE_INDEX_OFFSET (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2629) is never used in MultisigIsmMetadata (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2627-2783)
MultisigIsmMetadata.ORIGIN_MAILBOX_OFFSET (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2630) is never used in MultisigIsmMetadata (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2627-2783)
MultisigIsmMetadata.MERKLE_PROOF_OFFSET (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2631) is never used in MultisigIsmMetadata (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2627-2783)
MultisigIsmMetadata.THRESHOLD_OFFSET (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2632) is never used in MultisigIsmMetadata (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#2627-2783)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-state-variable
INFO:Detectors:
MockCircleMessageTransmitter.token (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6691) should be immutable
MockCircleTokenMessenger.token (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6735) should be immutable
MockHyperlaneEnvironment.destinationDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6878) should be immutable
MockHyperlaneEnvironment.originDomain (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6877) should be immutable
MockPortalBridge.token (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#6952) should be immutable
TestQuery.router (crytic-export/etherscan-contracts/0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc-OverheadIgp.sol#7388) should be immutable
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-immutable
INFO:Slither:0x56f52c0a1ddcd557285f7cbc782d3d83096ce1cc analyzed (89 contracts with 87 detectors), 513 result(s) found
```
Slither report for Inbox at `0x5aED5f8A1e3607476F1f81c3d8fe126deB0aFE94`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x5aed5f8a1e3607476f1f81c3d8fe126deb0afe94-Inbox' running
INFO:Detectors:
GasRefundEnabled.refundsGas(IGasRefunder) (src/libraries/IGasRefunder.sol#20-41) ignores return value by gasRefunder.onGasSpent(address(msg.sender),startGasLeft - gasleft()(),calldataSize) (src/libraries/IGasRefunder.sol#39)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return
INFO:Detectors:
Reentrancy in Inbox._deliverMessage(uint8,address,bytes) (src/bridge/Inbox.sol#608-618):
External calls:
- msgNum = deliverToBridge(_kind,_sender,keccak256(bytes)(_messageData)) (src/bridge/Inbox.sol#615)
- bridge.enqueueDelayedMessage{value: msg.value}(kind,AddressAliasHelper.applyL1ToL2Alias(sender),messageDataHash) (src/bridge/Inbox.sol#625-630)
Event emitted after the call(s):
- InboxMessageDelivered(msgNum,_messageData) (src/bridge/Inbox.sol#616)
Reentrancy in Inbox.sendL2MessageFromOrigin(bytes) (src/bridge/Inbox.sol#130-144):
External calls:
- msgNum = deliverToBridge(L2_MSG,msg.sender,keccak256(bytes)(messageData)) (src/bridge/Inbox.sol#141)
- bridge.enqueueDelayedMessage{value: msg.value}(kind,AddressAliasHelper.applyL1ToL2Alias(sender),messageDataHash) (src/bridge/Inbox.sol#625-630)
Event emitted after the call(s):
- InboxMessageDeliveredFromOrigin(msgNum) (src/bridge/Inbox.sol#142)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3
INFO:Detectors:
AddressUpgradeable.verifyCallResult(bool,bytes,string) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#174-194) uses assembly
- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#186-189)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
AddressUpgradeable.functionCall(address,bytes) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#85-87) is never used and should be removed
AddressUpgradeable.functionCall(address,bytes,string) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#95-101) is never used and should be removed
AddressUpgradeable.functionCallWithValue(address,bytes,uint256) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#114-120) is never used and should be removed
AddressUpgradeable.functionCallWithValue(address,bytes,uint256,string) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#128-139) is never used and should be removed
AddressUpgradeable.functionStaticCall(address,bytes) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#147-149) is never used and should be removed
AddressUpgradeable.functionStaticCall(address,bytes,string) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#157-166) is never used and should be removed
AddressUpgradeable.sendValue(address,uint256) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#60-65) is never used and should be removed
AddressUpgradeable.verifyCallResult(bool,bytes,string) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#174-194) is never used and should be removed
ContextUpgradeable.__Context_init() (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#18-19) is never used and should be removed
ContextUpgradeable.__Context_init_unchained() (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#21-22) is never used and should be removed
ContextUpgradeable._msgData() (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#27-29) is never used and should be removed
Messages.accumulateInboxMessage(bytes32,bytes32) (src/bridge/Messages.sol#31-37) is never used and should be removed
Messages.messageHash(uint8,address,uint64,uint64,uint256,uint256,bytes32) (src/bridge/Messages.sol#8-29) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Low level call in AddressUpgradeable.sendValue(address,uint256) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#60-65):
- (success) = recipient.call{value: amount}() (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#63)
Low level call in AddressUpgradeable.functionCallWithValue(address,bytes,uint256,string) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#128-139):
- (success,returndata) = target.call{value: value}(data) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#137)
Low level call in AddressUpgradeable.functionStaticCall(address,bytes,string) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#157-166):
- (success,returndata) = target.staticcall(data) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#164)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
INFO:Detectors:
Function PausableUpgradeable.__Pausable_init() (@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol#34-36) is not in mixedCase
Function PausableUpgradeable.__Pausable_init_unchained() (@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol#38-40) is not in mixedCase
Variable PausableUpgradeable.__gap (@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol#102) is not in mixedCase
Function ContextUpgradeable.__Context_init() (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#18-19) is not in mixedCase
Function ContextUpgradeable.__Context_init_unchained() (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#21-22) is not in mixedCase
Variable ContextUpgradeable.__gap (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#36) is not in mixedCase
Function ISequencerInbox.HEADER_LENGTH() (src/bridge/ISequencerInbox.sol#61) is not in mixedCase
Function ISequencerInbox.DATA_AUTHENTICATED_FLAG() (src/bridge/ISequencerInbox.sol#66) is not in mixedCase
Parameter Inbox.setAllowListEnabled(bool)._allowListEnabled (src/bridge/Inbox.sol#70) is not in mixedCase
Parameter Inbox.initialize(IBridge,ISequencerInbox)._bridge (src/bridge/Inbox.sol#115) is not in mixedCase
Parameter Inbox.initialize(IBridge,ISequencerInbox)._sequencerInbox (src/bridge/Inbox.sol#115) is not in mixedCase
Variable DelegateCallAware.__self (src/libraries/DelegateCallAware.sol#12) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Slither:0x5aed5f8a1e3607476f1f81c3d8fe126deb0afe94 analyzed (16 contracts with 87 detectors), 32 result(s) found
```
Slither report for NonceContract at `0x5B905fE05F81F3a8ad8B28C6E17779CFAbf76068`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x5b905fe05f81f3a8ad8b28c6e17779cfabf76068-NonceContract' running
INFO:Detectors:
Parameter NonceContract.increment(uint16,address,bytes)._chainId (contracts/NonceContract.sol#16) is not in mixedCase
Parameter NonceContract.increment(uint16,address,bytes)._ua (contracts/NonceContract.sol#16) is not in mixedCase
Parameter NonceContract.increment(uint16,address,bytes)._path (contracts/NonceContract.sol#16) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Slither:0x5b905fe05f81f3a8ad8b28c6e17779cfabf76068 analyzed (3 contracts with 87 detectors), 3 result(s) found
```
Slither report for SystemConfig at `0x5efa852e92800D1C982711761e45c3FE39a2b6D8`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x5efa852e92800d1c982711761e45c3fe39a2b6d8-SystemConfig' running
INFO:Detectors:
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#55-135) has bitwise-xor operator ^ instead of the exponentiation operator **:
- inverse = (3 * denominator) ^ 2 (node_modules/@openzeppelin/contracts/utils/math/Math.sol#117)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-exponentiation
INFO:Detectors:
Initializable is re-used:
- Initializable (node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol#57-138)
- Initializable (node_modules/@openzeppelin/contracts/proxy/utils/Initializable.sol#57-138)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#name-reused
INFO:Detectors:
ResourceMetering._metered(uint64,uint256) (contracts/L1/ResourceMetering.sol#92-164) performs a multiplication on the result of a division:
- targetResourceLimit = int256(uint256(config.maxResourceLimit)) / int256(uint256(config.elasticityMultiplier)) (contracts/L1/ResourceMetering.sol#97-98)
- baseFeeDelta = (int256(uint256(params.prevBaseFee)) * gasUsedDelta) / (targetResourceLimit * int256(uint256(config.baseFeeMaxChangeDenominator))) (contracts/L1/ResourceMetering.sol#105-106)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#55-135) performs a multiplication on the result of a division:
- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#102)
- inverse = (3 * denominator) ^ 2 (node_modules/@openzeppelin/contracts/utils/math/Math.sol#117)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#55-135) performs a multiplication on the result of a division:
- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#102)
- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#121)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#55-135) performs a multiplication on the result of a division:
- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#102)
- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#122)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#55-135) performs a multiplication on the result of a division:
- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#102)
- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#123)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#55-135) performs a multiplication on the result of a division:
- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#102)
- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#124)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#55-135) performs a multiplication on the result of a division:
- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#102)
- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#125)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#55-135) performs a multiplication on the result of a division:
- denominator = denominator / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#102)
- inverse *= 2 - denominator * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#126)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#55-135) performs a multiplication on the result of a division:
- prod0 = prod0 / twos (node_modules/@openzeppelin/contracts/utils/math/Math.sol#105)
- result = prod0 * inverse (node_modules/@openzeppelin/contracts/utils/math/Math.sol#132)
FixedPointMathLib.expWad(int256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#34-90) performs a multiplication on the result of a division:
- x = (x << 78) / 5 ** 18 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#47)
- y = ((y * x) >> 96) + 57155421227552351082224309758442 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#60)
FixedPointMathLib.expWad(int256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#34-90) performs a multiplication on the result of a division:
- x = (x << 78) / 5 ** 18 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#47)
- p = p * x + (4385272521454847904659076985693276 << 96) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#63)
FixedPointMathLib.expWad(int256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#34-90) performs a multiplication on the result of a division:
- x = (x << 78) / 5 ** 18 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#47)
- q = ((q * x) >> 96) + 50020603652535783019961831881945 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#67)
FixedPointMathLib.expWad(int256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#34-90) performs a multiplication on the result of a division:
- x = (x << 78) / 5 ** 18 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#47)
- q = ((q * x) >> 96) - 533845033583426703283633433725380 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#68)
FixedPointMathLib.expWad(int256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#34-90) performs a multiplication on the result of a division:
- x = (x << 78) / 5 ** 18 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#47)
- q = ((q * x) >> 96) + 3604857256930695427073651918091429 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#69)
FixedPointMathLib.expWad(int256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#34-90) performs a multiplication on the result of a division:
- x = (x << 78) / 5 ** 18 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#47)
- q = ((q * x) >> 96) - 14423608567350463180887372962807573 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#70)
FixedPointMathLib.expWad(int256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#34-90) performs a multiplication on the result of a division:
- x = (x << 78) / 5 ** 18 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#47)
- q = ((q * x) >> 96) + 26449188498355588339934803723976023 (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#71)
FixedPointMathLib.rpow(uint256,uint256,uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#196-282) performs a multiplication on the result of a division:
- x = xxRound_rpow_asm_0 / scalar (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#253)
- zx_rpow_asm_0 = z * x (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#258)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#divide-before-multiply
INFO:Detectors:
SystemConfig.constructor(address,uint256,uint256,bytes32,uint64,address,ResourceMetering.ResourceConfig)._owner (contracts/L1/SystemConfig.sol#94) shadows:
- OwnableUpgradeable._owner (node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol#22) (state variable)
SystemConfig.initialize(address,uint256,uint256,bytes32,uint64,address,ResourceMetering.ResourceConfig)._owner (contracts/L1/SystemConfig.sol#126) shadows:
- OwnableUpgradeable._owner (node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol#22) (state variable)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#local-variable-shadowing
INFO:Detectors:
SystemConfig.unsafeBlockSigner() (contracts/L1/SystemConfig.sol#166-173) uses assembly
- INLINE ASM (contracts/L1/SystemConfig.sol#169-171)
SystemConfig._setUnsafeBlockSigner(address) (contracts/L1/SystemConfig.sol#232-237) uses assembly
- INLINE ASM (contracts/L1/SystemConfig.sol#234-236)
AddressUpgradeable.verifyCallResult(bool,bytes,string) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#174-194) uses assembly
- INLINE ASM (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#186-189)
Address.verifyCallResult(bool,bytes,string) (node_modules/@openzeppelin/contracts/utils/Address.sol#201-221) uses assembly
- INLINE ASM (node_modules/@openzeppelin/contracts/utils/Address.sol#213-216)
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#55-135) uses assembly
- INLINE ASM (node_modules/@openzeppelin/contracts/utils/math/Math.sol#66-70)
- INLINE ASM (node_modules/@openzeppelin/contracts/utils/math/Math.sol#86-93)
- INLINE ASM (node_modules/@openzeppelin/contracts/utils/math/Math.sol#100-109)
FixedPointMathLib.expWad(int256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#34-90) uses assembly
- INLINE ASM (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#73-78)
FixedPointMathLib.lnWad(int256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#92-150) uses assembly
- INLINE ASM (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#126-131)
FixedPointMathLib.mulDivDown(uint256,uint256,uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#156-173) uses assembly
- INLINE ASM (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#161-172)
FixedPointMathLib.mulDivUp(uint256,uint256,uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#175-194) uses assembly
- INLINE ASM (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#180-193)
FixedPointMathLib.rpow(uint256,uint256,uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#196-282) uses assembly
- INLINE ASM (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#201-281)
FixedPointMathLib.sqrt(uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#288-350) uses assembly
- INLINE ASM (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#289-349)
FixedPointMathLib.log2(uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#352-365) uses assembly
- INLINE ASM (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#355-364)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
Address.functionCall(address,bytes) (node_modules/@openzeppelin/contracts/utils/Address.sol#85-87) is never used and should be removed
Address.functionCall(address,bytes,string) (node_modules/@openzeppelin/contracts/utils/Address.sol#95-101) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (node_modules/@openzeppelin/contracts/utils/Address.sol#114-120) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (node_modules/@openzeppelin/contracts/utils/Address.sol#128-139) is never used and should be removed
Address.functionDelegateCall(address,bytes) (node_modules/@openzeppelin/contracts/utils/Address.sol#174-176) is never used and should be removed
Address.functionDelegateCall(address,bytes,string) (node_modules/@openzeppelin/contracts/utils/Address.sol#184-193) is never used and should be removed
Address.functionStaticCall(address,bytes) (node_modules/@openzeppelin/contracts/utils/Address.sol#147-149) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (node_modules/@openzeppelin/contracts/utils/Address.sol#157-166) is never used and should be removed
Address.isContract(address) (node_modules/@openzeppelin/contracts/utils/Address.sol#36-42) is never used and should be removed
Address.sendValue(address,uint256) (node_modules/@openzeppelin/contracts/utils/Address.sol#60-65) is never used and should be removed
Address.verifyCallResult(bool,bytes,string) (node_modules/@openzeppelin/contracts/utils/Address.sol#201-221) is never used and should be removed
AddressUpgradeable.functionCall(address,bytes) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#85-87) is never used and should be removed
AddressUpgradeable.functionCall(address,bytes,string) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#95-101) is never used and should be removed
AddressUpgradeable.functionCallWithValue(address,bytes,uint256) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#114-120) is never used and should be removed
AddressUpgradeable.functionCallWithValue(address,bytes,uint256,string) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#128-139) is never used and should be removed
AddressUpgradeable.functionStaticCall(address,bytes) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#147-149) is never used and should be removed
AddressUpgradeable.functionStaticCall(address,bytes,string) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#157-166) is never used and should be removed
AddressUpgradeable.sendValue(address,uint256) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#60-65) is never used and should be removed
AddressUpgradeable.verifyCallResult(bool,bytes,string) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#174-194) is never used and should be removed
Arithmetic.cdexp(int256,int256,int256) (contracts/libraries/Arithmetic.sol#39-47) is never used and should be removed
Arithmetic.clamp(int256,int256,int256) (contracts/libraries/Arithmetic.sol#21-27) is never used and should be removed
Burn.eth(uint256) (contracts/libraries/Burn.sol#14-16) is never used and should be removed
Burn.gas(uint256) (contracts/libraries/Burn.sol#23-29) is never used and should be removed
ContextUpgradeable.__Context_init() (node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#18-19) is never used and should be removed
ContextUpgradeable.__Context_init_unchained() (node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#21-22) is never used and should be removed
ContextUpgradeable._msgData() (node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#27-29) is never used and should be removed
FixedPointMathLib.divWadDown(uint256,uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#21-23) is never used and should be removed
FixedPointMathLib.divWadUp(uint256,uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#25-27) is never used and should be removed
FixedPointMathLib.expWad(int256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#34-90) is never used and should be removed
FixedPointMathLib.lnWad(int256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#92-150) is never used and should be removed
FixedPointMathLib.log2(uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#352-365) is never used and should be removed
FixedPointMathLib.mulDivDown(uint256,uint256,uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#156-173) is never used and should be removed
FixedPointMathLib.mulDivUp(uint256,uint256,uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#175-194) is never used and should be removed
FixedPointMathLib.mulWadDown(uint256,uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#13-15) is never used and should be removed
FixedPointMathLib.mulWadUp(uint256,uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#17-19) is never used and should be removed
FixedPointMathLib.powWad(int256,int256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#29-32) is never used and should be removed
FixedPointMathLib.rpow(uint256,uint256,uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#196-282) is never used and should be removed
FixedPointMathLib.sqrt(uint256) (node_modules/@rari-capital/solmate/src/utils/FixedPointMathLib.sol#288-350) is never used and should be removed
Initializable._disableInitializers() (node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol#131-137) is never used and should be removed
Math.average(uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#34-37) is never used and should be removed
Math.ceilDiv(uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#45-48) is never used and should be removed
Math.max(uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#19-21) is never used and should be removed
Math.min(uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#26-28) is never used and should be removed
Math.mulDiv(uint256,uint256,uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#55-135) is never used and should be removed
Math.mulDiv(uint256,uint256,uint256,Math.Rounding) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#140-151) is never used and should be removed
Math.sqrt(uint256) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#158-214) is never used and should be removed
Math.sqrt(uint256,Math.Rounding) (node_modules/@openzeppelin/contracts/utils/math/Math.sol#219-225) is never used and should be removed
ResourceMetering.__ResourceMetering_init() (contracts/L1/ResourceMetering.sol#179-185) is never used and should be removed
ResourceMetering._metered(uint64,uint256) (contracts/L1/ResourceMetering.sol#92-164) is never used and should be removed
SignedMath.abs(int256) (node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol#37-42) is never used and should be removed
SignedMath.average(int256,int256) (node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol#28-32) is never used and should be removed
SignedMath.max(int256,int256) (node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol#13-15) is never used and should be removed
SignedMath.min(int256,int256) (node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol#20-22) is never used and should be removed
Strings.toHexString(address) (node_modules/@openzeppelin/contracts/utils/Strings.sol#72-74) is never used and should be removed
Strings.toHexString(uint256) (node_modules/@openzeppelin/contracts/utils/Strings.sol#41-52) is never used and should be removed
Strings.toHexString(uint256,uint256) (node_modules/@openzeppelin/contracts/utils/Strings.sol#57-67) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Low level call in AddressUpgradeable.sendValue(address,uint256) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#60-65):
- (success) = recipient.call{value: amount}() (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#63)
Low level call in AddressUpgradeable.functionCallWithValue(address,bytes,uint256,string) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#128-139):
- (success,returndata) = target.call{value: value}(data) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#137)
Low level call in AddressUpgradeable.functionStaticCall(address,bytes,string) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#157-166):
- (success,returndata) = target.staticcall(data) (node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#164)
Low level call in Address.sendValue(address,uint256) (node_modules/@openzeppelin/contracts/utils/Address.sol#60-65):
- (success) = recipient.call{value: amount}() (node_modules/@openzeppelin/contracts/utils/Address.sol#63)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (node_modules/@openzeppelin/contracts/utils/Address.sol#128-139):
- (success,returndata) = target.call{value: value}(data) (node_modules/@openzeppelin/contracts/utils/Address.sol#137)
Low level call in Address.functionStaticCall(address,bytes,string) (node_modules/@openzeppelin/contracts/utils/Address.sol#157-166):
- (success,returndata) = target.staticcall(data) (node_modules/@openzeppelin/contracts/utils/Address.sol#164)
Low level call in Address.functionDelegateCall(address,bytes,string) (node_modules/@openzeppelin/contracts/utils/Address.sol#184-193):
- (success,returndata) = target.delegatecall(data) (node_modules/@openzeppelin/contracts/utils/Address.sol#191)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
INFO:Detectors:
Function ResourceMetering.__ResourceMetering_init() (contracts/L1/ResourceMetering.sol#179-185) is not in mixedCase
Variable ResourceMetering.__gap (contracts/L1/ResourceMetering.sol#68) is not in mixedCase
Parameter SystemConfig.initialize(address,uint256,uint256,bytes32,uint64,address,ResourceMetering.ResourceConfig)._owner (contracts/L1/SystemConfig.sol#126) is not in mixedCase
Parameter SystemConfig.initialize(address,uint256,uint256,bytes32,uint64,address,ResourceMetering.ResourceConfig)._overhead (contracts/L1/SystemConfig.sol#127) is not in mixedCase
Parameter SystemConfig.initialize(address,uint256,uint256,bytes32,uint64,address,ResourceMetering.ResourceConfig)._scalar (contracts/L1/SystemConfig.sol#128) is not in mixedCase
Parameter SystemConfig.initialize(address,uint256,uint256,bytes32,uint64,address,ResourceMetering.ResourceConfig)._batcherHash (contracts/L1/SystemConfig.sol#129) is not in mixedCase
Parameter SystemConfig.initialize(address,uint256,uint256,bytes32,uint64,address,ResourceMetering.ResourceConfig)._gasLimit (contracts/L1/SystemConfig.sol#130) is not in mixedCase
Parameter SystemConfig.initialize(address,uint256,uint256,bytes32,uint64,address,ResourceMetering.ResourceConfig)._unsafeBlockSigner (contracts/L1/SystemConfig.sol#131) is not in mixedCase
Parameter SystemConfig.initialize(address,uint256,uint256,bytes32,uint64,address,ResourceMetering.ResourceConfig)._config (contracts/L1/SystemConfig.sol#132) is not in mixedCase
Parameter SystemConfig.setUnsafeBlockSigner(address)._unsafeBlockSigner (contracts/L1/SystemConfig.sol#180) is not in mixedCase
Parameter SystemConfig.setBatcherHash(bytes32)._batcherHash (contracts/L1/SystemConfig.sol#192) is not in mixedCase
Parameter SystemConfig.setGasConfig(uint256,uint256)._overhead (contracts/L1/SystemConfig.sol#205) is not in mixedCase
Parameter SystemConfig.setGasConfig(uint256,uint256)._scalar (contracts/L1/SystemConfig.sol#205) is not in mixedCase
Parameter SystemConfig.setGasLimit(uint64)._gasLimit (contracts/L1/SystemConfig.sol#218) is not in mixedCase
Parameter SystemConfig.setResourceConfig(ResourceMetering.ResourceConfig)._config (contracts/L1/SystemConfig.sol#256) is not in mixedCase
Parameter Arithmetic.clamp(int256,int256,int256)._value (contracts/libraries/Arithmetic.sol#22) is not in mixedCase
Parameter Arithmetic.clamp(int256,int256,int256)._min (contracts/libraries/Arithmetic.sol#23) is not in mixedCase
Parameter Arithmetic.clamp(int256,int256,int256)._max (contracts/libraries/Arithmetic.sol#24) is not in mixedCase
Parameter Arithmetic.cdexp(int256,int256,int256)._coefficient (contracts/libraries/Arithmetic.sol#40) is not in mixedCase
Parameter Arithmetic.cdexp(int256,int256,int256)._denominator (contracts/libraries/Arithmetic.sol#41) is not in mixedCase
Parameter Arithmetic.cdexp(int256,int256,int256)._exponent (contracts/libraries/Arithmetic.sol#42) is not in mixedCase
Parameter Burn.eth(uint256)._amount (contracts/libraries/Burn.sol#14) is not in mixedCase
Parameter Burn.gas(uint256)._amount (contracts/libraries/Burn.sol#23) is not in mixedCase
Variable Semver.MAJOR_VERSION (contracts/universal/Semver.sol#14) is not in mixedCase
Variable Semver.MINOR_VERSION (contracts/universal/Semver.sol#19) is not in mixedCase
Variable Semver.PATCH_VERSION (contracts/universal/Semver.sol#24) is not in mixedCase
Function OwnableUpgradeable.__Ownable_init() (node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol#29-31) is not in mixedCase
Function OwnableUpgradeable.__Ownable_init_unchained() (node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol#33-35) is not in mixedCase
Variable OwnableUpgradeable.__gap (node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol#94) is not in mixedCase
Function ContextUpgradeable.__Context_init() (node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#18-19) is not in mixedCase
Function ContextUpgradeable.__Context_init_unchained() (node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#21-22) is not in mixedCase
Variable ContextUpgradeable.__gap (node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#36) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Detectors:
ResourceMetering (contracts/L1/ResourceMetering.sol#15-186) does not implement functions:
- ResourceMetering._resourceConfig() (contracts/L1/ResourceMetering.sol#172)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unimplemented-functions
INFO:Detectors:
ResourceMetering.__gap (contracts/L1/ResourceMetering.sol#68) is never used in ResourceMetering (contracts/L1/ResourceMetering.sol#15-186)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-state-variable
INFO:Slither:0x5efa852e92800d1c982711761e45c3fe39a2b6d8 analyzed (16 contracts with 87 detectors), 130 result(s) found
```
Slither report for Endpoint at `0x66A71Dcef29A0fFBDBE3c6a460a3B5BC225Cd675`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x66a71dcef29a0ffbdbe3c6a460a3b5bc225cd675-Endpoint' running
INFO:Detectors:
Reentrancy in Endpoint.receivePayload(uint16,bytes,address,uint64,uint256,bytes) (contracts/Endpoint.sol#100-125):
External calls:
- ILayerZeroReceiver(_dstAddress).lzReceive{gas: _gasLimit}(_srcChainId,_srcAddress,_nonce,_payload) (contracts/Endpoint.sol#118-124)
State variables written after the call(s):
- storedPayload[_srcChainId][_srcAddress] = StoredPayload(uint64(_payload.length),_dstAddress,keccak256(bytes)(_payload)) (contracts/Endpoint.sol#122)
Endpoint.storedPayload (contracts/Endpoint.sol#46) can be used in cross function reentrancies:
- Endpoint.forceResumeReceive(uint16,bytes) (contracts/Endpoint.sol#209-222)
- Endpoint.hasStoredPayload(uint16,bytes) (contracts/Endpoint.sol#308-311)
- Endpoint.receivePayload(uint16,bytes,address,uint64,uint256,bytes) (contracts/Endpoint.sol#100-125)
- Endpoint.retryPayload(uint16,bytes,bytes) (contracts/Endpoint.sol#127-142)
- Endpoint.storedPayload (contracts/Endpoint.sol#46)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-1
INFO:Detectors:
Endpoint.estimateFees(uint16,address,bytes,bool,bytes) (contracts/Endpoint.sol#227-231) ignores return value by lib.estimateFees(_dstChainId,_userApplication,_payload,_payInZRO,_adapterParams) (contracts/Endpoint.sol#230)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return
INFO:Detectors:
Reentrancy in Endpoint.receivePayload(uint16,bytes,address,uint64,uint256,bytes) (contracts/Endpoint.sol#100-125):
External calls:
- ILayerZeroReceiver(_dstAddress).lzReceive{gas: _gasLimit}(_srcChainId,_srcAddress,_nonce,_payload) (contracts/Endpoint.sol#118-124)
Event emitted after the call(s):
- PayloadStored(_srcChainId,_srcAddress,_dstAddress,_nonce,_payload,reason) (contracts/Endpoint.sol#123)
Reentrancy in Endpoint.retryPayload(uint16,bytes,bytes) (contracts/Endpoint.sol#127-142):
External calls:
- ILayerZeroReceiver(dstAddress).lzReceive(_srcChainId,_srcAddress,nonce,_payload) (contracts/Endpoint.sol#140)
Event emitted after the call(s):
- PayloadCleared(_srcChainId,_srcAddress,nonce,dstAddress) (contracts/Endpoint.sol#141)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3
INFO:Detectors:
Context._msgData() (@openzeppelin/contracts/utils/Context.sol#20-23) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Parameter Endpoint.send(uint16,bytes,bytes,address,address,bytes)._dstChainId (contracts/Endpoint.sol#92) is not in mixedCase
Parameter Endpoint.send(uint16,bytes,bytes,address,address,bytes)._destination (contracts/Endpoint.sol#92) is not in mixedCase
Parameter Endpoint.send(uint16,bytes,bytes,address,address,bytes)._payload (contracts/Endpoint.sol#92) is not in mixedCase
Parameter Endpoint.send(uint16,bytes,bytes,address,address,bytes)._refundAddress (contracts/Endpoint.sol#92) is not in mixedCase
Parameter Endpoint.send(uint16,bytes,bytes,address,address,bytes)._zroPaymentAddress (contracts/Endpoint.sol#92) is not in mixedCase
Parameter Endpoint.send(uint16,bytes,bytes,address,address,bytes)._adapterParams (contracts/Endpoint.sol#92) is not in mixedCase
Parameter Endpoint.receivePayload(uint16,bytes,address,uint64,uint256,bytes)._srcChainId (contracts/Endpoint.sol#100) is not in mixedCase
Parameter Endpoint.receivePayload(uint16,bytes,address,uint64,uint256,bytes)._srcAddress (contracts/Endpoint.sol#100) is not in mixedCase
Parameter Endpoint.receivePayload(uint16,bytes,address,uint64,uint256,bytes)._dstAddress (contracts/Endpoint.sol#100) is not in mixedCase
Parameter Endpoint.receivePayload(uint16,bytes,address,uint64,uint256,bytes)._nonce (contracts/Endpoint.sol#100) is not in mixedCase
Parameter Endpoint.receivePayload(uint16,bytes,address,uint64,uint256,bytes)._gasLimit (contracts/Endpoint.sol#100) is not in mixedCase
Parameter Endpoint.receivePayload(uint16,bytes,address,uint64,uint256,bytes)._payload (contracts/Endpoint.sol#100) is not in mixedCase
Parameter Endpoint.retryPayload(uint16,bytes,bytes)._srcChainId (contracts/Endpoint.sol#127) is not in mixedCase
Parameter Endpoint.retryPayload(uint16,bytes,bytes)._srcAddress (contracts/Endpoint.sol#127) is not in mixedCase
Parameter Endpoint.retryPayload(uint16,bytes,bytes)._payload (contracts/Endpoint.sol#127) is not in mixedCase
Parameter Endpoint.newVersion(address)._newLayerZeroLibraryAddress (contracts/Endpoint.sol#149) is not in mixedCase
Parameter Endpoint.setDefaultSendVersion(uint16)._newDefaultSendVersion (contracts/Endpoint.sol#158) is not in mixedCase
Parameter Endpoint.setDefaultReceiveVersion(uint16)._newDefaultReceiveVersion (contracts/Endpoint.sol#166) is not in mixedCase
Parameter Endpoint.setConfig(uint16,uint16,uint256,bytes)._version (contracts/Endpoint.sol#176) is not in mixedCase
Parameter Endpoint.setConfig(uint16,uint16,uint256,bytes)._chainId (contracts/Endpoint.sol#176) is not in mixedCase
Parameter Endpoint.setConfig(uint16,uint16,uint256,bytes)._configType (contracts/Endpoint.sol#176) is not in mixedCase
Parameter Endpoint.setConfig(uint16,uint16,uint256,bytes)._config (contracts/Endpoint.sol#176) is not in mixedCase
Parameter Endpoint.setSendVersion(uint16)._newVersion (contracts/Endpoint.sol#187) is not in mixedCase
Parameter Endpoint.setReceiveVersion(uint16)._newVersion (contracts/Endpoint.sol#200) is not in mixedCase
Parameter Endpoint.forceResumeReceive(uint16,bytes)._srcChainId (contracts/Endpoint.sol#209) is not in mixedCase
Parameter Endpoint.forceResumeReceive(uint16,bytes)._srcAddress (contracts/Endpoint.sol#209) is not in mixedCase
Parameter Endpoint.estimateFees(uint16,address,bytes,bool,bytes)._dstChainId (contracts/Endpoint.sol#227) is not in mixedCase
Parameter Endpoint.estimateFees(uint16,address,bytes,bool,bytes)._userApplication (contracts/Endpoint.sol#227) is not in mixedCase
Parameter Endpoint.estimateFees(uint16,address,bytes,bool,bytes)._payload (contracts/Endpoint.sol#227) is not in mixedCase
Parameter Endpoint.estimateFees(uint16,address,bytes,bool,bytes)._payInZRO (contracts/Endpoint.sol#227) is not in mixedCase
Parameter Endpoint.estimateFees(uint16,address,bytes,bool,bytes)._adapterParams (contracts/Endpoint.sol#227) is not in mixedCase
Parameter Endpoint.getSendLibraryAddress(address)._userApplication (contracts/Endpoint.sol#245) is not in mixedCase
Parameter Endpoint.getReceiveLibraryAddress(address)._userApplication (contracts/Endpoint.sol#257) is not in mixedCase
Parameter Endpoint.getInboundNonce(uint16,bytes)._srcChainId (contracts/Endpoint.sol#277) is not in mixedCase
Parameter Endpoint.getInboundNonce(uint16,bytes)._srcAddress (contracts/Endpoint.sol#277) is not in mixedCase
Parameter Endpoint.getOutboundNonce(uint16,address)._dstChainId (contracts/Endpoint.sol#281) is not in mixedCase
Parameter Endpoint.getOutboundNonce(uint16,address)._srcAddress (contracts/Endpoint.sol#281) is not in mixedCase
Parameter Endpoint.getSendVersion(address)._userApplication (contracts/Endpoint.sol#289) is not in mixedCase
Parameter Endpoint.getReceiveVersion(address)._userApplication (contracts/Endpoint.sol#294) is not in mixedCase
Parameter Endpoint.getConfig(uint16,uint16,address,uint256)._version (contracts/Endpoint.sol#299) is not in mixedCase
Parameter Endpoint.getConfig(uint16,uint16,address,uint256)._chainId (contracts/Endpoint.sol#299) is not in mixedCase
Parameter Endpoint.getConfig(uint16,uint16,address,uint256)._userApplication (contracts/Endpoint.sol#299) is not in mixedCase
Parameter Endpoint.getConfig(uint16,uint16,address,uint256)._configType (contracts/Endpoint.sol#299) is not in mixedCase
Parameter Endpoint.hasStoredPayload(uint16,bytes)._srcChainId (contracts/Endpoint.sol#308) is not in mixedCase
Parameter Endpoint.hasStoredPayload(uint16,bytes)._srcAddress (contracts/Endpoint.sol#308) is not in mixedCase
Variable Endpoint._send_entered_state (contracts/Endpoint.sol#67) is not in mixedCase
Variable Endpoint._receive_entered_state (contracts/Endpoint.sol#68) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Detectors:
Redundant expression "this (@openzeppelin/contracts/utils/Context.sol#21)" inContext (@openzeppelin/contracts/utils/Context.sol#15-24)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#redundant-statements
INFO:Slither:0x66a71dcef29a0ffbdbe3c6a460a3b5bc225cd675 analyzed (7 contracts with 87 detectors), 53 result(s) found
```
Slither report for HyperLaneAdapter at `0x6Abb61beb5848B476d026C4934E8a6415e2E75a8`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x6abb61beb5848b476d026c4934e8a6415e2e75a8-HyperLaneAdapter' running
INFO:Detectors:
HyperLaneAdapter.forwardMessage(address,uint256,uint256,bytes) (src/contracts/adapters/hyperLane/HyperLaneAdapter.sol#49-79) sends eth to arbitrary user
Dangerous calls:
- IGP.payForGas{value: quotedPayment}(messageId,nativeChainId,destinationGasLimit,address(this)) (src/contracts/adapters/hyperLane/HyperLaneAdapter.sol#71-76)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#functions-that-send-ether-to-arbitrary-destinations
INFO:Detectors:
TransactionUtils.encode(Transaction).encodedTransaction (src/contracts/libs/EncodingUtils.sol#116) is a local variable never initialized
EnvelopeUtils.encode(Envelope).encodedEnvelope (src/contracts/libs/EncodingUtils.sol#47) is a local variable never initialized
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-local-variables
INFO:Detectors:
EnumerableSet.values(EnumerableSet.Bytes32Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#219-229) uses assembly
- INLINE ASM (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#224-226)
EnumerableSet.values(EnumerableSet.AddressSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#293-303) uses assembly
- INLINE ASM (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#298-300)
EnumerableSet.values(EnumerableSet.UintSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#367-377) uses assembly
- INLINE ASM (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#372-374)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
EnumerableSet._add(EnumerableSet.Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#65-75) is never used and should be removed
EnumerableSet._at(EnumerableSet.Set,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#141-143) is never used and should be removed
EnumerableSet._contains(EnumerableSet.Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#120-122) is never used and should be removed
EnumerableSet._length(EnumerableSet.Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#127-129) is never used and should be removed
EnumerableSet._remove(EnumerableSet.Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#83-115) is never used and should be removed
EnumerableSet._values(EnumerableSet.Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#153-155) is never used and should be removed
EnumerableSet.add(EnumerableSet.AddressSet,address) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#243-245) is never used and should be removed
EnumerableSet.add(EnumerableSet.Bytes32Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#169-171) is never used and should be removed
EnumerableSet.add(EnumerableSet.UintSet,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#317-319) is never used and should be removed
EnumerableSet.at(EnumerableSet.AddressSet,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#281-283) is never used and should be removed
EnumerableSet.at(EnumerableSet.Bytes32Set,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#207-209) is never used and should be removed
EnumerableSet.at(EnumerableSet.UintSet,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#355-357) is never used and should be removed
EnumerableSet.contains(EnumerableSet.AddressSet,address) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#260-262) is never used and should be removed
EnumerableSet.contains(EnumerableSet.Bytes32Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#186-188) is never used and should be removed
EnumerableSet.contains(EnumerableSet.UintSet,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#334-336) is never used and should be removed
EnumerableSet.length(EnumerableSet.AddressSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#267-269) is never used and should be removed
EnumerableSet.length(EnumerableSet.Bytes32Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#193-195) is never used and should be removed
EnumerableSet.length(EnumerableSet.UintSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#341-343) is never used and should be removed
EnumerableSet.remove(EnumerableSet.AddressSet,address) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#253-255) is never used and should be removed
EnumerableSet.remove(EnumerableSet.Bytes32Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#179-181) is never used and should be removed
EnumerableSet.remove(EnumerableSet.UintSet,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#327-329) is never used and should be removed
EnumerableSet.values(EnumerableSet.AddressSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#293-303) is never used and should be removed
EnumerableSet.values(EnumerableSet.Bytes32Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#219-229) is never used and should be removed
EnumerableSet.values(EnumerableSet.UintSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#367-377) is never used and should be removed
EnvelopeUtils.decode(bytes) (src/contracts/libs/EncodingUtils.sol#58-60) is never used and should be removed
EnvelopeUtils.encode(Envelope) (src/contracts/libs/EncodingUtils.sol#46-51) is never used and should be removed
EnvelopeUtils.getId(Envelope) (src/contracts/libs/EncodingUtils.sol#67-70) is never used and should be removed
EnvelopeUtils.getId(bytes) (src/contracts/libs/EncodingUtils.sol#77-79) is never used and should be removed
SafeCast.toInt104(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#901-904) is never used and should be removed
SafeCast.toInt112(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#883-886) is never used and should be removed
SafeCast.toInt120(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#865-868) is never used and should be removed
SafeCast.toInt128(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#847-850) is never used and should be removed
SafeCast.toInt136(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#829-832) is never used and should be removed
SafeCast.toInt144(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#811-814) is never used and should be removed
SafeCast.toInt152(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#793-796) is never used and should be removed
SafeCast.toInt16(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#1099-1102) is never used and should be removed
SafeCast.toInt160(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#775-778) is never used and should be removed
SafeCast.toInt168(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#757-760) is never used and should be removed
SafeCast.toInt176(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#739-742) is never used and should be removed
SafeCast.toInt184(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#721-724) is never used and should be removed
SafeCast.toInt192(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#703-706) is never used and should be removed
SafeCast.toInt200(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#685-688) is never used and should be removed
SafeCast.toInt208(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#667-670) is never used and should be removed
SafeCast.toInt216(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#649-652) is never used and should be removed
SafeCast.toInt224(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#631-634) is never used and should be removed
SafeCast.toInt232(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#613-616) is never used and should be removed
SafeCast.toInt24(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#1081-1084) is never used and should be removed
SafeCast.toInt240(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#595-598) is never used and should be removed
SafeCast.toInt248(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#577-580) is never used and should be removed
SafeCast.toInt256(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#1131-1135) is never used and should be removed
SafeCast.toInt32(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#1063-1066) is never used and should be removed
SafeCast.toInt40(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#1045-1048) is never used and should be removed
SafeCast.toInt48(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#1027-1030) is never used and should be removed
SafeCast.toInt56(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#1009-1012) is never used and should be removed
SafeCast.toInt64(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#991-994) is never used and should be removed
SafeCast.toInt72(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#973-976) is never used and should be removed
SafeCast.toInt8(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#1117-1120) is never used and should be removed
SafeCast.toInt80(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#955-958) is never used and should be removed
SafeCast.toInt88(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#937-940) is never used and should be removed
SafeCast.toInt96(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#919-922) is never used and should be removed
SafeCast.toUint104(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#341-344) is never used and should be removed
SafeCast.toUint112(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#324-327) is never used and should be removed
SafeCast.toUint120(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#307-310) is never used and should be removed
SafeCast.toUint128(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#290-293) is never used and should be removed
SafeCast.toUint136(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#273-276) is never used and should be removed
SafeCast.toUint144(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#256-259) is never used and should be removed
SafeCast.toUint152(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#239-242) is never used and should be removed
SafeCast.toUint16(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#528-531) is never used and should be removed
SafeCast.toUint160(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#222-225) is never used and should be removed
SafeCast.toUint168(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#205-208) is never used and should be removed
SafeCast.toUint176(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#188-191) is never used and should be removed
SafeCast.toUint184(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#171-174) is never used and should be removed
SafeCast.toUint192(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#154-157) is never used and should be removed
SafeCast.toUint200(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#137-140) is never used and should be removed
SafeCast.toUint208(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#120-123) is never used and should be removed
SafeCast.toUint216(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#103-106) is never used and should be removed
SafeCast.toUint224(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#86-89) is never used and should be removed
SafeCast.toUint232(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#69-72) is never used and should be removed
SafeCast.toUint24(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#511-514) is never used and should be removed
SafeCast.toUint240(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#52-55) is never used and should be removed
SafeCast.toUint248(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#35-38) is never used and should be removed
SafeCast.toUint256(int256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#559-562) is never used and should be removed
SafeCast.toUint40(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#477-480) is never used and should be removed
SafeCast.toUint48(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#460-463) is never used and should be removed
SafeCast.toUint56(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#443-446) is never used and should be removed
SafeCast.toUint64(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#426-429) is never used and should be removed
SafeCast.toUint72(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#409-412) is never used and should be removed
SafeCast.toUint8(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#545-548) is never used and should be removed
SafeCast.toUint80(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#392-395) is never used and should be removed
SafeCast.toUint88(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#375-378) is never used and should be removed
SafeCast.toUint96(uint256) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#358-361) is never used and should be removed
TransactionUtils.decode(bytes) (src/contracts/libs/EncodingUtils.sol#127-129) is never used and should be removed
TransactionUtils.encode(Transaction) (src/contracts/libs/EncodingUtils.sol#113-120) is never used and should be removed
TransactionUtils.getEnvelope(Transaction) (src/contracts/libs/EncodingUtils.sol#155-157) is never used and should be removed
TransactionUtils.getEnvelopeId(Transaction) (src/contracts/libs/EncodingUtils.sol#164-166) is never used and should be removed
TransactionUtils.getId(Transaction) (src/contracts/libs/EncodingUtils.sol#136-139) is never used and should be removed
TransactionUtils.getId(bytes) (src/contracts/libs/EncodingUtils.sol#146-148) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Parameter TypeCasts.addressToBytes32(address)._addr (lib/hyperlane-monorepo/solidity/contracts/libs/TypeCasts.sol#6) is not in mixedCase
Parameter TypeCasts.bytes32ToAddress(bytes32)._buf (lib/hyperlane-monorepo/solidity/contracts/libs/TypeCasts.sol#11) is not in mixedCase
Variable BaseAdapter.CROSS_CHAIN_CONTROLLER (src/contracts/adapters/BaseAdapter.sol#15) is not in mixedCase
Parameter HyperLaneAdapter.handle(uint32,bytes32,bytes)._origin (src/contracts/adapters/hyperLane/HyperLaneAdapter.sol#83) is not in mixedCase
Parameter HyperLaneAdapter.handle(uint32,bytes32,bytes)._sender (src/contracts/adapters/hyperLane/HyperLaneAdapter.sol#84) is not in mixedCase
Parameter HyperLaneAdapter.handle(uint32,bytes32,bytes)._messageBody (src/contracts/adapters/hyperLane/HyperLaneAdapter.sol#85) is not in mixedCase
Variable HyperLaneAdapter.HL_MAIL_BOX (src/contracts/adapters/hyperLane/HyperLaneAdapter.sol#21) is not in mixedCase
Variable HyperLaneAdapter.IGP (src/contracts/adapters/hyperLane/HyperLaneAdapter.sol#24) is not in mixedCase
Function IHyperLaneAdapter.HL_MAIL_BOX() (src/contracts/adapters/hyperLane/IHyperLaneAdapter.sol#17) is not in mixedCase
Function IHyperLaneAdapter.IGP() (src/contracts/adapters/hyperLane/IHyperLaneAdapter.sol#23) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Slither:0x6abb61beb5848b476d026c4934e8a6415e2e75a8 analyzed (19 contracts with 87 detectors), 113 result(s) found
```
Slither report for TransparentUpgradeableProxy at `0x6cA0B6D22da47f091B7613223cD4BB03a2d77918` with implementation InterchainGasPaymaster at `0xbdd8eb3884A8F111F338b7784c163DD62d03DaF9`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts' running
Warning: Warning: This declaration shadows an existing declaration.
--> crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol:6254:5:
|
6254 | struct Message {
| ^ (Relevant source part starts here and spans across multiple lines).
Note: The shadowed declaration is here:
--> crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol:2294:1:
|
2294 | library Message {
| ^ (Relevant source part starts here and spans across multiple lines).
INFO:Detectors:
InterchainGasPaymaster.claim() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1087-1091) sends eth to arbitrary user
Dangerous calls:
- (success) = owner().call{value: address(this).balance}() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1089)
Router._dispatchWithGas(uint32,bytes,uint256,uint256,address) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4516-4532) sends eth to arbitrary user
Dangerous calls:
- interchainGasPaymaster.payForGas{value: _gasPayment}(_messageId,_destinationDomain,_gasAmount,_gasPaymentRefundAddress) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4526-4531)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#functions-that-send-ether-to-arbitrary-destinations
INFO:Detectors:
TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6993-7031) uses a weak PRNG: "_blockHashNum % 5 == 0 (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7006)"
TestSendReceiver.handle(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7033-7042) uses a weak PRNG: "isBlockHashEven = uint256(blockHash) % 2 == 0 (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7039)"
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#weak-PRNG
INFO:Detectors:
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1264-1344) has bitwise-xor operator ^ instead of the exponentiation operator **:
- inverse = (3 * denominator) ^ 2 (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1326)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-exponentiation
INFO:Detectors:
TransparentUpgradeableProxy.admin() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7604-7606) calls TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7587-7593) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7139)
TransparentUpgradeableProxy.implementation() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7617-7619) calls TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7587-7593) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7139)
TransparentUpgradeableProxy.changeAdmin(address) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7628-7630) calls TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7587-7593) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7139)
TransparentUpgradeableProxy.upgradeTo(address) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7637-7639) calls TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7587-7593) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7139)
TransparentUpgradeableProxy.upgradeToAndCall(address,bytes) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7648-7650) calls TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7587-7593) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7139)
TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7587-7593) calls Proxy._fallback() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7155-7158) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7139)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-assembly-return
INFO:Detectors:
Router.__GAP (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4347) shadows:
- HyperlaneConnectionClient.__GAP (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#888)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#state-variable-shadowing
INFO:Detectors:
MockCircleBridge.depositForBurn(uint256,uint32,bytes32,address) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6164-6175) ignores return value by token.transferFrom(msg.sender,address(this),_amount) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6173)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unchecked-transfer
INFO:Detectors:
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1264-1344) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1311)
- inverse = (3 * denominator) ^ 2 (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1326)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1264-1344) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1311)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1330)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1264-1344) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1311)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1331)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1264-1344) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1311)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1332)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1264-1344) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1311)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1333)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1264-1344) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1311)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1334)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1264-1344) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1311)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1335)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1264-1344) performs a multiplication on the result of a division:
- prod0 = prod0 / twos (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1314)
- result = prod0 * inverse (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1341)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#divide-before-multiply
INFO:Detectors:
TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6993-7031) uses a dangerous strict equality:
- _blockHashNum % 5 == 0 (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7006)
TestSendReceiver.handle(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7033-7042) uses a dangerous strict equality:
- isBlockHashEven = uint256(blockHash) % 2 == 0 (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7039)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-strict-equalities
INFO:Detectors:
Reentrancy in MockMailbox.processNextInboundMessage() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6304-6312):
External calls:
- IMessageRecipient(_message.recipient).handle(_message.origin,_message.sender.addressToBytes32(),_message.body) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6306-6310)
State variables written after the call(s):
- inboundProcessedNonce ++ (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6311)
MockMailbox.inboundProcessedNonce (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6250) can be used in cross function reentrancies:
- MockMailbox.inboundProcessedNonce (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6250)
- MockMailbox.processNextInboundMessage() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6304-6312)
Reentrancy in MockInterchainAccountRouter.processNextPendingCall() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6448-6458):
External calls:
- getDeployedInterchainAccount(originDomain,sender).proxyCalls(calls) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6455)
- OwnableMulticall(interchainAccount).initialize() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4773)
State variables written after the call(s):
- callsProcessed += 1 (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6457)
MockInterchainAccountRouter.callsProcessed (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6432) can be used in cross function reentrancies:
- MockInterchainAccountRouter.processNextPendingCall() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6448-6458)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-1
INFO:Detectors:
TestMailbox.proof()._proof (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6590) is a local variable never initialized
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-local-variables
INFO:Detectors:
EnumerableMapExtended.set(EnumerableMapExtended.UintToBytes32Map,uint256,bytes32) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3806-3812) ignores return value by map._inner.set(bytes32(key),value) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3811)
TestQuery.queryRouterOwner(uint32,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6779-6789) ignores return value by router.query(domain,call,callback) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6788)
TestQuerySender.queryAddress(uint32,address,bytes) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6822-6832) ignores return value by queryRouter.query(_destinationDomain,Call({to:_target,data:_targetData}),abi.encodePacked(this.handleQueryAddressResult.selector)) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6827-6831)
TestQuerySender.queryUint256(uint32,address,bytes) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6839-6849) ignores return value by queryRouter.query(_destinationDomain,Call({to:_target,data:_targetData}),abi.encodePacked(this.handleQueryUint256Result.selector)) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6844-6848)
TestQuerySender.queryBytes32(uint32,address,bytes) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6856-6866) ignores return value by queryRouter.query(_destinationDomain,Call({to:_target,data:_targetData}),abi.encodePacked(this.handleQueryBytes32Result.selector)) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6861-6865)
ERC1967Upgrade._upgradeToAndCall(address,bytes,bool) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7386-7395) ignores return value by Address.functionDelegateCall(newImplementation,data) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7393)
ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7495-7505) ignores return value by Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7503)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return
INFO:Detectors:
Mailbox.initialize(address,address)._owner (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4071) shadows:
- OwnableUpgradeable._owner (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#538) (state variable)
CircleBridgeAdapter.initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5259) shadows:
- OwnableUpgradeable._owner (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#538) (state variable)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#local-variable-shadowing
INFO:Detectors:
CircleBridgeAdapter.initialize(address,address,address,address)._liquidityLayerRouter (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5262) lacks a zero-check on :
- liquidityLayerRouter = _liquidityLayerRouter (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5271)
TestQuerySender.handleQueryAddressResult(address)._result (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6834) lacks a zero-check on :
- lastAddressResult = _result (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6836)
TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._token (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7078) lacks a zero-check on :
- lastToken = _token (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7084)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation
INFO:Detectors:
Modifier TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7587-7593) does not always execute _; or revertReference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-modifier
INFO:Detectors:
OwnableMulticall.proxyCalls(Call[]) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4287-4298) has external calls inside a loop: (success,returnData) = calls[i].to.call(calls[i].data) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4289-4291)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation/#calls-inside-a-loop
INFO:Detectors:
Reentrancy in MockMailbox.dispatch(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6269-6287):
External calls:
- _destinationMailbox.addInboundMessage(domain,msg.sender,_recipientAddress.bytes32ToAddress(),_messageBody) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6279-6284)
State variables written after the call(s):
- outboundNonce ++ (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6285)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-2
INFO:Detectors:
Reentrancy in InterchainQueryRouter._handle(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4950-4978):
External calls:
- resolveCallbacks = _call(calls,callbacks) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4964)
- (success,returnData) = calls[i].to.call(calls[i].data) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4306-4308)
- _dispatch(_origin,abi.encode(Action.RESOLVE,sender,resolveCallbacks)) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4965-4968)
- mailbox.dispatch(_destinationDomain,_router,_messageBody) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4548)
Event emitted after the call(s):
- QueryReturned(_origin,sender) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4969)
Reentrancy in InterchainQueryRouter._handle(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4950-4978):
External calls:
- proxyCallBatch(sender_scope_0,resolveCallbacks_scope_1) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4975)
- (success,returnData) = to.call(calls[i]) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4317)
Event emitted after the call(s):
- QueryResolved(_origin,sender_scope_0) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4976)
Reentrancy in InterchainAccountRouter.getDeployedInterchainAccount(uint32,address) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4764-4777):
External calls:
- OwnableMulticall(interchainAccount).initialize() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4773)
Event emitted after the call(s):
- InterchainAccountCreated(_origin,_sender,interchainAccount) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4774)
Reentrancy in Mailbox.process(bytes,bytes) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4134-4161):
External calls:
- require(bool,string)(_ism.verify(_metadata,_message),!module) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4152)
- IMessageRecipient(recipient).handle(origin,sender,_message.body()) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4158)
Event emitted after the call(s):
- Process(origin,sender,recipient) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4159)
- ProcessId(_id) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4160)
Reentrancy in InterchainQueryRouter.query(uint32,Call[],bytes[]) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4933-4947):
External calls:
- messageId = _dispatch(_destinationDomain,abi.encode(Action.DISPATCH,msg.sender,calls,callbacks)) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4942-4945)
- mailbox.dispatch(_destinationDomain,_router,_messageBody) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4548)
Event emitted after the call(s):
- QueryDispatched(_destinationDomain,msg.sender) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4946)
Reentrancy in CircleBridgeAdapter.sendTokens(uint32,bytes32,address,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5274-5311):
External calls:
- require(bool,string)(IERC20(_token).approve(address(circleBridge),_amount),!approval) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5297-5300)
- _nonce = circleBridge.depositForBurn(_amount,_circleDomain,_remoteRouter,_token) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5302-5307)
Event emitted after the call(s):
- BridgedToken(_nonce) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5309)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3
INFO:Detectors:
AddressUpgradeable._revert(bytes,string) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#294-306) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#299-302)
Address._revert(bytes,string) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#846-858) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#851-854)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1264-1344) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1275-1279)
- INLINE ASM (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1295-1302)
- INLINE ASM (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1309-1318)
Strings.toString(uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1574-1594) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1580-1582)
- INLINE ASM (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1586-1588)
ECDSA.tryRecover(bytes32,bytes) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1683-1700) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1691-1695)
EnumerableSet.values(EnumerableSet.Bytes32Set) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2064-2074) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2069-2071)
EnumerableSet.values(EnumerableSet.AddressSet) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2138-2148) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2143-2145)
EnumerableSet.values(EnumerableSet.UintSet) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2212-2222) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2217-2219)
TypeCasts.coerceString(bytes32) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2254-2271) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2265-2270)
OwnableMulticall.proxyCalls(Call[]) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4287-4298) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4293-4295)
OwnableMulticall.proxyCallBatch(address,bytes[]) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4315-4324) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4319-4321)
Create2.deploy(uint256,bytes32,bytes) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4627-4639) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4635-4637)
Create2.computeAddress(bytes32,bytes32,address) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4653-4679) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4659-4678)
BadRecipient1.handle(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6468-6476) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6473-6475)
BadRecipient3.handle(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6486-6495) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6491-6494)
Proxy._delegate(address) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7119-7142) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7120-7141)
StorageSlot.getAddressSlot(bytes32) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7283-7288) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7285-7287)
StorageSlot.getBooleanSlot(bytes32) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7293-7298) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7295-7297)
StorageSlot.getBytes32Slot(bytes32) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7303-7308) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7305-7307)
StorageSlot.getUint256Slot(bytes32) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7313-7318) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7315-7317)
Create2Factory._deploy(bytes,bytes32) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7863-7882) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7870-7877)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
Mailbox.process(bytes,bytes) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4134-4161) compares to a boolean constant:
-require(bool,string)(delivered[_id] == false,delivered) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4145)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#boolean-equality
INFO:Detectors:
Address.functionCall(address,bytes) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#700-702) is never used and should be removed
Address.functionCall(address,bytes,string) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#710-716) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#729-735) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#743-752) is never used and should be removed
Address.functionStaticCall(address,bytes) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#760-762) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#770-777) is never used and should be removed
Address.sendValue(address,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#675-680) is never used and should be removed
Address.verifyCallResult(bool,bytes,string) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#834-844) is never used and should be removed
AddressUpgradeable._revert(bytes,string) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#294-306) is never used and should be removed
AddressUpgradeable.functionCall(address,bytes) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#173-175) is never used and should be removed
AddressUpgradeable.functionCall(address,bytes,string) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#183-189) is never used and should be removed
AddressUpgradeable.functionCallWithValue(address,bytes,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#202-208) is never used and should be removed
AddressUpgradeable.functionCallWithValue(address,bytes,uint256,string) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#216-225) is never used and should be removed
AddressUpgradeable.functionStaticCall(address,bytes) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#233-235) is never used and should be removed
AddressUpgradeable.functionStaticCall(address,bytes,string) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#243-250) is never used and should be removed
AddressUpgradeable.sendValue(address,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#148-153) is never used and should be removed
AddressUpgradeable.verifyCallResult(bool,bytes,string) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#282-292) is never used and should be removed
AddressUpgradeable.verifyCallResultFromTarget(address,bool,bytes,string) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#258-274) is never used and should be removed
Context._msgData() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1117-1119) is never used and should be removed
ContextUpgradeable.__Context_init() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#495-496) is never used and should be removed
ContextUpgradeable.__Context_init_unchained() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#498-499) is never used and should be removed
ContextUpgradeable._msgData() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#504-506) is never used and should be removed
ECDSA.recover(bytes32,bytes32,bytes32) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1744-1752) is never used and should be removed
ECDSA.recover(bytes32,uint8,bytes32,bytes32) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1792-1801) is never used and should be removed
ECDSA.toEthSignedMessageHash(bytes) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1825-1827) is never used and should be removed
ECDSA.toTypedDataHash(bytes32,bytes32) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1838-1840) is never used and should be removed
ECDSA.tryRecover(bytes32,bytes32,bytes32) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1729-1737) is never used and should be removed
ERC1967Upgrade._getBeacon() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7473-7475) is never used and should be removed
ERC1967Upgrade._setBeacon(address) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7480-7487) is never used and should be removed
ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7495-7505) is never used and should be removed
ERC1967Upgrade._upgradeToAndCallUUPS(address,bytes,bool) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7402-7420) is never used and should be removed
ERC20Upgradeable.__ERC20_init(string,string) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5785-5787) is never used and should be removed
ERC20Upgradeable.__ERC20_init_unchained(string,string) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5789-5792) is never used and should be removed
EnumerableMap.at(EnumerableMap.AddressToUintMap,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3648-3651) is never used and should be removed
EnumerableMap.at(EnumerableMap.Bytes32ToBytes32Map,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3364-3367) is never used and should be removed
EnumerableMap.at(EnumerableMap.Bytes32ToUintMap,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3740-3743) is never used and should be removed
EnumerableMap.at(EnumerableMap.UintToAddressMap,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3556-3559) is never used and should be removed
EnumerableMap.at(EnumerableMap.UintToUintMap,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3464-3467) is never used and should be removed
EnumerableMap.contains(EnumerableMap.AddressToUintMap,address) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3628-3630) is never used and should be removed
EnumerableMap.contains(EnumerableMap.Bytes32ToUintMap,bytes32) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3720-3722) is never used and should be removed
EnumerableMap.contains(EnumerableMap.UintToAddressMap,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3536-3538) is never used and should be removed
EnumerableMap.contains(EnumerableMap.UintToUintMap,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3444-3446) is never used and should be removed
EnumerableMap.get(EnumerableMap.AddressToUintMap,address) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3669-3671) is never used and should be removed
EnumerableMap.get(EnumerableMap.AddressToUintMap,address,string) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3679-3685) is never used and should be removed
EnumerableMap.get(EnumerableMap.Bytes32ToBytes32Map,bytes32,string) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3401-3409) is never used and should be removed
EnumerableMap.get(EnumerableMap.Bytes32ToUintMap,bytes32) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3761-3763) is never used and should be removed
EnumerableMap.get(EnumerableMap.Bytes32ToUintMap,bytes32,string) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3771-3777) is never used and should be removed
EnumerableMap.get(EnumerableMap.UintToAddressMap,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3577-3579) is never used and should be removed
EnumerableMap.get(EnumerableMap.UintToAddressMap,uint256,string) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3587-3593) is never used and should be removed
EnumerableMap.get(EnumerableMap.UintToUintMap,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3485-3487) is never used and should be removed
EnumerableMap.get(EnumerableMap.UintToUintMap,uint256,string) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3495-3501) is never used and should be removed
EnumerableMap.length(EnumerableMap.AddressToUintMap) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3635-3637) is never used and should be removed
EnumerableMap.length(EnumerableMap.Bytes32ToBytes32Map) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3350-3352) is never used and should be removed
EnumerableMap.length(EnumerableMap.Bytes32ToUintMap) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3727-3729) is never used and should be removed
EnumerableMap.length(EnumerableMap.UintToAddressMap) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3543-3545) is never used and should be removed
EnumerableMap.length(EnumerableMap.UintToUintMap) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3451-3453) is never used and should be removed
EnumerableMap.remove(EnumerableMap.AddressToUintMap,address) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3621-3623) is never used and should be removed
EnumerableMap.remove(EnumerableMap.Bytes32ToBytes32Map,bytes32) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3335-3338) is never used and should be removed
EnumerableMap.remove(EnumerableMap.Bytes32ToUintMap,bytes32) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3713-3715) is never used and should be removed
EnumerableMap.remove(EnumerableMap.UintToAddressMap,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3529-3531) is never used and should be removed
EnumerableMap.remove(EnumerableMap.UintToUintMap,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3437-3439) is never used and should be removed
EnumerableMap.set(EnumerableMap.AddressToUintMap,address,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3608-3614) is never used and should be removed
EnumerableMap.set(EnumerableMap.Bytes32ToUintMap,bytes32,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3700-3706) is never used and should be removed
EnumerableMap.set(EnumerableMap.UintToAddressMap,uint256,address) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3516-3522) is never used and should be removed
EnumerableMap.set(EnumerableMap.UintToUintMap,uint256,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3424-3430) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.AddressToUintMap,address) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3657-3660) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.Bytes32ToBytes32Map,bytes32) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3373-3380) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.Bytes32ToUintMap,bytes32) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3749-3752) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.UintToAddressMap,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3565-3568) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.UintToUintMap,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3473-3476) is never used and should be removed
EnumerableMapExtended.at(EnumerableMapExtended.UintToBytes32Map,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3845-3852) is never used and should be removed
EnumerableMapExtended.length(EnumerableMapExtended.UintToBytes32Map) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3837-3843) is never used and should be removed
EnumerableMapExtended.remove(EnumerableMapExtended.UintToBytes32Map,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3822-3827) is never used and should be removed
EnumerableSet._values(EnumerableSet.Set) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1998-2000) is never used and should be removed
EnumerableSet.add(EnumerableSet.UintSet,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2162-2164) is never used and should be removed
EnumerableSet.at(EnumerableSet.Bytes32Set,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2052-2054) is never used and should be removed
EnumerableSet.at(EnumerableSet.UintSet,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2200-2202) is never used and should be removed
EnumerableSet.contains(EnumerableSet.UintSet,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2179-2181) is never used and should be removed
EnumerableSet.length(EnumerableSet.Bytes32Set) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2038-2040) is never used and should be removed
EnumerableSet.length(EnumerableSet.UintSet) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2186-2188) is never used and should be removed
EnumerableSet.remove(EnumerableSet.Bytes32Set,bytes32) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2024-2026) is never used and should be removed
EnumerableSet.remove(EnumerableSet.UintSet,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2172-2174) is never used and should be removed
EnumerableSet.values(EnumerableSet.AddressSet) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2138-2148) is never used and should be removed
EnumerableSet.values(EnumerableSet.Bytes32Set) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2064-2074) is never used and should be removed
EnumerableSet.values(EnumerableSet.UintSet) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2212-2222) is never used and should be removed
Initializable._disableInitializers() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#453-459) is never used and should be removed
Initializable._getInitializedVersion() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#464-466) is never used and should be removed
Initializable._isInitializing() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#471-473) is never used and should be removed
Math.average(uint256,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1243-1246) is never used and should be removed
Math.ceilDiv(uint256,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1254-1257) is never used and should be removed
Math.log10(uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1467-1499) is never used and should be removed
Math.log10(uint256,Math.Rounding) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1505-1510) is never used and should be removed
Math.log2(uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1414-1450) is never used and should be removed
Math.log2(uint256,Math.Rounding) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1456-1461) is never used and should be removed
Math.log256(uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1518-1542) is never used and should be removed
Math.log256(uint256,Math.Rounding) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1548-1553) is never used and should be removed
Math.max(uint256,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1228-1230) is never used and should be removed
Math.min(uint256,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1235-1237) is never used and should be removed
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1264-1344) is never used and should be removed
Math.mulDiv(uint256,uint256,uint256,Math.Rounding) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1349-1360) is never used and should be removed
Math.sqrt(uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1367-1398) is never used and should be removed
Math.sqrt(uint256,Math.Rounding) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1403-1408) is never used and should be removed
Message.senderAddress(bytes) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2388-2394) is never used and should be removed
MultisigIsmMetadata.commitment(bytes) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2598-2604) is never used and should be removed
StorageSlot.getBooleanSlot(bytes32) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7293-7298) is never used and should be removed
StorageSlot.getBytes32Slot(bytes32) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7303-7308) is never used and should be removed
StorageSlot.getUint256Slot(bytes32) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7313-7318) is never used and should be removed
Strings.toHexString(address) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1623-1625) is never used and should be removed
Strings.toHexString(uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1599-1603) is never used and should be removed
Strings.toHexString(uint256,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1608-1618) is never used and should be removed
Strings.toString(uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1574-1594) is never used and should be removed
TransparentUpgradeableProxy._admin() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7655-7657) is never used and should be removed
TypeCasts.coerceString(bytes32) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2254-2271) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Low level call in AddressUpgradeable.sendValue(address,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#148-153):
- (success) = recipient.call{value: amount}() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#151)
Low level call in AddressUpgradeable.functionCallWithValue(address,bytes,uint256,string) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#216-225):
- (success,returndata) = target.call{value: value}(data) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#223)
Low level call in AddressUpgradeable.functionStaticCall(address,bytes,string) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#243-250):
- (success,returndata) = target.staticcall(data) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#248)
Low level call in Address.sendValue(address,uint256) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#675-680):
- (success) = recipient.call{value: amount}() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#678)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#743-752):
- (success,returndata) = target.call{value: value}(data) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#750)
Low level call in Address.functionStaticCall(address,bytes,string) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#770-777):
- (success,returndata) = target.staticcall(data) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#775)
Low level call in Address.functionDelegateCall(address,bytes,string) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#795-802):
- (success,returndata) = target.delegatecall(data) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#800)
Low level call in InterchainGasPaymaster.claim() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1087-1091):
- (success) = owner().call{value: address(this).balance}() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1089)
Low level call in OwnableMulticall.proxyCalls(Call[]) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4287-4298):
- (success,returnData) = calls[i].to.call(calls[i].data) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4289-4291)
Low level call in OwnableMulticall._call(Call[],bytes[]) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4300-4312):
- (success,returnData) = calls[i].to.call(calls[i].data) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4306-4308)
Low level call in OwnableMulticall.proxyCallBatch(address,bytes[]) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4315-4324):
- (success,returnData) = to.call(calls[i]) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4317)
Low level call in ProxyAdmin.getProxyImplementation(TransparentUpgradeableProxy) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7689-7695):
- (success,returndata) = address(proxy).staticcall(0x5c60da1b) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7692)
Low level call in ProxyAdmin.getProxyAdmin(TransparentUpgradeableProxy) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7704-7710):
- (success,returndata) = address(proxy).staticcall(0xf851a440) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7707)
Low level call in Create2Factory.deployAndInit(bytes,bytes32,bytes) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7822-7835):
- (success) = deployedAddress_.call(init) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7833)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
INFO:Detectors:
TransparentUpgradeableProxy (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7571-7666) should inherit from IBeacon (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7196-7203)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-inheritance
INFO:Detectors:
Function ContextUpgradeable.__Context_init() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#495-496) is not in mixedCase
Function ContextUpgradeable.__Context_init_unchained() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#498-499) is not in mixedCase
Variable ContextUpgradeable.__gap (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#513) is not in mixedCase
Function OwnableUpgradeable.__Ownable_init() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#545-547) is not in mixedCase
Function OwnableUpgradeable.__Ownable_init_unchained() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#549-551) is not in mixedCase
Variable OwnableUpgradeable.__gap (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#610) is not in mixedCase
Function HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#925-931) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address)._mailbox (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#925) is not in mixedCase
Function HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#933-939) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address)._mailbox (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#934) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#935) is not in mixedCase
Function HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#941-951) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address)._mailbox (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#942) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#943) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address)._interchainSecurityModule (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#944) is not in mixedCase
Parameter HyperlaneConnectionClient.setMailbox(address)._mailbox (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#959) is not in mixedCase
Parameter HyperlaneConnectionClient.setInterchainGasPaymaster(address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#967) is not in mixedCase
Parameter HyperlaneConnectionClient.setInterchainSecurityModule(address)._module (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#975) is not in mixedCase
Variable HyperlaneConnectionClient.__GAP (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#888) is not in mixedCase
Parameter InterchainGasPaymaster.payForGas(bytes32,uint32,uint256,address)._messageId (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1069) is not in mixedCase
Parameter InterchainGasPaymaster.payForGas(bytes32,uint32,uint256,address)._gasAmount (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1071) is not in mixedCase
Parameter TypeCasts.coerceString(bytes32)._buf (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2254) is not in mixedCase
Parameter TypeCasts.addressToBytes32(address)._addr (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2274) is not in mixedCase
Parameter TypeCasts.bytes32ToAddress(bytes32)._buf (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2279) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._version (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2318) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._nonce (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2319) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._originDomain (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2320) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._sender (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2321) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._destinationDomain (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2322) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._recipient (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2323) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._messageBody (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2324) is not in mixedCase
Parameter Message.id(bytes)._message (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2343) is not in mixedCase
Parameter Message.version(bytes)._message (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2352) is not in mixedCase
Parameter Message.nonce(bytes)._message (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2361) is not in mixedCase
Parameter Message.origin(bytes)._message (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2370) is not in mixedCase
Parameter Message.sender(bytes)._message (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2379) is not in mixedCase
Parameter Message.senderAddress(bytes)._message (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2388) is not in mixedCase
Parameter Message.destination(bytes)._message (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2401) is not in mixedCase
Parameter Message.recipient(bytes)._message (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2414) is not in mixedCase
Parameter Message.recipientAddress(bytes)._message (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2427) is not in mixedCase
Parameter Message.body(bytes)._message (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2440) is not in mixedCase
Parameter MultisigIsmMetadata.root(bytes)._metadata (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2479) is not in mixedCase
Parameter MultisigIsmMetadata.index(bytes)._metadata (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2488) is not in mixedCase
Parameter MultisigIsmMetadata.originMailbox(bytes)._metadata (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2500) is not in mixedCase
Parameter MultisigIsmMetadata.proof(bytes)._metadata (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2515) is not in mixedCase
Parameter MultisigIsmMetadata.threshold(bytes)._metadata (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2533) is not in mixedCase
Parameter MultisigIsmMetadata.signatureAt(bytes,uint256)._metadata (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2546) is not in mixedCase
Parameter MultisigIsmMetadata.signatureAt(bytes,uint256)._index (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2546) is not in mixedCase
Parameter MultisigIsmMetadata.validatorAt(bytes,uint256)._metadata (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2563) is not in mixedCase
Parameter MultisigIsmMetadata.validatorAt(bytes,uint256)._index (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2563) is not in mixedCase
Parameter MultisigIsmMetadata.validators(bytes)._metadata (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2583) is not in mixedCase
Parameter MultisigIsmMetadata.commitment(bytes)._metadata (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2598) is not in mixedCase
Parameter MultisigIsmMetadata.validatorCount(bytes)._metadata (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2613) is not in mixedCase
Parameter MerkleLib.insert(MerkleLib.Tree,bytes32)._tree (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2669) is not in mixedCase
Parameter MerkleLib.insert(MerkleLib.Tree,bytes32)._node (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2669) is not in mixedCase
Parameter MerkleLib.rootWithCtx(MerkleLib.Tree,bytes32[32])._tree (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2693) is not in mixedCase
Parameter MerkleLib.rootWithCtx(MerkleLib.Tree,bytes32[32])._zeroes (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2693) is not in mixedCase
Parameter MerkleLib.root(MerkleLib.Tree)._tree (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2712) is not in mixedCase
Parameter MerkleLib.branchRoot(bytes32,bytes32[32],uint256)._item (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2766) is not in mixedCase
Parameter MerkleLib.branchRoot(bytes32,bytes32[32],uint256)._branch (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2767) is not in mixedCase
Parameter MerkleLib.branchRoot(bytes32,bytes32[32],uint256)._index (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2768) is not in mixedCase
Parameter MultisigIsm.enrollValidators(uint32[],address[][])._domains (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2949) is not in mixedCase
Parameter MultisigIsm.enrollValidators(uint32[],address[][])._validators (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2950) is not in mixedCase
Parameter MultisigIsm.enrollValidator(uint32,address)._domain (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2968) is not in mixedCase
Parameter MultisigIsm.enrollValidator(uint32,address)._validator (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2968) is not in mixedCase
Parameter MultisigIsm.unenrollValidator(uint32,address)._domain (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2982) is not in mixedCase
Parameter MultisigIsm.unenrollValidator(uint32,address)._validator (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2982) is not in mixedCase
Parameter MultisigIsm.setThresholds(uint32[],uint8[])._domains (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3002) is not in mixedCase
Parameter MultisigIsm.setThresholds(uint32[],uint8[])._thresholds (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3003) is not in mixedCase
Parameter MultisigIsm.isEnrolled(uint32,address)._domain (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3017) is not in mixedCase
Parameter MultisigIsm.isEnrolled(uint32,address)._address (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3017) is not in mixedCase
Parameter MultisigIsm.setThreshold(uint32,uint8)._domain (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3033) is not in mixedCase
Parameter MultisigIsm.setThreshold(uint32,uint8)._threshold (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3033) is not in mixedCase
Parameter MultisigIsm.verify(bytes,bytes)._metadata (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3051) is not in mixedCase
Parameter MultisigIsm.verify(bytes,bytes)._message (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3051) is not in mixedCase
Parameter MultisigIsm.validators(uint32)._domain (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3066) is not in mixedCase
Parameter MultisigIsm.validatorsAndThreshold(bytes)._message (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3084) is not in mixedCase
Parameter MultisigIsm.validatorCount(uint32)._domain (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3100) is not in mixedCase
Function PausableReentrancyGuardUpgradeable.__PausableReentrancyGuard_init() (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3900-3902) is not in mixedCase
Variable PausableReentrancyGuardUpgradeable.__gap (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#3951) is not in mixedCase
Parameter Mailbox.initialize(address,address)._owner (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4071) is not in mixedCase
Parameter Mailbox.initialize(address,address)._defaultIsm (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4071) is not in mixedCase
Parameter Mailbox.setDefaultIsm(address)._module (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4087) is not in mixedCase
Parameter Mailbox.dispatch(uint32,bytes32,bytes)._destinationDomain (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4099) is not in mixedCase
Parameter Mailbox.dispatch(uint32,bytes32,bytes)._recipientAddress (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4100) is not in mixedCase
Parameter Mailbox.dispatch(uint32,bytes32,bytes)._messageBody (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4101) is not in mixedCase
Parameter Mailbox.process(bytes,bytes)._metadata (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4134) is not in mixedCase
Parameter Mailbox.process(bytes,bytes)._message (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4134) is not in mixedCase
Parameter Mailbox.recipientIsm(address)._recipient (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4220) is not in mixedCase
Variable Mailbox.__GAP (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4004) is not in mixedCase
Function Router.__Router_initialize(address) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4373-4375) is not in mixedCase
Parameter Router.__Router_initialize(address)._mailbox (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4373) is not in mixedCase
Function Router.__Router_initialize(address,address) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4377-4385) is not in mixedCase
Parameter Router.__Router_initialize(address,address)._mailbox (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4378) is not in mixedCase
Parameter Router.__Router_initialize(address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4379) is not in mixedCase
Function Router.__Router_initialize(address,address,address) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4387-4397) is not in mixedCase
Parameter Router.__Router_initialize(address,address,address)._mailbox (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4388) is not in mixedCase
Parameter Router.__Router_initialize(address,address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4389) is not in mixedCase
Parameter Router.__Router_initialize(address,address,address)._interchainSecurityModule (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4390) is not in mixedCase
Parameter Router.routers(uint32)._domain (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4409) is not in mixedCase
Parameter Router.enrollRemoteRouter(uint32,bytes32)._domain (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4422) is not in mixedCase
Parameter Router.enrollRemoteRouter(uint32,bytes32)._router (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4422) is not in mixedCase
Parameter Router.enrollRemoteRouters(uint32[],bytes32[])._domains (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4436) is not in mixedCase
Parameter Router.enrollRemoteRouters(uint32[],bytes32[])._addresses (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4437) is not in mixedCase
Parameter Router.handle(uint32,bytes32,bytes)._origin (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4452) is not in mixedCase
Parameter Router.handle(uint32,bytes32,bytes)._sender (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4453) is not in mixedCase
Parameter Router.handle(uint32,bytes32,bytes)._message (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4454) is not in mixedCase
Variable Router.__GAP (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4347) is not in mixedCase
Parameter InterchainAccountRouter.initialize(address,address,address)._mailbox (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4719) is not in mixedCase
Parameter InterchainAccountRouter.initialize(address,address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4720) is not in mixedCase
Parameter InterchainAccountRouter.initialize(address,address,address)._interchainSecurityModule (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4721) is not in mixedCase
Parameter InterchainAccountRouter.initialize(address,address)._mailbox (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4731) is not in mixedCase
Parameter InterchainAccountRouter.initialize(address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4731) is not in mixedCase
Parameter InterchainAccountRouter.dispatch(uint32,Call[])._destinationDomain (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4739) is not in mixedCase
Parameter InterchainAccountRouter.dispatch(uint32,address,bytes)._destinationDomain (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4747) is not in mixedCase
Parameter InterchainAccountRouter.getInterchainAccount(uint32,address)._origin (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4756) is not in mixedCase
Parameter InterchainAccountRouter.getInterchainAccount(uint32,address)._sender (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4756) is not in mixedCase
Parameter InterchainAccountRouter.getDeployedInterchainAccount(uint32,address)._origin (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4764) is not in mixedCase
Parameter InterchainAccountRouter.getDeployedInterchainAccount(uint32,address)._sender (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4764) is not in mixedCase
Parameter InterchainQueryRouter.initialize(address,address,address)._mailbox (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4870) is not in mixedCase
Parameter InterchainQueryRouter.initialize(address,address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4871) is not in mixedCase
Parameter InterchainQueryRouter.initialize(address,address,address)._interchainSecurityModule (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4872) is not in mixedCase
Parameter InterchainQueryRouter.initialize(address,address)._mailbox (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4882) is not in mixedCase
Parameter InterchainQueryRouter.initialize(address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4882) is not in mixedCase
Parameter InterchainQueryRouter.query(uint32,address,bytes,bytes)._destinationDomain (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4897) is not in mixedCase
Parameter InterchainQueryRouter.query(uint32,Call,bytes)._destinationDomain (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4916) is not in mixedCase
Parameter InterchainQueryRouter.query(uint32,Call[],bytes[])._destinationDomain (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#4934) is not in mixedCase
Parameter CircleBridgeAdapter.initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5259) is not in mixedCase
Parameter CircleBridgeAdapter.initialize(address,address,address,address)._circleBridge (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5260) is not in mixedCase
Parameter CircleBridgeAdapter.initialize(address,address,address,address)._circleMessageTransmitter (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5261) is not in mixedCase
Parameter CircleBridgeAdapter.initialize(address,address,address,address)._liquidityLayerRouter (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5262) is not in mixedCase
Parameter CircleBridgeAdapter.sendTokens(uint32,bytes32,address,uint256)._destinationDomain (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5275) is not in mixedCase
Parameter CircleBridgeAdapter.sendTokens(uint32,bytes32,address,uint256)._token (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5277) is not in mixedCase
Parameter CircleBridgeAdapter.sendTokens(uint32,bytes32,address,uint256)._amount (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5278) is not in mixedCase
Parameter CircleBridgeAdapter.receiveTokens(uint32,address,uint256,bytes)._originDomain (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5315) is not in mixedCase
Parameter CircleBridgeAdapter.receiveTokens(uint32,address,uint256,bytes)._recipient (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5316) is not in mixedCase
Parameter CircleBridgeAdapter.receiveTokens(uint32,address,uint256,bytes)._amount (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5317) is not in mixedCase
Parameter CircleBridgeAdapter.receiveTokens(uint32,address,uint256,bytes)._adapterData (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5318) is not in mixedCase
Parameter CircleBridgeAdapter.addDomain(uint32,uint32)._hyperlaneDomain (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5362) is not in mixedCase
Parameter CircleBridgeAdapter.addDomain(uint32,uint32)._circleDomain (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5362) is not in mixedCase
Parameter CircleBridgeAdapter.addToken(address,string)._token (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5371) is not in mixedCase
Parameter CircleBridgeAdapter.addToken(address,string)._tokenSymbol (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5371) is not in mixedCase
Parameter CircleBridgeAdapter.removeToken(address,string)._token (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5396) is not in mixedCase
Parameter CircleBridgeAdapter.removeToken(address,string)._tokenSymbol (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5396) is not in mixedCase
Parameter LiquidityLayerRouter.initialize(address,address,address)._mailbox (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5485) is not in mixedCase
Parameter LiquidityLayerRouter.initialize(address,address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5486) is not in mixedCase
Parameter LiquidityLayerRouter.initialize(address,address,address)._interchainSecurityModule (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5487) is not in mixedCase
Parameter LiquidityLayerRouter.initialize(address,address)._mailbox (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5497) is not in mixedCase
Parameter LiquidityLayerRouter.initialize(address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5497) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,bytes,address,uint256,string)._destinationDomain (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5506) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,bytes,address,uint256,string)._recipientAddress (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5507) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,bytes,address,uint256,string)._messageBody (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5508) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,bytes,address,uint256,string)._token (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5509) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,bytes,address,uint256,string)._amount (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5510) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,bytes,address,uint256,string)._bridge (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5511) is not in mixedCase
Parameter LiquidityLayerRouter.setLiquidityLayerAdapter(string,address)._bridge (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5595) is not in mixedCase
Parameter LiquidityLayerRouter.setLiquidityLayerAdapter(string,address)._adapter (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5595) is not in mixedCase
Function ERC20Upgradeable.__ERC20_init(string,string) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5785-5787) is not in mixedCase
Function ERC20Upgradeable.__ERC20_init_unchained(string,string) (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#5789-5792) is not in mixedCase
Variable ERC20Upgradeable.__gap (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6130) is not in mixedCase
Parameter MockToken.burn(uint256)._amount (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6144) is not in mixedCase
Parameter MockCircleBridge.depositForBurn(uint256,uint32,bytes32,address)._amount (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6165) is not in mixedCase
Parameter MockCircleBridge.depositForBurn(uint256,uint32,bytes32,address)._burnToken (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6168) is not in mixedCase
Parameter MockCircleMessageTransmitter.hashSourceAndNonce(uint32,uint256)._source (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6212) is not in mixedCase
Parameter MockCircleMessageTransmitter.hashSourceAndNonce(uint32,uint256)._nonce (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6212) is not in mixedCase
Parameter MockCircleMessageTransmitter.process(bytes32,address,uint256)._nonceId (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6221) is not in mixedCase
Parameter MockCircleMessageTransmitter.process(bytes32,address,uint256)._recipient (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6222) is not in mixedCase
Parameter MockCircleMessageTransmitter.process(bytes32,address,uint256)._amount (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6223) is not in mixedCase
Parameter MockCircleMessageTransmitter.usedNonces(bytes32)._nonceId (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6229) is not in mixedCase
Parameter MockMailbox.addRemoteMailbox(uint32,MockMailbox)._domain (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6265) is not in mixedCase
Parameter MockMailbox.addRemoteMailbox(uint32,MockMailbox)._mailbox (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6265) is not in mixedCase
Parameter MockMailbox.dispatch(uint32,bytes32,bytes)._destinationDomain (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6270) is not in mixedCase
Parameter MockMailbox.dispatch(uint32,bytes32,bytes)._recipientAddress (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6271) is not in mixedCase
Parameter MockMailbox.dispatch(uint32,bytes32,bytes)._messageBody (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6272) is not in mixedCase
Parameter MockMailbox.addInboundMessage(uint32,address,address,bytes)._origin (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6290) is not in mixedCase
Parameter MockMailbox.addInboundMessage(uint32,address,address,bytes)._sender (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6291) is not in mixedCase
Parameter MockMailbox.addInboundMessage(uint32,address,address,bytes)._recipient (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6292) is not in mixedCase
Parameter MockMailbox.addInboundMessage(uint32,address,address,bytes)._body (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6293) is not in mixedCase
Parameter TestIsm.setAccept(bool)._val (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6325) is not in mixedCase
Parameter TestHyperlaneConnectionClient.initialize(address)._mailbox (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6538) is not in mixedCase
Parameter TestLiquidityLayerMessageRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._origin (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6563) is not in mixedCase
Parameter TestLiquidityLayerMessageRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._sender (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6564) is not in mixedCase
Parameter TestLiquidityLayerMessageRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._message (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6565) is not in mixedCase
Parameter TestLiquidityLayerMessageRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._token (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6566) is not in mixedCase
Parameter TestLiquidityLayerMessageRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._amount (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6567) is not in mixedCase
Parameter TestMailbox.testHandle(uint32,bytes32,bytes32,bytes)._origin (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6604) is not in mixedCase
Parameter TestMailbox.testHandle(uint32,bytes32,bytes32,bytes)._sender (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6605) is not in mixedCase
Parameter TestMailbox.testHandle(uint32,bytes32,bytes32,bytes)._recipient (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6606) is not in mixedCase
Parameter TestMailbox.testHandle(uint32,bytes32,bytes32,bytes)._body (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6607) is not in mixedCase
Parameter TestMerkle.insert(bytes32)._node (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6631) is not in mixedCase
Parameter TestMerkle.branchRoot(bytes32,bytes32[32],uint256)._leaf (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6636) is not in mixedCase
Parameter TestMerkle.branchRoot(bytes32,bytes32[32],uint256)._proof (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6637) is not in mixedCase
Parameter TestMerkle.branchRoot(bytes32,bytes32[32],uint256)._index (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6638) is not in mixedCase
Parameter TestMessage.version(bytes)._message (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6664) is not in mixedCase
Parameter TestMessage.nonce(bytes)._message (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6672) is not in mixedCase
Parameter TestMessage.body(bytes)._message (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6680) is not in mixedCase
Parameter TestMessage.origin(bytes)._message (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6688) is not in mixedCase
Parameter TestMessage.sender(bytes)._message (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6696) is not in mixedCase
Parameter TestMessage.destination(bytes)._message (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6704) is not in mixedCase
Parameter TestMessage.recipient(bytes)._message (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6712) is not in mixedCase
Parameter TestMessage.recipientAddress(bytes)._message (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6720) is not in mixedCase
Parameter TestMessage.id(bytes)._message (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6728) is not in mixedCase
Parameter TestMultisigIsm.getDomainHash(uint32,bytes32)._origin (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6742) is not in mixedCase
Parameter TestMultisigIsm.getDomainHash(uint32,bytes32)._originMailbox (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6742) is not in mixedCase
Parameter TestMultisigIsm.getCheckpointDigest(bytes,uint32)._metadata (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6750) is not in mixedCase
Parameter TestMultisigIsm.getCheckpointDigest(bytes,uint32)._origin (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6750) is not in mixedCase
Parameter TestQuerySender.initialize(address)._queryRouterAddress (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6818) is not in mixedCase
Parameter TestQuerySender.queryAddress(uint32,address,bytes)._destinationDomain (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6823) is not in mixedCase
Parameter TestQuerySender.queryAddress(uint32,address,bytes)._target (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6824) is not in mixedCase
Parameter TestQuerySender.queryAddress(uint32,address,bytes)._targetData (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6825) is not in mixedCase
Parameter TestQuerySender.handleQueryAddressResult(address)._result (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6834) is not in mixedCase
Parameter TestQuerySender.queryUint256(uint32,address,bytes)._destinationDomain (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6840) is not in mixedCase
Parameter TestQuerySender.queryUint256(uint32,address,bytes)._target (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6841) is not in mixedCase
Parameter TestQuerySender.queryUint256(uint32,address,bytes)._targetData (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6842) is not in mixedCase
Parameter TestQuerySender.handleQueryUint256Result(uint256)._result (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6851) is not in mixedCase
Parameter TestQuerySender.queryBytes32(uint32,address,bytes)._destinationDomain (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6857) is not in mixedCase
Parameter TestQuerySender.queryBytes32(uint32,address,bytes)._target (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6858) is not in mixedCase
Parameter TestQuerySender.queryBytes32(uint32,address,bytes)._targetData (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6859) is not in mixedCase
Parameter TestQuerySender.handleQueryBytes32Result(bytes32)._result (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6868) is not in mixedCase
Parameter TestRecipient.setInterchainSecurityModule(address)._ism (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6900) is not in mixedCase
Parameter TestRecipient.handle(uint32,bytes32,bytes)._origin (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6905) is not in mixedCase
Parameter TestRecipient.handle(uint32,bytes32,bytes)._sender (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6906) is not in mixedCase
Parameter TestRecipient.handle(uint32,bytes32,bytes)._data (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6907) is not in mixedCase
Parameter TestRouter.initialize(address)._mailbox (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6930) is not in mixedCase
Parameter TestRouter.isRemoteRouter(uint32,bytes32)._domain (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6941) is not in mixedCase
Parameter TestRouter.isRemoteRouter(uint32,bytes32)._potentialRemoteRouter (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6941) is not in mixedCase
Parameter TestRouter.mustHaveRemoteRouter(uint32)._domain (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6949) is not in mixedCase
Parameter TestRouter.dispatch(uint32,bytes)._destination (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6957) is not in mixedCase
Parameter TestRouter.dispatch(uint32,bytes)._msg (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6957) is not in mixedCase
Parameter TestRouter.dispatchWithGas(uint32,bytes,uint256,uint256,address)._destinationDomain (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6962) is not in mixedCase
Parameter TestRouter.dispatchWithGas(uint32,bytes,uint256,uint256,address)._messageBody (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6963) is not in mixedCase
Parameter TestRouter.dispatchWithGas(uint32,bytes,uint256,uint256,address)._gasAmount (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6964) is not in mixedCase
Parameter TestRouter.dispatchWithGas(uint32,bytes,uint256,uint256,address)._gasPayment (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6965) is not in mixedCase
Parameter TestRouter.dispatchWithGas(uint32,bytes,uint256,uint256,address)._gasPaymentRefundAddress (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6966) is not in mixedCase
Parameter TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes)._mailbox (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6994) is not in mixedCase
Parameter TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes)._paymaster (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6995) is not in mixedCase
Parameter TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes)._destinationDomain (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6996) is not in mixedCase
Parameter TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes)._messageBody (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6997) is not in mixedCase
Parameter TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._origin (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7075) is not in mixedCase
Parameter TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._sender (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7076) is not in mixedCase
Parameter TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._data (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7077) is not in mixedCase
Parameter TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._token (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7078) is not in mixedCase
Parameter TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._amount (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#7079) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Detectors:
Redundant expression "_destinationDomain (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1077)" inInterchainGasPaymaster (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1032-1092)
Redundant expression "_refundAddress (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1078)" inInterchainGasPaymaster (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#1032-1092)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#redundant-statements
INFO:Detectors:
Message.VERSION_OFFSET (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2297) is never used in Message (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2294-2447)
Message.NONCE_OFFSET (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2298) is never used in Message (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2294-2447)
Message.ORIGIN_OFFSET (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2299) is never used in Message (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2294-2447)
Message.SENDER_OFFSET (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2300) is never used in Message (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2294-2447)
Message.DESTINATION_OFFSET (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2301) is never used in Message (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2294-2447)
Message.RECIPIENT_OFFSET (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2302) is never used in Message (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2294-2447)
Message.BODY_OFFSET (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2303) is never used in Message (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2294-2447)
MultisigIsmMetadata.MERKLE_ROOT_OFFSET (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2466) is never used in MultisigIsmMetadata (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2465-2636)
MultisigIsmMetadata.MERKLE_INDEX_OFFSET (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2467) is never used in MultisigIsmMetadata (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2465-2636)
MultisigIsmMetadata.ORIGIN_MAILBOX_OFFSET (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2468) is never used in MultisigIsmMetadata (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2465-2636)
MultisigIsmMetadata.MERKLE_PROOF_OFFSET (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2469) is never used in MultisigIsmMetadata (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2465-2636)
MultisigIsmMetadata.THRESHOLD_OFFSET (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2470) is never used in MultisigIsmMetadata (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#2465-2636)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-state-variable
INFO:Detectors:
MockCircleBridge.token (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6158) should be immutable
MockCircleMessageTransmitter.token (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6198) should be immutable
MockHyperlaneEnvironment.destinationDomain (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6349) should be immutable
MockHyperlaneEnvironment.originDomain (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6348) should be immutable
MockInterchainAccountRouter.originDomain (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6428) should be immutable
TestQuery.router (crytic-export/etherscan-contracts/0x6ca0b6d22da47f091b7613223cd4bb03a2d77918-TransparentUpgradeableProxy.sol#6768) should be immutable
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-immutable
INFO:Slither:0x6ca0b6d22da47f091b7613223cd4bb03a2d77918 analyzed (81 contracts with 87 detectors), 460 result(s) found
```
Slither report for AccessControlledOffchainAggregator at `0x785433d8b06D77D68dF6be63944742130A4530d1`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x785433d8b06d77d68df6be63944742130a4530d1-AccessControlledOffchainAggregator' running
Warning: OffchainAggregator.sol:461:7: Warning: This declaration shadows an existing declaration.
int192 latestAnswer,
^-----------------^
OffchainAggregator.sol:653:3: The shadowed declaration is here:
function latestAnswer()
^ (Relevant source part starts here and spans across multiple lines).
Warning: OffchainAggregator.sol:462:7: Warning: This declaration shadows an existing declaration.
uint64 latestTimestamp
^--------------------^
OffchainAggregator.sol:666:3: The shadowed declaration is here:
function latestTimestamp()
^ (Relevant source part starts here and spans across multiple lines).
Warning: AccessControlledOffchainAggregator.sol:25:5: Warning: This declaration shadows an existing declaration.
string memory description
^-----------------------^
AccessControlledOffchainAggregator.sol:108:3: The shadowed declaration is here:
function description()
^ (Relevant source part starts here and spans across multiple lines).
INFO:Detectors:
OffchainAggregatorBilling.reimburseAndRewardOracles(uint32,bytes) (OffchainAggregatorBilling.sol#570-623) passes array OffchainAggregatorBilling.s_oracleObservationsCounts (OffchainAggregatorBilling.sol#84) by reference to OffchainAggregatorBilling.oracleRewards(bytes,uint16[31]) (OffchainAggregatorBilling.sol#392-406) which only takes arrays by value
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#modifying-storage-array-by-value
INFO:Detectors:
Reentrancy in OffchainAggregatorBilling.payOracle(address) (OffchainAggregatorBilling.sol#344-358):
External calls:
- require(bool,string)(LINK.transfer(payee,linkWeiAmount),insufficient funds) (OffchainAggregatorBilling.sol#353)
State variables written after the call(s):
- s_gasReimbursementsLinkWei[oracle.index] = 1 (OffchainAggregatorBilling.sol#355)
OffchainAggregatorBilling.s_gasReimbursementsLinkWei (OffchainAggregatorBilling.sol#114) can be used in cross function reentrancies:
- OffchainAggregatorBilling.constructor(uint32,uint32,uint32,uint32,uint32,address,AccessControllerInterface) (OffchainAggregatorBilling.sol#148-171)
- OffchainAggregatorBilling.owedPayment(address) (OffchainAggregatorBilling.sol#319-333)
- OffchainAggregatorBilling.payOracle(address) (OffchainAggregatorBilling.sol#344-358)
- OffchainAggregatorBilling.payOracles() (OffchainAggregatorBilling.sol#364-390)
- OffchainAggregatorBilling.totalLINKDue() (OffchainAggregatorBilling.sol#508-535)
- s_oracleObservationsCounts[oracle.index] = 1 (OffchainAggregatorBilling.sol#354)
OffchainAggregatorBilling.s_oracleObservationsCounts (OffchainAggregatorBilling.sol#84) can be used in cross function reentrancies:
- OffchainAggregatorBilling.constructor(uint32,uint32,uint32,uint32,uint32,address,AccessControllerInterface) (OffchainAggregatorBilling.sol#148-171)
- OffchainAggregatorBilling.oracleObservationCount(address) (OffchainAggregatorBilling.sol#559-567)
- OffchainAggregatorBilling.owedPayment(address) (OffchainAggregatorBilling.sol#319-333)
- OffchainAggregatorBilling.payOracle(address) (OffchainAggregatorBilling.sol#344-358)
- OffchainAggregatorBilling.payOracles() (OffchainAggregatorBilling.sol#364-390)
- OffchainAggregatorBilling.totalLINKDue() (OffchainAggregatorBilling.sol#508-535)
Reentrancy in OffchainAggregatorBilling.payOracles() (OffchainAggregatorBilling.sol#364-390):
External calls:
- require(bool,string)(LINK.transfer(payee,linkWeiAmount),insufficient funds) (OffchainAggregatorBilling.sol#381)
State variables written after the call(s):
- s_gasReimbursementsLinkWei = gasReimbursementsLinkWei (OffchainAggregatorBilling.sol#389)
OffchainAggregatorBilling.s_gasReimbursementsLinkWei (OffchainAggregatorBilling.sol#114) can be used in cross function reentrancies:
- OffchainAggregatorBilling.constructor(uint32,uint32,uint32,uint32,uint32,address,AccessControllerInterface) (OffchainAggregatorBilling.sol#148-171)
- OffchainAggregatorBilling.owedPayment(address) (OffchainAggregatorBilling.sol#319-333)
- OffchainAggregatorBilling.payOracle(address) (OffchainAggregatorBilling.sol#344-358)
- OffchainAggregatorBilling.payOracles() (OffchainAggregatorBilling.sol#364-390)
- OffchainAggregatorBilling.totalLINKDue() (OffchainAggregatorBilling.sol#508-535)
- s_oracleObservationsCounts = observationsCounts (OffchainAggregatorBilling.sol#388)
OffchainAggregatorBilling.s_oracleObservationsCounts (OffchainAggregatorBilling.sol#84) can be used in cross function reentrancies:
- OffchainAggregatorBilling.constructor(uint32,uint32,uint32,uint32,uint32,address,AccessControllerInterface) (OffchainAggregatorBilling.sol#148-171)
- OffchainAggregatorBilling.oracleObservationCount(address) (OffchainAggregatorBilling.sol#559-567)
- OffchainAggregatorBilling.owedPayment(address) (OffchainAggregatorBilling.sol#319-333)
- OffchainAggregatorBilling.payOracle(address) (OffchainAggregatorBilling.sol#344-358)
- OffchainAggregatorBilling.payOracles() (OffchainAggregatorBilling.sol#364-390)
- OffchainAggregatorBilling.totalLINKDue() (OffchainAggregatorBilling.sol#508-535)
Reentrancy in OffchainAggregatorBilling.setBilling(uint32,uint32,uint32,uint32,uint32) (OffchainAggregatorBilling.sol#213-228):
External calls:
- payOracles() (OffchainAggregatorBilling.sol#225)
- require(bool,string)(LINK.transfer(payee,linkWeiAmount),insufficient funds) (OffchainAggregatorBilling.sol#381)
State variables written after the call(s):
- setBillingInternal(_maximumGasPrice,_reasonableGasPrice,_microLinkPerEth,_linkGweiPerObservation,_linkGweiPerTransmission) (OffchainAggregatorBilling.sol#226-227)
- s_billing = Billing(_maximumGasPrice,_reasonableGasPrice,_microLinkPerEth,_linkGweiPerObservation,_linkGweiPerTransmission) (OffchainAggregatorBilling.sol#198-199)
OffchainAggregatorBilling.s_billing (OffchainAggregatorBilling.sol#66) can be used in cross function reentrancies:
- OffchainAggregatorBilling.getBilling() (OffchainAggregatorBilling.sol#238-257)
- OffchainAggregatorBilling.owedPayment(address) (OffchainAggregatorBilling.sol#319-333)
- OffchainAggregatorBilling.payOracles() (OffchainAggregatorBilling.sol#364-390)
- OffchainAggregatorBilling.setBillingInternal(uint32,uint32,uint32,uint32,uint32) (OffchainAggregatorBilling.sol#189-202)
- OffchainAggregatorBilling.totalLINKDue() (OffchainAggregatorBilling.sol#508-535)
Reentrancy in OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes) (OffchainAggregator.sol#149-212):
External calls:
- payOracle(transmitter) (OffchainAggregator.sol#164)
- require(bool,string)(LINK.transfer(payee,linkWeiAmount),insufficient funds) (OffchainAggregatorBilling.sol#353)
State variables written after the call(s):
- delete s_oracles[signer] (OffchainAggregator.sol#165)
OffchainAggregatorBilling.s_oracles (OffchainAggregatorBilling.sol#135-136) can be used in cross function reentrancies:
- OffchainAggregatorBilling.oracleObservationCount(address) (OffchainAggregatorBilling.sol#559-567)
- OffchainAggregatorBilling.owedPayment(address) (OffchainAggregatorBilling.sol#319-333)
- OffchainAggregatorBilling.payOracle(address) (OffchainAggregatorBilling.sol#344-358)
- OffchainAggregatorBilling.reimburseAndRewardOracles(uint32,bytes) (OffchainAggregatorBilling.sol#570-623)
- OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes) (OffchainAggregator.sol#149-212)
- OffchainAggregator.transmit(bytes,bytes32[],bytes32[],bytes32) (OffchainAggregator.sol#508-644)
- delete s_oracles[transmitter] (OffchainAggregator.sol#166)
OffchainAggregatorBilling.s_oracles (OffchainAggregatorBilling.sol#135-136) can be used in cross function reentrancies:
- OffchainAggregatorBilling.oracleObservationCount(address) (OffchainAggregatorBilling.sol#559-567)
- OffchainAggregatorBilling.owedPayment(address) (OffchainAggregatorBilling.sol#319-333)
- OffchainAggregatorBilling.payOracle(address) (OffchainAggregatorBilling.sol#344-358)
- OffchainAggregatorBilling.reimburseAndRewardOracles(uint32,bytes) (OffchainAggregatorBilling.sol#570-623)
- OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes) (OffchainAggregator.sol#149-212)
- OffchainAggregator.transmit(bytes,bytes32[],bytes32[],bytes32) (OffchainAggregator.sol#508-644)
- s_oracles[_signers[i]] = Oracle(uint8(i),Role.Signer) (OffchainAggregator.sol#176)
OffchainAggregatorBilling.s_oracles (OffchainAggregatorBilling.sol#135-136) can be used in cross function reentrancies:
- OffchainAggregatorBilling.oracleObservationCount(address) (OffchainAggregatorBilling.sol#559-567)
- OffchainAggregatorBilling.owedPayment(address) (OffchainAggregatorBilling.sol#319-333)
- OffchainAggregatorBilling.payOracle(address) (OffchainAggregatorBilling.sol#344-358)
- OffchainAggregatorBilling.reimburseAndRewardOracles(uint32,bytes) (OffchainAggregatorBilling.sol#570-623)
- OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes) (OffchainAggregator.sol#149-212)
- OffchainAggregator.transmit(bytes,bytes32[],bytes32[],bytes32) (OffchainAggregator.sol#508-644)
- s_oracles[_transmitters[i]] = Oracle(uint8(i),Role.Transmitter) (OffchainAggregator.sol#182)
OffchainAggregatorBilling.s_oracles (OffchainAggregatorBilling.sol#135-136) can be used in cross function reentrancies:
- OffchainAggregatorBilling.oracleObservationCount(address) (OffchainAggregatorBilling.sol#559-567)
- OffchainAggregatorBilling.owedPayment(address) (OffchainAggregatorBilling.sol#319-333)
- OffchainAggregatorBilling.payOracle(address) (OffchainAggregatorBilling.sol#344-358)
- OffchainAggregatorBilling.reimburseAndRewardOracles(uint32,bytes) (OffchainAggregatorBilling.sol#570-623)
- OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes) (OffchainAggregator.sol#149-212)
- OffchainAggregator.transmit(bytes,bytes32[],bytes32[],bytes32) (OffchainAggregator.sol#508-644)
- s_signers.pop() (OffchainAggregator.sol#167)
OffchainAggregatorBilling.s_signers (OffchainAggregatorBilling.sol#139) can be used in cross function reentrancies:
- OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes) (OffchainAggregator.sol#149-212)
- s_signers.push(_signers[i]) (OffchainAggregator.sol#183)
OffchainAggregatorBilling.s_signers (OffchainAggregatorBilling.sol#139) can be used in cross function reentrancies:
- OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes) (OffchainAggregator.sol#149-212)
- s_transmitters.pop() (OffchainAggregator.sol#168)
OffchainAggregatorBilling.s_transmitters (OffchainAggregatorBilling.sol#143) can be used in cross function reentrancies:
- OffchainAggregatorBilling.payOracles() (OffchainAggregatorBilling.sol#364-390)
- OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes) (OffchainAggregator.sol#149-212)
- OffchainAggregatorBilling.totalLINKDue() (OffchainAggregatorBilling.sol#508-535)
- OffchainAggregator.transmit(bytes,bytes32[],bytes32[],bytes32) (OffchainAggregator.sol#508-644)
- OffchainAggregator.transmitters() (OffchainAggregator.sol#252-258)
- s_transmitters.push(_transmitters[i]) (OffchainAggregator.sol#184)
OffchainAggregatorBilling.s_transmitters (OffchainAggregatorBilling.sol#143) can be used in cross function reentrancies:
- OffchainAggregatorBilling.payOracles() (OffchainAggregatorBilling.sol#364-390)
- OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes) (OffchainAggregator.sol#149-212)
- OffchainAggregatorBilling.totalLINKDue() (OffchainAggregatorBilling.sol#508-535)
- OffchainAggregator.transmit(bytes,bytes32[],bytes32[],bytes32) (OffchainAggregator.sol#508-644)
- OffchainAggregator.transmitters() (OffchainAggregator.sol#252-258)
Reentrancy in OffchainAggregator.transmit(bytes,bytes32[],bytes32[],bytes32) (OffchainAggregator.sol#508-644):
External calls:
- validateAnswer(r.hotVars.latestAggregatorRoundId,median) (OffchainAggregator.sol#639)
- av.validate{gas: VALIDATOR_GAS_LIMIT}(prevAggregatorRoundId,prevAggregatorRoundAnswer,_aggregatorRoundId,_answer) (OffchainAggregator.sol#322-327)
State variables written after the call(s):
- s_hotVars = r.hotVars (OffchainAggregator.sol#641)
OffchainAggregator.s_hotVars (OffchainAggregator.sol#39) can be used in cross function reentrancies:
- OffchainAggregator.latestAnswer() (OffchainAggregator.sol#653-661)
- OffchainAggregator.latestConfigDetails() (OffchainAggregator.sol#235-245)
- OffchainAggregator.latestRound() (OffchainAggregator.sol#679-687)
- OffchainAggregator.latestRoundData() (OffchainAggregator.sol#791-817)
- OffchainAggregator.latestTimestamp() (OffchainAggregator.sol#666-674)
- OffchainAggregator.latestTransmissionDetails() (OffchainAggregator.sol#454-473)
- OffchainAggregator.requestNewRound() (OffchainAggregator.sol#385-398)
- OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes) (OffchainAggregator.sol#149-212)
- OffchainAggregator.transmit(bytes,bytes32[],bytes32[],bytes32) (OffchainAggregator.sol#508-644)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-1
INFO:Detectors:
OffchainAggregatorBilling.constructor(uint32,uint32,uint32,uint32,uint32,address,AccessControllerInterface).counts (OffchainAggregatorBilling.sol#162) is a local variable never initialized
OffchainAggregatorBilling.constructor(uint32,uint32,uint32,uint32,uint32,address,AccessControllerInterface).gas (OffchainAggregatorBilling.sol#163) is a local variable never initialized
OffchainAggregator.transmit(bytes,bytes32[],bytes32[],bytes32).r (OffchainAggregator.sol#526) is a local variable never initialized
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-local-variables
INFO:Detectors:
OffchainAggregator.validateAnswer(uint32,int256) (OffchainAggregator.sol#309-328) ignores return value by av.validate{gas: VALIDATOR_GAS_LIMIT}(prevAggregatorRoundId,prevAggregatorRoundAnswer,_aggregatorRoundId,_answer) (OffchainAggregator.sol#322-327)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return
INFO:Detectors:
AccessControlledOffchainAggregator.constructor(uint32,uint32,uint32,uint32,uint32,address,address,int192,int192,AccessControllerInterface,AccessControllerInterface,uint8,string).description (AccessControlledOffchainAggregator.sol#25) shadows:
- AccessControlledOffchainAggregator.description() (AccessControlledOffchainAggregator.sol#108-116) (function)
- OffchainAggregator.description() (OffchainAggregator.sol#740-748) (function)
- AggregatorV3Interface.description() (AggregatorV3Interface.sol#7) (function)
OffchainAggregator.latestTransmissionDetails().latestAnswer (OffchainAggregator.sol#461) shadows:
- OffchainAggregator.latestAnswer() (OffchainAggregator.sol#653-661) (function)
- AggregatorInterface.latestAnswer() (AggregatorInterface.sol#5) (function)
OffchainAggregator.latestTransmissionDetails().latestTimestamp (OffchainAggregator.sol#462) shadows:
- OffchainAggregator.latestTimestamp() (OffchainAggregator.sol#666-674) (function)
- AggregatorInterface.latestTimestamp() (AggregatorInterface.sol#6) (function)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#local-variable-shadowing
INFO:Detectors:
Owned.transferOwnership(address)._to (Owned.sol#30) lacks a zero-check on :
- pendingOwner = _to (Owned.sol#34)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation
INFO:Detectors:
OffchainAggregatorBilling.payOracle(address) (OffchainAggregatorBilling.sol#344-358) has external calls inside a loop: require(bool,string)(LINK.transfer(payee,linkWeiAmount),insufficient funds) (OffchainAggregatorBilling.sol#353)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation/#calls-inside-a-loop
INFO:Detectors:
Reentrancy in OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes) (OffchainAggregator.sol#149-212):
External calls:
- payOracle(transmitter) (OffchainAggregator.sol#164)
- require(bool,string)(LINK.transfer(payee,linkWeiAmount),insufficient funds) (OffchainAggregatorBilling.sol#353)
State variables written after the call(s):
- s_configCount += 1 (OffchainAggregator.sol#189)
- s_hotVars.threshold = _threshold (OffchainAggregator.sol#186)
- s_hotVars.latestConfigDigest = configDigestFromConfigData(address(this),configCount,_signers,_transmitters,_threshold,_encodedConfigVersion,_encoded) (OffchainAggregator.sol#192-200)
- s_hotVars.latestEpochAndRound = 0 (OffchainAggregator.sol#201)
- s_latestConfigBlockNumber = uint32(block.number) (OffchainAggregator.sol#188)
Reentrancy in OffchainAggregator.transmit(bytes,bytes32[],bytes32[],bytes32) (OffchainAggregator.sol#508-644):
External calls:
- validateAnswer(r.hotVars.latestAggregatorRoundId,median) (OffchainAggregator.sol#639)
- av.validate{gas: VALIDATOR_GAS_LIMIT}(prevAggregatorRoundId,prevAggregatorRoundAnswer,_aggregatorRoundId,_answer) (OffchainAggregator.sol#322-327)
State variables written after the call(s):
- reimburseAndRewardOracles(uint32(initialGas),r.observers) (OffchainAggregator.sol#643)
- s_gasReimbursementsLinkWei[txOracle.index] = s_gasReimbursementsLinkWei[txOracle.index] + gasCostLinkWei + uint256(billing.linkGweiPerTransmission) * (1000000000) (OffchainAggregatorBilling.sol#615-617)
- reimburseAndRewardOracles(uint32(initialGas),r.observers) (OffchainAggregator.sol#643)
- s_oracleObservationsCounts = oracleRewards(observers,s_oracleObservationsCounts) (OffchainAggregatorBilling.sol#580-581)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-2
INFO:Detectors:
Reentrancy in OffchainAggregatorBilling.payOracle(address) (OffchainAggregatorBilling.sol#344-358):
External calls:
- require(bool,string)(LINK.transfer(payee,linkWeiAmount),insufficient funds) (OffchainAggregatorBilling.sol#353)
Event emitted after the call(s):
- OraclePaid(_transmitter,payee,linkWeiAmount) (OffchainAggregatorBilling.sol#356)
Reentrancy in OffchainAggregatorBilling.payOracles() (OffchainAggregatorBilling.sol#364-390):
External calls:
- require(bool,string)(LINK.transfer(payee,linkWeiAmount),insufficient funds) (OffchainAggregatorBilling.sol#381)
Event emitted after the call(s):
- OraclePaid(transmitters[transmitteridx],payee,linkWeiAmount) (OffchainAggregatorBilling.sol#384)
Reentrancy in OffchainAggregatorBilling.setBilling(uint32,uint32,uint32,uint32,uint32) (OffchainAggregatorBilling.sol#213-228):
External calls:
- payOracles() (OffchainAggregatorBilling.sol#225)
- require(bool,string)(LINK.transfer(payee,linkWeiAmount),insufficient funds) (OffchainAggregatorBilling.sol#381)
Event emitted after the call(s):
- BillingSet(_maximumGasPrice,_reasonableGasPrice,_microLinkPerEth,_linkGweiPerObservation,_linkGweiPerTransmission) (OffchainAggregatorBilling.sol#200-201)
- setBillingInternal(_maximumGasPrice,_reasonableGasPrice,_microLinkPerEth,_linkGweiPerObservation,_linkGweiPerTransmission) (OffchainAggregatorBilling.sol#226-227)
Reentrancy in OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes) (OffchainAggregator.sol#149-212):
External calls:
- payOracle(transmitter) (OffchainAggregator.sol#164)
- require(bool,string)(LINK.transfer(payee,linkWeiAmount),insufficient funds) (OffchainAggregatorBilling.sol#353)
Event emitted after the call(s):
- ConfigSet(previousConfigBlockNumber,configCount,_signers,_transmitters,_threshold,_encodedConfigVersion,_encoded) (OffchainAggregator.sol#203-211)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3
INFO:Detectors:
OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes) (OffchainAggregator.sol#149-212) has costly operations inside a loop:
- delete s_oracles[signer] (OffchainAggregator.sol#165)
OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes) (OffchainAggregator.sol#149-212) has costly operations inside a loop:
- delete s_oracles[transmitter] (OffchainAggregator.sol#166)
OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes) (OffchainAggregator.sol#149-212) has costly operations inside a loop:
- s_signers.pop() (OffchainAggregator.sol#167)
OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes) (OffchainAggregator.sol#149-212) has costly operations inside a loop:
- s_transmitters.pop() (OffchainAggregator.sol#168)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#costly-operations-inside-a-loop
INFO:Detectors:
OffchainAggregator.decodeReport(bytes) (OffchainAggregator.sol#423-434) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Parameter AccessControlledOffchainAggregator.getAnswer(uint256)._roundId (AccessControlledOffchainAggregator.sol#82) is not in mixedCase
Parameter AccessControlledOffchainAggregator.getTimestamp(uint256)._roundId (AccessControlledOffchainAggregator.sol#93) is not in mixedCase
Parameter AccessControlledOffchainAggregator.getRoundData(uint80)._roundId (AccessControlledOffchainAggregator.sol#119) is not in mixedCase
Parameter OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes)._signers (OffchainAggregator.sol#150) is not in mixedCase
Parameter OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes)._transmitters (OffchainAggregator.sol#151) is not in mixedCase
Parameter OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes)._threshold (OffchainAggregator.sol#152) is not in mixedCase
Parameter OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes)._encodedConfigVersion (OffchainAggregator.sol#153) is not in mixedCase
Parameter OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes)._encoded (OffchainAggregator.sol#154) is not in mixedCase
Parameter OffchainAggregator.configDigestFromConfigData(address,uint64,address[],address[],uint8,uint64,bytes)._contractAddress (OffchainAggregator.sol#215) is not in mixedCase
Parameter OffchainAggregator.configDigestFromConfigData(address,uint64,address[],address[],uint8,uint64,bytes)._configCount (OffchainAggregator.sol#216) is not in mixedCase
Parameter OffchainAggregator.configDigestFromConfigData(address,uint64,address[],address[],uint8,uint64,bytes)._signers (OffchainAggregator.sol#217) is not in mixedCase
Parameter OffchainAggregator.configDigestFromConfigData(address,uint64,address[],address[],uint8,uint64,bytes)._transmitters (OffchainAggregator.sol#218) is not in mixedCase
Parameter OffchainAggregator.configDigestFromConfigData(address,uint64,address[],address[],uint8,uint64,bytes)._threshold (OffchainAggregator.sol#219) is not in mixedCase
Parameter OffchainAggregator.configDigestFromConfigData(address,uint64,address[],address[],uint8,uint64,bytes)._encodedConfigVersion (OffchainAggregator.sol#220) is not in mixedCase
Parameter OffchainAggregator.configDigestFromConfigData(address,uint64,address[],address[],uint8,uint64,bytes)._encodedConfig (OffchainAggregator.sol#221) is not in mixedCase
Parameter OffchainAggregator.setValidator(address)._newValidator (OffchainAggregator.sol#296) is not in mixedCase
Parameter OffchainAggregator.validateAnswer(uint32,int256)._aggregatorRoundId (OffchainAggregator.sol#310) is not in mixedCase
Parameter OffchainAggregator.validateAnswer(uint32,int256)._answer (OffchainAggregator.sol#311) is not in mixedCase
Parameter OffchainAggregator.setRequesterAccessController(AccessControllerInterface)._requesterAccessController (OffchainAggregator.sol#368) is not in mixedCase
Parameter OffchainAggregator.decodeReport(bytes)._report (OffchainAggregator.sol#423) is not in mixedCase
Parameter OffchainAggregator.expectedMsgDataLength(bytes,bytes32[],bytes32[])._report (OffchainAggregator.sol#490) is not in mixedCase
Parameter OffchainAggregator.expectedMsgDataLength(bytes,bytes32[],bytes32[])._rs (OffchainAggregator.sol#490) is not in mixedCase
Parameter OffchainAggregator.expectedMsgDataLength(bytes,bytes32[],bytes32[])._ss (OffchainAggregator.sol#490) is not in mixedCase
Parameter OffchainAggregator.transmit(bytes,bytes32[],bytes32[],bytes32)._report (OffchainAggregator.sol#511) is not in mixedCase
Parameter OffchainAggregator.transmit(bytes,bytes32[],bytes32[],bytes32)._rs (OffchainAggregator.sol#512) is not in mixedCase
Parameter OffchainAggregator.transmit(bytes,bytes32[],bytes32[],bytes32)._ss (OffchainAggregator.sol#512) is not in mixedCase
Parameter OffchainAggregator.transmit(bytes,bytes32[],bytes32[],bytes32)._rawVs (OffchainAggregator.sol#512) is not in mixedCase
Parameter OffchainAggregator.getAnswer(uint256)._roundId (OffchainAggregator.sol#693) is not in mixedCase
Parameter OffchainAggregator.getTimestamp(uint256)._roundId (OffchainAggregator.sol#708) is not in mixedCase
Parameter OffchainAggregator.getRoundData(uint80)._roundId (OffchainAggregator.sol#759) is not in mixedCase
Constant OffchainAggregator.maxUint32 (OffchainAggregator.sol#19) is not in UPPER_CASE_WITH_UNDERSCORES
Parameter OffchainAggregatorBilling.setBillingInternal(uint32,uint32,uint32,uint32,uint32)._maximumGasPrice (OffchainAggregatorBilling.sol#190) is not in mixedCase
Parameter OffchainAggregatorBilling.setBillingInternal(uint32,uint32,uint32,uint32,uint32)._reasonableGasPrice (OffchainAggregatorBilling.sol#191) is not in mixedCase
Parameter OffchainAggregatorBilling.setBillingInternal(uint32,uint32,uint32,uint32,uint32)._microLinkPerEth (OffchainAggregatorBilling.sol#192) is not in mixedCase
Parameter OffchainAggregatorBilling.setBillingInternal(uint32,uint32,uint32,uint32,uint32)._linkGweiPerObservation (OffchainAggregatorBilling.sol#193) is not in mixedCase
Parameter OffchainAggregatorBilling.setBillingInternal(uint32,uint32,uint32,uint32,uint32)._linkGweiPerTransmission (OffchainAggregatorBilling.sol#194) is not in mixedCase
Parameter OffchainAggregatorBilling.setBilling(uint32,uint32,uint32,uint32,uint32)._maximumGasPrice (OffchainAggregatorBilling.sol#214) is not in mixedCase
Parameter OffchainAggregatorBilling.setBilling(uint32,uint32,uint32,uint32,uint32)._reasonableGasPrice (OffchainAggregatorBilling.sol#215) is not in mixedCase
Parameter OffchainAggregatorBilling.setBilling(uint32,uint32,uint32,uint32,uint32)._microLinkPerEth (OffchainAggregatorBilling.sol#216) is not in mixedCase
Parameter OffchainAggregatorBilling.setBilling(uint32,uint32,uint32,uint32,uint32)._linkGweiPerObservation (OffchainAggregatorBilling.sol#217) is not in mixedCase
Parameter OffchainAggregatorBilling.setBilling(uint32,uint32,uint32,uint32,uint32)._linkGweiPerTransmission (OffchainAggregatorBilling.sol#218) is not in mixedCase
Parameter OffchainAggregatorBilling.setBillingAccessControllerInternal(AccessControllerInterface)._billingAccessController (OffchainAggregatorBilling.sol#266) is not in mixedCase
Parameter OffchainAggregatorBilling.setBillingAccessController(AccessControllerInterface)._billingAccessController (OffchainAggregatorBilling.sol#284) is not in mixedCase
Parameter OffchainAggregatorBilling.withdrawPayment(address)._transmitter (OffchainAggregatorBilling.sol#308) is not in mixedCase
Parameter OffchainAggregatorBilling.owedPayment(address)._transmitter (OffchainAggregatorBilling.sol#319) is not in mixedCase
Parameter OffchainAggregatorBilling.payOracle(address)._transmitter (OffchainAggregatorBilling.sol#344) is not in mixedCase
Parameter OffchainAggregatorBilling.withdrawFunds(address,uint256)._recipient (OffchainAggregatorBilling.sol#496) is not in mixedCase
Parameter OffchainAggregatorBilling.withdrawFunds(address,uint256)._amount (OffchainAggregatorBilling.sol#496) is not in mixedCase
Parameter OffchainAggregatorBilling.oracleObservationCount(address)._signerOrTransmitter (OffchainAggregatorBilling.sol#559) is not in mixedCase
Parameter OffchainAggregatorBilling.setPayees(address[],address[])._transmitters (OffchainAggregatorBilling.sol#660) is not in mixedCase
Parameter OffchainAggregatorBilling.setPayees(address[],address[])._payees (OffchainAggregatorBilling.sol#661) is not in mixedCase
Parameter OffchainAggregatorBilling.transferPayeeship(address,address)._transmitter (OffchainAggregatorBilling.sol#689) is not in mixedCase
Parameter OffchainAggregatorBilling.transferPayeeship(address,address)._proposed (OffchainAggregatorBilling.sol#690) is not in mixedCase
Parameter OffchainAggregatorBilling.acceptPayeeship(address)._transmitter (OffchainAggregatorBilling.sol#711) is not in mixedCase
Parameter OffchainAggregatorBilling.saturatingAddUint16(uint16,uint16)._x (OffchainAggregatorBilling.sol#728) is not in mixedCase
Parameter OffchainAggregatorBilling.saturatingAddUint16(uint16,uint16)._y (OffchainAggregatorBilling.sol#728) is not in mixedCase
Constant OffchainAggregatorBilling.maxNumOracles (OffchainAggregatorBilling.sol#45) is not in UPPER_CASE_WITH_UNDERSCORES
Variable OffchainAggregatorBilling.LINK (OffchainAggregatorBilling.sol#71) is not in mixedCase
Constant OffchainAggregatorBilling.maxUint16 (OffchainAggregatorBilling.sol#145) is not in UPPER_CASE_WITH_UNDERSCORES
Constant OffchainAggregatorBilling.maxUint128 (OffchainAggregatorBilling.sol#146) is not in UPPER_CASE_WITH_UNDERSCORES
Constant OffchainAggregatorBilling.accountingGasCost (OffchainAggregatorBilling.sol#435) is not in UPPER_CASE_WITH_UNDERSCORES
Parameter Owned.transferOwnership(address)._to (Owned.sol#30) is not in mixedCase
Parameter SimpleReadAccessController.hasAccess(address,bytes)._user (SimpleReadAccessController.sol#24) is not in mixedCase
Parameter SimpleReadAccessController.hasAccess(address,bytes)._calldata (SimpleReadAccessController.sol#25) is not in mixedCase
Parameter SimpleWriteAccessController.hasAccess(address,bytes)._user (SimpleWriteAccessController.sol#34) is not in mixedCase
Parameter SimpleWriteAccessController.addAccess(address)._user (SimpleWriteAccessController.sol#50) is not in mixedCase
Parameter SimpleWriteAccessController.addAccessInternal(address)._user (SimpleWriteAccessController.sol#54) is not in mixedCase
Parameter SimpleWriteAccessController.removeAccess(address)._user (SimpleWriteAccessController.sol#65) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Detectors:
Variable OffchainAggregatorBilling.acceptPayeeship(address)._transmitter (OffchainAggregatorBilling.sol#711) is too similar to OffchainAggregatorBilling.payOracles().transmitters (OffchainAggregatorBilling.sol#371)
Variable OffchainAggregatorBilling.owedPayment(address)._transmitter (OffchainAggregatorBilling.sol#319) is too similar to OffchainAggregatorBilling.totalLINKDue().transmitters (OffchainAggregatorBilling.sol#529)
Variable OffchainAggregatorBilling.payOracle(address)._transmitter (OffchainAggregatorBilling.sol#344) is too similar to OffchainAggregatorBilling.totalLINKDue().transmitters (OffchainAggregatorBilling.sol#529)
Variable OffchainAggregatorBilling.owedPayment(address)._transmitter (OffchainAggregatorBilling.sol#319) is too similar to OffchainAggregatorBilling.payOracles().transmitters (OffchainAggregatorBilling.sol#371)
Variable OffchainAggregatorBilling.payOracle(address)._transmitter (OffchainAggregatorBilling.sol#344) is too similar to OffchainAggregatorBilling.payOracles().transmitters (OffchainAggregatorBilling.sol#371)
Variable OffchainAggregatorBilling.withdrawPayment(address)._transmitter (OffchainAggregatorBilling.sol#308) is too similar to OffchainAggregatorBilling.totalLINKDue().transmitters (OffchainAggregatorBilling.sol#529)
Variable OffchainAggregatorBilling.withdrawPayment(address)._transmitter (OffchainAggregatorBilling.sol#308) is too similar to OffchainAggregatorBilling.payOracles().transmitters (OffchainAggregatorBilling.sol#371)
Variable OffchainAggregatorBilling.acceptPayeeship(address)._transmitter (OffchainAggregatorBilling.sol#711) is too similar to OffchainAggregatorBilling.totalLINKDue().transmitters (OffchainAggregatorBilling.sol#529)
Variable OffchainAggregatorBilling.transferPayeeship(address,address)._transmitter (OffchainAggregatorBilling.sol#689) is too similar to OffchainAggregatorBilling.payOracles().transmitters (OffchainAggregatorBilling.sol#371)
Variable OffchainAggregatorBilling.transferPayeeship(address,address)._transmitter (OffchainAggregatorBilling.sol#689) is too similar to OffchainAggregatorBilling.totalLINKDue().transmitters (OffchainAggregatorBilling.sol#529)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#variable-names-too-similar
INFO:Slither:0x785433d8b06d77d68df6be63944742130a4530d1 analyzed (12 contracts with 87 detectors), 104 result(s) found
```
Slither report for InitializableAdminUpgradeabilityProxy (Aave) at `0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9` with implementation AaveTokenV2 at `0x96F68837877fd0414B55050c9e794AECdBcfCA59`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9-InitializableAdminUpgradeabilityProxy' running
Warning: contracts/open-zeppelin/Address.sol: Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing "SPDX-License-Identifier: " to each source file. Use "SPDX-License-Identifier: UNLICENSED" for non-open-source code. Please see https://spdx.org for more information.
Warning: contracts/open-zeppelin/BaseAdminUpgradeabilityProxy.sol: Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing "SPDX-License-Identifier: " to each source file. Use "SPDX-License-Identifier: UNLICENSED" for non-open-source code. Please see https://spdx.org for more information.
Warning: contracts/open-zeppelin/BaseUpgradeabilityProxy.sol: Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing "SPDX-License-Identifier: " to each source file. Use "SPDX-License-Identifier: UNLICENSED" for non-open-source code. Please see https://spdx.org for more information.
Warning: contracts/open-zeppelin/Proxy.sol: Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing "SPDX-License-Identifier: " to each source file. Use "SPDX-License-Identifier: UNLICENSED" for non-open-source code. Please see https://spdx.org for more information.
Warning: contracts/open-zeppelin/SafeMath.sol: Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing "SPDX-License-Identifier: " to each source file. Use "SPDX-License-Identifier: UNLICENSED" for non-open-source code. Please see https://spdx.org for more information.
Warning: contracts/open-zeppelin/UpgradeabilityProxy.sol: Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing "SPDX-License-Identifier: " to each source file. Use "SPDX-License-Identifier: UNLICENSED" for non-open-source code. Please see https://spdx.org for more information.
Warning: contracts/open-zeppelin/BaseAdminUpgradeabilityProxy.sol:13:1: Warning: This contract has a payable fallback function, but no receive ether function. Consider adding a receive ether function.
contract BaseAdminUpgradeabilityProxy is BaseUpgradeabilityProxy {
^ (Relevant source part starts here and spans across multiple lines).
contracts/open-zeppelin/Proxy.sol:15:3: The payable fallback function is defined here.
fallback () payable external {
^ (Relevant source part starts here and spans across multiple lines).
Warning: contracts/open-zeppelin/InitializableUpgradeabilityProxy.sol:11:1: Warning: This contract has a payable fallback function, but no receive ether function. Consider adding a receive ether function.
contract InitializableUpgradeabilityProxy is BaseUpgradeabilityProxy {
^ (Relevant source part starts here and spans across multiple lines).
contracts/open-zeppelin/Proxy.sol:15:3: The payable fallback function is defined here.
fallback () payable external {
^ (Relevant source part starts here and spans across multiple lines).
Warning: contracts/open-zeppelin/InitializableAdminUpgradeabilityProxy.sol:12:1: Warning: This contract has a payable fallback function, but no receive ether function. Consider adding a receive ether function.
contract InitializableAdminUpgradeabilityProxy is BaseAdminUpgradeabilityProxy, InitializableUpgradeabilityProxy {
^ (Relevant source part starts here and spans across multiple lines).
contracts/open-zeppelin/Proxy.sol:15:3: The payable fallback function is defined here.
fallback () payable external {
^ (Relevant source part starts here and spans across multiple lines).
Warning: contracts/utils/MockTransferHook.sol:9:25: Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.
function onTransfer(address from, address to, uint256 amount) external override {
^----------^
Warning: contracts/utils/MockTransferHook.sol:9:39: Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.
function onTransfer(address from, address to, uint256 amount) external override {
^--------^
Warning: contracts/utils/MockTransferHook.sol:9:51: Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.
function onTransfer(address from, address to, uint256 amount) external override {
^------------^
INFO:Detectors:
InitializableUpgradeabilityProxy.initialize(address,bytes) (contracts/open-zeppelin/InitializableUpgradeabilityProxy.sol#20-28) uses delegatecall to a input-controlled function id
- (success) = _logic.delegatecall(_data) (contracts/open-zeppelin/InitializableUpgradeabilityProxy.sol#25)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#controlled-delegatecall
INFO:Detectors:
BaseAdminUpgradeabilityProxy.admin() (contracts/open-zeppelin/BaseAdminUpgradeabilityProxy.sol#45-47) calls BaseAdminUpgradeabilityProxy.ifAdmin() (contracts/open-zeppelin/BaseAdminUpgradeabilityProxy.sol#34-40) which halt the execution return(uint256,uint256)(0,returndatasize()()) (contracts/open-zeppelin/Proxy.sol#47)
BaseAdminUpgradeabilityProxy.implementation() (contracts/open-zeppelin/BaseAdminUpgradeabilityProxy.sol#52-54) calls BaseAdminUpgradeabilityProxy.ifAdmin() (contracts/open-zeppelin/BaseAdminUpgradeabilityProxy.sol#34-40) which halt the execution return(uint256,uint256)(0,returndatasize()()) (contracts/open-zeppelin/Proxy.sol#47)
BaseAdminUpgradeabilityProxy.changeAdmin(address) (contracts/open-zeppelin/BaseAdminUpgradeabilityProxy.sol#61-65) calls BaseAdminUpgradeabilityProxy.ifAdmin() (contracts/open-zeppelin/BaseAdminUpgradeabilityProxy.sol#34-40) which halt the execution return(uint256,uint256)(0,returndatasize()()) (contracts/open-zeppelin/Proxy.sol#47)
BaseAdminUpgradeabilityProxy.upgradeTo(address) (contracts/open-zeppelin/BaseAdminUpgradeabilityProxy.sol#72-74) calls BaseAdminUpgradeabilityProxy.ifAdmin() (contracts/open-zeppelin/BaseAdminUpgradeabilityProxy.sol#34-40) which halt the execution return(uint256,uint256)(0,returndatasize()()) (contracts/open-zeppelin/Proxy.sol#47)
BaseAdminUpgradeabilityProxy.upgradeToAndCall(address,bytes) (contracts/open-zeppelin/BaseAdminUpgradeabilityProxy.sol#85-89) calls BaseAdminUpgradeabilityProxy.ifAdmin() (contracts/open-zeppelin/BaseAdminUpgradeabilityProxy.sol#34-40) which halt the execution return(uint256,uint256)(0,returndatasize()()) (contracts/open-zeppelin/Proxy.sol#47)
BaseAdminUpgradeabilityProxy.ifAdmin() (contracts/open-zeppelin/BaseAdminUpgradeabilityProxy.sol#34-40) calls Proxy._fallback() (contracts/open-zeppelin/Proxy.sol#63-66) which halt the execution return(uint256,uint256)(0,returndatasize()()) (contracts/open-zeppelin/Proxy.sol#47)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-assembly-return
INFO:Detectors:
LendToAaveMigrator.migrateFromLEND(uint256) (contracts/token/LendToAaveMigrator.sol#61-68) ignores return value by LEND.transferFrom(msg.sender,address(this),amount) (contracts/token/LendToAaveMigrator.sol#65)
LendToAaveMigrator.migrateFromLEND(uint256) (contracts/token/LendToAaveMigrator.sol#61-68) ignores return value by AAVE.transfer(msg.sender,amount.div(LEND_AAVE_RATIO)) (contracts/token/LendToAaveMigrator.sol#66)
DoubleTransferHelper.doubleSend(address,uint256,uint256) (contracts/utils/DoubleTransferHelper.sol#14-17) ignores return value by AAVE.transfer(to,amount1) (contracts/utils/DoubleTransferHelper.sol#15)
DoubleTransferHelper.doubleSend(address,uint256,uint256) (contracts/utils/DoubleTransferHelper.sol#14-17) ignores return value by AAVE.transfer(to,amount2) (contracts/utils/DoubleTransferHelper.sol#16)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unchecked-transfer
INFO:Detectors:
AaveToken._writeSnapshot(address,uint128,uint128) (contracts/token/AaveToken.sol#138-153) uses a dangerous strict equality:
- ownerCountOfSnapshots != 0 && snapshotsOwner[ownerCountOfSnapshots.sub(1)].blockNumber == currentBlock (contracts/token/AaveToken.sol#145)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-strict-equalities
INFO:Detectors:
Reentrancy in AaveToken.initialize(address,address,ITransferHook) (contracts/token/AaveToken.sol#59-85):
External calls:
- _mint(migrator,MIGRATION_AMOUNT) (contracts/token/AaveToken.sol#83)
- aaveGovernance.onTransfer(from,to,amount) (contracts/token/AaveToken.sol#181)
- _mint(distributor,DISTRIBUTION_AMOUNT) (contracts/token/AaveToken.sol#84)
- aaveGovernance.onTransfer(from,to,amount) (contracts/token/AaveToken.sol#181)
State variables written after the call(s):
- _mint(distributor,DISTRIBUTION_AMOUNT) (contracts/token/AaveToken.sol#84)
- _balances[account] = _balances[account].add(amount) (contracts/open-zeppelin/ERC20.sol#235)
ERC20._balances (contracts/open-zeppelin/ERC20.sol#38) can be used in cross function reentrancies:
- ERC20._mint(address,uint256) (contracts/open-zeppelin/ERC20.sol#229-237)
- ERC20._transfer(address,address,uint256) (contracts/open-zeppelin/ERC20.sol#209-218)
- ERC20.balanceOf(address) (contracts/open-zeppelin/ERC20.sol#105-107)
- _mint(distributor,DISTRIBUTION_AMOUNT) (contracts/token/AaveToken.sol#84)
- _countsSnapshots[owner] = ownerCountOfSnapshots.add(1) (contracts/token/AaveToken.sol#149)
AaveToken._countsSnapshots (contracts/token/AaveToken.sol#38) can be used in cross function reentrancies:
- AaveToken._countsSnapshots (contracts/token/AaveToken.sol#38)
- AaveToken._writeSnapshot(address,uint128,uint128) (contracts/token/AaveToken.sol#138-153)
- _mint(distributor,DISTRIBUTION_AMOUNT) (contracts/token/AaveToken.sol#84)
- snapshotsOwner[ownerCountOfSnapshots.sub(1)].value = newValue (contracts/token/AaveToken.sol#146)
- snapshotsOwner[ownerCountOfSnapshots] = Snapshot(currentBlock,newValue) (contracts/token/AaveToken.sol#148)
AaveToken._snapshots (contracts/token/AaveToken.sol#36) can be used in cross function reentrancies:
- AaveToken._snapshots (contracts/token/AaveToken.sol#36)
- AaveToken._writeSnapshot(address,uint128,uint128) (contracts/token/AaveToken.sol#138-153)
- _mint(distributor,DISTRIBUTION_AMOUNT) (contracts/token/AaveToken.sol#84)
- _totalSupply = _totalSupply.add(amount) (contracts/open-zeppelin/ERC20.sol#234)
ERC20._totalSupply (contracts/open-zeppelin/ERC20.sol#42) can be used in cross function reentrancies:
- ERC20._mint(address,uint256) (contracts/open-zeppelin/ERC20.sol#229-237)
- ERC20.totalSupply() (contracts/open-zeppelin/ERC20.sol#98-100)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-1
INFO:Detectors:
ERC20.constructor(string,string).name (contracts/open-zeppelin/ERC20.sol#57) shadows:
- ERC20.name() (contracts/open-zeppelin/ERC20.sol#66-68) (function)
ERC20.constructor(string,string).symbol (contracts/open-zeppelin/ERC20.sol#57) shadows:
- ERC20.symbol() (contracts/open-zeppelin/ERC20.sol#74-76) (function)
InitializableAdminUpgradeabilityProxy.initialize(address,address,bytes)._admin (contracts/open-zeppelin/InitializableAdminUpgradeabilityProxy.sol#22) shadows:
- BaseAdminUpgradeabilityProxy._admin() (contracts/open-zeppelin/BaseAdminUpgradeabilityProxy.sol#94-99) (function)
MintableErc20.constructor(string,string,uint8).name (contracts/utils/MintableErc20.sol#11) shadows:
- ERC20.name() (contracts/open-zeppelin/ERC20.sol#66-68) (function)
MintableErc20.constructor(string,string,uint8).symbol (contracts/utils/MintableErc20.sol#11) shadows:
- ERC20.symbol() (contracts/open-zeppelin/ERC20.sol#74-76) (function)
MintableErc20.constructor(string,string,uint8).decimals (contracts/utils/MintableErc20.sol#11) shadows:
- ERC20.decimals() (contracts/open-zeppelin/ERC20.sol#91-93) (function)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#local-variable-shadowing
INFO:Detectors:
InitializableUpgradeabilityProxy.initialize(address,bytes)._logic (contracts/open-zeppelin/InitializableUpgradeabilityProxy.sol#20) lacks a zero-check on :
- (success) = _logic.delegatecall(_data) (contracts/open-zeppelin/InitializableUpgradeabilityProxy.sol#25)
BaseAdminUpgradeabilityProxy.upgradeToAndCall(address,bytes).newImplementation (contracts/open-zeppelin/BaseAdminUpgradeabilityProxy.sol#85) lacks a zero-check on :
- (success) = newImplementation.delegatecall(data) (contracts/open-zeppelin/BaseAdminUpgradeabilityProxy.sol#87)
UpgradeabilityProxy.constructor(address,bytes)._logic (contracts/open-zeppelin/UpgradeabilityProxy.sol#19) lacks a zero-check on :
- (success) = _logic.delegatecall(_data) (contracts/open-zeppelin/UpgradeabilityProxy.sol#23)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation
INFO:Detectors:
Modifier BaseAdminUpgradeabilityProxy.ifAdmin() (contracts/open-zeppelin/BaseAdminUpgradeabilityProxy.sol#34-40) does not always execute _; or revertReference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-modifier
INFO:Detectors:
Reentrancy in AaveToken.initialize(address,address,ITransferHook) (contracts/token/AaveToken.sol#59-85):
External calls:
- _mint(migrator,MIGRATION_AMOUNT) (contracts/token/AaveToken.sol#83)
- aaveGovernance.onTransfer(from,to,amount) (contracts/token/AaveToken.sol#181)
- _mint(distributor,DISTRIBUTION_AMOUNT) (contracts/token/AaveToken.sol#84)
- aaveGovernance.onTransfer(from,to,amount) (contracts/token/AaveToken.sol#181)
Event emitted after the call(s):
- SnapshotDone(owner,oldValue,newValue) (contracts/token/AaveToken.sol#152)
- _mint(distributor,DISTRIBUTION_AMOUNT) (contracts/token/AaveToken.sol#84)
- Transfer(address(0),account,amount) (contracts/open-zeppelin/ERC20.sol#236)
- _mint(distributor,DISTRIBUTION_AMOUNT) (contracts/token/AaveToken.sol#84)
Reentrancy in LendToAaveMigrator.migrateFromLEND(uint256) (contracts/token/LendToAaveMigrator.sol#61-68):
External calls:
- LEND.transferFrom(msg.sender,address(this),amount) (contracts/token/LendToAaveMigrator.sol#65)
- AAVE.transfer(msg.sender,amount.div(LEND_AAVE_RATIO)) (contracts/token/LendToAaveMigrator.sol#66)
Event emitted after the call(s):
- LendMigrated(msg.sender,amount) (contracts/token/LendToAaveMigrator.sol#67)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3
INFO:Detectors:
AaveToken.permit(address,address,uint256,uint256,uint8,bytes32,bytes32) (contracts/token/AaveToken.sol#98-123) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp <= deadline,INVALID_EXPIRATION) (contracts/token/AaveToken.sol#109)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#block-timestamp
INFO:Detectors:
Address.isContract(address) (contracts/open-zeppelin/Address.sol#24-33) uses assembly
- INLINE ASM (contracts/open-zeppelin/Address.sol#31)
BaseAdminUpgradeabilityProxy._admin() (contracts/open-zeppelin/BaseAdminUpgradeabilityProxy.sol#94-99) uses assembly
- INLINE ASM (contracts/open-zeppelin/BaseAdminUpgradeabilityProxy.sol#96-98)
BaseAdminUpgradeabilityProxy._setAdmin(address) (contracts/open-zeppelin/BaseAdminUpgradeabilityProxy.sol#105-111) uses assembly
- INLINE ASM (contracts/open-zeppelin/BaseAdminUpgradeabilityProxy.sol#108-110)
BaseUpgradeabilityProxy._implementation() (contracts/open-zeppelin/BaseUpgradeabilityProxy.sol#30-35) uses assembly
- INLINE ASM (contracts/open-zeppelin/BaseUpgradeabilityProxy.sol#32-34)
BaseUpgradeabilityProxy._setImplementation(address) (contracts/open-zeppelin/BaseUpgradeabilityProxy.sol#50-58) uses assembly
- INLINE ASM (contracts/open-zeppelin/BaseUpgradeabilityProxy.sol#55-57)
Proxy._delegate(address) (contracts/open-zeppelin/Proxy.sol#30-49) uses assembly
- INLINE ASM (contracts/open-zeppelin/Proxy.sol#31-48)
AaveToken.initialize(address,address,ITransferHook) (contracts/token/AaveToken.sol#59-85) uses assembly
- INLINE ASM (contracts/token/AaveToken.sol#68-70)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
Address.sendValue(address,uint256) (contracts/open-zeppelin/Address.sol#51-57) is never used and should be removed
Context._msgData() (contracts/open-zeppelin/Context.sol#20-23) is never used and should be removed
ERC20._burn(address,uint256) (contracts/open-zeppelin/ERC20.sol#250-258) is never used and should be removed
SafeMath.mod(uint256,uint256) (contracts/open-zeppelin/SafeMath.sol#131-133) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (contracts/open-zeppelin/SafeMath.sol#146-149) is never used and should be removed
SafeMath.mul(uint256,uint256) (contracts/open-zeppelin/SafeMath.sol#71-83) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Low level call in Address.sendValue(address,uint256) (contracts/open-zeppelin/Address.sol#51-57):
- (success) = recipient.call{value: amount}() (contracts/open-zeppelin/Address.sol#55)
Low level call in BaseAdminUpgradeabilityProxy.upgradeToAndCall(address,bytes) (contracts/open-zeppelin/BaseAdminUpgradeabilityProxy.sol#85-89):
- (success) = newImplementation.delegatecall(data) (contracts/open-zeppelin/BaseAdminUpgradeabilityProxy.sol#87)
Low level call in InitializableUpgradeabilityProxy.initialize(address,bytes) (contracts/open-zeppelin/InitializableUpgradeabilityProxy.sol#20-28):
- (success) = _logic.delegatecall(_data) (contracts/open-zeppelin/InitializableUpgradeabilityProxy.sol#25)
Low level call in UpgradeabilityProxy.constructor(address,bytes) (contracts/open-zeppelin/UpgradeabilityProxy.sol#19-26):
- (success) = _logic.delegatecall(_data) (contracts/open-zeppelin/UpgradeabilityProxy.sol#23)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
INFO:Detectors:
DoubleTransferHelper (contracts/utils/DoubleTransferHelper.sol#6-19) should inherit from VersionedInitializable (contracts/utils/VersionedInitializable.sol#18-44)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-inheritance
INFO:Detectors:
Parameter InitializableAdminUpgradeabilityProxy.initialize(address,address,bytes)._logic (contracts/open-zeppelin/InitializableAdminUpgradeabilityProxy.sol#22) is not in mixedCase
Parameter InitializableAdminUpgradeabilityProxy.initialize(address,address,bytes)._admin (contracts/open-zeppelin/InitializableAdminUpgradeabilityProxy.sol#22) is not in mixedCase
Parameter InitializableAdminUpgradeabilityProxy.initialize(address,address,bytes)._data (contracts/open-zeppelin/InitializableAdminUpgradeabilityProxy.sol#22) is not in mixedCase
Parameter InitializableUpgradeabilityProxy.initialize(address,bytes)._logic (contracts/open-zeppelin/InitializableUpgradeabilityProxy.sol#20) is not in mixedCase
Parameter InitializableUpgradeabilityProxy.initialize(address,bytes)._data (contracts/open-zeppelin/InitializableUpgradeabilityProxy.sol#20) is not in mixedCase
Variable AaveToken._nonces (contracts/token/AaveToken.sol#34) is not in mixedCase
Variable AaveToken._snapshots (contracts/token/AaveToken.sol#36) is not in mixedCase
Variable AaveToken._countsSnapshots (contracts/token/AaveToken.sol#38) is not in mixedCase
Variable AaveToken._aaveGovernance (contracts/token/AaveToken.sol#43) is not in mixedCase
Variable AaveToken.DOMAIN_SEPARATOR (contracts/token/AaveToken.sol#45) is not in mixedCase
Variable LendToAaveMigrator.AAVE (contracts/token/LendToAaveMigrator.sol#17) is not in mixedCase
Variable LendToAaveMigrator.LEND (contracts/token/LendToAaveMigrator.sol#18) is not in mixedCase
Variable LendToAaveMigrator.LEND_AAVE_RATIO (contracts/token/LendToAaveMigrator.sol#19) is not in mixedCase
Variable LendToAaveMigrator._totalLendMigrated (contracts/token/LendToAaveMigrator.sol#22) is not in mixedCase
Variable DoubleTransferHelper.AAVE (contracts/utils/DoubleTransferHelper.sol#8) is not in mixedCase
Variable VersionedInitializable.______gap (contracts/utils/VersionedInitializable.sol#43) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Detectors:
Redundant expression "this (contracts/open-zeppelin/Context.sol#21)" inContext (contracts/open-zeppelin/Context.sol#15-25)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#redundant-statements
INFO:Slither:0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9 analyzed (19 contracts with 87 detectors), 61 result(s) found
```
Slither report for TransparentUpgradeableProxy at `0x8315177aB297bA92A06054cE80a67Ed4DBd7ed3a` with implementation Bridge at `0x1066CEcC8880948FE55e427E94F1FF221d626591`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x8315177ab297ba92a06054ce80a67ed4dbd7ed3a-TransparentUpgradeableProxy' running
INFO:Detectors:
TransparentUpgradeableProxy.admin() (@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol#63-65) calls TransparentUpgradeableProxy.ifAdmin() (@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol#46-52) which halt the execution return(uint256,uint256)(0,returndatasize()()) (@openzeppelin/contracts/proxy/Proxy.sol#42)
TransparentUpgradeableProxy.implementation() (@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol#76-78) calls TransparentUpgradeableProxy.ifAdmin() (@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol#46-52) which halt the execution return(uint256,uint256)(0,returndatasize()()) (@openzeppelin/contracts/proxy/Proxy.sol#42)
TransparentUpgradeableProxy.changeAdmin(address) (@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol#87-89) calls TransparentUpgradeableProxy.ifAdmin() (@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol#46-52) which halt the execution return(uint256,uint256)(0,returndatasize()()) (@openzeppelin/contracts/proxy/Proxy.sol#42)
TransparentUpgradeableProxy.upgradeTo(address) (@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol#96-98) calls TransparentUpgradeableProxy.ifAdmin() (@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol#46-52) which halt the execution return(uint256,uint256)(0,returndatasize()()) (@openzeppelin/contracts/proxy/Proxy.sol#42)
TransparentUpgradeableProxy.upgradeToAndCall(address,bytes) (@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol#107-109) calls TransparentUpgradeableProxy.ifAdmin() (@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol#46-52) which halt the execution return(uint256,uint256)(0,returndatasize()()) (@openzeppelin/contracts/proxy/Proxy.sol#42)
TransparentUpgradeableProxy.ifAdmin() (@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol#46-52) calls Proxy._fallback() (@openzeppelin/contracts/proxy/Proxy.sol#58-61) which halt the execution return(uint256,uint256)(0,returndatasize()()) (@openzeppelin/contracts/proxy/Proxy.sol#42)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-assembly-return
INFO:Detectors:
ERC1967Upgrade._upgradeToAndCall(address,bytes,bool) (@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol#65-74) ignores return value by Address.functionDelegateCall(newImplementation,data) (@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol#72)
ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol#174-184) ignores return value by Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data) (@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol#182)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return
INFO:Detectors:
Modifier TransparentUpgradeableProxy.ifAdmin() (@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol#46-52) does not always execute _; or revertReference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-modifier
INFO:Detectors:
Proxy._delegate(address) (@openzeppelin/contracts/proxy/Proxy.sol#22-45) uses assembly
- INLINE ASM (@openzeppelin/contracts/proxy/Proxy.sol#23-44)
Address.verifyCallResult(bool,bytes,string) (@openzeppelin/contracts/utils/Address.sol#201-221) uses assembly
- INLINE ASM (@openzeppelin/contracts/utils/Address.sol#213-216)
StorageSlot.getAddressSlot(bytes32) (@openzeppelin/contracts/utils/StorageSlot.sol#52-56) uses assembly
- INLINE ASM (@openzeppelin/contracts/utils/StorageSlot.sol#53-55)
StorageSlot.getBooleanSlot(bytes32) (@openzeppelin/contracts/utils/StorageSlot.sol#61-65) uses assembly
- INLINE ASM (@openzeppelin/contracts/utils/StorageSlot.sol#62-64)
StorageSlot.getBytes32Slot(bytes32) (@openzeppelin/contracts/utils/StorageSlot.sol#70-74) uses assembly
- INLINE ASM (@openzeppelin/contracts/utils/StorageSlot.sol#71-73)
StorageSlot.getUint256Slot(bytes32) (@openzeppelin/contracts/utils/StorageSlot.sol#79-83) uses assembly
- INLINE ASM (@openzeppelin/contracts/utils/StorageSlot.sol#80-82)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
Address.functionCall(address,bytes) (@openzeppelin/contracts/utils/Address.sol#85-87) is never used and should be removed
Address.functionCall(address,bytes,string) (@openzeppelin/contracts/utils/Address.sol#95-101) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (@openzeppelin/contracts/utils/Address.sol#114-120) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (@openzeppelin/contracts/utils/Address.sol#128-139) is never used and should be removed
Address.functionStaticCall(address,bytes) (@openzeppelin/contracts/utils/Address.sol#147-149) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (@openzeppelin/contracts/utils/Address.sol#157-166) is never used and should be removed
Address.sendValue(address,uint256) (@openzeppelin/contracts/utils/Address.sol#60-65) is never used and should be removed
ERC1967Upgrade._getBeacon() (@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol#152-154) is never used and should be removed
ERC1967Upgrade._setBeacon(address) (@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol#159-166) is never used and should be removed
ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol#174-184) is never used and should be removed
ERC1967Upgrade._upgradeToAndCallUUPS(address,bytes,bool) (@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol#81-99) is never used and should be removed
StorageSlot.getBooleanSlot(bytes32) (@openzeppelin/contracts/utils/StorageSlot.sol#61-65) is never used and should be removed
StorageSlot.getBytes32Slot(bytes32) (@openzeppelin/contracts/utils/StorageSlot.sol#70-74) is never used and should be removed
StorageSlot.getUint256Slot(bytes32) (@openzeppelin/contracts/utils/StorageSlot.sol#79-83) is never used and should be removed
TransparentUpgradeableProxy._admin() (@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol#114-116) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Low level call in Address.sendValue(address,uint256) (@openzeppelin/contracts/utils/Address.sol#60-65):
- (success) = recipient.call{value: amount}() (@openzeppelin/contracts/utils/Address.sol#63)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (@openzeppelin/contracts/utils/Address.sol#128-139):
- (success,returndata) = target.call{value: value}(data) (@openzeppelin/contracts/utils/Address.sol#137)
Low level call in Address.functionStaticCall(address,bytes,string) (@openzeppelin/contracts/utils/Address.sol#157-166):
- (success,returndata) = target.staticcall(data) (@openzeppelin/contracts/utils/Address.sol#164)
Low level call in Address.functionDelegateCall(address,bytes,string) (@openzeppelin/contracts/utils/Address.sol#184-193):
- (success,returndata) = target.delegatecall(data) (@openzeppelin/contracts/utils/Address.sol#191)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
INFO:Detectors:
TransparentUpgradeableProxy (@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol#29-125) should inherit from IBeacon (@openzeppelin/contracts/proxy/beacon/IBeacon.sol#9-16)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-inheritance
INFO:Slither:0x8315177ab297ba92a06054ce80a67ed4dbd7ed3a analyzed (8 contracts with 87 detectors), 35 result(s) found
```
Slither report for ARM at `0x8B63b3DE93431C0f756A493644d128134291fA1b`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x8b63b3de93431c0f756a493644d128134291fa1b-ARM' running
INFO:Detectors:
ARM.getCurseProgress().numCursers (src/v0.8/ccip/ARM.sol#456) is a local variable never initialized
ARM.constructor(ARM.Config).vp (src/v0.8/ccip/ARM.sol#169) is a local variable never initialized
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-local-variables
INFO:Detectors:
ARM.ownerResetBlessVotes(IARM.TaggedRoot[]) (src/v0.8/ccip/ARM.sol#257-269) has costly operations inside a loop:
- delete s_blessVoteProgressByTaggedRootHash[taggedRootHash] (src/v0.8/ccip/ARM.sol#263)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#costly-operations-inside-a-loop
INFO:Slither:0x8b63b3de93431c0f756a493644d128134291fa1b analyzed (7 contracts with 87 detectors), 3 result(s) found
```
Slither report for OptimizedTransparentUpgradeableProxy at `0x902F09715B6303d4173037652FA7377e5b98089E` with implementation unknown contract name at `0xB830a5AfCBEBb936c30C607a18BbbA9f5B0a592f`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x902f09715b6303d4173037652fa7377e5b98089e-OptimizedTransparentUpgradeableProxy' running
Warning: solc_0.7/proxy/OptimizedTransparentUpgradeableProxy.sol:78:48: Warning: Unnamed return variable can remain unassigned. Add an explicit return with value to all non-reverting code paths or name the variable.
function admin() external ifAdmin returns (address) {
^-----^
Warning: solc_0.7/proxy/OptimizedTransparentUpgradeableProxy.sol:91:57: Warning: Unnamed return variable can remain unassigned. Add an explicit return with value to all non-reverting code paths or name the variable.
function implementation() external ifAdmin returns (address) {
^-----^
INFO:Detectors:
OptimizedTransparentUpgradeableProxy.admin() (solc_0.7/proxy/OptimizedTransparentUpgradeableProxy.sol#78-80) calls OptimizedTransparentUpgradeableProxy.ifAdmin() (solc_0.7/proxy/OptimizedTransparentUpgradeableProxy.sol#61-67) which halt the execution return(uint256,uint256)(0,returndatasize()()) (solc_0.7/openzeppelin/proxy/Proxy.sol#39)
OptimizedTransparentUpgradeableProxy.implementation() (solc_0.7/proxy/OptimizedTransparentUpgradeableProxy.sol#91-93) calls OptimizedTransparentUpgradeableProxy.ifAdmin() (solc_0.7/proxy/OptimizedTransparentUpgradeableProxy.sol#61-67) which halt the execution return(uint256,uint256)(0,returndatasize()()) (solc_0.7/openzeppelin/proxy/Proxy.sol#39)
OptimizedTransparentUpgradeableProxy.upgradeTo(address) (solc_0.7/proxy/OptimizedTransparentUpgradeableProxy.sol#100-102) calls OptimizedTransparentUpgradeableProxy.ifAdmin() (solc_0.7/proxy/OptimizedTransparentUpgradeableProxy.sol#61-67) which halt the execution return(uint256,uint256)(0,returndatasize()()) (solc_0.7/openzeppelin/proxy/Proxy.sol#39)
OptimizedTransparentUpgradeableProxy.upgradeToAndCall(address,bytes) (solc_0.7/proxy/OptimizedTransparentUpgradeableProxy.sol#111-116) calls OptimizedTransparentUpgradeableProxy.ifAdmin() (solc_0.7/proxy/OptimizedTransparentUpgradeableProxy.sol#61-67) which halt the execution return(uint256,uint256)(0,returndatasize()()) (solc_0.7/openzeppelin/proxy/Proxy.sol#39)
OptimizedTransparentUpgradeableProxy.ifAdmin() (solc_0.7/proxy/OptimizedTransparentUpgradeableProxy.sol#61-67) calls Proxy._fallback() (solc_0.7/openzeppelin/proxy/Proxy.sol#54-57) which halt the execution return(uint256,uint256)(0,returndatasize()()) (solc_0.7/openzeppelin/proxy/Proxy.sol#39)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-assembly-return
INFO:Detectors:
UpgradeableProxy.constructor(address,bytes)._logic (solc_0.7/openzeppelin/proxy/UpgradeableProxy.sol#24) lacks a zero-check on :
- (success) = _logic.delegatecall(_data) (solc_0.7/openzeppelin/proxy/UpgradeableProxy.sol#29)
OptimizedTransparentUpgradeableProxy.constructor(address,address,bytes).initialAdmin (solc_0.7/proxy/OptimizedTransparentUpgradeableProxy.sol#36) lacks a zero-check on :
- _ADMIN = initialAdmin (solc_0.7/proxy/OptimizedTransparentUpgradeableProxy.sol#42)
OptimizedTransparentUpgradeableProxy.upgradeToAndCall(address,bytes).newImplementation (solc_0.7/proxy/OptimizedTransparentUpgradeableProxy.sol#111) lacks a zero-check on :
- (success) = newImplementation.delegatecall(data) (solc_0.7/proxy/OptimizedTransparentUpgradeableProxy.sol#114)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation
INFO:Detectors:
Modifier OptimizedTransparentUpgradeableProxy.ifAdmin() (solc_0.7/proxy/OptimizedTransparentUpgradeableProxy.sol#61-67) does not always execute _; or revertReference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-modifier
INFO:Detectors:
Proxy._delegate(address) (solc_0.7/openzeppelin/proxy/Proxy.sol#21-41) uses assembly
- INLINE ASM (solc_0.7/openzeppelin/proxy/Proxy.sol#23-40)
UpgradeableProxy._implementation() (solc_0.7/openzeppelin/proxy/UpgradeableProxy.sol#49-55) uses assembly
- INLINE ASM (solc_0.7/openzeppelin/proxy/UpgradeableProxy.sol#52-54)
UpgradeableProxy._setImplementation(address) (solc_0.7/openzeppelin/proxy/UpgradeableProxy.sol#70-79) uses assembly
- INLINE ASM (solc_0.7/openzeppelin/proxy/UpgradeableProxy.sol#76-78)
Address.isContract(address) (solc_0.7/openzeppelin/utils/Address.sol#26-35) uses assembly
- INLINE ASM (solc_0.7/openzeppelin/utils/Address.sol#33)
Address._functionCallWithValue(address,bytes,uint256,string) (solc_0.7/openzeppelin/utils/Address.sol#119-140) uses assembly
- INLINE ASM (solc_0.7/openzeppelin/utils/Address.sol#132-135)
OptimizedTransparentUpgradeableProxy.constructor(address,address,bytes) (solc_0.7/proxy/OptimizedTransparentUpgradeableProxy.sol#34-49) uses assembly
- INLINE ASM (solc_0.7/proxy/OptimizedTransparentUpgradeableProxy.sol#46-48)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
Address._functionCallWithValue(address,bytes,uint256,string) (solc_0.7/openzeppelin/utils/Address.sol#119-140) is never used and should be removed
Address.functionCall(address,bytes) (solc_0.7/openzeppelin/utils/Address.sol#79-81) is never used and should be removed
Address.functionCall(address,bytes,string) (solc_0.7/openzeppelin/utils/Address.sol#89-91) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (solc_0.7/openzeppelin/utils/Address.sol#104-106) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (solc_0.7/openzeppelin/utils/Address.sol#114-117) is never used and should be removed
Address.sendValue(address,uint256) (solc_0.7/openzeppelin/utils/Address.sol#53-59) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Low level call in UpgradeableProxy.constructor(address,bytes) (solc_0.7/openzeppelin/proxy/UpgradeableProxy.sol#24-32):
- (success) = _logic.delegatecall(_data) (solc_0.7/openzeppelin/proxy/UpgradeableProxy.sol#29)
Low level call in Address.sendValue(address,uint256) (solc_0.7/openzeppelin/utils/Address.sol#53-59):
- (success) = recipient.call{value: amount}() (solc_0.7/openzeppelin/utils/Address.sol#57)
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (solc_0.7/openzeppelin/utils/Address.sol#119-140):
- (success,returndata) = target.call{value: weiValue}(data) (solc_0.7/openzeppelin/utils/Address.sol#123)
Low level call in OptimizedTransparentUpgradeableProxy.upgradeToAndCall(address,bytes) (solc_0.7/proxy/OptimizedTransparentUpgradeableProxy.sol#111-116):
- (success) = newImplementation.delegatecall(data) (solc_0.7/proxy/OptimizedTransparentUpgradeableProxy.sol#114)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
INFO:Detectors:
Variable OptimizedTransparentUpgradeableProxy._ADMIN (solc_0.7/proxy/OptimizedTransparentUpgradeableProxy.sol#28) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Slither:0x902f09715b6303d4173037652fa7377e5b98089e analyzed (4 contracts with 87 detectors), 26 result(s) found
```
Slither report for AaveTokenV2 at `0x96F68837877fd0414B55050c9e794AECdBcfCA59`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x96f68837877fd0414b55050c9e794aecdbcfca59-AaveTokenV2' running
Warning: src/contracts/AaveTokenV2.sol:453:18: Warning: This declaration shadows an existing declaration.
constructor (string memory name, string memory symbol) public {
^----------------^
src/contracts/AaveTokenV2.sol:462:5: The shadowed declaration is here:
function name() public view returns (string memory) {
^ (Relevant source part starts here and spans across multiple lines).
Warning: src/contracts/AaveTokenV2.sol:453:38: Warning: This declaration shadows an existing declaration.
constructor (string memory name, string memory symbol) public {
^------------------^
src/contracts/AaveTokenV2.sol:470:5: The shadowed declaration is here:
function symbol() public view returns (string memory) {
^ (Relevant source part starts here and spans across multiple lines).
Warning: src/contracts/AaveTokenV2.sol:35:3: Warning: Interface functions are implicitly "virtual"
function delegateByType(address delegatee, DelegationType delegationType) external virtual;
^-----------------------------------------------------------------------------------------^
Warning: src/contracts/AaveTokenV2.sol:40:3: Warning: Interface functions are implicitly "virtual"
function delegate(address delegatee) external virtual;
^----------------------------------------------------^
Warning: src/contracts/AaveTokenV2.sol:45:3: Warning: Interface functions are implicitly "virtual"
function getDelegateeByType(address delegator, DelegationType delegationType)
^ (Relevant source part starts here and spans across multiple lines).
Warning: src/contracts/AaveTokenV2.sol:56:3: Warning: Interface functions are implicitly "virtual"
function getPowerCurrent(address user, DelegationType delegationType)
^ (Relevant source part starts here and spans across multiple lines).
Warning: src/contracts/AaveTokenV2.sol:66:3: Warning: Interface functions are implicitly "virtual"
function getPowerAtBlock(
^ (Relevant source part starts here and spans across multiple lines).
Warning: src/contracts/AaveTokenV2.sol:75:3: Warning: Interface functions are implicitly "virtual"
function totalSupplyAt(uint256 blockNumber) external virtual view returns (uint256);
^----------------------------------------------------------------------------------^
Warning: src/contracts/AaveTokenV2.sol:453:5: Warning: Visibility for constructor is ignored. If you want the contract to be non-deployable, making it "abstract" is sufficient.
constructor (string memory name, string memory symbol) public {
^ (Relevant source part starts here and spans across multiple lines).
Warning: src/contracts/AaveTokenV2.sol:1164:3: Warning: Visibility for constructor is ignored. If you want the contract to be non-deployable, making it "abstract" is sufficient.
constructor() ERC20(NAME, SYMBOL) public {
^ (Relevant source part starts here and spans across multiple lines).
Warning: src/contracts/AaveTokenV2.sol:913:26: Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.
function totalSupplyAt(uint256 blockNumber) external override view returns (uint256) {
^-----------------^
Warning: src/contracts/AaveTokenV2.sol:1079:5: Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.
uint128 oldValue,
^--------------^
INFO:Detectors:
AaveTokenV2._votingSnapshots (src/contracts/AaveTokenV2.sol#1137) is never initialized. It is used in:
- AaveTokenV2._getDelegationDataByType(IGovernancePowerDelegationToken.DelegationType) (src/contracts/AaveTokenV2.sol#1268-1287)
AaveTokenV2._votingSnapshotsCounts (src/contracts/AaveTokenV2.sol#1139) is never initialized. It is used in:
- AaveTokenV2._getDelegationDataByType(IGovernancePowerDelegationToken.DelegationType) (src/contracts/AaveTokenV2.sol#1268-1287)
AaveTokenV2._aaveGovernance (src/contracts/AaveTokenV2.sol#1144) is never initialized. It is used in:
- AaveTokenV2._beforeTokenTransfer(address,address,uint256) (src/contracts/AaveTokenV2.sol#1236-1266)
AaveTokenV2.DOMAIN_SEPARATOR (src/contracts/AaveTokenV2.sol#1146) is never initialized. It is used in:
- AaveTokenV2.permit(address,address,uint256,uint256,uint8,bytes32,bytes32) (src/contracts/AaveTokenV2.sol#1194-1218)
- AaveTokenV2.delegateByTypeBySig(address,IGovernancePowerDelegationToken.DelegationType,uint256,uint256,uint8,bytes32,bytes32) (src/contracts/AaveTokenV2.sol#1299-1317)
- AaveTokenV2.delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32) (src/contracts/AaveTokenV2.sol#1328-1344)
AaveTokenV2._propositionPowerSnapshots (src/contracts/AaveTokenV2.sol#1157) is never initialized. It is used in:
- AaveTokenV2._getDelegationDataByType(IGovernancePowerDelegationToken.DelegationType) (src/contracts/AaveTokenV2.sol#1268-1287)
AaveTokenV2._propositionPowerSnapshotsCounts (src/contracts/AaveTokenV2.sol#1158) is never initialized. It is used in:
- AaveTokenV2._getDelegationDataByType(IGovernancePowerDelegationToken.DelegationType) (src/contracts/AaveTokenV2.sol#1268-1287)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-state-variables
INFO:Detectors:
GovernancePowerDelegationERC20._searchByBlockNumber(mapping(address => mapping(uint256 => GovernancePowerDelegationERC20.Snapshot)),mapping(address => uint256),address,uint256) (src/contracts/AaveTokenV2.sol#1012-1050) uses a dangerous strict equality:
- snapshot.blockNumber == blockNumber (src/contracts/AaveTokenV2.sol#1041)
GovernancePowerDelegationERC20._writeSnapshot(mapping(address => mapping(uint256 => GovernancePowerDelegationERC20.Snapshot)),mapping(address => uint256),address,uint128,uint128) (src/contracts/AaveTokenV2.sol#1075-1097) uses a dangerous strict equality:
- ownerSnapshotsCount != 0 && snapshotsOwner[ownerSnapshotsCount - 1].blockNumber == currentBlock (src/contracts/AaveTokenV2.sol#1089-1090)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-strict-equalities
INFO:Detectors:
ERC20.constructor(string,string).name (src/contracts/AaveTokenV2.sol#453) shadows:
- ERC20.name() (src/contracts/AaveTokenV2.sol#462-464) (function)
ERC20.constructor(string,string).symbol (src/contracts/AaveTokenV2.sol#453) shadows:
- ERC20.symbol() (src/contracts/AaveTokenV2.sol#470-472) (function)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#local-variable-shadowing
INFO:Detectors:
Reentrancy in AaveTokenV2.initialize(address[],uint256[],address,address,uint256) (src/contracts/AaveTokenV2.sol#1171-1181):
External calls:
- IERC20(tokens[i]).safeTransfer(aaveMerkleDistributor,amounts[i]) (src/contracts/AaveTokenV2.sol#1175)
Event emitted after the call(s):
- TokensRescued(tokens[i],aaveMerkleDistributor,amounts[i]) (src/contracts/AaveTokenV2.sol#1177)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3
INFO:Detectors:
AaveTokenV2.permit(address,address,uint256,uint256,uint8,bytes32,bytes32) (src/contracts/AaveTokenV2.sol#1194-1218) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp <= deadline,INVALID_EXPIRATION) (src/contracts/AaveTokenV2.sol#1205)
AaveTokenV2.delegateByTypeBySig(address,IGovernancePowerDelegationToken.DelegationType,uint256,uint256,uint8,bytes32,bytes32) (src/contracts/AaveTokenV2.sol#1299-1317) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp <= expiry,INVALID_EXPIRATION) (src/contracts/AaveTokenV2.sol#1315)
AaveTokenV2.delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32) (src/contracts/AaveTokenV2.sol#1328-1344) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp <= expiry,INVALID_EXPIRATION) (src/contracts/AaveTokenV2.sol#1341)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#block-timestamp
INFO:Detectors:
Address.isContract(address) (src/contracts/AaveTokenV2.sol#368-379) uses assembly
- INLINE ASM (src/contracts/AaveTokenV2.sol#375-377)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
Address.sendValue(address,uint256) (src/contracts/AaveTokenV2.sol#397-403) is never used and should be removed
Context._msgData() (src/contracts/AaveTokenV2.sol#94-97) is never used and should be removed
ERC20._beforeTokenTransfer(address,address,uint256) (src/contracts/AaveTokenV2.sol#702) is never used and should be removed
ERC20._burn(address,uint256) (src/contracts/AaveTokenV2.sol#646-654) is never used and should be removed
ERC20._mint(address,uint256) (src/contracts/AaveTokenV2.sol#625-633) is never used and should be removed
ERC20._setupDecimals(uint8) (src/contracts/AaveTokenV2.sol#684-686) is never used and should be removed
SafeERC20.safeApprove(IERC20,address,uint256) (src/contracts/AaveTokenV2.sol#745-755) is never used and should be removed
SafeERC20.safeTransferFrom(IERC20,address,address,uint256) (src/contracts/AaveTokenV2.sol#736-743) is never used and should be removed
SafeMath.div(uint256,uint256) (src/contracts/AaveTokenV2.sol#280-282) is never used and should be removed
SafeMath.div(uint256,uint256,string) (src/contracts/AaveTokenV2.sol#295-306) is never used and should be removed
SafeMath.mod(uint256,uint256) (src/contracts/AaveTokenV2.sol#319-321) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (src/contracts/AaveTokenV2.sol#334-341) is never used and should be removed
SafeMath.mul(uint256,uint256) (src/contracts/AaveTokenV2.sol#255-267) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Low level call in Address.sendValue(address,uint256) (src/contracts/AaveTokenV2.sol#397-403):
- (success) = recipient.call{value: amount}() (src/contracts/AaveTokenV2.sol#401)
Low level call in SafeERC20.callOptionalReturn(IERC20,bytes) (src/contracts/AaveTokenV2.sol#757-769):
- (success,returndata) = address(token).call(data) (src/contracts/AaveTokenV2.sol#761)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
INFO:Detectors:
Variable VersionedInitializable.______gap (src/contracts/AaveTokenV2.sol#809) is not in mixedCase
Variable AaveTokenV2._nonces (src/contracts/AaveTokenV2.sol#1135) is not in mixedCase
Variable AaveTokenV2._votingSnapshots (src/contracts/AaveTokenV2.sol#1137) is not in mixedCase
Variable AaveTokenV2._votingSnapshotsCounts (src/contracts/AaveTokenV2.sol#1139) is not in mixedCase
Variable AaveTokenV2._aaveGovernance (src/contracts/AaveTokenV2.sol#1144) is not in mixedCase
Variable AaveTokenV2.DOMAIN_SEPARATOR (src/contracts/AaveTokenV2.sol#1146) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Detectors:
Redundant expression "this (src/contracts/AaveTokenV2.sol#95)" inContext (src/contracts/AaveTokenV2.sol#89-98)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#redundant-statements
INFO:Detectors:
AaveTokenV2.DECIMALS (src/contracts/AaveTokenV2.sol#1130) is never used in AaveTokenV2 (src/contracts/AaveTokenV2.sol#1124-1346)
AaveTokenV2.EIP712_DOMAIN (src/contracts/AaveTokenV2.sol#1148-1150) is never used in AaveTokenV2 (src/contracts/AaveTokenV2.sol#1124-1346)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-state-variable
INFO:Slither:0x96f68837877fd0414b55050c9e794aecdbcfca59 analyzed (11 contracts with 87 detectors), 39 result(s) found
```
Slither report for TransparentUpgradeableProxy at `0x9AEE0B04504CeF83A65AC3f0e838D0593BCb2BC7` with implementation Governance_V2_5 at `0x323F2c8E227b3F0d88B047Ed16581fc0b6B9B1d7`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x9aee0b04504cef83a65ac3f0e838d0593bcb2bc7-TransparentUpgradeableProxy' running
INFO:Detectors:
TransparentUpgradeableProxy.admin() (src/contracts/transparent-proxy/TransparentUpgradeableProxy.sol#69-71) calls TransparentUpgradeableProxy.ifAdmin() (src/contracts/transparent-proxy/TransparentUpgradeableProxy.sol#52-58) which halt the execution return(uint256,uint256)(0,returndatasize()()) (src/contracts/transparent-proxy/Proxy.sol#48)
TransparentUpgradeableProxy.implementation() (src/contracts/transparent-proxy/TransparentUpgradeableProxy.sol#82-84) calls TransparentUpgradeableProxy.ifAdmin() (src/contracts/transparent-proxy/TransparentUpgradeableProxy.sol#52-58) which halt the execution return(uint256,uint256)(0,returndatasize()()) (src/contracts/transparent-proxy/Proxy.sol#48)
TransparentUpgradeableProxy.changeAdmin(address) (src/contracts/transparent-proxy/TransparentUpgradeableProxy.sol#93-95) calls TransparentUpgradeableProxy.ifAdmin() (src/contracts/transparent-proxy/TransparentUpgradeableProxy.sol#52-58) which halt the execution return(uint256,uint256)(0,returndatasize()()) (src/contracts/transparent-proxy/Proxy.sol#48)
TransparentUpgradeableProxy.upgradeTo(address) (src/contracts/transparent-proxy/TransparentUpgradeableProxy.sol#102-104) calls TransparentUpgradeableProxy.ifAdmin() (src/contracts/transparent-proxy/TransparentUpgradeableProxy.sol#52-58) which halt the execution return(uint256,uint256)(0,returndatasize()()) (src/contracts/transparent-proxy/Proxy.sol#48)
TransparentUpgradeableProxy.upgradeToAndCall(address,bytes) (src/contracts/transparent-proxy/TransparentUpgradeableProxy.sol#113-118) calls TransparentUpgradeableProxy.ifAdmin() (src/contracts/transparent-proxy/TransparentUpgradeableProxy.sol#52-58) which halt the execution return(uint256,uint256)(0,returndatasize()()) (src/contracts/transparent-proxy/Proxy.sol#48)
TransparentUpgradeableProxy.ifAdmin() (src/contracts/transparent-proxy/TransparentUpgradeableProxy.sol#52-58) calls Proxy._fallback() (src/contracts/transparent-proxy/Proxy.sol#64-67) which halt the execution return(uint256,uint256)(0,returndatasize()()) (src/contracts/transparent-proxy/Proxy.sol#48)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-assembly-return
INFO:Detectors:
ERC1967Upgrade._upgradeToAndCall(address,bytes,bool) (src/contracts/transparent-proxy/ERC1967Upgrade.sol#84-93) ignores return value by Address.functionDelegateCall(newImplementation,data) (src/contracts/transparent-proxy/ERC1967Upgrade.sol#91)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return
INFO:Detectors:
Modifier TransparentUpgradeableProxy.ifAdmin() (src/contracts/transparent-proxy/TransparentUpgradeableProxy.sol#52-58) does not always execute _; or revertReference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-modifier
INFO:Detectors:
Address._revert(bytes,string) (src/contracts/oz-common/Address.sol#235-247) uses assembly
- INLINE ASM (src/contracts/oz-common/Address.sol#240-243)
StorageSlot.getAddressSlot(bytes32) (src/contracts/oz-common/StorageSlot.sol#53-58) uses assembly
- INLINE ASM (src/contracts/oz-common/StorageSlot.sol#55-57)
StorageSlot.getBooleanSlot(bytes32) (src/contracts/oz-common/StorageSlot.sol#63-68) uses assembly
- INLINE ASM (src/contracts/oz-common/StorageSlot.sol#65-67)
StorageSlot.getBytes32Slot(bytes32) (src/contracts/oz-common/StorageSlot.sol#73-78) uses assembly
- INLINE ASM (src/contracts/oz-common/StorageSlot.sol#75-77)
StorageSlot.getUint256Slot(bytes32) (src/contracts/oz-common/StorageSlot.sol#83-88) uses assembly
- INLINE ASM (src/contracts/oz-common/StorageSlot.sol#85-87)
Proxy._delegate(address) (src/contracts/transparent-proxy/Proxy.sol#28-51) uses assembly
- INLINE ASM (src/contracts/transparent-proxy/Proxy.sol#29-50)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
Address.functionCall(address,bytes) (src/contracts/oz-common/Address.sol#86-88) is never used and should be removed
Address.functionCall(address,bytes,string) (src/contracts/oz-common/Address.sol#96-102) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (src/contracts/oz-common/Address.sol#115-121) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (src/contracts/oz-common/Address.sol#129-138) is never used and should be removed
Address.functionStaticCall(address,bytes) (src/contracts/oz-common/Address.sol#146-151) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (src/contracts/oz-common/Address.sol#159-166) is never used and should be removed
Address.sendValue(address,uint256) (src/contracts/oz-common/Address.sol#61-66) is never used and should be removed
Address.verifyCallResult(bool,bytes,string) (src/contracts/oz-common/Address.sol#223-233) is never used and should be removed
StorageSlot.getBooleanSlot(bytes32) (src/contracts/oz-common/StorageSlot.sol#63-68) is never used and should be removed
StorageSlot.getBytes32Slot(bytes32) (src/contracts/oz-common/StorageSlot.sol#73-78) is never used and should be removed
StorageSlot.getUint256Slot(bytes32) (src/contracts/oz-common/StorageSlot.sol#83-88) is never used and should be removed
TransparentUpgradeableProxy._admin() (src/contracts/transparent-proxy/TransparentUpgradeableProxy.sol#123-125) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Low level call in Address.sendValue(address,uint256) (src/contracts/oz-common/Address.sol#61-66):
- (success) = recipient.call{value: amount}() (src/contracts/oz-common/Address.sol#64)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (src/contracts/oz-common/Address.sol#129-138):
- (success,returndata) = target.call{value: value}(data) (src/contracts/oz-common/Address.sol#136)
Low level call in Address.functionStaticCall(address,bytes,string) (src/contracts/oz-common/Address.sol#159-166):
- (success,returndata) = target.staticcall(data) (src/contracts/oz-common/Address.sol#164)
Low level call in Address.functionDelegateCall(address,bytes,string) (src/contracts/oz-common/Address.sol#184-191):
- (success,returndata) = target.delegatecall(data) (src/contracts/oz-common/Address.sol#189)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
INFO:Slither:0x9aee0b04504cef83a65ac3f0e838d0593bcb2bc7 analyzed (6 contracts with 87 detectors), 30 result(s) found
```
Slither report for EthRobotKeeper at `0x9EEa1Ba822d204077e9f90a92D30432417184587`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0x9eea1ba822d204077e9f90a92d30432417184587-EthRobotKeeper' running
INFO:Detectors:
EthRobotKeeper._squeezeAndShuffleActions(IEthRobotKeeper.ActionWithId[],uint256) (src/contracts/EthRobotKeeper.sol#242-264) uses a weak PRNG: "n = i + (randomNumber % (actions.length - i)) (src/contracts/EthRobotKeeper.sol#257)"
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#weak-PRNG
INFO:Detectors:
EthRobotKeeper.performUpkeep(bytes).isActionPerformed (src/contracts/EthRobotKeeper.sol#117) is a local variable never initialized
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-local-variables
INFO:Detectors:
EthRobotKeeper.constructor(address).governanceV2 (src/contracts/EthRobotKeeper.sol#34) lacks a zero-check on :
- GOVERNANCE_V2 = governanceV2 (src/contracts/EthRobotKeeper.sol#35)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation
INFO:Detectors:
EthRobotKeeper.checkUpkeep(bytes) (src/contracts/EthRobotKeeper.sol#42-108) has external calls inside a loop: proposalState = IAaveGovernanceV2(GOVERNANCE_V2).getProposalState(proposalId) (src/contracts/EthRobotKeeper.sol#57-58)
EthRobotKeeper.checkUpkeep(bytes) (src/contracts/EthRobotKeeper.sol#42-108) has external calls inside a loop: proposal = IAaveGovernanceV2(GOVERNANCE_V2).getProposalById(proposalId) (src/contracts/EthRobotKeeper.sol#59-60)
EthRobotKeeper._canProposalBeCancelled(IAaveGovernanceV2.ProposalState,IAaveGovernanceV2.ProposalWithoutVotes) (src/contracts/EthRobotKeeper.sol#216-234) has external calls inside a loop: proposalValidator.validateProposalCancellation(IAaveGovernanceV2(GOVERNANCE_V2),proposal.creator,block.number - 1) (src/contracts/EthRobotKeeper.sol#228-233)
EthRobotKeeper.performUpkeep(bytes) (src/contracts/EthRobotKeeper.sol#115-149) has external calls inside a loop: proposal = IAaveGovernanceV2(GOVERNANCE_V2).getProposalById(proposalId) (src/contracts/EthRobotKeeper.sol#124-125)
EthRobotKeeper.performUpkeep(bytes) (src/contracts/EthRobotKeeper.sol#115-149) has external calls inside a loop: proposalState = IAaveGovernanceV2(GOVERNANCE_V2).getProposalState(proposalId) (src/contracts/EthRobotKeeper.sol#126-127)
EthRobotKeeper.performUpkeep(bytes) (src/contracts/EthRobotKeeper.sol#115-149) has external calls inside a loop: IAaveGovernanceV2(GOVERNANCE_V2).cancel(proposalId) (src/contracts/EthRobotKeeper.sol#132)
EthRobotKeeper.performUpkeep(bytes) (src/contracts/EthRobotKeeper.sol#115-149) has external calls inside a loop: IAaveGovernanceV2(GOVERNANCE_V2).queue(proposalId) (src/contracts/EthRobotKeeper.sol#136)
EthRobotKeeper.performUpkeep(bytes) (src/contracts/EthRobotKeeper.sol#115-149) has external calls inside a loop: IAaveGovernanceV2(GOVERNANCE_V2).execute(proposalId) (src/contracts/EthRobotKeeper.sol#142)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation/#calls-inside-a-loop
INFO:Detectors:
Reentrancy in EthRobotKeeper.performUpkeep(bytes) (src/contracts/EthRobotKeeper.sol#115-149):
External calls:
- IAaveGovernanceV2(GOVERNANCE_V2).cancel(proposalId) (src/contracts/EthRobotKeeper.sol#132)
- IAaveGovernanceV2(GOVERNANCE_V2).queue(proposalId) (src/contracts/EthRobotKeeper.sol#136)
- IAaveGovernanceV2(GOVERNANCE_V2).execute(proposalId) (src/contracts/EthRobotKeeper.sol#142)
Event emitted after the call(s):
- ActionSucceeded(proposalId,action) (src/contracts/EthRobotKeeper.sol#134)
- ActionSucceeded(proposalId,action) (src/contracts/EthRobotKeeper.sol#138)
- ActionSucceeded(proposalId,action) (src/contracts/EthRobotKeeper.sol#144)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3
INFO:Detectors:
EthRobotKeeper._canProposalBeExecuted(IAaveGovernanceV2.ProposalState,IAaveGovernanceV2.ProposalWithoutVotes) (src/contracts/EthRobotKeeper.sol#197-208) uses timestamp for comparisons
Dangerous comparisons:
- proposalState == IAaveGovernanceV2.ProposalState.Queued && block.timestamp >= proposal.executionTime (src/contracts/EthRobotKeeper.sol#202-203)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#block-timestamp
INFO:Detectors:
EthRobotKeeper.checkUpkeep(bytes) (src/contracts/EthRobotKeeper.sol#42-108) uses assembly
- INLINE ASM (src/contracts/EthRobotKeeper.sol#92-94)
- INLINE ASM (src/contracts/EthRobotKeeper.sol#101-103)
EthRobotKeeper._squeezeAndShuffleActions(IEthRobotKeeper.ActionWithId[],uint256) (src/contracts/EthRobotKeeper.sol#242-264) uses assembly
- INLINE ASM (src/contracts/EthRobotKeeper.sol#248-250)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
Context._msgData() (lib/solidity-utils/src/contracts/oz-common/Context.sol#22-24) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Function IExecutorWithTimelock.GRACE_PERIOD() (lib/aave-address-book/src/AaveGovernanceV2.sol#159) is not in mixedCase
Function IExecutorWithTimelock.MINIMUM_DELAY() (lib/aave-address-book/src/AaveGovernanceV2.sol#165) is not in mixedCase
Function IExecutorWithTimelock.MAXIMUM_DELAY() (lib/aave-address-book/src/AaveGovernanceV2.sol#171) is not in mixedCase
Function IAaveGovernanceV2.__abdicate() (lib/aave-address-book/src/AaveGovernanceV2.sol#444) is not in mixedCase
Variable EthRobotKeeper.GOVERNANCE_V2 (src/contracts/EthRobotKeeper.sol#19) is not in mixedCase
Function IAaveCLRobotOperator.LINK_TOKEN() (src/interfaces/IAaveCLRobotOperator.sol#133) is not in mixedCase
Function IAaveCLRobotOperator.KEEPER_REGISTRY() (src/interfaces/IAaveCLRobotOperator.sol#139) is not in mixedCase
Function IAaveCLRobotOperator.KEEPER_REGISTRAR() (src/interfaces/IAaveCLRobotOperator.sol#145) is not in mixedCase
Function IEthRobotKeeper.GOVERNANCE_V2() (src/interfaces/IEthRobotKeeper.sol#58) is not in mixedCase
Function IEthRobotKeeper.MAX_ACTIONS() (src/interfaces/IEthRobotKeeper.sol#65) is not in mixedCase
Function IEthRobotKeeper.MAX_SKIP() (src/interfaces/IEthRobotKeeper.sol#71) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Slither:0x9eea1ba822d204077e9f90a92d30432417184587 analyzed (11 contracts with 87 detectors), 27 result(s) found
```
Slither report for PolygonAdapterEthereum at `0xb13712De579E1f9943502FFCf72eab6ec348cF79`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0xb13712de579e1f9943502ffcf72eab6ec348cf79-PolygonAdapterEthereum' running
INFO:Detectors:
TransactionUtils.encode(Transaction).encodedTransaction (src/contracts/libs/EncodingUtils.sol#116) is a local variable never initialized
EnvelopeUtils.encode(Envelope).encodedEnvelope (src/contracts/libs/EncodingUtils.sol#47) is a local variable never initialized
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-local-variables
INFO:Detectors:
EnumerableSet.values(EnumerableSet.Bytes32Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#219-229) uses assembly
- INLINE ASM (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#224-226)
EnumerableSet.values(EnumerableSet.AddressSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#293-303) uses assembly
- INLINE ASM (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#298-300)
EnumerableSet.values(EnumerableSet.UintSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#367-377) uses assembly
- INLINE ASM (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#372-374)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
EnumerableSet._add(EnumerableSet.Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#65-75) is never used and should be removed
EnumerableSet._at(EnumerableSet.Set,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#141-143) is never used and should be removed
EnumerableSet._contains(EnumerableSet.Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#120-122) is never used and should be removed
EnumerableSet._length(EnumerableSet.Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#127-129) is never used and should be removed
EnumerableSet._remove(EnumerableSet.Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#83-115) is never used and should be removed
EnumerableSet._values(EnumerableSet.Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#153-155) is never used and should be removed
EnumerableSet.add(EnumerableSet.AddressSet,address) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#243-245) is never used and should be removed
EnumerableSet.add(EnumerableSet.Bytes32Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#169-171) is never used and should be removed
EnumerableSet.add(EnumerableSet.UintSet,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#317-319) is never used and should be removed
EnumerableSet.at(EnumerableSet.AddressSet,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#281-283) is never used and should be removed
EnumerableSet.at(EnumerableSet.Bytes32Set,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#207-209) is never used and should be removed
EnumerableSet.at(EnumerableSet.UintSet,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#355-357) is never used and should be removed
EnumerableSet.contains(EnumerableSet.AddressSet,address) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#260-262) is never used and should be removed
EnumerableSet.contains(EnumerableSet.Bytes32Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#186-188) is never used and should be removed
EnumerableSet.contains(EnumerableSet.UintSet,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#334-336) is never used and should be removed
EnumerableSet.length(EnumerableSet.AddressSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#267-269) is never used and should be removed
EnumerableSet.length(EnumerableSet.Bytes32Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#193-195) is never used and should be removed
EnumerableSet.length(EnumerableSet.UintSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#341-343) is never used and should be removed
EnumerableSet.remove(EnumerableSet.AddressSet,address) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#253-255) is never used and should be removed
EnumerableSet.remove(EnumerableSet.Bytes32Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#179-181) is never used and should be removed
EnumerableSet.remove(EnumerableSet.UintSet,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#327-329) is never used and should be removed
EnumerableSet.values(EnumerableSet.AddressSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#293-303) is never used and should be removed
EnumerableSet.values(EnumerableSet.Bytes32Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#219-229) is never used and should be removed
EnumerableSet.values(EnumerableSet.UintSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#367-377) is never used and should be removed
EnvelopeUtils.decode(bytes) (src/contracts/libs/EncodingUtils.sol#58-60) is never used and should be removed
EnvelopeUtils.encode(Envelope) (src/contracts/libs/EncodingUtils.sol#46-51) is never used and should be removed
EnvelopeUtils.getId(Envelope) (src/contracts/libs/EncodingUtils.sol#67-70) is never used and should be removed
EnvelopeUtils.getId(bytes) (src/contracts/libs/EncodingUtils.sol#77-79) is never used and should be removed
TransactionUtils.decode(bytes) (src/contracts/libs/EncodingUtils.sol#127-129) is never used and should be removed
TransactionUtils.encode(Transaction) (src/contracts/libs/EncodingUtils.sol#113-120) is never used and should be removed
TransactionUtils.getEnvelope(Transaction) (src/contracts/libs/EncodingUtils.sol#155-157) is never used and should be removed
TransactionUtils.getEnvelopeId(Transaction) (src/contracts/libs/EncodingUtils.sol#164-166) is never used and should be removed
TransactionUtils.getId(Transaction) (src/contracts/libs/EncodingUtils.sol#136-139) is never used and should be removed
TransactionUtils.getId(bytes) (src/contracts/libs/EncodingUtils.sol#146-148) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Variable BaseAdapter.CROSS_CHAIN_CONTROLLER (src/contracts/adapters/BaseAdapter.sol#15) is not in mixedCase
Function IPolygonAdapter.FX_TUNNEL() (src/contracts/adapters/polygon/IPolygonAdapter.sol#13) is not in mixedCase
Variable PolygonAdapterBase.FX_TUNNEL (src/contracts/adapters/polygon/PolygonAdapterBase.sol#19) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Slither:0xb13712de579e1f9943502ffcf72eab6ec348cf79 analyzed (16 contracts with 87 detectors), 42 result(s) found
```
Slither report for GovernanceStrategy at `0xb7e383ef9B1E9189Fc0F71fb30af8aa14377429e`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts' running
INFO:Detectors:
GovernanceStrategy.constructor(address,address).aave (crytic-export/etherscan-contracts/0xb7e383ef9b1e9189fc0f71fb30af8aa14377429e-GovernanceStrategy.sol#78) lacks a zero-check on :
- AAVE = aave (crytic-export/etherscan-contracts/0xb7e383ef9b1e9189fc0f71fb30af8aa14377429e-GovernanceStrategy.sol#79)
GovernanceStrategy.constructor(address,address).stkAave (crytic-export/etherscan-contracts/0xb7e383ef9b1e9189fc0f71fb30af8aa14377429e-GovernanceStrategy.sol#78) lacks a zero-check on :
- STK_AAVE = stkAave (crytic-export/etherscan-contracts/0xb7e383ef9b1e9189fc0f71fb30af8aa14377429e-GovernanceStrategy.sol#80)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation
INFO:Detectors:
Variable GovernanceStrategy.AAVE (crytic-export/etherscan-contracts/0xb7e383ef9b1e9189fc0f71fb30af8aa14377429e-GovernanceStrategy.sol#70) is not in mixedCase
Variable GovernanceStrategy.STK_AAVE (crytic-export/etherscan-contracts/0xb7e383ef9b1e9189fc0f71fb30af8aa14377429e-GovernanceStrategy.sol#71) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Slither:0xb7e383ef9b1e9189fc0f71fb30af8aa14377429e analyzed (4 contracts with 87 detectors), 4 result(s) found
```
Slither report for AccessControlledOffchainAggregator at `0xbba12740DE905707251525477bAD74985DeC46D2`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0xbba12740de905707251525477bad74985dec46d2-AccessControlledOffchainAggregator' running
Warning: OffchainAggregator.sol:461:7: Warning: This declaration shadows an existing declaration.
int192 latestAnswer,
^-----------------^
OffchainAggregator.sol:653:3: The shadowed declaration is here:
function latestAnswer()
^ (Relevant source part starts here and spans across multiple lines).
Warning: OffchainAggregator.sol:462:7: Warning: This declaration shadows an existing declaration.
uint64 latestTimestamp
^--------------------^
OffchainAggregator.sol:666:3: The shadowed declaration is here:
function latestTimestamp()
^ (Relevant source part starts here and spans across multiple lines).
Warning: AccessControlledOffchainAggregator.sol:25:5: Warning: This declaration shadows an existing declaration.
string memory description
^-----------------------^
AccessControlledOffchainAggregator.sol:108:3: The shadowed declaration is here:
function description()
^ (Relevant source part starts here and spans across multiple lines).
INFO:Detectors:
OffchainAggregatorBilling.reimburseAndRewardOracles(uint32,bytes) (OffchainAggregatorBilling.sol#570-623) passes array OffchainAggregatorBilling.s_oracleObservationsCounts (OffchainAggregatorBilling.sol#84) by reference to OffchainAggregatorBilling.oracleRewards(bytes,uint16[31]) (OffchainAggregatorBilling.sol#392-406) which only takes arrays by value
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#modifying-storage-array-by-value
INFO:Detectors:
Reentrancy in OffchainAggregatorBilling.payOracle(address) (OffchainAggregatorBilling.sol#344-358):
External calls:
- require(bool,string)(LINK.transfer(payee,linkWeiAmount),insufficient funds) (OffchainAggregatorBilling.sol#353)
State variables written after the call(s):
- s_gasReimbursementsLinkWei[oracle.index] = 1 (OffchainAggregatorBilling.sol#355)
OffchainAggregatorBilling.s_gasReimbursementsLinkWei (OffchainAggregatorBilling.sol#114) can be used in cross function reentrancies:
- OffchainAggregatorBilling.constructor(uint32,uint32,uint32,uint32,uint32,address,AccessControllerInterface) (OffchainAggregatorBilling.sol#148-171)
- OffchainAggregatorBilling.owedPayment(address) (OffchainAggregatorBilling.sol#319-333)
- OffchainAggregatorBilling.payOracle(address) (OffchainAggregatorBilling.sol#344-358)
- OffchainAggregatorBilling.payOracles() (OffchainAggregatorBilling.sol#364-390)
- OffchainAggregatorBilling.totalLINKDue() (OffchainAggregatorBilling.sol#508-535)
- s_oracleObservationsCounts[oracle.index] = 1 (OffchainAggregatorBilling.sol#354)
OffchainAggregatorBilling.s_oracleObservationsCounts (OffchainAggregatorBilling.sol#84) can be used in cross function reentrancies:
- OffchainAggregatorBilling.constructor(uint32,uint32,uint32,uint32,uint32,address,AccessControllerInterface) (OffchainAggregatorBilling.sol#148-171)
- OffchainAggregatorBilling.oracleObservationCount(address) (OffchainAggregatorBilling.sol#559-567)
- OffchainAggregatorBilling.owedPayment(address) (OffchainAggregatorBilling.sol#319-333)
- OffchainAggregatorBilling.payOracle(address) (OffchainAggregatorBilling.sol#344-358)
- OffchainAggregatorBilling.payOracles() (OffchainAggregatorBilling.sol#364-390)
- OffchainAggregatorBilling.totalLINKDue() (OffchainAggregatorBilling.sol#508-535)
Reentrancy in OffchainAggregatorBilling.payOracles() (OffchainAggregatorBilling.sol#364-390):
External calls:
- require(bool,string)(LINK.transfer(payee,linkWeiAmount),insufficient funds) (OffchainAggregatorBilling.sol#381)
State variables written after the call(s):
- s_gasReimbursementsLinkWei = gasReimbursementsLinkWei (OffchainAggregatorBilling.sol#389)
OffchainAggregatorBilling.s_gasReimbursementsLinkWei (OffchainAggregatorBilling.sol#114) can be used in cross function reentrancies:
- OffchainAggregatorBilling.constructor(uint32,uint32,uint32,uint32,uint32,address,AccessControllerInterface) (OffchainAggregatorBilling.sol#148-171)
- OffchainAggregatorBilling.owedPayment(address) (OffchainAggregatorBilling.sol#319-333)
- OffchainAggregatorBilling.payOracle(address) (OffchainAggregatorBilling.sol#344-358)
- OffchainAggregatorBilling.payOracles() (OffchainAggregatorBilling.sol#364-390)
- OffchainAggregatorBilling.totalLINKDue() (OffchainAggregatorBilling.sol#508-535)
- s_oracleObservationsCounts = observationsCounts (OffchainAggregatorBilling.sol#388)
OffchainAggregatorBilling.s_oracleObservationsCounts (OffchainAggregatorBilling.sol#84) can be used in cross function reentrancies:
- OffchainAggregatorBilling.constructor(uint32,uint32,uint32,uint32,uint32,address,AccessControllerInterface) (OffchainAggregatorBilling.sol#148-171)
- OffchainAggregatorBilling.oracleObservationCount(address) (OffchainAggregatorBilling.sol#559-567)
- OffchainAggregatorBilling.owedPayment(address) (OffchainAggregatorBilling.sol#319-333)
- OffchainAggregatorBilling.payOracle(address) (OffchainAggregatorBilling.sol#344-358)
- OffchainAggregatorBilling.payOracles() (OffchainAggregatorBilling.sol#364-390)
- OffchainAggregatorBilling.totalLINKDue() (OffchainAggregatorBilling.sol#508-535)
Reentrancy in OffchainAggregatorBilling.setBilling(uint32,uint32,uint32,uint32,uint32) (OffchainAggregatorBilling.sol#213-228):
External calls:
- payOracles() (OffchainAggregatorBilling.sol#225)
- require(bool,string)(LINK.transfer(payee,linkWeiAmount),insufficient funds) (OffchainAggregatorBilling.sol#381)
State variables written after the call(s):
- setBillingInternal(_maximumGasPrice,_reasonableGasPrice,_microLinkPerEth,_linkGweiPerObservation,_linkGweiPerTransmission) (OffchainAggregatorBilling.sol#226-227)
- s_billing = Billing(_maximumGasPrice,_reasonableGasPrice,_microLinkPerEth,_linkGweiPerObservation,_linkGweiPerTransmission) (OffchainAggregatorBilling.sol#198-199)
OffchainAggregatorBilling.s_billing (OffchainAggregatorBilling.sol#66) can be used in cross function reentrancies:
- OffchainAggregatorBilling.getBilling() (OffchainAggregatorBilling.sol#238-257)
- OffchainAggregatorBilling.owedPayment(address) (OffchainAggregatorBilling.sol#319-333)
- OffchainAggregatorBilling.payOracles() (OffchainAggregatorBilling.sol#364-390)
- OffchainAggregatorBilling.setBillingInternal(uint32,uint32,uint32,uint32,uint32) (OffchainAggregatorBilling.sol#189-202)
- OffchainAggregatorBilling.totalLINKDue() (OffchainAggregatorBilling.sol#508-535)
Reentrancy in OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes) (OffchainAggregator.sol#149-212):
External calls:
- payOracle(transmitter) (OffchainAggregator.sol#164)
- require(bool,string)(LINK.transfer(payee,linkWeiAmount),insufficient funds) (OffchainAggregatorBilling.sol#353)
State variables written after the call(s):
- delete s_oracles[signer] (OffchainAggregator.sol#165)
OffchainAggregatorBilling.s_oracles (OffchainAggregatorBilling.sol#135-136) can be used in cross function reentrancies:
- OffchainAggregatorBilling.oracleObservationCount(address) (OffchainAggregatorBilling.sol#559-567)
- OffchainAggregatorBilling.owedPayment(address) (OffchainAggregatorBilling.sol#319-333)
- OffchainAggregatorBilling.payOracle(address) (OffchainAggregatorBilling.sol#344-358)
- OffchainAggregatorBilling.reimburseAndRewardOracles(uint32,bytes) (OffchainAggregatorBilling.sol#570-623)
- OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes) (OffchainAggregator.sol#149-212)
- OffchainAggregator.transmit(bytes,bytes32[],bytes32[],bytes32) (OffchainAggregator.sol#508-644)
- delete s_oracles[transmitter] (OffchainAggregator.sol#166)
OffchainAggregatorBilling.s_oracles (OffchainAggregatorBilling.sol#135-136) can be used in cross function reentrancies:
- OffchainAggregatorBilling.oracleObservationCount(address) (OffchainAggregatorBilling.sol#559-567)
- OffchainAggregatorBilling.owedPayment(address) (OffchainAggregatorBilling.sol#319-333)
- OffchainAggregatorBilling.payOracle(address) (OffchainAggregatorBilling.sol#344-358)
- OffchainAggregatorBilling.reimburseAndRewardOracles(uint32,bytes) (OffchainAggregatorBilling.sol#570-623)
- OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes) (OffchainAggregator.sol#149-212)
- OffchainAggregator.transmit(bytes,bytes32[],bytes32[],bytes32) (OffchainAggregator.sol#508-644)
- s_oracles[_signers[i]] = Oracle(uint8(i),Role.Signer) (OffchainAggregator.sol#176)
OffchainAggregatorBilling.s_oracles (OffchainAggregatorBilling.sol#135-136) can be used in cross function reentrancies:
- OffchainAggregatorBilling.oracleObservationCount(address) (OffchainAggregatorBilling.sol#559-567)
- OffchainAggregatorBilling.owedPayment(address) (OffchainAggregatorBilling.sol#319-333)
- OffchainAggregatorBilling.payOracle(address) (OffchainAggregatorBilling.sol#344-358)
- OffchainAggregatorBilling.reimburseAndRewardOracles(uint32,bytes) (OffchainAggregatorBilling.sol#570-623)
- OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes) (OffchainAggregator.sol#149-212)
- OffchainAggregator.transmit(bytes,bytes32[],bytes32[],bytes32) (OffchainAggregator.sol#508-644)
- s_oracles[_transmitters[i]] = Oracle(uint8(i),Role.Transmitter) (OffchainAggregator.sol#182)
OffchainAggregatorBilling.s_oracles (OffchainAggregatorBilling.sol#135-136) can be used in cross function reentrancies:
- OffchainAggregatorBilling.oracleObservationCount(address) (OffchainAggregatorBilling.sol#559-567)
- OffchainAggregatorBilling.owedPayment(address) (OffchainAggregatorBilling.sol#319-333)
- OffchainAggregatorBilling.payOracle(address) (OffchainAggregatorBilling.sol#344-358)
- OffchainAggregatorBilling.reimburseAndRewardOracles(uint32,bytes) (OffchainAggregatorBilling.sol#570-623)
- OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes) (OffchainAggregator.sol#149-212)
- OffchainAggregator.transmit(bytes,bytes32[],bytes32[],bytes32) (OffchainAggregator.sol#508-644)
- s_signers.pop() (OffchainAggregator.sol#167)
OffchainAggregatorBilling.s_signers (OffchainAggregatorBilling.sol#139) can be used in cross function reentrancies:
- OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes) (OffchainAggregator.sol#149-212)
- s_signers.push(_signers[i]) (OffchainAggregator.sol#183)
OffchainAggregatorBilling.s_signers (OffchainAggregatorBilling.sol#139) can be used in cross function reentrancies:
- OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes) (OffchainAggregator.sol#149-212)
- s_transmitters.pop() (OffchainAggregator.sol#168)
OffchainAggregatorBilling.s_transmitters (OffchainAggregatorBilling.sol#143) can be used in cross function reentrancies:
- OffchainAggregatorBilling.payOracles() (OffchainAggregatorBilling.sol#364-390)
- OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes) (OffchainAggregator.sol#149-212)
- OffchainAggregatorBilling.totalLINKDue() (OffchainAggregatorBilling.sol#508-535)
- OffchainAggregator.transmit(bytes,bytes32[],bytes32[],bytes32) (OffchainAggregator.sol#508-644)
- OffchainAggregator.transmitters() (OffchainAggregator.sol#252-258)
- s_transmitters.push(_transmitters[i]) (OffchainAggregator.sol#184)
OffchainAggregatorBilling.s_transmitters (OffchainAggregatorBilling.sol#143) can be used in cross function reentrancies:
- OffchainAggregatorBilling.payOracles() (OffchainAggregatorBilling.sol#364-390)
- OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes) (OffchainAggregator.sol#149-212)
- OffchainAggregatorBilling.totalLINKDue() (OffchainAggregatorBilling.sol#508-535)
- OffchainAggregator.transmit(bytes,bytes32[],bytes32[],bytes32) (OffchainAggregator.sol#508-644)
- OffchainAggregator.transmitters() (OffchainAggregator.sol#252-258)
Reentrancy in OffchainAggregator.transmit(bytes,bytes32[],bytes32[],bytes32) (OffchainAggregator.sol#508-644):
External calls:
- validateAnswer(r.hotVars.latestAggregatorRoundId,median) (OffchainAggregator.sol#639)
- av.validate{gas: VALIDATOR_GAS_LIMIT}(prevAggregatorRoundId,prevAggregatorRoundAnswer,_aggregatorRoundId,_answer) (OffchainAggregator.sol#322-327)
State variables written after the call(s):
- s_hotVars = r.hotVars (OffchainAggregator.sol#641)
OffchainAggregator.s_hotVars (OffchainAggregator.sol#39) can be used in cross function reentrancies:
- OffchainAggregator.latestAnswer() (OffchainAggregator.sol#653-661)
- OffchainAggregator.latestConfigDetails() (OffchainAggregator.sol#235-245)
- OffchainAggregator.latestRound() (OffchainAggregator.sol#679-687)
- OffchainAggregator.latestRoundData() (OffchainAggregator.sol#791-817)
- OffchainAggregator.latestTimestamp() (OffchainAggregator.sol#666-674)
- OffchainAggregator.latestTransmissionDetails() (OffchainAggregator.sol#454-473)
- OffchainAggregator.requestNewRound() (OffchainAggregator.sol#385-398)
- OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes) (OffchainAggregator.sol#149-212)
- OffchainAggregator.transmit(bytes,bytes32[],bytes32[],bytes32) (OffchainAggregator.sol#508-644)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-1
INFO:Detectors:
OffchainAggregator.transmit(bytes,bytes32[],bytes32[],bytes32).r (OffchainAggregator.sol#526) is a local variable never initialized
OffchainAggregatorBilling.constructor(uint32,uint32,uint32,uint32,uint32,address,AccessControllerInterface).gas (OffchainAggregatorBilling.sol#163) is a local variable never initialized
OffchainAggregatorBilling.constructor(uint32,uint32,uint32,uint32,uint32,address,AccessControllerInterface).counts (OffchainAggregatorBilling.sol#162) is a local variable never initialized
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-local-variables
INFO:Detectors:
OffchainAggregator.validateAnswer(uint32,int256) (OffchainAggregator.sol#309-328) ignores return value by av.validate{gas: VALIDATOR_GAS_LIMIT}(prevAggregatorRoundId,prevAggregatorRoundAnswer,_aggregatorRoundId,_answer) (OffchainAggregator.sol#322-327)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return
INFO:Detectors:
AccessControlledOffchainAggregator.constructor(uint32,uint32,uint32,uint32,uint32,address,address,int192,int192,AccessControllerInterface,AccessControllerInterface,uint8,string).description (AccessControlledOffchainAggregator.sol#25) shadows:
- AccessControlledOffchainAggregator.description() (AccessControlledOffchainAggregator.sol#108-116) (function)
- OffchainAggregator.description() (OffchainAggregator.sol#740-748) (function)
- AggregatorV3Interface.description() (AggregatorV3Interface.sol#7) (function)
OffchainAggregator.latestTransmissionDetails().latestAnswer (OffchainAggregator.sol#461) shadows:
- OffchainAggregator.latestAnswer() (OffchainAggregator.sol#653-661) (function)
- AggregatorInterface.latestAnswer() (AggregatorInterface.sol#5) (function)
OffchainAggregator.latestTransmissionDetails().latestTimestamp (OffchainAggregator.sol#462) shadows:
- OffchainAggregator.latestTimestamp() (OffchainAggregator.sol#666-674) (function)
- AggregatorInterface.latestTimestamp() (AggregatorInterface.sol#6) (function)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#local-variable-shadowing
INFO:Detectors:
Owned.transferOwnership(address)._to (Owned.sol#30) lacks a zero-check on :
- pendingOwner = _to (Owned.sol#34)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation
INFO:Detectors:
OffchainAggregatorBilling.payOracle(address) (OffchainAggregatorBilling.sol#344-358) has external calls inside a loop: require(bool,string)(LINK.transfer(payee,linkWeiAmount),insufficient funds) (OffchainAggregatorBilling.sol#353)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation/#calls-inside-a-loop
INFO:Detectors:
Reentrancy in OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes) (OffchainAggregator.sol#149-212):
External calls:
- payOracle(transmitter) (OffchainAggregator.sol#164)
- require(bool,string)(LINK.transfer(payee,linkWeiAmount),insufficient funds) (OffchainAggregatorBilling.sol#353)
State variables written after the call(s):
- s_configCount += 1 (OffchainAggregator.sol#189)
- s_hotVars.threshold = _threshold (OffchainAggregator.sol#186)
- s_hotVars.latestConfigDigest = configDigestFromConfigData(address(this),configCount,_signers,_transmitters,_threshold,_encodedConfigVersion,_encoded) (OffchainAggregator.sol#192-200)
- s_hotVars.latestEpochAndRound = 0 (OffchainAggregator.sol#201)
- s_latestConfigBlockNumber = uint32(block.number) (OffchainAggregator.sol#188)
Reentrancy in OffchainAggregator.transmit(bytes,bytes32[],bytes32[],bytes32) (OffchainAggregator.sol#508-644):
External calls:
- validateAnswer(r.hotVars.latestAggregatorRoundId,median) (OffchainAggregator.sol#639)
- av.validate{gas: VALIDATOR_GAS_LIMIT}(prevAggregatorRoundId,prevAggregatorRoundAnswer,_aggregatorRoundId,_answer) (OffchainAggregator.sol#322-327)
State variables written after the call(s):
- reimburseAndRewardOracles(uint32(initialGas),r.observers) (OffchainAggregator.sol#643)
- s_gasReimbursementsLinkWei[txOracle.index] = s_gasReimbursementsLinkWei[txOracle.index] + gasCostLinkWei + uint256(billing.linkGweiPerTransmission) * (1000000000) (OffchainAggregatorBilling.sol#615-617)
- reimburseAndRewardOracles(uint32(initialGas),r.observers) (OffchainAggregator.sol#643)
- s_oracleObservationsCounts = oracleRewards(observers,s_oracleObservationsCounts) (OffchainAggregatorBilling.sol#580-581)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-2
INFO:Detectors:
Reentrancy in OffchainAggregatorBilling.payOracle(address) (OffchainAggregatorBilling.sol#344-358):
External calls:
- require(bool,string)(LINK.transfer(payee,linkWeiAmount),insufficient funds) (OffchainAggregatorBilling.sol#353)
Event emitted after the call(s):
- OraclePaid(_transmitter,payee,linkWeiAmount) (OffchainAggregatorBilling.sol#356)
Reentrancy in OffchainAggregatorBilling.payOracles() (OffchainAggregatorBilling.sol#364-390):
External calls:
- require(bool,string)(LINK.transfer(payee,linkWeiAmount),insufficient funds) (OffchainAggregatorBilling.sol#381)
Event emitted after the call(s):
- OraclePaid(transmitters[transmitteridx],payee,linkWeiAmount) (OffchainAggregatorBilling.sol#384)
Reentrancy in OffchainAggregatorBilling.setBilling(uint32,uint32,uint32,uint32,uint32) (OffchainAggregatorBilling.sol#213-228):
External calls:
- payOracles() (OffchainAggregatorBilling.sol#225)
- require(bool,string)(LINK.transfer(payee,linkWeiAmount),insufficient funds) (OffchainAggregatorBilling.sol#381)
Event emitted after the call(s):
- BillingSet(_maximumGasPrice,_reasonableGasPrice,_microLinkPerEth,_linkGweiPerObservation,_linkGweiPerTransmission) (OffchainAggregatorBilling.sol#200-201)
- setBillingInternal(_maximumGasPrice,_reasonableGasPrice,_microLinkPerEth,_linkGweiPerObservation,_linkGweiPerTransmission) (OffchainAggregatorBilling.sol#226-227)
Reentrancy in OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes) (OffchainAggregator.sol#149-212):
External calls:
- payOracle(transmitter) (OffchainAggregator.sol#164)
- require(bool,string)(LINK.transfer(payee,linkWeiAmount),insufficient funds) (OffchainAggregatorBilling.sol#353)
Event emitted after the call(s):
- ConfigSet(previousConfigBlockNumber,configCount,_signers,_transmitters,_threshold,_encodedConfigVersion,_encoded) (OffchainAggregator.sol#203-211)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3
INFO:Detectors:
OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes) (OffchainAggregator.sol#149-212) has costly operations inside a loop:
- delete s_oracles[signer] (OffchainAggregator.sol#165)
OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes) (OffchainAggregator.sol#149-212) has costly operations inside a loop:
- delete s_oracles[transmitter] (OffchainAggregator.sol#166)
OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes) (OffchainAggregator.sol#149-212) has costly operations inside a loop:
- s_signers.pop() (OffchainAggregator.sol#167)
OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes) (OffchainAggregator.sol#149-212) has costly operations inside a loop:
- s_transmitters.pop() (OffchainAggregator.sol#168)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#costly-operations-inside-a-loop
INFO:Detectors:
OffchainAggregator.decodeReport(bytes) (OffchainAggregator.sol#423-434) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Parameter AccessControlledOffchainAggregator.getAnswer(uint256)._roundId (AccessControlledOffchainAggregator.sol#82) is not in mixedCase
Parameter AccessControlledOffchainAggregator.getTimestamp(uint256)._roundId (AccessControlledOffchainAggregator.sol#93) is not in mixedCase
Parameter AccessControlledOffchainAggregator.getRoundData(uint80)._roundId (AccessControlledOffchainAggregator.sol#119) is not in mixedCase
Parameter OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes)._signers (OffchainAggregator.sol#150) is not in mixedCase
Parameter OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes)._transmitters (OffchainAggregator.sol#151) is not in mixedCase
Parameter OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes)._threshold (OffchainAggregator.sol#152) is not in mixedCase
Parameter OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes)._encodedConfigVersion (OffchainAggregator.sol#153) is not in mixedCase
Parameter OffchainAggregator.setConfig(address[],address[],uint8,uint64,bytes)._encoded (OffchainAggregator.sol#154) is not in mixedCase
Parameter OffchainAggregator.configDigestFromConfigData(address,uint64,address[],address[],uint8,uint64,bytes)._contractAddress (OffchainAggregator.sol#215) is not in mixedCase
Parameter OffchainAggregator.configDigestFromConfigData(address,uint64,address[],address[],uint8,uint64,bytes)._configCount (OffchainAggregator.sol#216) is not in mixedCase
Parameter OffchainAggregator.configDigestFromConfigData(address,uint64,address[],address[],uint8,uint64,bytes)._signers (OffchainAggregator.sol#217) is not in mixedCase
Parameter OffchainAggregator.configDigestFromConfigData(address,uint64,address[],address[],uint8,uint64,bytes)._transmitters (OffchainAggregator.sol#218) is not in mixedCase
Parameter OffchainAggregator.configDigestFromConfigData(address,uint64,address[],address[],uint8,uint64,bytes)._threshold (OffchainAggregator.sol#219) is not in mixedCase
Parameter OffchainAggregator.configDigestFromConfigData(address,uint64,address[],address[],uint8,uint64,bytes)._encodedConfigVersion (OffchainAggregator.sol#220) is not in mixedCase
Parameter OffchainAggregator.configDigestFromConfigData(address,uint64,address[],address[],uint8,uint64,bytes)._encodedConfig (OffchainAggregator.sol#221) is not in mixedCase
Parameter OffchainAggregator.setValidator(address)._newValidator (OffchainAggregator.sol#296) is not in mixedCase
Parameter OffchainAggregator.validateAnswer(uint32,int256)._aggregatorRoundId (OffchainAggregator.sol#310) is not in mixedCase
Parameter OffchainAggregator.validateAnswer(uint32,int256)._answer (OffchainAggregator.sol#311) is not in mixedCase
Parameter OffchainAggregator.setRequesterAccessController(AccessControllerInterface)._requesterAccessController (OffchainAggregator.sol#368) is not in mixedCase
Parameter OffchainAggregator.decodeReport(bytes)._report (OffchainAggregator.sol#423) is not in mixedCase
Parameter OffchainAggregator.expectedMsgDataLength(bytes,bytes32[],bytes32[])._report (OffchainAggregator.sol#490) is not in mixedCase
Parameter OffchainAggregator.expectedMsgDataLength(bytes,bytes32[],bytes32[])._rs (OffchainAggregator.sol#490) is not in mixedCase
Parameter OffchainAggregator.expectedMsgDataLength(bytes,bytes32[],bytes32[])._ss (OffchainAggregator.sol#490) is not in mixedCase
Parameter OffchainAggregator.transmit(bytes,bytes32[],bytes32[],bytes32)._report (OffchainAggregator.sol#511) is not in mixedCase
Parameter OffchainAggregator.transmit(bytes,bytes32[],bytes32[],bytes32)._rs (OffchainAggregator.sol#512) is not in mixedCase
Parameter OffchainAggregator.transmit(bytes,bytes32[],bytes32[],bytes32)._ss (OffchainAggregator.sol#512) is not in mixedCase
Parameter OffchainAggregator.transmit(bytes,bytes32[],bytes32[],bytes32)._rawVs (OffchainAggregator.sol#512) is not in mixedCase
Parameter OffchainAggregator.getAnswer(uint256)._roundId (OffchainAggregator.sol#693) is not in mixedCase
Parameter OffchainAggregator.getTimestamp(uint256)._roundId (OffchainAggregator.sol#708) is not in mixedCase
Parameter OffchainAggregator.getRoundData(uint80)._roundId (OffchainAggregator.sol#759) is not in mixedCase
Constant OffchainAggregator.maxUint32 (OffchainAggregator.sol#19) is not in UPPER_CASE_WITH_UNDERSCORES
Parameter OffchainAggregatorBilling.setBillingInternal(uint32,uint32,uint32,uint32,uint32)._maximumGasPrice (OffchainAggregatorBilling.sol#190) is not in mixedCase
Parameter OffchainAggregatorBilling.setBillingInternal(uint32,uint32,uint32,uint32,uint32)._reasonableGasPrice (OffchainAggregatorBilling.sol#191) is not in mixedCase
Parameter OffchainAggregatorBilling.setBillingInternal(uint32,uint32,uint32,uint32,uint32)._microLinkPerEth (OffchainAggregatorBilling.sol#192) is not in mixedCase
Parameter OffchainAggregatorBilling.setBillingInternal(uint32,uint32,uint32,uint32,uint32)._linkGweiPerObservation (OffchainAggregatorBilling.sol#193) is not in mixedCase
Parameter OffchainAggregatorBilling.setBillingInternal(uint32,uint32,uint32,uint32,uint32)._linkGweiPerTransmission (OffchainAggregatorBilling.sol#194) is not in mixedCase
Parameter OffchainAggregatorBilling.setBilling(uint32,uint32,uint32,uint32,uint32)._maximumGasPrice (OffchainAggregatorBilling.sol#214) is not in mixedCase
Parameter OffchainAggregatorBilling.setBilling(uint32,uint32,uint32,uint32,uint32)._reasonableGasPrice (OffchainAggregatorBilling.sol#215) is not in mixedCase
Parameter OffchainAggregatorBilling.setBilling(uint32,uint32,uint32,uint32,uint32)._microLinkPerEth (OffchainAggregatorBilling.sol#216) is not in mixedCase
Parameter OffchainAggregatorBilling.setBilling(uint32,uint32,uint32,uint32,uint32)._linkGweiPerObservation (OffchainAggregatorBilling.sol#217) is not in mixedCase
Parameter OffchainAggregatorBilling.setBilling(uint32,uint32,uint32,uint32,uint32)._linkGweiPerTransmission (OffchainAggregatorBilling.sol#218) is not in mixedCase
Parameter OffchainAggregatorBilling.setBillingAccessControllerInternal(AccessControllerInterface)._billingAccessController (OffchainAggregatorBilling.sol#266) is not in mixedCase
Parameter OffchainAggregatorBilling.setBillingAccessController(AccessControllerInterface)._billingAccessController (OffchainAggregatorBilling.sol#284) is not in mixedCase
Parameter OffchainAggregatorBilling.withdrawPayment(address)._transmitter (OffchainAggregatorBilling.sol#308) is not in mixedCase
Parameter OffchainAggregatorBilling.owedPayment(address)._transmitter (OffchainAggregatorBilling.sol#319) is not in mixedCase
Parameter OffchainAggregatorBilling.payOracle(address)._transmitter (OffchainAggregatorBilling.sol#344) is not in mixedCase
Parameter OffchainAggregatorBilling.withdrawFunds(address,uint256)._recipient (OffchainAggregatorBilling.sol#496) is not in mixedCase
Parameter OffchainAggregatorBilling.withdrawFunds(address,uint256)._amount (OffchainAggregatorBilling.sol#496) is not in mixedCase
Parameter OffchainAggregatorBilling.oracleObservationCount(address)._signerOrTransmitter (OffchainAggregatorBilling.sol#559) is not in mixedCase
Parameter OffchainAggregatorBilling.setPayees(address[],address[])._transmitters (OffchainAggregatorBilling.sol#660) is not in mixedCase
Parameter OffchainAggregatorBilling.setPayees(address[],address[])._payees (OffchainAggregatorBilling.sol#661) is not in mixedCase
Parameter OffchainAggregatorBilling.transferPayeeship(address,address)._transmitter (OffchainAggregatorBilling.sol#689) is not in mixedCase
Parameter OffchainAggregatorBilling.transferPayeeship(address,address)._proposed (OffchainAggregatorBilling.sol#690) is not in mixedCase
Parameter OffchainAggregatorBilling.acceptPayeeship(address)._transmitter (OffchainAggregatorBilling.sol#711) is not in mixedCase
Parameter OffchainAggregatorBilling.saturatingAddUint16(uint16,uint16)._x (OffchainAggregatorBilling.sol#728) is not in mixedCase
Parameter OffchainAggregatorBilling.saturatingAddUint16(uint16,uint16)._y (OffchainAggregatorBilling.sol#728) is not in mixedCase
Constant OffchainAggregatorBilling.maxNumOracles (OffchainAggregatorBilling.sol#45) is not in UPPER_CASE_WITH_UNDERSCORES
Variable OffchainAggregatorBilling.LINK (OffchainAggregatorBilling.sol#71) is not in mixedCase
Constant OffchainAggregatorBilling.maxUint16 (OffchainAggregatorBilling.sol#145) is not in UPPER_CASE_WITH_UNDERSCORES
Constant OffchainAggregatorBilling.maxUint128 (OffchainAggregatorBilling.sol#146) is not in UPPER_CASE_WITH_UNDERSCORES
Constant OffchainAggregatorBilling.accountingGasCost (OffchainAggregatorBilling.sol#435) is not in UPPER_CASE_WITH_UNDERSCORES
Parameter Owned.transferOwnership(address)._to (Owned.sol#30) is not in mixedCase
Parameter SimpleReadAccessController.hasAccess(address,bytes)._user (SimpleReadAccessController.sol#24) is not in mixedCase
Parameter SimpleReadAccessController.hasAccess(address,bytes)._calldata (SimpleReadAccessController.sol#25) is not in mixedCase
Parameter SimpleWriteAccessController.hasAccess(address,bytes)._user (SimpleWriteAccessController.sol#34) is not in mixedCase
Parameter SimpleWriteAccessController.addAccess(address)._user (SimpleWriteAccessController.sol#50) is not in mixedCase
Parameter SimpleWriteAccessController.addAccessInternal(address)._user (SimpleWriteAccessController.sol#54) is not in mixedCase
Parameter SimpleWriteAccessController.removeAccess(address)._user (SimpleWriteAccessController.sol#65) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Detectors:
Variable OffchainAggregatorBilling.payOracle(address)._transmitter (OffchainAggregatorBilling.sol#344) is too similar to OffchainAggregatorBilling.totalLINKDue().transmitters (OffchainAggregatorBilling.sol#529)
Variable OffchainAggregatorBilling.owedPayment(address)._transmitter (OffchainAggregatorBilling.sol#319) is too similar to OffchainAggregatorBilling.totalLINKDue().transmitters (OffchainAggregatorBilling.sol#529)
Variable OffchainAggregatorBilling.withdrawPayment(address)._transmitter (OffchainAggregatorBilling.sol#308) is too similar to OffchainAggregatorBilling.totalLINKDue().transmitters (OffchainAggregatorBilling.sol#529)
Variable OffchainAggregatorBilling.owedPayment(address)._transmitter (OffchainAggregatorBilling.sol#319) is too similar to OffchainAggregatorBilling.payOracles().transmitters (OffchainAggregatorBilling.sol#371)
Variable OffchainAggregatorBilling.acceptPayeeship(address)._transmitter (OffchainAggregatorBilling.sol#711) is too similar to OffchainAggregatorBilling.totalLINKDue().transmitters (OffchainAggregatorBilling.sol#529)
Variable OffchainAggregatorBilling.payOracle(address)._transmitter (OffchainAggregatorBilling.sol#344) is too similar to OffchainAggregatorBilling.payOracles().transmitters (OffchainAggregatorBilling.sol#371)
Variable OffchainAggregatorBilling.transferPayeeship(address,address)._transmitter (OffchainAggregatorBilling.sol#689) is too similar to OffchainAggregatorBilling.payOracles().transmitters (OffchainAggregatorBilling.sol#371)
Variable OffchainAggregatorBilling.withdrawPayment(address)._transmitter (OffchainAggregatorBilling.sol#308) is too similar to OffchainAggregatorBilling.payOracles().transmitters (OffchainAggregatorBilling.sol#371)
Variable OffchainAggregatorBilling.acceptPayeeship(address)._transmitter (OffchainAggregatorBilling.sol#711) is too similar to OffchainAggregatorBilling.payOracles().transmitters (OffchainAggregatorBilling.sol#371)
Variable OffchainAggregatorBilling.transferPayeeship(address,address)._transmitter (OffchainAggregatorBilling.sol#689) is too similar to OffchainAggregatorBilling.totalLINKDue().transmitters (OffchainAggregatorBilling.sol#529)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#variable-names-too-similar
INFO:Slither:0xbba12740de905707251525477bad74985dec46d2 analyzed (12 contracts with 87 detectors), 104 result(s) found
```
Slither report for InterchainGasPaymaster at `0xbdd8eb3884A8F111F338b7784c163DD62d03DaF9`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts' running
Warning: Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing "SPDX-License-Identifier: " to each source file. Use "SPDX-License-Identifier: UNLICENSED" for non-open-source code. Please see https://spdx.org for more information.
--> crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol
Warning: Warning: This declaration shadows an existing declaration.
--> crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol:7281:5:
|
7281 | struct Message {
| ^ (Relevant source part starts here and spans across multiple lines).
Note: The shadowed declaration is here:
--> crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol:3637:1:
|
3637 | library Message {
| ^ (Relevant source part starts here and spans across multiple lines).
INFO:Detectors:
Router._dispatchWithGas(uint32,bytes,uint256,uint256,address) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2225-2241) sends eth to arbitrary user
Dangerous calls:
- interchainGasPaymaster.payForGas{value: _gasPayment}(_messageId,_destinationDomain,_gasAmount,_gasPaymentRefundAddress) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2235-2240)
InterchainGasPaymaster.claim() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2704-2708) sends eth to arbitrary user
Dangerous calls:
- (success) = beneficiary.call{value: address(this).balance}() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2706)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#functions-that-send-ether-to-arbitrary-destinations
INFO:Detectors:
TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8160-8198) uses a weak PRNG: "_blockHashNum % 5 == 0 (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8173)"
TestSendReceiver.handle(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8200-8209) uses a weak PRNG: "isBlockHashEndIn0 = uint256(blockHash) % 16 == 0 (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8206)"
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#weak-PRNG
INFO:Detectors:
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2994-3074) has bitwise-xor operator ^ instead of the exponentiation operator **:
- inverse = (3 * denominator) ^ 2 (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3056)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-exponentiation
INFO:Detectors:
TransparentUpgradeableProxy.admin() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8763-8765) calls TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8746-8752) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8304)
TransparentUpgradeableProxy.implementation() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8776-8778) calls TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8746-8752) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8304)
TransparentUpgradeableProxy.changeAdmin(address) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8787-8789) calls TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8746-8752) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8304)
TransparentUpgradeableProxy.upgradeTo(address) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8796-8798) calls TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8746-8752) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8304)
TransparentUpgradeableProxy.upgradeToAndCall(address,bytes) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8807-8809) calls TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8746-8752) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8304)
TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8746-8752) calls Proxy._fallback() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8320-8323) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8304)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-assembly-return
INFO:Detectors:
Router.__GAP (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2056) shadows:
- HyperlaneConnectionClient.__GAP (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#896)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#state-variable-shadowing
INFO:Detectors:
MockCircleTokenMessenger.depositForBurn(uint256,uint32,bytes32,address) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7234-7245) ignores return value by token.transferFrom(msg.sender,address(this),_amount) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7243)
MockPortalBridge.transferTokensWithPayload(address,uint256,uint16,bytes32,uint32,bytes) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7477-7489) ignores return value by token.transferFrom(msg.sender,address(this),amount) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7486)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unchecked-transfer
INFO:Detectors:
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2994-3074) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3041)
- inverse = (3 * denominator) ^ 2 (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3056)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2994-3074) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3041)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3060)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2994-3074) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3041)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3061)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2994-3074) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3041)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3062)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2994-3074) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3041)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3063)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2994-3074) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3041)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3064)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2994-3074) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3041)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3065)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2994-3074) performs a multiplication on the result of a division:
- prod0 = prod0 / twos (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3044)
- result = prod0 * inverse (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3071)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#divide-before-multiply
INFO:Detectors:
TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8160-8198) uses a dangerous strict equality:
- _blockHashNum % 5 == 0 (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8173)
TestSendReceiver.handle(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8200-8209) uses a dangerous strict equality:
- isBlockHashEndIn0 = uint256(blockHash) % 16 == 0 (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8206)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-strict-equalities
INFO:Detectors:
Reentrancy in MockMailbox.processNextInboundMessage() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7332-7340):
External calls:
- IMessageRecipient(_message.recipient).handle(_message.origin,_message.sender.addressToBytes32(),_message.body) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7334-7338)
State variables written after the call(s):
- inboundProcessedNonce ++ (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7339)
MockMailbox.inboundProcessedNonce (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7277) can be used in cross function reentrancies:
- MockMailbox.inboundProcessedNonce (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7277)
- MockMailbox.processNextInboundMessage() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7332-7340)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-1
INFO:Detectors:
TestMailbox.proof()._proof (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7827) is a local variable never initialized
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-local-variables
INFO:Detectors:
EnumerableMapExtended.set(EnumerableMapExtended.UintToBytes32Map,uint256,bytes32) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1988-1994) ignores return value by map._inner.set(bytes32(key),value) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1993)
CallLib.multicallto(address,bytes[]) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4655-4664) ignores return value by Address.functionCall(to,calls[i]) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4659)
InterchainGasPaymaster.getExchangeRateAndGasPrice(uint32) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2769-2779) ignores return value by _gasOracle.getExchangeRateAndGasPrice(_destinationDomain) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2778)
TestQuery.queryRouterOwner(uint32,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8012-8022) ignores return value by router.query(domain,calls) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8021)
ERC1967Upgrade._upgradeToAndCall(address,bytes,bool) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8547-8556) ignores return value by Address.functionDelegateCall(newImplementation,data) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8554)
ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8656-8666) ignores return value by Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8664)
ValidatorAnnounce.announce(address,string,bytes) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#9030-9056) ignores return value by validators.add(_validator) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#9051)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return
INFO:Detectors:
HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#965) shadows:
- OwnableUpgradeable._owner (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#548) (state variable)
Mailbox.initialize(address,address)._owner (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4950) shadows:
- OwnableUpgradeable._owner (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#548) (state variable)
InterchainAccountRouter.initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5463) shadows:
- OwnableUpgradeable._owner (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#548) (state variable)
InterchainQueryRouter.initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5661) shadows:
- OwnableUpgradeable._owner (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#548) (state variable)
CircleBridgeAdapter.initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5998) shadows:
- OwnableUpgradeable._owner (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#548) (state variable)
PortalAdapter.initialize(uint32,address,address,address)._owner (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6321) shadows:
- OwnableUpgradeable._owner (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#548) (state variable)
LiquidityLayerRouter.initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6531) shadows:
- OwnableUpgradeable._owner (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#548) (state variable)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#local-variable-shadowing
INFO:Detectors:
CircleBridgeAdapter.initialize(address,address,address,address)._liquidityLayerRouter (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6001) lacks a zero-check on :
- liquidityLayerRouter = _liquidityLayerRouter (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6010)
PortalAdapter.initialize(uint32,address,address,address)._liquidityLayerRouter (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6323) lacks a zero-check on :
- liquidityLayerRouter = _liquidityLayerRouter (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6330)
InterchainGasPaymaster.payForGas(bytes32,uint32,uint256,address)._refundAddress (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2681) lacks a zero-check on :
- (_success) = _refundAddress.call{value: _overpayment}() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2693)
TestQuerySender.handleQueryAddressResult(address)._result (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8077) lacks a zero-check on :
- lastAddressResult = _result (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8079)
TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._token (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8244) lacks a zero-check on :
- lastToken = _token (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8250)
ValidatorAnnounce.constructor(address)._mailbox (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#9016) lacks a zero-check on :
- mailbox = _mailbox (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#9017)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation
INFO:Detectors:
Modifier TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8746-8752) does not always execute _; or revertReference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-modifier
INFO:Detectors:
Reentrancy in PortalAdapter.completeTransfer(bytes) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6415-6440):
External calls:
- _tokenBridgeTransferWithPayload = portalTokenBridge.completeTransferWithPayload(encodedVm) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6416-6417)
State variables written after the call(s):
- portalTransfersProcessed[transferId(_originDomain,_nonce)] = tokenAddress (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6437-6439)
Reentrancy in MockMailbox.dispatch(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7296-7315):
External calls:
- _destinationMailbox.addInboundMessage(localDomain,msg.sender,_recipientAddress.bytes32ToAddress(),_messageBody) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7307-7312)
State variables written after the call(s):
- outboundNonce ++ (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7313)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-2
INFO:Detectors:
Reentrancy in InterchainQueryRouter._handle(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5694-5722):
External calls:
- CallLib.multicallto(senderAddress,rawCalls) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5716)
Event emitted after the call(s):
- QueryResolved(_origin,senderAddress) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5718)
Reentrancy in InterchainGasPaymaster.payForGas(bytes32,uint32,uint256,address) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2677-2698):
External calls:
- (_success) = _refundAddress.call{value: _overpayment}() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2693)
Event emitted after the call(s):
- GasPayment(_messageId,_gasAmount,_requiredPayment) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2697)
Reentrancy in Mailbox.process(bytes,bytes) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5013-5040):
External calls:
- require(bool,string)(_ism.verify(_metadata,_message),!module) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5031)
- IMessageRecipient(recipient).handle(origin,sender,_message.body()) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5037)
Event emitted after the call(s):
- Process(origin,sender,recipient) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5038)
- ProcessId(_id) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5039)
Reentrancy in CircleBridgeAdapter.sendTokens(uint32,bytes32,address,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6013-6050):
External calls:
- require(bool,string)(IERC20(_token).approve(address(tokenMessenger),_amount),!approval) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6036-6039)
- _nonce = tokenMessenger.depositForBurn(_amount,_circleDomain,_remoteRouter,_token) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6041-6046)
Event emitted after the call(s):
- BridgedToken(_nonce) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6048)
Reentrancy in PortalAdapter.sendTokens(uint32,bytes32,address,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6339-6373):
External calls:
- require(bool,string)(IERC20(_token).approve(address(portalTokenBridge),_amount),!approval) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6354-6357)
- _portalSequence = portalTokenBridge.transferTokensWithPayload(_token,_amount,_wormholeDomain,_remoteRouter,0,abi.encode(localDomain,nonce)) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6359-6369)
Event emitted after the call(s):
- BridgedToken(nonce,_portalSequence,_destinationDomain) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6371)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3
INFO:Detectors:
AddressUpgradeable._revert(bytes,string) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#307-319) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#312-315)
Address._revert(bytes,string) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#855-867) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#860-863)
EnumerableSet.values(EnumerableSet.Bytes32Set) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1271-1281) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1276-1278)
EnumerableSet.values(EnumerableSet.AddressSet) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1345-1355) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1350-1352)
EnumerableSet.values(EnumerableSet.UintSet) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1419-1429) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1424-1426)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2994-3074) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3005-3009)
- INLINE ASM (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3025-3032)
- INLINE ASM (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3039-3048)
Strings.toString(uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3303-3323) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3309-3311)
- INLINE ASM (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3315-3317)
ECDSA.tryRecover(bytes32,bytes) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3411-3428) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3419-3423)
TypeCasts.coerceString(bytes32) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3598-3615) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3609-3614)
Create2.deploy(uint256,bytes32,bytes) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5347-5359) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5355-5357)
Create2.computeAddress(bytes32,bytes32,address) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5373-5399) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5379-5398)
BadRecipient1.handle(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7558-7566) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7563-7565)
BadRecipient3.handle(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7575-7584) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7580-7583)
Proxy._delegate(address) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8284-8307) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8285-8306)
StorageSlot.getAddressSlot(bytes32) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8445-8450) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8447-8449)
StorageSlot.getBooleanSlot(bytes32) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8455-8460) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8457-8459)
StorageSlot.getBytes32Slot(bytes32) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8465-8470) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8467-8469)
StorageSlot.getUint256Slot(bytes32) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8475-8480) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8477-8479)
Create2Factory._deploy(bytes,bytes32) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#9176-9195) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#9183-9190)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
Mailbox.process(bytes,bytes) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5013-5040) compares to a boolean constant:
-require(bool,string)(delivered[_id] == false,delivered) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5024)
ValidatorAnnounce.announce(address,string,bytes) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#9030-9056) compares to a boolean constant:
-require(bool,string)(replayProtection[_replayId] == false,replay) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#9040)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#boolean-equality
INFO:Detectors:
Address.functionCall(address,bytes,string) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#719-725) is never used and should be removed
Address.sendValue(address,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#684-689) is never used and should be removed
Address.verifyCallResult(bool,bytes,string) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#843-853) is never used and should be removed
AddressUpgradeable._revert(bytes,string) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#307-319) is never used and should be removed
AddressUpgradeable.functionCall(address,bytes) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#186-188) is never used and should be removed
AddressUpgradeable.functionCall(address,bytes,string) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#196-202) is never used and should be removed
AddressUpgradeable.functionCallWithValue(address,bytes,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#215-221) is never used and should be removed
AddressUpgradeable.functionCallWithValue(address,bytes,uint256,string) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#229-238) is never used and should be removed
AddressUpgradeable.functionStaticCall(address,bytes) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#246-248) is never used and should be removed
AddressUpgradeable.functionStaticCall(address,bytes,string) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#256-263) is never used and should be removed
AddressUpgradeable.sendValue(address,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#161-166) is never used and should be removed
AddressUpgradeable.verifyCallResult(bool,bytes,string) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#295-305) is never used and should be removed
AddressUpgradeable.verifyCallResultFromTarget(address,bool,bytes,string) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#271-287) is never used and should be removed
CallLib.build(address,uint256,bytes) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4690-4696) is never used and should be removed
CallLib.build(bytes32,bytes,bytes) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4698-4704) is never used and should be removed
CallLib.build(bytes32,uint256,bytes) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4682-4688) is never used and should be removed
Context._msgData() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2406-2408) is never used and should be removed
ContextUpgradeable.__Context_init() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#506-507) is never used and should be removed
ContextUpgradeable.__Context_init_unchained() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#509-510) is never used and should be removed
ContextUpgradeable._msgData() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#515-517) is never used and should be removed
ECDSA.recover(bytes32,bytes32,bytes32) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3472-3480) is never used and should be removed
ECDSA.recover(bytes32,uint8,bytes32,bytes32) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3520-3529) is never used and should be removed
ECDSA.toEthSignedMessageHash(bytes) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3553-3555) is never used and should be removed
ECDSA.toTypedDataHash(bytes32,bytes32) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3566-3568) is never used and should be removed
ECDSA.tryRecover(bytes32,bytes32,bytes32) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3457-3465) is never used and should be removed
ERC1967Upgrade._getBeacon() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8634-8636) is never used and should be removed
ERC1967Upgrade._setBeacon(address) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8641-8648) is never used and should be removed
ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8656-8666) is never used and should be removed
ERC1967Upgrade._upgradeToAndCallUUPS(address,bytes,bool) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8563-8581) is never used and should be removed
ERC20Upgradeable.__ERC20_init(string,string) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6813-6815) is never used and should be removed
ERC20Upgradeable.__ERC20_init_unchained(string,string) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6817-6820) is never used and should be removed
EnumerableMap.at(EnumerableMap.AddressToUintMap,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1831-1834) is never used and should be removed
EnumerableMap.at(EnumerableMap.Bytes32ToBytes32Map,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1547-1550) is never used and should be removed
EnumerableMap.at(EnumerableMap.Bytes32ToUintMap,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1923-1926) is never used and should be removed
EnumerableMap.at(EnumerableMap.UintToAddressMap,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1739-1742) is never used and should be removed
EnumerableMap.at(EnumerableMap.UintToUintMap,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1647-1650) is never used and should be removed
EnumerableMap.contains(EnumerableMap.AddressToUintMap,address) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1811-1813) is never used and should be removed
EnumerableMap.contains(EnumerableMap.Bytes32ToUintMap,bytes32) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1903-1905) is never used and should be removed
EnumerableMap.contains(EnumerableMap.UintToAddressMap,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1719-1721) is never used and should be removed
EnumerableMap.contains(EnumerableMap.UintToUintMap,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1627-1629) is never used and should be removed
EnumerableMap.get(EnumerableMap.AddressToUintMap,address) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1852-1854) is never used and should be removed
EnumerableMap.get(EnumerableMap.AddressToUintMap,address,string) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1862-1868) is never used and should be removed
EnumerableMap.get(EnumerableMap.Bytes32ToBytes32Map,bytes32,string) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1584-1592) is never used and should be removed
EnumerableMap.get(EnumerableMap.Bytes32ToUintMap,bytes32) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1944-1946) is never used and should be removed
EnumerableMap.get(EnumerableMap.Bytes32ToUintMap,bytes32,string) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1954-1960) is never used and should be removed
EnumerableMap.get(EnumerableMap.UintToAddressMap,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1760-1762) is never used and should be removed
EnumerableMap.get(EnumerableMap.UintToAddressMap,uint256,string) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1770-1776) is never used and should be removed
EnumerableMap.get(EnumerableMap.UintToUintMap,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1668-1670) is never used and should be removed
EnumerableMap.get(EnumerableMap.UintToUintMap,uint256,string) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1678-1684) is never used and should be removed
EnumerableMap.length(EnumerableMap.AddressToUintMap) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1818-1820) is never used and should be removed
EnumerableMap.length(EnumerableMap.Bytes32ToBytes32Map) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1533-1535) is never used and should be removed
EnumerableMap.length(EnumerableMap.Bytes32ToUintMap) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1910-1912) is never used and should be removed
EnumerableMap.length(EnumerableMap.UintToAddressMap) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1726-1728) is never used and should be removed
EnumerableMap.length(EnumerableMap.UintToUintMap) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1634-1636) is never used and should be removed
EnumerableMap.remove(EnumerableMap.AddressToUintMap,address) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1804-1806) is never used and should be removed
EnumerableMap.remove(EnumerableMap.Bytes32ToBytes32Map,bytes32) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1518-1521) is never used and should be removed
EnumerableMap.remove(EnumerableMap.Bytes32ToUintMap,bytes32) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1896-1898) is never used and should be removed
EnumerableMap.remove(EnumerableMap.UintToAddressMap,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1712-1714) is never used and should be removed
EnumerableMap.remove(EnumerableMap.UintToUintMap,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1620-1622) is never used and should be removed
EnumerableMap.set(EnumerableMap.AddressToUintMap,address,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1791-1797) is never used and should be removed
EnumerableMap.set(EnumerableMap.Bytes32ToUintMap,bytes32,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1883-1889) is never used and should be removed
EnumerableMap.set(EnumerableMap.UintToAddressMap,uint256,address) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1699-1705) is never used and should be removed
EnumerableMap.set(EnumerableMap.UintToUintMap,uint256,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1607-1613) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.AddressToUintMap,address) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1840-1843) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.Bytes32ToBytes32Map,bytes32) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1556-1563) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.Bytes32ToUintMap,bytes32) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1932-1935) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.UintToAddressMap,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1748-1751) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.UintToUintMap,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1656-1659) is never used and should be removed
EnumerableMapExtended.at(EnumerableMapExtended.UintToBytes32Map,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2027-2034) is never used and should be removed
EnumerableMapExtended.length(EnumerableMapExtended.UintToBytes32Map) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2019-2025) is never used and should be removed
EnumerableMapExtended.remove(EnumerableMapExtended.UintToBytes32Map,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2004-2009) is never used and should be removed
EnumerableSet.add(EnumerableSet.UintSet,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1369-1371) is never used and should be removed
EnumerableSet.at(EnumerableSet.Bytes32Set,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1259-1261) is never used and should be removed
EnumerableSet.at(EnumerableSet.UintSet,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1407-1409) is never used and should be removed
EnumerableSet.contains(EnumerableSet.UintSet,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1386-1388) is never used and should be removed
EnumerableSet.length(EnumerableSet.Bytes32Set) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1245-1247) is never used and should be removed
EnumerableSet.length(EnumerableSet.UintSet) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1393-1395) is never used and should be removed
EnumerableSet.remove(EnumerableSet.Bytes32Set,bytes32) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1231-1233) is never used and should be removed
EnumerableSet.remove(EnumerableSet.UintSet,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1379-1381) is never used and should be removed
EnumerableSet.values(EnumerableSet.Bytes32Set) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1271-1281) is never used and should be removed
EnumerableSet.values(EnumerableSet.UintSet) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#1419-1429) is never used and should be removed
HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#949-959) is never used and should be removed
Initializable._disableInitializers() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#465-471) is never used and should be removed
Initializable._getInitializedVersion() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#476-478) is never used and should be removed
Initializable._isInitializing() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#483-485) is never used and should be removed
InterchainCallMessage.format(CallLib.StaticCall[],bytes32) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5240-5246) is never used and should be removed
InterchainCallMessage.staticCalls(bytes) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5248-5258) is never used and should be removed
Math.average(uint256,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2973-2976) is never used and should be removed
Math.ceilDiv(uint256,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2984-2987) is never used and should be removed
Math.log10(uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3197-3229) is never used and should be removed
Math.log10(uint256,Math.Rounding) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3235-3240) is never used and should be removed
Math.log2(uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3144-3180) is never used and should be removed
Math.log2(uint256,Math.Rounding) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3186-3191) is never used and should be removed
Math.log256(uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3248-3272) is never used and should be removed
Math.log256(uint256,Math.Rounding) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3278-3283) is never used and should be removed
Math.max(uint256,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2958-2960) is never used and should be removed
Math.min(uint256,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2965-2967) is never used and should be removed
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2994-3074) is never used and should be removed
Math.mulDiv(uint256,uint256,uint256,Math.Rounding) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3079-3090) is never used and should be removed
Math.sqrt(uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3097-3128) is never used and should be removed
Math.sqrt(uint256,Math.Rounding) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3133-3138) is never used and should be removed
Message.senderAddress(bytes) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3731-3737) is never used and should be removed
Router.__Router_initialize(address) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2082-2084) is never used and should be removed
Router.__Router_initialize(address,address) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2086-2094) is never used and should be removed
Router.__Router_initialize(address,address,address) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2096-2106) is never used and should be removed
StorageSlot.getBooleanSlot(bytes32) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8455-8460) is never used and should be removed
StorageSlot.getBytes32Slot(bytes32) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8465-8470) is never used and should be removed
StorageSlot.getUint256Slot(bytes32) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8475-8480) is never used and should be removed
Strings.toHexString(address) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3352-3354) is never used and should be removed
Strings.toHexString(uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3328-3332) is never used and should be removed
Strings.toHexString(uint256,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3337-3347) is never used and should be removed
Strings.toString(uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3303-3323) is never used and should be removed
TransparentUpgradeableProxy._admin() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8814-8816) is never used and should be removed
TypeCasts.coerceString(bytes32) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3598-3615) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Low level call in AddressUpgradeable.sendValue(address,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#161-166):
- (success) = recipient.call{value: amount}() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#164)
Low level call in AddressUpgradeable.functionCallWithValue(address,bytes,uint256,string) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#229-238):
- (success,returndata) = target.call{value: value}(data) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#236)
Low level call in AddressUpgradeable.functionStaticCall(address,bytes,string) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#256-263):
- (success,returndata) = target.staticcall(data) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#261)
Low level call in Address.sendValue(address,uint256) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#684-689):
- (success) = recipient.call{value: amount}() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#687)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#752-761):
- (success,returndata) = target.call{value: value}(data) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#759)
Low level call in Address.functionStaticCall(address,bytes,string) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#779-786):
- (success,returndata) = target.staticcall(data) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#784)
Low level call in Address.functionDelegateCall(address,bytes,string) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#804-811):
- (success,returndata) = target.delegatecall(data) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#809)
Low level call in InterchainGasPaymaster.payForGas(bytes32,uint32,uint256,address) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2677-2698):
- (_success) = _refundAddress.call{value: _overpayment}() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2693)
Low level call in InterchainGasPaymaster.claim() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2704-2708):
- (success) = beneficiary.call{value: address(this).balance}() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2706)
Low level call in ProxyAdmin.getProxyImplementation(TransparentUpgradeableProxy) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8847-8853):
- (success,returndata) = address(proxy).staticcall(0x5c60da1b) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8850)
Low level call in ProxyAdmin.getProxyAdmin(TransparentUpgradeableProxy) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8862-8868):
- (success,returndata) = address(proxy).staticcall(0xf851a440) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8865)
Low level call in Create2Factory.deployAndInit(bytes,bytes32,bytes) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#9135-9148):
- (success) = deployedAddress_.call(init) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#9146)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
INFO:Detectors:
TransparentUpgradeableProxy (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8730-8825) should inherit from IBeacon (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8360-8367)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-inheritance
INFO:Detectors:
Function ContextUpgradeable.__Context_init() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#506-507) is not in mixedCase
Function ContextUpgradeable.__Context_init_unchained() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#509-510) is not in mixedCase
Variable ContextUpgradeable.__gap (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#524) is not in mixedCase
Function OwnableUpgradeable.__Ownable_init() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#555-557) is not in mixedCase
Function OwnableUpgradeable.__Ownable_init_unchained() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#559-561) is not in mixedCase
Variable OwnableUpgradeable.__gap (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#620) is not in mixedCase
Function HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#933-939) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address)._mailbox (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#933) is not in mixedCase
Function HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#941-947) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address)._mailbox (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#942) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#943) is not in mixedCase
Function HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#949-959) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address)._mailbox (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#950) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#951) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address)._interchainSecurityModule (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#952) is not in mixedCase
Function HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address,address) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#961-971) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address,address)._mailbox (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#962) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#963) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address,address)._interchainSecurityModule (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#964) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#965) is not in mixedCase
Parameter HyperlaneConnectionClient.setMailbox(address)._mailbox (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#979) is not in mixedCase
Parameter HyperlaneConnectionClient.setInterchainGasPaymaster(address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#987) is not in mixedCase
Parameter HyperlaneConnectionClient.setInterchainSecurityModule(address)._module (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#995) is not in mixedCase
Variable HyperlaneConnectionClient.__GAP (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#896) is not in mixedCase
Function Router.__Router_initialize(address) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2082-2084) is not in mixedCase
Parameter Router.__Router_initialize(address)._mailbox (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2082) is not in mixedCase
Function Router.__Router_initialize(address,address) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2086-2094) is not in mixedCase
Parameter Router.__Router_initialize(address,address)._mailbox (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2087) is not in mixedCase
Parameter Router.__Router_initialize(address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2088) is not in mixedCase
Function Router.__Router_initialize(address,address,address) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2096-2106) is not in mixedCase
Parameter Router.__Router_initialize(address,address,address)._mailbox (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2097) is not in mixedCase
Parameter Router.__Router_initialize(address,address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2098) is not in mixedCase
Parameter Router.__Router_initialize(address,address,address)._interchainSecurityModule (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2099) is not in mixedCase
Parameter Router.routers(uint32)._domain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2118) is not in mixedCase
Parameter Router.enrollRemoteRouter(uint32,bytes32)._domain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2131) is not in mixedCase
Parameter Router.enrollRemoteRouter(uint32,bytes32)._router (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2131) is not in mixedCase
Parameter Router.enrollRemoteRouters(uint32[],bytes32[])._domains (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2145) is not in mixedCase
Parameter Router.enrollRemoteRouters(uint32[],bytes32[])._addresses (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2146) is not in mixedCase
Parameter Router.handle(uint32,bytes32,bytes)._origin (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2161) is not in mixedCase
Parameter Router.handle(uint32,bytes32,bytes)._sender (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2162) is not in mixedCase
Parameter Router.handle(uint32,bytes32,bytes)._message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2163) is not in mixedCase
Variable Router.__GAP (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2056) is not in mixedCase
Parameter GasRouter.quoteGasPayment(uint32)._destinationDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2302) is not in mixedCase
Parameter StorageGasOracle.getExchangeRateAndGasPrice(uint32)._destinationDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2543) is not in mixedCase
Parameter StorageGasOracle.setRemoteGasDataConfigs(StorageGasOracle.RemoteGasDataConfig[])._configs (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2560) is not in mixedCase
Parameter StorageGasOracle.setRemoteGasData(StorageGasOracle.RemoteGasDataConfig)._config (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2574) is not in mixedCase
Parameter InterchainGasPaymaster.initialize(address)._beneficiary (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2662) is not in mixedCase
Parameter InterchainGasPaymaster.payForGas(bytes32,uint32,uint256,address)._messageId (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2678) is not in mixedCase
Parameter InterchainGasPaymaster.payForGas(bytes32,uint32,uint256,address)._destinationDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2679) is not in mixedCase
Parameter InterchainGasPaymaster.payForGas(bytes32,uint32,uint256,address)._gasAmount (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2680) is not in mixedCase
Parameter InterchainGasPaymaster.payForGas(bytes32,uint32,uint256,address)._refundAddress (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2681) is not in mixedCase
Parameter InterchainGasPaymaster.setGasOracles(InterchainGasPaymaster.GasOracleConfig[])._configs (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2714) is not in mixedCase
Parameter InterchainGasPaymaster.setBeneficiary(address)._beneficiary (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2728) is not in mixedCase
Parameter InterchainGasPaymaster.quoteGasPayment(uint32,uint256)._destinationDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2740) is not in mixedCase
Parameter InterchainGasPaymaster.quoteGasPayment(uint32,uint256)._gasAmount (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2740) is not in mixedCase
Parameter InterchainGasPaymaster.getExchangeRateAndGasPrice(uint32)._destinationDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2769) is not in mixedCase
Parameter OverheadIgp.payForGas(bytes32,uint32,uint256,address)._messageId (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2863) is not in mixedCase
Parameter OverheadIgp.payForGas(bytes32,uint32,uint256,address)._destinationDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2864) is not in mixedCase
Parameter OverheadIgp.payForGas(bytes32,uint32,uint256,address)._gasAmount (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2865) is not in mixedCase
Parameter OverheadIgp.payForGas(bytes32,uint32,uint256,address)._refundAddress (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2866) is not in mixedCase
Parameter OverheadIgp.quoteGasPayment(uint32,uint256)._destinationDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2900) is not in mixedCase
Parameter OverheadIgp.quoteGasPayment(uint32,uint256)._gasAmount (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2900) is not in mixedCase
Parameter OverheadIgp.destinationGasAmount(uint32,uint256)._destinationDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2920) is not in mixedCase
Parameter OverheadIgp.destinationGasAmount(uint32,uint256)._gasAmount (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2920) is not in mixedCase
Parameter TypeCasts.coerceString(bytes32)._buf (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3598) is not in mixedCase
Parameter TypeCasts.addressToBytes32(address)._addr (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3618) is not in mixedCase
Parameter TypeCasts.bytes32ToAddress(bytes32)._buf (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3623) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._version (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3661) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._nonce (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3662) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._originDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3663) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._sender (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3664) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._destinationDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3665) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._recipient (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3666) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._messageBody (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3667) is not in mixedCase
Parameter Message.id(bytes)._message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3686) is not in mixedCase
Parameter Message.version(bytes)._message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3695) is not in mixedCase
Parameter Message.nonce(bytes)._message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3704) is not in mixedCase
Parameter Message.origin(bytes)._message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3713) is not in mixedCase
Parameter Message.sender(bytes)._message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3722) is not in mixedCase
Parameter Message.senderAddress(bytes)._message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3731) is not in mixedCase
Parameter Message.destination(bytes)._message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3744) is not in mixedCase
Parameter Message.recipient(bytes)._message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3757) is not in mixedCase
Parameter Message.recipientAddress(bytes)._message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3770) is not in mixedCase
Parameter Message.body(bytes)._message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3783) is not in mixedCase
Parameter MultisigIsmMetadata.root(bytes)._metadata (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3821) is not in mixedCase
Parameter MultisigIsmMetadata.index(bytes)._metadata (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3830) is not in mixedCase
Parameter MultisigIsmMetadata.originMailbox(bytes)._metadata (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3842) is not in mixedCase
Parameter MultisigIsmMetadata.proof(bytes)._metadata (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3857) is not in mixedCase
Parameter MultisigIsmMetadata.threshold(bytes)._metadata (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3875) is not in mixedCase
Parameter MultisigIsmMetadata.signatureAt(bytes,uint256)._metadata (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3888) is not in mixedCase
Parameter MultisigIsmMetadata.signatureAt(bytes,uint256)._index (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3888) is not in mixedCase
Parameter MultisigIsmMetadata.validatorAt(bytes,uint256)._metadata (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3905) is not in mixedCase
Parameter MultisigIsmMetadata.validatorAt(bytes,uint256)._index (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3905) is not in mixedCase
Parameter MultisigIsmMetadata.validators(bytes)._metadata (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3925) is not in mixedCase
Parameter MultisigIsmMetadata.validatorCount(bytes)._metadata (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3940) is not in mixedCase
Parameter MerkleLib.insert(MerkleLib.Tree,bytes32)._tree (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3995) is not in mixedCase
Parameter MerkleLib.insert(MerkleLib.Tree,bytes32)._node (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3995) is not in mixedCase
Parameter MerkleLib.rootWithCtx(MerkleLib.Tree,bytes32[32])._tree (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4019) is not in mixedCase
Parameter MerkleLib.rootWithCtx(MerkleLib.Tree,bytes32[32])._zeroes (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4019) is not in mixedCase
Parameter MerkleLib.root(MerkleLib.Tree)._tree (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4038) is not in mixedCase
Parameter MerkleLib.branchRoot(bytes32,bytes32[32],uint256)._item (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4092) is not in mixedCase
Parameter MerkleLib.branchRoot(bytes32,bytes32[32],uint256)._branch (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4093) is not in mixedCase
Parameter MerkleLib.branchRoot(bytes32,bytes32[32],uint256)._index (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4094) is not in mixedCase
Parameter MultisigIsm.enrollValidators(uint32[],address[][])._domains (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4274) is not in mixedCase
Parameter MultisigIsm.enrollValidators(uint32[],address[][])._validators (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4275) is not in mixedCase
Parameter MultisigIsm.enrollValidator(uint32,address)._domain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4293) is not in mixedCase
Parameter MultisigIsm.enrollValidator(uint32,address)._validator (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4293) is not in mixedCase
Parameter MultisigIsm.unenrollValidator(uint32,address)._domain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4307) is not in mixedCase
Parameter MultisigIsm.unenrollValidator(uint32,address)._validator (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4307) is not in mixedCase
Parameter MultisigIsm.setThresholds(uint32[],uint8[])._domains (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4327) is not in mixedCase
Parameter MultisigIsm.setThresholds(uint32[],uint8[])._thresholds (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4328) is not in mixedCase
Parameter MultisigIsm.isEnrolled(uint32,address)._domain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4342) is not in mixedCase
Parameter MultisigIsm.isEnrolled(uint32,address)._address (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4342) is not in mixedCase
Parameter MultisigIsm.setThreshold(uint32,uint8)._domain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4358) is not in mixedCase
Parameter MultisigIsm.setThreshold(uint32,uint8)._threshold (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4358) is not in mixedCase
Parameter MultisigIsm.verify(bytes,bytes)._metadata (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4376) is not in mixedCase
Parameter MultisigIsm.verify(bytes,bytes)._message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4376) is not in mixedCase
Parameter MultisigIsm.validators(uint32)._domain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4391) is not in mixedCase
Parameter MultisigIsm.validatorsAndThreshold(bytes)._message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4409) is not in mixedCase
Parameter MultisigIsm.validatorCount(uint32)._domain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4425) is not in mixedCase
Parameter CallLib.target(CallLib.StaticCall)._call (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4595) is not in mixedCase
Parameter CallLib.call(CallLib.Call)._call (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4599) is not in mixedCase
Parameter CallLib.staticcall(CallLib.StaticCall)._call (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4611) is not in mixedCase
Parameter CallLib.staticcall(CallLib.StaticCallWithCallback)._call (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4619) is not in mixedCase
Parameter CallLib.multistaticcall(CallLib.StaticCallWithCallback[])._calls (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4638) is not in mixedCase
Parameter ValidatorAnnouncements.getAnnouncementDigest(address,uint32,string)._mailbox (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4734) is not in mixedCase
Parameter ValidatorAnnouncements.getAnnouncementDigest(address,uint32,string)._localDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4735) is not in mixedCase
Parameter ValidatorAnnouncements.getAnnouncementDigest(address,uint32,string)._storageLocation (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4736) is not in mixedCase
Function PausableReentrancyGuardUpgradeable.__PausableReentrancyGuard_init() (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4781-4783) is not in mixedCase
Variable PausableReentrancyGuardUpgradeable.__gap (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4832) is not in mixedCase
Parameter Mailbox.initialize(address,address)._owner (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4950) is not in mixedCase
Parameter Mailbox.initialize(address,address)._defaultIsm (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4950) is not in mixedCase
Parameter Mailbox.setDefaultIsm(address)._module (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4966) is not in mixedCase
Parameter Mailbox.dispatch(uint32,bytes32,bytes)._destinationDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4978) is not in mixedCase
Parameter Mailbox.dispatch(uint32,bytes32,bytes)._recipientAddress (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4979) is not in mixedCase
Parameter Mailbox.dispatch(uint32,bytes32,bytes)._messageBody (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4980) is not in mixedCase
Parameter Mailbox.process(bytes,bytes)._metadata (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5013) is not in mixedCase
Parameter Mailbox.process(bytes,bytes)._message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5013) is not in mixedCase
Parameter Mailbox.recipientIsm(address)._recipient (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5099) is not in mixedCase
Variable Mailbox.__GAP (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#4884) is not in mixedCase
Parameter InterchainCallMessage.sender(bytes)._message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5207) is not in mixedCase
Parameter InterchainCallMessage.calltype(bytes)._message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5211) is not in mixedCase
Parameter InterchainCallMessage.format(CallLib.Call[],bytes32)._calls (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5220) is not in mixedCase
Parameter InterchainCallMessage.format(CallLib.Call[],bytes32)._sender (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5220) is not in mixedCase
Parameter InterchainCallMessage.calls(bytes)._message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5228) is not in mixedCase
Parameter InterchainCallMessage.format(CallLib.StaticCall[],bytes32)._calls (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5240) is not in mixedCase
Parameter InterchainCallMessage.format(CallLib.StaticCall[],bytes32)._sender (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5240) is not in mixedCase
Parameter InterchainCallMessage.staticCalls(bytes)._message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5248) is not in mixedCase
Parameter InterchainCallMessage.format(CallLib.StaticCallWithCallback[],bytes32)._calls (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5261) is not in mixedCase
Parameter InterchainCallMessage.format(CallLib.StaticCallWithCallback[],bytes32)._sender (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5262) is not in mixedCase
Parameter InterchainCallMessage.callsWithCallbacks(bytes)._message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5267) is not in mixedCase
Parameter InterchainCallMessage.format(bytes[],bytes32)._calls (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5279) is not in mixedCase
Parameter InterchainCallMessage.format(bytes[],bytes32)._sender (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5279) is not in mixedCase
Parameter InterchainCallMessage.rawCalls(bytes)._message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5287) is not in mixedCase
Parameter InterchainAccountRouter.initialize(address,address,address,address)._mailbox (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5460) is not in mixedCase
Parameter InterchainAccountRouter.initialize(address,address,address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5461) is not in mixedCase
Parameter InterchainAccountRouter.initialize(address,address,address,address)._interchainSecurityModule (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5462) is not in mixedCase
Parameter InterchainAccountRouter.initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5463) is not in mixedCase
Parameter InterchainAccountRouter.dispatch(uint32,CallLib.Call[])._destinationDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5479) is not in mixedCase
Parameter InterchainAccountRouter.getInterchainAccount(uint32,bytes32)._origin (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5499) is not in mixedCase
Parameter InterchainAccountRouter.getInterchainAccount(uint32,bytes32)._sender (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5499) is not in mixedCase
Parameter InterchainAccountRouter.getInterchainAccount(uint32,address)._origin (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5507) is not in mixedCase
Parameter InterchainAccountRouter.getInterchainAccount(uint32,address)._sender (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5507) is not in mixedCase
Parameter InterchainAccountRouter.getDeployedInterchainAccount(uint32,bytes32)._origin (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5521) is not in mixedCase
Parameter InterchainAccountRouter.getDeployedInterchainAccount(uint32,bytes32)._sender (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5521) is not in mixedCase
Parameter InterchainAccountRouter.getDeployedInterchainAccount(uint32,address)._origin (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5537) is not in mixedCase
Parameter InterchainAccountRouter.getDeployedInterchainAccount(uint32,address)._sender (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5537) is not in mixedCase
Parameter InterchainQueryRouter.initialize(address,address,address,address)._mailbox (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5658) is not in mixedCase
Parameter InterchainQueryRouter.initialize(address,address,address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5659) is not in mixedCase
Parameter InterchainQueryRouter.initialize(address,address,address,address)._interchainSecurityModule (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5660) is not in mixedCase
Parameter InterchainQueryRouter.initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5661) is not in mixedCase
Parameter InterchainQueryRouter.query(uint32,CallLib.StaticCallWithCallback[])._destinationDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5679) is not in mixedCase
Parameter CircleBridgeAdapter.initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5998) is not in mixedCase
Parameter CircleBridgeAdapter.initialize(address,address,address,address)._tokenMessenger (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5999) is not in mixedCase
Parameter CircleBridgeAdapter.initialize(address,address,address,address)._circleMessageTransmitter (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6000) is not in mixedCase
Parameter CircleBridgeAdapter.initialize(address,address,address,address)._liquidityLayerRouter (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6001) is not in mixedCase
Parameter CircleBridgeAdapter.sendTokens(uint32,bytes32,address,uint256)._destinationDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6014) is not in mixedCase
Parameter CircleBridgeAdapter.sendTokens(uint32,bytes32,address,uint256)._token (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6016) is not in mixedCase
Parameter CircleBridgeAdapter.sendTokens(uint32,bytes32,address,uint256)._amount (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6017) is not in mixedCase
Parameter CircleBridgeAdapter.receiveTokens(uint32,address,uint256,bytes)._originDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6054) is not in mixedCase
Parameter CircleBridgeAdapter.receiveTokens(uint32,address,uint256,bytes)._recipient (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6055) is not in mixedCase
Parameter CircleBridgeAdapter.receiveTokens(uint32,address,uint256,bytes)._amount (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6056) is not in mixedCase
Parameter CircleBridgeAdapter.receiveTokens(uint32,address,uint256,bytes)._adapterData (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6057) is not in mixedCase
Parameter CircleBridgeAdapter.addDomain(uint32,uint32)._hyperlaneDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6101) is not in mixedCase
Parameter CircleBridgeAdapter.addDomain(uint32,uint32)._circleDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6101) is not in mixedCase
Parameter CircleBridgeAdapter.addToken(address,string)._token (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6110) is not in mixedCase
Parameter CircleBridgeAdapter.addToken(address,string)._tokenSymbol (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6110) is not in mixedCase
Parameter CircleBridgeAdapter.removeToken(address,string)._token (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6135) is not in mixedCase
Parameter CircleBridgeAdapter.removeToken(address,string)._tokenSymbol (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6135) is not in mixedCase
Parameter PortalAdapter.initialize(uint32,address,address,address)._localDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6320) is not in mixedCase
Parameter PortalAdapter.initialize(uint32,address,address,address)._owner (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6321) is not in mixedCase
Parameter PortalAdapter.initialize(uint32,address,address,address)._portalTokenBridge (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6322) is not in mixedCase
Parameter PortalAdapter.initialize(uint32,address,address,address)._liquidityLayerRouter (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6323) is not in mixedCase
Parameter PortalAdapter.sendTokens(uint32,bytes32,address,uint256)._destinationDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6340) is not in mixedCase
Parameter PortalAdapter.sendTokens(uint32,bytes32,address,uint256)._token (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6342) is not in mixedCase
Parameter PortalAdapter.sendTokens(uint32,bytes32,address,uint256)._amount (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6343) is not in mixedCase
Parameter PortalAdapter.receiveTokens(uint32,address,uint256,bytes)._originDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6383) is not in mixedCase
Parameter PortalAdapter.receiveTokens(uint32,address,uint256,bytes)._recipient (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6384) is not in mixedCase
Parameter PortalAdapter.receiveTokens(uint32,address,uint256,bytes)._amount (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6385) is not in mixedCase
Parameter PortalAdapter.receiveTokens(uint32,address,uint256,bytes)._adapterData (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6386) is not in mixedCase
Parameter PortalAdapter.addDomain(uint32,uint16)._hyperlaneDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6452) is not in mixedCase
Parameter PortalAdapter.addDomain(uint32,uint16)._wormholeDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6452) is not in mixedCase
Parameter PortalAdapter.transferId(uint32,uint224)._hyperlaneDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6466) is not in mixedCase
Parameter PortalAdapter.transferId(uint32,uint224)._nonce (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6466) is not in mixedCase
Parameter LiquidityLayerRouter.initialize(address,address,address,address)._mailbox (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6528) is not in mixedCase
Parameter LiquidityLayerRouter.initialize(address,address,address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6529) is not in mixedCase
Parameter LiquidityLayerRouter.initialize(address,address,address,address)._interchainSecurityModule (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6530) is not in mixedCase
Parameter LiquidityLayerRouter.initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6531) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,address,uint256,string,bytes)._destinationDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6542) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,address,uint256,string,bytes)._recipientAddress (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6543) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,address,uint256,string,bytes)._token (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6544) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,address,uint256,string,bytes)._amount (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6545) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,address,uint256,string,bytes)._bridge (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6546) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,address,uint256,string,bytes)._messageBody (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6547) is not in mixedCase
Parameter LiquidityLayerRouter.setLiquidityLayerAdapter(string,address)._bridge (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6626) is not in mixedCase
Parameter LiquidityLayerRouter.setLiquidityLayerAdapter(string,address)._adapter (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6626) is not in mixedCase
Function ERC20Upgradeable.__ERC20_init(string,string) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6813-6815) is not in mixedCase
Function ERC20Upgradeable.__ERC20_init_unchained(string,string) (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#6817-6820) is not in mixedCase
Variable ERC20Upgradeable.__gap (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7158) is not in mixedCase
Parameter MockToken.burn(uint256)._amount (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7171) is not in mixedCase
Parameter MockCircleMessageTransmitter.hashSourceAndNonce(uint32,uint64)._source (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7198) is not in mixedCase
Parameter MockCircleMessageTransmitter.hashSourceAndNonce(uint32,uint64)._nonce (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7198) is not in mixedCase
Parameter MockCircleMessageTransmitter.process(bytes32,address,uint256)._nonceId (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7207) is not in mixedCase
Parameter MockCircleMessageTransmitter.process(bytes32,address,uint256)._recipient (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7208) is not in mixedCase
Parameter MockCircleMessageTransmitter.process(bytes32,address,uint256)._amount (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7209) is not in mixedCase
Parameter MockCircleMessageTransmitter.usedNonces(bytes32)._nonceId (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7215) is not in mixedCase
Parameter MockCircleTokenMessenger.depositForBurn(uint256,uint32,bytes32,address)._amount (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7235) is not in mixedCase
Parameter MockCircleTokenMessenger.depositForBurn(uint256,uint32,bytes32,address)._burnToken (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7238) is not in mixedCase
Parameter MockMailbox.addRemoteMailbox(uint32,MockMailbox)._domain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7292) is not in mixedCase
Parameter MockMailbox.addRemoteMailbox(uint32,MockMailbox)._mailbox (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7292) is not in mixedCase
Parameter MockMailbox.dispatch(uint32,bytes32,bytes)._destinationDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7297) is not in mixedCase
Parameter MockMailbox.dispatch(uint32,bytes32,bytes)._recipientAddress (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7298) is not in mixedCase
Parameter MockMailbox.dispatch(uint32,bytes32,bytes)._messageBody (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7299) is not in mixedCase
Parameter MockMailbox.addInboundMessage(uint32,address,address,bytes)._origin (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7318) is not in mixedCase
Parameter MockMailbox.addInboundMessage(uint32,address,address,bytes)._sender (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7319) is not in mixedCase
Parameter MockMailbox.addInboundMessage(uint32,address,address,bytes)._recipient (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7320) is not in mixedCase
Parameter MockMailbox.addInboundMessage(uint32,address,address,bytes)._body (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7321) is not in mixedCase
Variable MockMailbox.VERSION (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7272) is not in mixedCase
Parameter TestIsm.setAccept(bool)._val (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7374) is not in mixedCase
Parameter MockPortalBridge.adapterData(uint32,uint224,address)._originDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7531) is not in mixedCase
Parameter MockPortalBridge.adapterData(uint32,uint224,address)._nonce (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7532) is not in mixedCase
Parameter MockPortalBridge.adapterData(uint32,uint224,address)._token (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7533) is not in mixedCase
Parameter MockPortalBridge.mockPortalVaa(uint32,uint224,uint256)._originDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7544) is not in mixedCase
Parameter MockPortalBridge.mockPortalVaa(uint32,uint224,uint256)._nonce (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7545) is not in mixedCase
Parameter MockPortalBridge.mockPortalVaa(uint32,uint224,uint256)._amount (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7546) is not in mixedCase
Parameter TestRecipient.setInterchainSecurityModule(address)._ism (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7642) is not in mixedCase
Parameter TestRecipient.handle(uint32,bytes32,bytes)._origin (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7647) is not in mixedCase
Parameter TestRecipient.handle(uint32,bytes32,bytes)._sender (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7648) is not in mixedCase
Parameter TestRecipient.handle(uint32,bytes32,bytes)._data (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7649) is not in mixedCase
Parameter TestRouter.initialize(address,address)._mailbox (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7687) is not in mixedCase
Parameter TestRouter.initialize(address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7687) is not in mixedCase
Parameter TestRouter.isRemoteRouter(uint32,bytes32)._domain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7704) is not in mixedCase
Parameter TestRouter.isRemoteRouter(uint32,bytes32)._potentialRemoteRouter (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7704) is not in mixedCase
Parameter TestRouter.mustHaveRemoteRouter(uint32)._domain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7712) is not in mixedCase
Parameter TestRouter.dispatch(uint32,bytes)._destination (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7720) is not in mixedCase
Parameter TestRouter.dispatch(uint32,bytes)._msg (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7720) is not in mixedCase
Parameter TestRouter.dispatchWithGas(uint32,bytes,uint256,uint256,address)._destinationDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7725) is not in mixedCase
Parameter TestRouter.dispatchWithGas(uint32,bytes,uint256,uint256,address)._messageBody (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7726) is not in mixedCase
Parameter TestRouter.dispatchWithGas(uint32,bytes,uint256,uint256,address)._gasAmount (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7727) is not in mixedCase
Parameter TestRouter.dispatchWithGas(uint32,bytes,uint256,uint256,address)._gasPayment (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7728) is not in mixedCase
Parameter TestRouter.dispatchWithGas(uint32,bytes,uint256,uint256,address)._gasPaymentRefundAddress (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7729) is not in mixedCase
Parameter TestGasRouter.dispatchWithGas(uint32,bytes,uint256,address)._destinationDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7749) is not in mixedCase
Parameter TestGasRouter.dispatchWithGas(uint32,bytes,uint256,address)._messageBody (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7750) is not in mixedCase
Parameter TestGasRouter.dispatchWithGas(uint32,bytes,uint256,address)._gasPayment (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7751) is not in mixedCase
Parameter TestGasRouter.dispatchWithGas(uint32,bytes,uint256,address)._gasPaymentRefundAddress (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7752) is not in mixedCase
Parameter TestGasRouter.dispatchWithGas(uint32,bytes)._destinationDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7763) is not in mixedCase
Parameter TestGasRouter.dispatchWithGas(uint32,bytes)._messageBody (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7764) is not in mixedCase
Parameter TestHyperlaneConnectionClient.initialize(address)._mailbox (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7777) is not in mixedCase
Parameter TestLiquidityLayerMessageRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._origin (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7801) is not in mixedCase
Parameter TestLiquidityLayerMessageRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._sender (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7802) is not in mixedCase
Parameter TestLiquidityLayerMessageRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7803) is not in mixedCase
Parameter TestLiquidityLayerMessageRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._token (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7804) is not in mixedCase
Parameter TestLiquidityLayerMessageRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._amount (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7805) is not in mixedCase
Parameter TestMailbox.testHandle(uint32,bytes32,bytes32,bytes)._origin (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7841) is not in mixedCase
Parameter TestMailbox.testHandle(uint32,bytes32,bytes32,bytes)._sender (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7842) is not in mixedCase
Parameter TestMailbox.testHandle(uint32,bytes32,bytes32,bytes)._recipient (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7843) is not in mixedCase
Parameter TestMailbox.testHandle(uint32,bytes32,bytes32,bytes)._body (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7844) is not in mixedCase
Parameter TestMerkle.insert(bytes32)._node (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7867) is not in mixedCase
Parameter TestMerkle.branchRoot(bytes32,bytes32[32],uint256)._leaf (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7872) is not in mixedCase
Parameter TestMerkle.branchRoot(bytes32,bytes32[32],uint256)._proof (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7873) is not in mixedCase
Parameter TestMerkle.branchRoot(bytes32,bytes32[32],uint256)._index (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7874) is not in mixedCase
Parameter TestMessage.version(bytes)._message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7899) is not in mixedCase
Parameter TestMessage.nonce(bytes)._message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7907) is not in mixedCase
Parameter TestMessage.body(bytes)._message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7915) is not in mixedCase
Parameter TestMessage.origin(bytes)._message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7923) is not in mixedCase
Parameter TestMessage.sender(bytes)._message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7931) is not in mixedCase
Parameter TestMessage.destination(bytes)._message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7939) is not in mixedCase
Parameter TestMessage.recipient(bytes)._message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7947) is not in mixedCase
Parameter TestMessage.recipientAddress(bytes)._message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7955) is not in mixedCase
Parameter TestMessage.id(bytes)._message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7963) is not in mixedCase
Parameter TestMultisigIsm.getDomainHash(uint32,bytes32)._origin (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7976) is not in mixedCase
Parameter TestMultisigIsm.getDomainHash(uint32,bytes32)._originMailbox (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7976) is not in mixedCase
Parameter TestMultisigIsm.getCheckpointDigest(bytes,uint32)._metadata (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7984) is not in mixedCase
Parameter TestMultisigIsm.getCheckpointDigest(bytes,uint32)._origin (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7984) is not in mixedCase
Parameter TestQuerySender.initialize(address,address)._queryRouterAddress (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8053) is not in mixedCase
Parameter TestQuerySender.initialize(address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8054) is not in mixedCase
Parameter TestQuerySender.queryAddress(uint32,address,bytes,uint256)._destinationDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8063) is not in mixedCase
Parameter TestQuerySender.queryAddress(uint32,address,bytes,uint256)._target (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8064) is not in mixedCase
Parameter TestQuerySender.queryAddress(uint32,address,bytes,uint256)._targetData (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8065) is not in mixedCase
Parameter TestQuerySender.queryAddress(uint32,address,bytes,uint256)._gasAmount (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8066) is not in mixedCase
Parameter TestQuerySender.handleQueryAddressResult(address)._result (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8077) is not in mixedCase
Parameter TestQuerySender.queryUint256(uint32,address,bytes,uint256)._destinationDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8083) is not in mixedCase
Parameter TestQuerySender.queryUint256(uint32,address,bytes,uint256)._target (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8084) is not in mixedCase
Parameter TestQuerySender.queryUint256(uint32,address,bytes,uint256)._targetData (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8085) is not in mixedCase
Parameter TestQuerySender.queryUint256(uint32,address,bytes,uint256)._gasAmount (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8086) is not in mixedCase
Parameter TestQuerySender.handleQueryUint256Result(uint256)._result (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8097) is not in mixedCase
Parameter TestQuerySender.queryBytes32(uint32,address,bytes,uint256)._destinationDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8103) is not in mixedCase
Parameter TestQuerySender.queryBytes32(uint32,address,bytes,uint256)._target (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8104) is not in mixedCase
Parameter TestQuerySender.queryBytes32(uint32,address,bytes,uint256)._targetData (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8105) is not in mixedCase
Parameter TestQuerySender.queryBytes32(uint32,address,bytes,uint256)._gasAmount (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8106) is not in mixedCase
Parameter TestQuerySender.handleQueryBytes32Result(bytes32)._result (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8117) is not in mixedCase
Parameter TestQuerySender.queryAndPayFor(uint32,address,bytes,bytes4,uint256)._destinationDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8123) is not in mixedCase
Parameter TestQuerySender.queryAndPayFor(uint32,address,bytes,bytes4,uint256)._target (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8124) is not in mixedCase
Parameter TestQuerySender.queryAndPayFor(uint32,address,bytes,bytes4,uint256)._targetData (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8125) is not in mixedCase
Parameter TestQuerySender.queryAndPayFor(uint32,address,bytes,bytes4,uint256)._callbackSelector (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8126) is not in mixedCase
Parameter TestQuerySender.queryAndPayFor(uint32,address,bytes,bytes4,uint256)._gasAmount (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8127) is not in mixedCase
Parameter TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes)._mailbox (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8161) is not in mixedCase
Parameter TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes)._paymaster (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8162) is not in mixedCase
Parameter TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes)._destinationDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8163) is not in mixedCase
Parameter TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes)._messageBody (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8164) is not in mixedCase
Parameter TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._origin (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8241) is not in mixedCase
Parameter TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._sender (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8242) is not in mixedCase
Parameter TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._data (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8243) is not in mixedCase
Parameter TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._token (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8244) is not in mixedCase
Parameter TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._amount (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8245) is not in mixedCase
Parameter ValidatorAnnounce.announce(address,string,bytes)._validator (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#9031) is not in mixedCase
Parameter ValidatorAnnounce.announce(address,string,bytes)._storageLocation (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#9032) is not in mixedCase
Parameter ValidatorAnnounce.announce(address,string,bytes)._signature (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#9033) is not in mixedCase
Parameter ValidatorAnnounce.getAnnouncedStorageLocations(address[])._validators (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#9063) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Detectors:
Variable IValidatorAnnounce.announce(address,string,bytes)._storageLocation (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8957) is too similar to ValidatorAnnounce.storageLocations (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8997)
Variable ValidatorAnnounce.announce(address,string,bytes)._storageLocation (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#9032) is too similar to ValidatorAnnounce.storageLocations (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8997)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#variable-names-too-similar
INFO:Detectors:
Message.VERSION_OFFSET (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3640) is never used in Message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3637-3790)
Message.NONCE_OFFSET (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3641) is never used in Message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3637-3790)
Message.ORIGIN_OFFSET (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3642) is never used in Message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3637-3790)
Message.SENDER_OFFSET (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3643) is never used in Message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3637-3790)
Message.DESTINATION_OFFSET (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3644) is never used in Message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3637-3790)
Message.RECIPIENT_OFFSET (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3645) is never used in Message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3637-3790)
Message.BODY_OFFSET (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3646) is never used in Message (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3637-3790)
MultisigIsmMetadata.MERKLE_ROOT_OFFSET (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3808) is never used in MultisigIsmMetadata (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3807-3963)
MultisigIsmMetadata.MERKLE_INDEX_OFFSET (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3809) is never used in MultisigIsmMetadata (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3807-3963)
MultisigIsmMetadata.ORIGIN_MAILBOX_OFFSET (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3810) is never used in MultisigIsmMetadata (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3807-3963)
MultisigIsmMetadata.MERKLE_PROOF_OFFSET (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3811) is never used in MultisigIsmMetadata (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3807-3963)
MultisigIsmMetadata.THRESHOLD_OFFSET (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3812) is never used in MultisigIsmMetadata (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#3807-3963)
InterchainCallMessage.SENDER_OFFSET (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5196) is never used in InterchainCallMessage (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5195-5295)
InterchainCallMessage.TYPE_OFFSET (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5197) is never used in InterchainCallMessage (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#5195-5295)
InterchainGasPaymaster.TOKEN_EXCHANGE_RATE_SCALE (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#2624) is never used in TestInterchainGasPaymaster (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7350-7363)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-state-variable
INFO:Detectors:
MockCircleMessageTransmitter.token (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7184) should be immutable
MockCircleTokenMessenger.token (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7228) should be immutable
MockHyperlaneEnvironment.destinationDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7397) should be immutable
MockHyperlaneEnvironment.originDomain (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7396) should be immutable
MockPortalBridge.token (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#7471) should be immutable
TestQuery.router (crytic-export/etherscan-contracts/0xbdd8eb3884a8f111f338b7784c163dd62d03daf9-InterchainGasPaymaster.sol#8001) should be immutable
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-immutable
INFO:Slither:0xbdd8eb3884a8f111f338b7784c163dd62d03daf9 analyzed (95 contracts with 87 detectors), 554 result(s) found
```
Slither report for Proxy at `0xbEb5Fc579115071764c7423A4f12eDde41f106Ed` with implementation OptimismPortal at `0x28a55488fef40005309e2DA0040DbE9D300a64AB`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0xbeb5fc579115071764c7423a4f12edde41f106ed-Proxy' running
INFO:Detectors:
Proxy.upgradeTo(address) (contracts/universal/Proxy.sol#87-89) calls Proxy.proxyCallIfNotAdmin() (contracts/universal/Proxy.sol#48-55) which halt the execution return(uint256,uint256)(0x0,returndatasize()()) (contracts/universal/Proxy.sol#188)
Proxy.upgradeToAndCall(address,bytes) (contracts/universal/Proxy.sol#98-109) calls Proxy.proxyCallIfNotAdmin() (contracts/universal/Proxy.sol#48-55) which halt the execution return(uint256,uint256)(0x0,returndatasize()()) (contracts/universal/Proxy.sol#188)
Proxy.changeAdmin(address) (contracts/universal/Proxy.sol#116-118) calls Proxy.proxyCallIfNotAdmin() (contracts/universal/Proxy.sol#48-55) which halt the execution return(uint256,uint256)(0x0,returndatasize()()) (contracts/universal/Proxy.sol#188)
Proxy.admin() (contracts/universal/Proxy.sol#125-127) calls Proxy.proxyCallIfNotAdmin() (contracts/universal/Proxy.sol#48-55) which halt the execution return(uint256,uint256)(0x0,returndatasize()()) (contracts/universal/Proxy.sol#188)
Proxy.implementation() (contracts/universal/Proxy.sol#134-136) calls Proxy.proxyCallIfNotAdmin() (contracts/universal/Proxy.sol#48-55) which halt the execution return(uint256,uint256)(0x0,returndatasize()()) (contracts/universal/Proxy.sol#188)
Proxy.proxyCallIfNotAdmin() (contracts/universal/Proxy.sol#48-55) calls Proxy._doProxyCall() (contracts/universal/Proxy.sol#166-190) which halt the execution return(uint256,uint256)(0x0,returndatasize()()) (contracts/universal/Proxy.sol#188)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-assembly-return
INFO:Detectors:
Proxy.upgradeToAndCall(address,bytes)._implementation (contracts/universal/Proxy.sol#98) lacks a zero-check on :
- (success,returndata) = _implementation.delegatecall(_data) (contracts/universal/Proxy.sol#106)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation
INFO:Detectors:
Modifier Proxy.proxyCallIfNotAdmin() (contracts/universal/Proxy.sol#48-55) does not always execute _; or revertReference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-modifier
INFO:Detectors:
Proxy._setImplementation(address) (contracts/universal/Proxy.sol#143-148) uses assembly
- INLINE ASM (contracts/universal/Proxy.sol#144-146)
Proxy._changeAdmin(address) (contracts/universal/Proxy.sol#155-161) uses assembly
- INLINE ASM (contracts/universal/Proxy.sol#157-159)
Proxy._doProxyCall() (contracts/universal/Proxy.sol#166-190) uses assembly
- INLINE ASM (contracts/universal/Proxy.sol#170-189)
Proxy._getImplementation() (contracts/universal/Proxy.sol#197-203) uses assembly
- INLINE ASM (contracts/universal/Proxy.sol#199-201)
Proxy._getAdmin() (contracts/universal/Proxy.sol#210-216) uses assembly
- INLINE ASM (contracts/universal/Proxy.sol#212-214)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
Low level call in Proxy.upgradeToAndCall(address,bytes) (contracts/universal/Proxy.sol#98-109):
- (success,returndata) = _implementation.delegatecall(_data) (contracts/universal/Proxy.sol#106)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
INFO:Detectors:
Parameter Proxy.upgradeTo(address)._implementation (contracts/universal/Proxy.sol#87) is not in mixedCase
Parameter Proxy.upgradeToAndCall(address,bytes)._implementation (contracts/universal/Proxy.sol#98) is not in mixedCase
Parameter Proxy.upgradeToAndCall(address,bytes)._data (contracts/universal/Proxy.sol#98) is not in mixedCase
Parameter Proxy.changeAdmin(address)._admin (contracts/universal/Proxy.sol#116) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Slither:0xbeb5fc579115071764c7423a4f12edde41f106ed analyzed (1 contracts with 87 detectors), 18 result(s) found
```
Slither report for OptimizedTransparentUpgradeableProxy at `0xC03f31fD86a9077785b7bCf6598Ce3598Fa91113` with implementation unknown contract name at `0xF641db6860FD5f6643D05bD75405a2586a63a141`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0xc03f31fd86a9077785b7bcf6598ce3598fa91113-OptimizedTransparentUpgradeableProxy' running
INFO:Detectors:
OptimizedTransparentUpgradeableProxy.admin() (solc_0.8/proxy/OptimizedTransparentUpgradeableProxy.sol#73-75) calls OptimizedTransparentUpgradeableProxy.ifAdmin() (solc_0.8/proxy/OptimizedTransparentUpgradeableProxy.sol#56-62) which halt the execution return(uint256,uint256)(0,returndatasize()()) (solc_0.8/openzeppelin/proxy/Proxy.sol#42)
OptimizedTransparentUpgradeableProxy.implementation() (solc_0.8/proxy/OptimizedTransparentUpgradeableProxy.sol#86-88) calls OptimizedTransparentUpgradeableProxy.ifAdmin() (solc_0.8/proxy/OptimizedTransparentUpgradeableProxy.sol#56-62) which halt the execution return(uint256,uint256)(0,returndatasize()()) (solc_0.8/openzeppelin/proxy/Proxy.sol#42)
OptimizedTransparentUpgradeableProxy.upgradeTo(address) (solc_0.8/proxy/OptimizedTransparentUpgradeableProxy.sol#95-97) calls OptimizedTransparentUpgradeableProxy.ifAdmin() (solc_0.8/proxy/OptimizedTransparentUpgradeableProxy.sol#56-62) which halt the execution return(uint256,uint256)(0,returndatasize()()) (solc_0.8/openzeppelin/proxy/Proxy.sol#42)
OptimizedTransparentUpgradeableProxy.upgradeToAndCall(address,bytes) (solc_0.8/proxy/OptimizedTransparentUpgradeableProxy.sol#106-108) calls OptimizedTransparentUpgradeableProxy.ifAdmin() (solc_0.8/proxy/OptimizedTransparentUpgradeableProxy.sol#56-62) which halt the execution return(uint256,uint256)(0,returndatasize()()) (solc_0.8/openzeppelin/proxy/Proxy.sol#42)
OptimizedTransparentUpgradeableProxy.ifAdmin() (solc_0.8/proxy/OptimizedTransparentUpgradeableProxy.sol#56-62) calls Proxy._fallback() (solc_0.8/openzeppelin/proxy/Proxy.sol#58-61) which halt the execution return(uint256,uint256)(0,returndatasize()()) (solc_0.8/openzeppelin/proxy/Proxy.sol#42)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-assembly-return
INFO:Detectors:
ERC1967Upgrade._upgradeToAndCall(address,bytes,bool) (solc_0.8/openzeppelin/proxy/ERC1967/ERC1967Upgrade.sol#65-74) ignores return value by Address.functionDelegateCall(newImplementation,data) (solc_0.8/openzeppelin/proxy/ERC1967/ERC1967Upgrade.sol#72)
ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (solc_0.8/openzeppelin/proxy/ERC1967/ERC1967Upgrade.sol#171-181) ignores return value by Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data) (solc_0.8/openzeppelin/proxy/ERC1967/ERC1967Upgrade.sol#179)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return
INFO:Detectors:
OptimizedTransparentUpgradeableProxy.constructor(address,address,bytes).admin_ (solc_0.8/proxy/OptimizedTransparentUpgradeableProxy.sol#38) lacks a zero-check on :
- _ADMIN = admin_ (solc_0.8/proxy/OptimizedTransparentUpgradeableProxy.sol#42)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation
INFO:Detectors:
Modifier OptimizedTransparentUpgradeableProxy.ifAdmin() (solc_0.8/proxy/OptimizedTransparentUpgradeableProxy.sol#56-62) does not always execute _; or revertReference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-modifier
INFO:Detectors:
Proxy._delegate(address) (solc_0.8/openzeppelin/proxy/Proxy.sol#22-45) uses assembly
- INLINE ASM (solc_0.8/openzeppelin/proxy/Proxy.sol#23-44)
Address.verifyCallResult(bool,bytes,string) (solc_0.8/openzeppelin/utils/Address.sol#201-221) uses assembly
- INLINE ASM (solc_0.8/openzeppelin/utils/Address.sol#213-216)
StorageSlot.getAddressSlot(bytes32) (solc_0.8/openzeppelin/utils/StorageSlot.sol#52-56) uses assembly
- INLINE ASM (solc_0.8/openzeppelin/utils/StorageSlot.sol#53-55)
StorageSlot.getBooleanSlot(bytes32) (solc_0.8/openzeppelin/utils/StorageSlot.sol#61-65) uses assembly
- INLINE ASM (solc_0.8/openzeppelin/utils/StorageSlot.sol#62-64)
StorageSlot.getBytes32Slot(bytes32) (solc_0.8/openzeppelin/utils/StorageSlot.sol#70-74) uses assembly
- INLINE ASM (solc_0.8/openzeppelin/utils/StorageSlot.sol#71-73)
StorageSlot.getUint256Slot(bytes32) (solc_0.8/openzeppelin/utils/StorageSlot.sol#79-83) uses assembly
- INLINE ASM (solc_0.8/openzeppelin/utils/StorageSlot.sol#80-82)
OptimizedTransparentUpgradeableProxy.constructor(address,address,bytes) (solc_0.8/proxy/OptimizedTransparentUpgradeableProxy.sol#36-51) uses assembly
- INLINE ASM (solc_0.8/proxy/OptimizedTransparentUpgradeableProxy.sol#47-49)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
Address.functionCall(address,bytes) (solc_0.8/openzeppelin/utils/Address.sol#85-87) is never used and should be removed
Address.functionCall(address,bytes,string) (solc_0.8/openzeppelin/utils/Address.sol#95-101) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (solc_0.8/openzeppelin/utils/Address.sol#114-120) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (solc_0.8/openzeppelin/utils/Address.sol#128-139) is never used and should be removed
Address.functionStaticCall(address,bytes) (solc_0.8/openzeppelin/utils/Address.sol#147-149) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (solc_0.8/openzeppelin/utils/Address.sol#157-166) is never used and should be removed
Address.sendValue(address,uint256) (solc_0.8/openzeppelin/utils/Address.sol#60-65) is never used and should be removed
ERC1967Upgrade._changeAdmin(address) (solc_0.8/openzeppelin/proxy/ERC1967/ERC1967Upgrade.sol#133-136) is never used and should be removed
ERC1967Upgrade._getAdmin() (solc_0.8/openzeppelin/proxy/ERC1967/ERC1967Upgrade.sol#116-118) is never used and should be removed
ERC1967Upgrade._getBeacon() (solc_0.8/openzeppelin/proxy/ERC1967/ERC1967Upgrade.sol#152-154) is never used and should be removed
ERC1967Upgrade._setAdmin(address) (solc_0.8/openzeppelin/proxy/ERC1967/ERC1967Upgrade.sol#123-126) is never used and should be removed
ERC1967Upgrade._setBeacon(address) (solc_0.8/openzeppelin/proxy/ERC1967/ERC1967Upgrade.sol#159-163) is never used and should be removed
ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (solc_0.8/openzeppelin/proxy/ERC1967/ERC1967Upgrade.sol#171-181) is never used and should be removed
ERC1967Upgrade._upgradeToAndCallUUPS(address,bytes,bool) (solc_0.8/openzeppelin/proxy/ERC1967/ERC1967Upgrade.sol#81-99) is never used and should be removed
OptimizedTransparentUpgradeableProxy._admin() (solc_0.8/proxy/OptimizedTransparentUpgradeableProxy.sol#113-115) is never used and should be removed
StorageSlot.getBooleanSlot(bytes32) (solc_0.8/openzeppelin/utils/StorageSlot.sol#61-65) is never used and should be removed
StorageSlot.getBytes32Slot(bytes32) (solc_0.8/openzeppelin/utils/StorageSlot.sol#70-74) is never used and should be removed
StorageSlot.getUint256Slot(bytes32) (solc_0.8/openzeppelin/utils/StorageSlot.sol#79-83) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Low level call in Address.sendValue(address,uint256) (solc_0.8/openzeppelin/utils/Address.sol#60-65):
- (success) = recipient.call{value: amount}() (solc_0.8/openzeppelin/utils/Address.sol#63)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (solc_0.8/openzeppelin/utils/Address.sol#128-139):
- (success,returndata) = target.call{value: value}(data) (solc_0.8/openzeppelin/utils/Address.sol#137)
Low level call in Address.functionStaticCall(address,bytes,string) (solc_0.8/openzeppelin/utils/Address.sol#157-166):
- (success,returndata) = target.staticcall(data) (solc_0.8/openzeppelin/utils/Address.sol#164)
Low level call in Address.functionDelegateCall(address,bytes,string) (solc_0.8/openzeppelin/utils/Address.sol#184-193):
- (success,returndata) = target.delegatecall(data) (solc_0.8/openzeppelin/utils/Address.sol#191)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
INFO:Detectors:
OptimizedTransparentUpgradeableProxy (solc_0.8/proxy/OptimizedTransparentUpgradeableProxy.sol#29-128) should inherit from IBeacon (solc_0.8/openzeppelin/proxy/beacon/IBeacon.sol#9-16)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-inheritance
INFO:Detectors:
Variable OptimizedTransparentUpgradeableProxy._ADMIN (solc_0.8/proxy/OptimizedTransparentUpgradeableProxy.sol#30) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Slither:0xc03f31fd86a9077785b7bcf6598ce3598fa91113 analyzed (8 contracts with 87 detectors), 40 result(s) found
```
Slither report for StorageGasOracle at `0xc9a103990A8dB11b4f627bc5CD1D0c2685484Ec5`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts' running
Warning: Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing "SPDX-License-Identifier: " to each source file. Use "SPDX-License-Identifier: UNLICENSED" for non-open-source code. Please see https://spdx.org for more information.
--> crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol
Warning: Warning: This declaration shadows an existing declaration.
--> crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol:7281:5:
|
7281 | struct Message {
| ^ (Relevant source part starts here and spans across multiple lines).
Note: The shadowed declaration is here:
--> crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol:3637:1:
|
3637 | library Message {
| ^ (Relevant source part starts here and spans across multiple lines).
INFO:Detectors:
Router._dispatchWithGas(uint32,bytes,uint256,uint256,address) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2225-2241) sends eth to arbitrary user
Dangerous calls:
- interchainGasPaymaster.payForGas{value: _gasPayment}(_messageId,_destinationDomain,_gasAmount,_gasPaymentRefundAddress) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2235-2240)
InterchainGasPaymaster.claim() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2704-2708) sends eth to arbitrary user
Dangerous calls:
- (success) = beneficiary.call{value: address(this).balance}() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2706)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#functions-that-send-ether-to-arbitrary-destinations
INFO:Detectors:
TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8160-8198) uses a weak PRNG: "_blockHashNum % 5 == 0 (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8173)"
TestSendReceiver.handle(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8200-8209) uses a weak PRNG: "isBlockHashEndIn0 = uint256(blockHash) % 16 == 0 (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8206)"
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#weak-PRNG
INFO:Detectors:
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2994-3074) has bitwise-xor operator ^ instead of the exponentiation operator **:
- inverse = (3 * denominator) ^ 2 (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3056)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-exponentiation
INFO:Detectors:
TransparentUpgradeableProxy.admin() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8763-8765) calls TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8746-8752) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8304)
TransparentUpgradeableProxy.implementation() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8776-8778) calls TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8746-8752) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8304)
TransparentUpgradeableProxy.changeAdmin(address) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8787-8789) calls TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8746-8752) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8304)
TransparentUpgradeableProxy.upgradeTo(address) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8796-8798) calls TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8746-8752) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8304)
TransparentUpgradeableProxy.upgradeToAndCall(address,bytes) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8807-8809) calls TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8746-8752) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8304)
TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8746-8752) calls Proxy._fallback() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8320-8323) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8304)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-assembly-return
INFO:Detectors:
Router.__GAP (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2056) shadows:
- HyperlaneConnectionClient.__GAP (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#896)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#state-variable-shadowing
INFO:Detectors:
MockCircleTokenMessenger.depositForBurn(uint256,uint32,bytes32,address) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7234-7245) ignores return value by token.transferFrom(msg.sender,address(this),_amount) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7243)
MockPortalBridge.transferTokensWithPayload(address,uint256,uint16,bytes32,uint32,bytes) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7477-7489) ignores return value by token.transferFrom(msg.sender,address(this),amount) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7486)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unchecked-transfer
INFO:Detectors:
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2994-3074) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3041)
- inverse = (3 * denominator) ^ 2 (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3056)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2994-3074) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3041)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3060)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2994-3074) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3041)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3061)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2994-3074) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3041)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3062)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2994-3074) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3041)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3063)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2994-3074) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3041)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3064)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2994-3074) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3041)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3065)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2994-3074) performs a multiplication on the result of a division:
- prod0 = prod0 / twos (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3044)
- result = prod0 * inverse (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3071)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#divide-before-multiply
INFO:Detectors:
TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8160-8198) uses a dangerous strict equality:
- _blockHashNum % 5 == 0 (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8173)
TestSendReceiver.handle(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8200-8209) uses a dangerous strict equality:
- isBlockHashEndIn0 = uint256(blockHash) % 16 == 0 (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8206)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-strict-equalities
INFO:Detectors:
Reentrancy in MockMailbox.processNextInboundMessage() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7332-7340):
External calls:
- IMessageRecipient(_message.recipient).handle(_message.origin,_message.sender.addressToBytes32(),_message.body) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7334-7338)
State variables written after the call(s):
- inboundProcessedNonce ++ (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7339)
MockMailbox.inboundProcessedNonce (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7277) can be used in cross function reentrancies:
- MockMailbox.inboundProcessedNonce (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7277)
- MockMailbox.processNextInboundMessage() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7332-7340)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-1
INFO:Detectors:
TestMailbox.proof()._proof (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7827) is a local variable never initialized
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-local-variables
INFO:Detectors:
EnumerableMapExtended.set(EnumerableMapExtended.UintToBytes32Map,uint256,bytes32) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1988-1994) ignores return value by map._inner.set(bytes32(key),value) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1993)
CallLib.multicallto(address,bytes[]) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4655-4664) ignores return value by Address.functionCall(to,calls[i]) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4659)
InterchainGasPaymaster.getExchangeRateAndGasPrice(uint32) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2769-2779) ignores return value by _gasOracle.getExchangeRateAndGasPrice(_destinationDomain) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2778)
TestQuery.queryRouterOwner(uint32,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8012-8022) ignores return value by router.query(domain,calls) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8021)
ERC1967Upgrade._upgradeToAndCall(address,bytes,bool) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8547-8556) ignores return value by Address.functionDelegateCall(newImplementation,data) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8554)
ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8656-8666) ignores return value by Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8664)
ValidatorAnnounce.announce(address,string,bytes) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#9030-9056) ignores return value by validators.add(_validator) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#9051)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return
INFO:Detectors:
HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#965) shadows:
- OwnableUpgradeable._owner (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#548) (state variable)
Mailbox.initialize(address,address)._owner (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4950) shadows:
- OwnableUpgradeable._owner (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#548) (state variable)
InterchainAccountRouter.initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5463) shadows:
- OwnableUpgradeable._owner (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#548) (state variable)
InterchainQueryRouter.initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5661) shadows:
- OwnableUpgradeable._owner (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#548) (state variable)
CircleBridgeAdapter.initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5998) shadows:
- OwnableUpgradeable._owner (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#548) (state variable)
PortalAdapter.initialize(uint32,address,address,address)._owner (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6321) shadows:
- OwnableUpgradeable._owner (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#548) (state variable)
LiquidityLayerRouter.initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6531) shadows:
- OwnableUpgradeable._owner (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#548) (state variable)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#local-variable-shadowing
INFO:Detectors:
CircleBridgeAdapter.initialize(address,address,address,address)._liquidityLayerRouter (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6001) lacks a zero-check on :
- liquidityLayerRouter = _liquidityLayerRouter (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6010)
PortalAdapter.initialize(uint32,address,address,address)._liquidityLayerRouter (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6323) lacks a zero-check on :
- liquidityLayerRouter = _liquidityLayerRouter (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6330)
InterchainGasPaymaster.payForGas(bytes32,uint32,uint256,address)._refundAddress (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2681) lacks a zero-check on :
- (_success) = _refundAddress.call{value: _overpayment}() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2693)
TestQuerySender.handleQueryAddressResult(address)._result (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8077) lacks a zero-check on :
- lastAddressResult = _result (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8079)
TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._token (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8244) lacks a zero-check on :
- lastToken = _token (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8250)
ValidatorAnnounce.constructor(address)._mailbox (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#9016) lacks a zero-check on :
- mailbox = _mailbox (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#9017)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation
INFO:Detectors:
Modifier TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8746-8752) does not always execute _; or revertReference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-modifier
INFO:Detectors:
Reentrancy in PortalAdapter.completeTransfer(bytes) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6415-6440):
External calls:
- _tokenBridgeTransferWithPayload = portalTokenBridge.completeTransferWithPayload(encodedVm) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6416-6417)
State variables written after the call(s):
- portalTransfersProcessed[transferId(_originDomain,_nonce)] = tokenAddress (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6437-6439)
Reentrancy in MockMailbox.dispatch(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7296-7315):
External calls:
- _destinationMailbox.addInboundMessage(localDomain,msg.sender,_recipientAddress.bytes32ToAddress(),_messageBody) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7307-7312)
State variables written after the call(s):
- outboundNonce ++ (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7313)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-2
INFO:Detectors:
Reentrancy in InterchainQueryRouter._handle(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5694-5722):
External calls:
- CallLib.multicallto(senderAddress,rawCalls) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5716)
Event emitted after the call(s):
- QueryResolved(_origin,senderAddress) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5718)
Reentrancy in InterchainGasPaymaster.payForGas(bytes32,uint32,uint256,address) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2677-2698):
External calls:
- (_success) = _refundAddress.call{value: _overpayment}() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2693)
Event emitted after the call(s):
- GasPayment(_messageId,_gasAmount,_requiredPayment) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2697)
Reentrancy in Mailbox.process(bytes,bytes) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5013-5040):
External calls:
- require(bool,string)(_ism.verify(_metadata,_message),!module) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5031)
- IMessageRecipient(recipient).handle(origin,sender,_message.body()) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5037)
Event emitted after the call(s):
- Process(origin,sender,recipient) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5038)
- ProcessId(_id) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5039)
Reentrancy in CircleBridgeAdapter.sendTokens(uint32,bytes32,address,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6013-6050):
External calls:
- require(bool,string)(IERC20(_token).approve(address(tokenMessenger),_amount),!approval) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6036-6039)
- _nonce = tokenMessenger.depositForBurn(_amount,_circleDomain,_remoteRouter,_token) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6041-6046)
Event emitted after the call(s):
- BridgedToken(_nonce) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6048)
Reentrancy in PortalAdapter.sendTokens(uint32,bytes32,address,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6339-6373):
External calls:
- require(bool,string)(IERC20(_token).approve(address(portalTokenBridge),_amount),!approval) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6354-6357)
- _portalSequence = portalTokenBridge.transferTokensWithPayload(_token,_amount,_wormholeDomain,_remoteRouter,0,abi.encode(localDomain,nonce)) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6359-6369)
Event emitted after the call(s):
- BridgedToken(nonce,_portalSequence,_destinationDomain) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6371)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3
INFO:Detectors:
AddressUpgradeable._revert(bytes,string) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#307-319) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#312-315)
Address._revert(bytes,string) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#855-867) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#860-863)
EnumerableSet.values(EnumerableSet.Bytes32Set) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1271-1281) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1276-1278)
EnumerableSet.values(EnumerableSet.AddressSet) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1345-1355) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1350-1352)
EnumerableSet.values(EnumerableSet.UintSet) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1419-1429) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1424-1426)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2994-3074) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3005-3009)
- INLINE ASM (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3025-3032)
- INLINE ASM (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3039-3048)
Strings.toString(uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3303-3323) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3309-3311)
- INLINE ASM (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3315-3317)
ECDSA.tryRecover(bytes32,bytes) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3411-3428) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3419-3423)
TypeCasts.coerceString(bytes32) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3598-3615) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3609-3614)
Create2.deploy(uint256,bytes32,bytes) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5347-5359) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5355-5357)
Create2.computeAddress(bytes32,bytes32,address) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5373-5399) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5379-5398)
BadRecipient1.handle(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7558-7566) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7563-7565)
BadRecipient3.handle(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7575-7584) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7580-7583)
Proxy._delegate(address) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8284-8307) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8285-8306)
StorageSlot.getAddressSlot(bytes32) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8445-8450) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8447-8449)
StorageSlot.getBooleanSlot(bytes32) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8455-8460) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8457-8459)
StorageSlot.getBytes32Slot(bytes32) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8465-8470) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8467-8469)
StorageSlot.getUint256Slot(bytes32) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8475-8480) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8477-8479)
Create2Factory._deploy(bytes,bytes32) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#9176-9195) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#9183-9190)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
Mailbox.process(bytes,bytes) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5013-5040) compares to a boolean constant:
-require(bool,string)(delivered[_id] == false,delivered) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5024)
ValidatorAnnounce.announce(address,string,bytes) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#9030-9056) compares to a boolean constant:
-require(bool,string)(replayProtection[_replayId] == false,replay) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#9040)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#boolean-equality
INFO:Detectors:
Address.functionCall(address,bytes,string) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#719-725) is never used and should be removed
Address.sendValue(address,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#684-689) is never used and should be removed
Address.verifyCallResult(bool,bytes,string) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#843-853) is never used and should be removed
AddressUpgradeable._revert(bytes,string) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#307-319) is never used and should be removed
AddressUpgradeable.functionCall(address,bytes) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#186-188) is never used and should be removed
AddressUpgradeable.functionCall(address,bytes,string) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#196-202) is never used and should be removed
AddressUpgradeable.functionCallWithValue(address,bytes,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#215-221) is never used and should be removed
AddressUpgradeable.functionCallWithValue(address,bytes,uint256,string) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#229-238) is never used and should be removed
AddressUpgradeable.functionStaticCall(address,bytes) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#246-248) is never used and should be removed
AddressUpgradeable.functionStaticCall(address,bytes,string) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#256-263) is never used and should be removed
AddressUpgradeable.sendValue(address,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#161-166) is never used and should be removed
AddressUpgradeable.verifyCallResult(bool,bytes,string) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#295-305) is never used and should be removed
AddressUpgradeable.verifyCallResultFromTarget(address,bool,bytes,string) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#271-287) is never used and should be removed
CallLib.build(address,uint256,bytes) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4690-4696) is never used and should be removed
CallLib.build(bytes32,bytes,bytes) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4698-4704) is never used and should be removed
CallLib.build(bytes32,uint256,bytes) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4682-4688) is never used and should be removed
Context._msgData() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2406-2408) is never used and should be removed
ContextUpgradeable.__Context_init() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#506-507) is never used and should be removed
ContextUpgradeable.__Context_init_unchained() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#509-510) is never used and should be removed
ContextUpgradeable._msgData() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#515-517) is never used and should be removed
ECDSA.recover(bytes32,bytes32,bytes32) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3472-3480) is never used and should be removed
ECDSA.recover(bytes32,uint8,bytes32,bytes32) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3520-3529) is never used and should be removed
ECDSA.toEthSignedMessageHash(bytes) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3553-3555) is never used and should be removed
ECDSA.toTypedDataHash(bytes32,bytes32) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3566-3568) is never used and should be removed
ECDSA.tryRecover(bytes32,bytes32,bytes32) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3457-3465) is never used and should be removed
ERC1967Upgrade._getBeacon() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8634-8636) is never used and should be removed
ERC1967Upgrade._setBeacon(address) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8641-8648) is never used and should be removed
ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8656-8666) is never used and should be removed
ERC1967Upgrade._upgradeToAndCallUUPS(address,bytes,bool) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8563-8581) is never used and should be removed
ERC20Upgradeable.__ERC20_init(string,string) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6813-6815) is never used and should be removed
ERC20Upgradeable.__ERC20_init_unchained(string,string) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6817-6820) is never used and should be removed
EnumerableMap.at(EnumerableMap.AddressToUintMap,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1831-1834) is never used and should be removed
EnumerableMap.at(EnumerableMap.Bytes32ToBytes32Map,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1547-1550) is never used and should be removed
EnumerableMap.at(EnumerableMap.Bytes32ToUintMap,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1923-1926) is never used and should be removed
EnumerableMap.at(EnumerableMap.UintToAddressMap,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1739-1742) is never used and should be removed
EnumerableMap.at(EnumerableMap.UintToUintMap,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1647-1650) is never used and should be removed
EnumerableMap.contains(EnumerableMap.AddressToUintMap,address) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1811-1813) is never used and should be removed
EnumerableMap.contains(EnumerableMap.Bytes32ToUintMap,bytes32) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1903-1905) is never used and should be removed
EnumerableMap.contains(EnumerableMap.UintToAddressMap,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1719-1721) is never used and should be removed
EnumerableMap.contains(EnumerableMap.UintToUintMap,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1627-1629) is never used and should be removed
EnumerableMap.get(EnumerableMap.AddressToUintMap,address) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1852-1854) is never used and should be removed
EnumerableMap.get(EnumerableMap.AddressToUintMap,address,string) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1862-1868) is never used and should be removed
EnumerableMap.get(EnumerableMap.Bytes32ToBytes32Map,bytes32,string) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1584-1592) is never used and should be removed
EnumerableMap.get(EnumerableMap.Bytes32ToUintMap,bytes32) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1944-1946) is never used and should be removed
EnumerableMap.get(EnumerableMap.Bytes32ToUintMap,bytes32,string) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1954-1960) is never used and should be removed
EnumerableMap.get(EnumerableMap.UintToAddressMap,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1760-1762) is never used and should be removed
EnumerableMap.get(EnumerableMap.UintToAddressMap,uint256,string) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1770-1776) is never used and should be removed
EnumerableMap.get(EnumerableMap.UintToUintMap,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1668-1670) is never used and should be removed
EnumerableMap.get(EnumerableMap.UintToUintMap,uint256,string) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1678-1684) is never used and should be removed
EnumerableMap.length(EnumerableMap.AddressToUintMap) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1818-1820) is never used and should be removed
EnumerableMap.length(EnumerableMap.Bytes32ToBytes32Map) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1533-1535) is never used and should be removed
EnumerableMap.length(EnumerableMap.Bytes32ToUintMap) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1910-1912) is never used and should be removed
EnumerableMap.length(EnumerableMap.UintToAddressMap) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1726-1728) is never used and should be removed
EnumerableMap.length(EnumerableMap.UintToUintMap) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1634-1636) is never used and should be removed
EnumerableMap.remove(EnumerableMap.AddressToUintMap,address) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1804-1806) is never used and should be removed
EnumerableMap.remove(EnumerableMap.Bytes32ToBytes32Map,bytes32) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1518-1521) is never used and should be removed
EnumerableMap.remove(EnumerableMap.Bytes32ToUintMap,bytes32) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1896-1898) is never used and should be removed
EnumerableMap.remove(EnumerableMap.UintToAddressMap,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1712-1714) is never used and should be removed
EnumerableMap.remove(EnumerableMap.UintToUintMap,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1620-1622) is never used and should be removed
EnumerableMap.set(EnumerableMap.AddressToUintMap,address,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1791-1797) is never used and should be removed
EnumerableMap.set(EnumerableMap.Bytes32ToUintMap,bytes32,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1883-1889) is never used and should be removed
EnumerableMap.set(EnumerableMap.UintToAddressMap,uint256,address) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1699-1705) is never used and should be removed
EnumerableMap.set(EnumerableMap.UintToUintMap,uint256,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1607-1613) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.AddressToUintMap,address) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1840-1843) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.Bytes32ToBytes32Map,bytes32) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1556-1563) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.Bytes32ToUintMap,bytes32) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1932-1935) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.UintToAddressMap,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1748-1751) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.UintToUintMap,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1656-1659) is never used and should be removed
EnumerableMapExtended.at(EnumerableMapExtended.UintToBytes32Map,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2027-2034) is never used and should be removed
EnumerableMapExtended.length(EnumerableMapExtended.UintToBytes32Map) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2019-2025) is never used and should be removed
EnumerableMapExtended.remove(EnumerableMapExtended.UintToBytes32Map,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2004-2009) is never used and should be removed
EnumerableSet.add(EnumerableSet.UintSet,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1369-1371) is never used and should be removed
EnumerableSet.at(EnumerableSet.Bytes32Set,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1259-1261) is never used and should be removed
EnumerableSet.at(EnumerableSet.UintSet,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1407-1409) is never used and should be removed
EnumerableSet.contains(EnumerableSet.UintSet,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1386-1388) is never used and should be removed
EnumerableSet.length(EnumerableSet.Bytes32Set) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1245-1247) is never used and should be removed
EnumerableSet.length(EnumerableSet.UintSet) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1393-1395) is never used and should be removed
EnumerableSet.remove(EnumerableSet.Bytes32Set,bytes32) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1231-1233) is never used and should be removed
EnumerableSet.remove(EnumerableSet.UintSet,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1379-1381) is never used and should be removed
EnumerableSet.values(EnumerableSet.Bytes32Set) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1271-1281) is never used and should be removed
EnumerableSet.values(EnumerableSet.UintSet) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#1419-1429) is never used and should be removed
HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#949-959) is never used and should be removed
Initializable._disableInitializers() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#465-471) is never used and should be removed
Initializable._getInitializedVersion() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#476-478) is never used and should be removed
Initializable._isInitializing() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#483-485) is never used and should be removed
InterchainCallMessage.format(CallLib.StaticCall[],bytes32) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5240-5246) is never used and should be removed
InterchainCallMessage.staticCalls(bytes) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5248-5258) is never used and should be removed
Math.average(uint256,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2973-2976) is never used and should be removed
Math.ceilDiv(uint256,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2984-2987) is never used and should be removed
Math.log10(uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3197-3229) is never used and should be removed
Math.log10(uint256,Math.Rounding) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3235-3240) is never used and should be removed
Math.log2(uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3144-3180) is never used and should be removed
Math.log2(uint256,Math.Rounding) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3186-3191) is never used and should be removed
Math.log256(uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3248-3272) is never used and should be removed
Math.log256(uint256,Math.Rounding) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3278-3283) is never used and should be removed
Math.max(uint256,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2958-2960) is never used and should be removed
Math.min(uint256,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2965-2967) is never used and should be removed
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2994-3074) is never used and should be removed
Math.mulDiv(uint256,uint256,uint256,Math.Rounding) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3079-3090) is never used and should be removed
Math.sqrt(uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3097-3128) is never used and should be removed
Math.sqrt(uint256,Math.Rounding) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3133-3138) is never used and should be removed
Message.senderAddress(bytes) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3731-3737) is never used and should be removed
Router.__Router_initialize(address) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2082-2084) is never used and should be removed
Router.__Router_initialize(address,address) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2086-2094) is never used and should be removed
Router.__Router_initialize(address,address,address) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2096-2106) is never used and should be removed
StorageSlot.getBooleanSlot(bytes32) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8455-8460) is never used and should be removed
StorageSlot.getBytes32Slot(bytes32) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8465-8470) is never used and should be removed
StorageSlot.getUint256Slot(bytes32) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8475-8480) is never used and should be removed
Strings.toHexString(address) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3352-3354) is never used and should be removed
Strings.toHexString(uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3328-3332) is never used and should be removed
Strings.toHexString(uint256,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3337-3347) is never used and should be removed
Strings.toString(uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3303-3323) is never used and should be removed
TransparentUpgradeableProxy._admin() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8814-8816) is never used and should be removed
TypeCasts.coerceString(bytes32) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3598-3615) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Low level call in AddressUpgradeable.sendValue(address,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#161-166):
- (success) = recipient.call{value: amount}() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#164)
Low level call in AddressUpgradeable.functionCallWithValue(address,bytes,uint256,string) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#229-238):
- (success,returndata) = target.call{value: value}(data) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#236)
Low level call in AddressUpgradeable.functionStaticCall(address,bytes,string) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#256-263):
- (success,returndata) = target.staticcall(data) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#261)
Low level call in Address.sendValue(address,uint256) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#684-689):
- (success) = recipient.call{value: amount}() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#687)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#752-761):
- (success,returndata) = target.call{value: value}(data) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#759)
Low level call in Address.functionStaticCall(address,bytes,string) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#779-786):
- (success,returndata) = target.staticcall(data) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#784)
Low level call in Address.functionDelegateCall(address,bytes,string) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#804-811):
- (success,returndata) = target.delegatecall(data) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#809)
Low level call in InterchainGasPaymaster.payForGas(bytes32,uint32,uint256,address) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2677-2698):
- (_success) = _refundAddress.call{value: _overpayment}() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2693)
Low level call in InterchainGasPaymaster.claim() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2704-2708):
- (success) = beneficiary.call{value: address(this).balance}() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2706)
Low level call in ProxyAdmin.getProxyImplementation(TransparentUpgradeableProxy) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8847-8853):
- (success,returndata) = address(proxy).staticcall(0x5c60da1b) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8850)
Low level call in ProxyAdmin.getProxyAdmin(TransparentUpgradeableProxy) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8862-8868):
- (success,returndata) = address(proxy).staticcall(0xf851a440) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8865)
Low level call in Create2Factory.deployAndInit(bytes,bytes32,bytes) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#9135-9148):
- (success) = deployedAddress_.call(init) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#9146)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
INFO:Detectors:
TransparentUpgradeableProxy (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8730-8825) should inherit from IBeacon (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8360-8367)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-inheritance
INFO:Detectors:
Function ContextUpgradeable.__Context_init() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#506-507) is not in mixedCase
Function ContextUpgradeable.__Context_init_unchained() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#509-510) is not in mixedCase
Variable ContextUpgradeable.__gap (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#524) is not in mixedCase
Function OwnableUpgradeable.__Ownable_init() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#555-557) is not in mixedCase
Function OwnableUpgradeable.__Ownable_init_unchained() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#559-561) is not in mixedCase
Variable OwnableUpgradeable.__gap (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#620) is not in mixedCase
Function HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#933-939) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address)._mailbox (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#933) is not in mixedCase
Function HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#941-947) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address)._mailbox (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#942) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#943) is not in mixedCase
Function HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#949-959) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address)._mailbox (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#950) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#951) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address)._interchainSecurityModule (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#952) is not in mixedCase
Function HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address,address) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#961-971) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address,address)._mailbox (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#962) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#963) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address,address)._interchainSecurityModule (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#964) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#965) is not in mixedCase
Parameter HyperlaneConnectionClient.setMailbox(address)._mailbox (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#979) is not in mixedCase
Parameter HyperlaneConnectionClient.setInterchainGasPaymaster(address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#987) is not in mixedCase
Parameter HyperlaneConnectionClient.setInterchainSecurityModule(address)._module (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#995) is not in mixedCase
Variable HyperlaneConnectionClient.__GAP (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#896) is not in mixedCase
Function Router.__Router_initialize(address) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2082-2084) is not in mixedCase
Parameter Router.__Router_initialize(address)._mailbox (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2082) is not in mixedCase
Function Router.__Router_initialize(address,address) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2086-2094) is not in mixedCase
Parameter Router.__Router_initialize(address,address)._mailbox (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2087) is not in mixedCase
Parameter Router.__Router_initialize(address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2088) is not in mixedCase
Function Router.__Router_initialize(address,address,address) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2096-2106) is not in mixedCase
Parameter Router.__Router_initialize(address,address,address)._mailbox (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2097) is not in mixedCase
Parameter Router.__Router_initialize(address,address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2098) is not in mixedCase
Parameter Router.__Router_initialize(address,address,address)._interchainSecurityModule (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2099) is not in mixedCase
Parameter Router.routers(uint32)._domain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2118) is not in mixedCase
Parameter Router.enrollRemoteRouter(uint32,bytes32)._domain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2131) is not in mixedCase
Parameter Router.enrollRemoteRouter(uint32,bytes32)._router (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2131) is not in mixedCase
Parameter Router.enrollRemoteRouters(uint32[],bytes32[])._domains (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2145) is not in mixedCase
Parameter Router.enrollRemoteRouters(uint32[],bytes32[])._addresses (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2146) is not in mixedCase
Parameter Router.handle(uint32,bytes32,bytes)._origin (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2161) is not in mixedCase
Parameter Router.handle(uint32,bytes32,bytes)._sender (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2162) is not in mixedCase
Parameter Router.handle(uint32,bytes32,bytes)._message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2163) is not in mixedCase
Variable Router.__GAP (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2056) is not in mixedCase
Parameter GasRouter.quoteGasPayment(uint32)._destinationDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2302) is not in mixedCase
Parameter StorageGasOracle.getExchangeRateAndGasPrice(uint32)._destinationDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2543) is not in mixedCase
Parameter StorageGasOracle.setRemoteGasDataConfigs(StorageGasOracle.RemoteGasDataConfig[])._configs (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2560) is not in mixedCase
Parameter StorageGasOracle.setRemoteGasData(StorageGasOracle.RemoteGasDataConfig)._config (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2574) is not in mixedCase
Parameter InterchainGasPaymaster.initialize(address)._beneficiary (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2662) is not in mixedCase
Parameter InterchainGasPaymaster.payForGas(bytes32,uint32,uint256,address)._messageId (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2678) is not in mixedCase
Parameter InterchainGasPaymaster.payForGas(bytes32,uint32,uint256,address)._destinationDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2679) is not in mixedCase
Parameter InterchainGasPaymaster.payForGas(bytes32,uint32,uint256,address)._gasAmount (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2680) is not in mixedCase
Parameter InterchainGasPaymaster.payForGas(bytes32,uint32,uint256,address)._refundAddress (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2681) is not in mixedCase
Parameter InterchainGasPaymaster.setGasOracles(InterchainGasPaymaster.GasOracleConfig[])._configs (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2714) is not in mixedCase
Parameter InterchainGasPaymaster.setBeneficiary(address)._beneficiary (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2728) is not in mixedCase
Parameter InterchainGasPaymaster.quoteGasPayment(uint32,uint256)._destinationDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2740) is not in mixedCase
Parameter InterchainGasPaymaster.quoteGasPayment(uint32,uint256)._gasAmount (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2740) is not in mixedCase
Parameter InterchainGasPaymaster.getExchangeRateAndGasPrice(uint32)._destinationDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2769) is not in mixedCase
Parameter OverheadIgp.payForGas(bytes32,uint32,uint256,address)._messageId (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2863) is not in mixedCase
Parameter OverheadIgp.payForGas(bytes32,uint32,uint256,address)._destinationDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2864) is not in mixedCase
Parameter OverheadIgp.payForGas(bytes32,uint32,uint256,address)._gasAmount (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2865) is not in mixedCase
Parameter OverheadIgp.payForGas(bytes32,uint32,uint256,address)._refundAddress (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2866) is not in mixedCase
Parameter OverheadIgp.quoteGasPayment(uint32,uint256)._destinationDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2900) is not in mixedCase
Parameter OverheadIgp.quoteGasPayment(uint32,uint256)._gasAmount (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2900) is not in mixedCase
Parameter OverheadIgp.destinationGasAmount(uint32,uint256)._destinationDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2920) is not in mixedCase
Parameter OverheadIgp.destinationGasAmount(uint32,uint256)._gasAmount (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2920) is not in mixedCase
Parameter TypeCasts.coerceString(bytes32)._buf (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3598) is not in mixedCase
Parameter TypeCasts.addressToBytes32(address)._addr (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3618) is not in mixedCase
Parameter TypeCasts.bytes32ToAddress(bytes32)._buf (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3623) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._version (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3661) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._nonce (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3662) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._originDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3663) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._sender (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3664) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._destinationDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3665) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._recipient (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3666) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._messageBody (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3667) is not in mixedCase
Parameter Message.id(bytes)._message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3686) is not in mixedCase
Parameter Message.version(bytes)._message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3695) is not in mixedCase
Parameter Message.nonce(bytes)._message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3704) is not in mixedCase
Parameter Message.origin(bytes)._message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3713) is not in mixedCase
Parameter Message.sender(bytes)._message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3722) is not in mixedCase
Parameter Message.senderAddress(bytes)._message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3731) is not in mixedCase
Parameter Message.destination(bytes)._message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3744) is not in mixedCase
Parameter Message.recipient(bytes)._message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3757) is not in mixedCase
Parameter Message.recipientAddress(bytes)._message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3770) is not in mixedCase
Parameter Message.body(bytes)._message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3783) is not in mixedCase
Parameter MultisigIsmMetadata.root(bytes)._metadata (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3821) is not in mixedCase
Parameter MultisigIsmMetadata.index(bytes)._metadata (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3830) is not in mixedCase
Parameter MultisigIsmMetadata.originMailbox(bytes)._metadata (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3842) is not in mixedCase
Parameter MultisigIsmMetadata.proof(bytes)._metadata (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3857) is not in mixedCase
Parameter MultisigIsmMetadata.threshold(bytes)._metadata (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3875) is not in mixedCase
Parameter MultisigIsmMetadata.signatureAt(bytes,uint256)._metadata (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3888) is not in mixedCase
Parameter MultisigIsmMetadata.signatureAt(bytes,uint256)._index (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3888) is not in mixedCase
Parameter MultisigIsmMetadata.validatorAt(bytes,uint256)._metadata (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3905) is not in mixedCase
Parameter MultisigIsmMetadata.validatorAt(bytes,uint256)._index (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3905) is not in mixedCase
Parameter MultisigIsmMetadata.validators(bytes)._metadata (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3925) is not in mixedCase
Parameter MultisigIsmMetadata.validatorCount(bytes)._metadata (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3940) is not in mixedCase
Parameter MerkleLib.insert(MerkleLib.Tree,bytes32)._tree (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3995) is not in mixedCase
Parameter MerkleLib.insert(MerkleLib.Tree,bytes32)._node (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3995) is not in mixedCase
Parameter MerkleLib.rootWithCtx(MerkleLib.Tree,bytes32[32])._tree (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4019) is not in mixedCase
Parameter MerkleLib.rootWithCtx(MerkleLib.Tree,bytes32[32])._zeroes (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4019) is not in mixedCase
Parameter MerkleLib.root(MerkleLib.Tree)._tree (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4038) is not in mixedCase
Parameter MerkleLib.branchRoot(bytes32,bytes32[32],uint256)._item (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4092) is not in mixedCase
Parameter MerkleLib.branchRoot(bytes32,bytes32[32],uint256)._branch (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4093) is not in mixedCase
Parameter MerkleLib.branchRoot(bytes32,bytes32[32],uint256)._index (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4094) is not in mixedCase
Parameter MultisigIsm.enrollValidators(uint32[],address[][])._domains (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4274) is not in mixedCase
Parameter MultisigIsm.enrollValidators(uint32[],address[][])._validators (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4275) is not in mixedCase
Parameter MultisigIsm.enrollValidator(uint32,address)._domain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4293) is not in mixedCase
Parameter MultisigIsm.enrollValidator(uint32,address)._validator (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4293) is not in mixedCase
Parameter MultisigIsm.unenrollValidator(uint32,address)._domain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4307) is not in mixedCase
Parameter MultisigIsm.unenrollValidator(uint32,address)._validator (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4307) is not in mixedCase
Parameter MultisigIsm.setThresholds(uint32[],uint8[])._domains (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4327) is not in mixedCase
Parameter MultisigIsm.setThresholds(uint32[],uint8[])._thresholds (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4328) is not in mixedCase
Parameter MultisigIsm.isEnrolled(uint32,address)._domain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4342) is not in mixedCase
Parameter MultisigIsm.isEnrolled(uint32,address)._address (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4342) is not in mixedCase
Parameter MultisigIsm.setThreshold(uint32,uint8)._domain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4358) is not in mixedCase
Parameter MultisigIsm.setThreshold(uint32,uint8)._threshold (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4358) is not in mixedCase
Parameter MultisigIsm.verify(bytes,bytes)._metadata (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4376) is not in mixedCase
Parameter MultisigIsm.verify(bytes,bytes)._message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4376) is not in mixedCase
Parameter MultisigIsm.validators(uint32)._domain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4391) is not in mixedCase
Parameter MultisigIsm.validatorsAndThreshold(bytes)._message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4409) is not in mixedCase
Parameter MultisigIsm.validatorCount(uint32)._domain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4425) is not in mixedCase
Parameter CallLib.target(CallLib.StaticCall)._call (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4595) is not in mixedCase
Parameter CallLib.call(CallLib.Call)._call (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4599) is not in mixedCase
Parameter CallLib.staticcall(CallLib.StaticCall)._call (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4611) is not in mixedCase
Parameter CallLib.staticcall(CallLib.StaticCallWithCallback)._call (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4619) is not in mixedCase
Parameter CallLib.multistaticcall(CallLib.StaticCallWithCallback[])._calls (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4638) is not in mixedCase
Parameter ValidatorAnnouncements.getAnnouncementDigest(address,uint32,string)._mailbox (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4734) is not in mixedCase
Parameter ValidatorAnnouncements.getAnnouncementDigest(address,uint32,string)._localDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4735) is not in mixedCase
Parameter ValidatorAnnouncements.getAnnouncementDigest(address,uint32,string)._storageLocation (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4736) is not in mixedCase
Function PausableReentrancyGuardUpgradeable.__PausableReentrancyGuard_init() (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4781-4783) is not in mixedCase
Variable PausableReentrancyGuardUpgradeable.__gap (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4832) is not in mixedCase
Parameter Mailbox.initialize(address,address)._owner (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4950) is not in mixedCase
Parameter Mailbox.initialize(address,address)._defaultIsm (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4950) is not in mixedCase
Parameter Mailbox.setDefaultIsm(address)._module (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4966) is not in mixedCase
Parameter Mailbox.dispatch(uint32,bytes32,bytes)._destinationDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4978) is not in mixedCase
Parameter Mailbox.dispatch(uint32,bytes32,bytes)._recipientAddress (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4979) is not in mixedCase
Parameter Mailbox.dispatch(uint32,bytes32,bytes)._messageBody (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4980) is not in mixedCase
Parameter Mailbox.process(bytes,bytes)._metadata (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5013) is not in mixedCase
Parameter Mailbox.process(bytes,bytes)._message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5013) is not in mixedCase
Parameter Mailbox.recipientIsm(address)._recipient (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5099) is not in mixedCase
Variable Mailbox.__GAP (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#4884) is not in mixedCase
Parameter InterchainCallMessage.sender(bytes)._message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5207) is not in mixedCase
Parameter InterchainCallMessage.calltype(bytes)._message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5211) is not in mixedCase
Parameter InterchainCallMessage.format(CallLib.Call[],bytes32)._calls (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5220) is not in mixedCase
Parameter InterchainCallMessage.format(CallLib.Call[],bytes32)._sender (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5220) is not in mixedCase
Parameter InterchainCallMessage.calls(bytes)._message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5228) is not in mixedCase
Parameter InterchainCallMessage.format(CallLib.StaticCall[],bytes32)._calls (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5240) is not in mixedCase
Parameter InterchainCallMessage.format(CallLib.StaticCall[],bytes32)._sender (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5240) is not in mixedCase
Parameter InterchainCallMessage.staticCalls(bytes)._message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5248) is not in mixedCase
Parameter InterchainCallMessage.format(CallLib.StaticCallWithCallback[],bytes32)._calls (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5261) is not in mixedCase
Parameter InterchainCallMessage.format(CallLib.StaticCallWithCallback[],bytes32)._sender (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5262) is not in mixedCase
Parameter InterchainCallMessage.callsWithCallbacks(bytes)._message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5267) is not in mixedCase
Parameter InterchainCallMessage.format(bytes[],bytes32)._calls (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5279) is not in mixedCase
Parameter InterchainCallMessage.format(bytes[],bytes32)._sender (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5279) is not in mixedCase
Parameter InterchainCallMessage.rawCalls(bytes)._message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5287) is not in mixedCase
Parameter InterchainAccountRouter.initialize(address,address,address,address)._mailbox (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5460) is not in mixedCase
Parameter InterchainAccountRouter.initialize(address,address,address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5461) is not in mixedCase
Parameter InterchainAccountRouter.initialize(address,address,address,address)._interchainSecurityModule (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5462) is not in mixedCase
Parameter InterchainAccountRouter.initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5463) is not in mixedCase
Parameter InterchainAccountRouter.dispatch(uint32,CallLib.Call[])._destinationDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5479) is not in mixedCase
Parameter InterchainAccountRouter.getInterchainAccount(uint32,bytes32)._origin (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5499) is not in mixedCase
Parameter InterchainAccountRouter.getInterchainAccount(uint32,bytes32)._sender (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5499) is not in mixedCase
Parameter InterchainAccountRouter.getInterchainAccount(uint32,address)._origin (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5507) is not in mixedCase
Parameter InterchainAccountRouter.getInterchainAccount(uint32,address)._sender (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5507) is not in mixedCase
Parameter InterchainAccountRouter.getDeployedInterchainAccount(uint32,bytes32)._origin (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5521) is not in mixedCase
Parameter InterchainAccountRouter.getDeployedInterchainAccount(uint32,bytes32)._sender (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5521) is not in mixedCase
Parameter InterchainAccountRouter.getDeployedInterchainAccount(uint32,address)._origin (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5537) is not in mixedCase
Parameter InterchainAccountRouter.getDeployedInterchainAccount(uint32,address)._sender (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5537) is not in mixedCase
Parameter InterchainQueryRouter.initialize(address,address,address,address)._mailbox (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5658) is not in mixedCase
Parameter InterchainQueryRouter.initialize(address,address,address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5659) is not in mixedCase
Parameter InterchainQueryRouter.initialize(address,address,address,address)._interchainSecurityModule (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5660) is not in mixedCase
Parameter InterchainQueryRouter.initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5661) is not in mixedCase
Parameter InterchainQueryRouter.query(uint32,CallLib.StaticCallWithCallback[])._destinationDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5679) is not in mixedCase
Parameter CircleBridgeAdapter.initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5998) is not in mixedCase
Parameter CircleBridgeAdapter.initialize(address,address,address,address)._tokenMessenger (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5999) is not in mixedCase
Parameter CircleBridgeAdapter.initialize(address,address,address,address)._circleMessageTransmitter (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6000) is not in mixedCase
Parameter CircleBridgeAdapter.initialize(address,address,address,address)._liquidityLayerRouter (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6001) is not in mixedCase
Parameter CircleBridgeAdapter.sendTokens(uint32,bytes32,address,uint256)._destinationDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6014) is not in mixedCase
Parameter CircleBridgeAdapter.sendTokens(uint32,bytes32,address,uint256)._token (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6016) is not in mixedCase
Parameter CircleBridgeAdapter.sendTokens(uint32,bytes32,address,uint256)._amount (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6017) is not in mixedCase
Parameter CircleBridgeAdapter.receiveTokens(uint32,address,uint256,bytes)._originDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6054) is not in mixedCase
Parameter CircleBridgeAdapter.receiveTokens(uint32,address,uint256,bytes)._recipient (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6055) is not in mixedCase
Parameter CircleBridgeAdapter.receiveTokens(uint32,address,uint256,bytes)._amount (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6056) is not in mixedCase
Parameter CircleBridgeAdapter.receiveTokens(uint32,address,uint256,bytes)._adapterData (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6057) is not in mixedCase
Parameter CircleBridgeAdapter.addDomain(uint32,uint32)._hyperlaneDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6101) is not in mixedCase
Parameter CircleBridgeAdapter.addDomain(uint32,uint32)._circleDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6101) is not in mixedCase
Parameter CircleBridgeAdapter.addToken(address,string)._token (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6110) is not in mixedCase
Parameter CircleBridgeAdapter.addToken(address,string)._tokenSymbol (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6110) is not in mixedCase
Parameter CircleBridgeAdapter.removeToken(address,string)._token (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6135) is not in mixedCase
Parameter CircleBridgeAdapter.removeToken(address,string)._tokenSymbol (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6135) is not in mixedCase
Parameter PortalAdapter.initialize(uint32,address,address,address)._localDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6320) is not in mixedCase
Parameter PortalAdapter.initialize(uint32,address,address,address)._owner (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6321) is not in mixedCase
Parameter PortalAdapter.initialize(uint32,address,address,address)._portalTokenBridge (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6322) is not in mixedCase
Parameter PortalAdapter.initialize(uint32,address,address,address)._liquidityLayerRouter (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6323) is not in mixedCase
Parameter PortalAdapter.sendTokens(uint32,bytes32,address,uint256)._destinationDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6340) is not in mixedCase
Parameter PortalAdapter.sendTokens(uint32,bytes32,address,uint256)._token (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6342) is not in mixedCase
Parameter PortalAdapter.sendTokens(uint32,bytes32,address,uint256)._amount (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6343) is not in mixedCase
Parameter PortalAdapter.receiveTokens(uint32,address,uint256,bytes)._originDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6383) is not in mixedCase
Parameter PortalAdapter.receiveTokens(uint32,address,uint256,bytes)._recipient (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6384) is not in mixedCase
Parameter PortalAdapter.receiveTokens(uint32,address,uint256,bytes)._amount (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6385) is not in mixedCase
Parameter PortalAdapter.receiveTokens(uint32,address,uint256,bytes)._adapterData (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6386) is not in mixedCase
Parameter PortalAdapter.addDomain(uint32,uint16)._hyperlaneDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6452) is not in mixedCase
Parameter PortalAdapter.addDomain(uint32,uint16)._wormholeDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6452) is not in mixedCase
Parameter PortalAdapter.transferId(uint32,uint224)._hyperlaneDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6466) is not in mixedCase
Parameter PortalAdapter.transferId(uint32,uint224)._nonce (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6466) is not in mixedCase
Parameter LiquidityLayerRouter.initialize(address,address,address,address)._mailbox (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6528) is not in mixedCase
Parameter LiquidityLayerRouter.initialize(address,address,address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6529) is not in mixedCase
Parameter LiquidityLayerRouter.initialize(address,address,address,address)._interchainSecurityModule (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6530) is not in mixedCase
Parameter LiquidityLayerRouter.initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6531) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,address,uint256,string,bytes)._destinationDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6542) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,address,uint256,string,bytes)._recipientAddress (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6543) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,address,uint256,string,bytes)._token (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6544) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,address,uint256,string,bytes)._amount (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6545) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,address,uint256,string,bytes)._bridge (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6546) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,address,uint256,string,bytes)._messageBody (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6547) is not in mixedCase
Parameter LiquidityLayerRouter.setLiquidityLayerAdapter(string,address)._bridge (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6626) is not in mixedCase
Parameter LiquidityLayerRouter.setLiquidityLayerAdapter(string,address)._adapter (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6626) is not in mixedCase
Function ERC20Upgradeable.__ERC20_init(string,string) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6813-6815) is not in mixedCase
Function ERC20Upgradeable.__ERC20_init_unchained(string,string) (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#6817-6820) is not in mixedCase
Variable ERC20Upgradeable.__gap (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7158) is not in mixedCase
Parameter MockToken.burn(uint256)._amount (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7171) is not in mixedCase
Parameter MockCircleMessageTransmitter.hashSourceAndNonce(uint32,uint64)._source (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7198) is not in mixedCase
Parameter MockCircleMessageTransmitter.hashSourceAndNonce(uint32,uint64)._nonce (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7198) is not in mixedCase
Parameter MockCircleMessageTransmitter.process(bytes32,address,uint256)._nonceId (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7207) is not in mixedCase
Parameter MockCircleMessageTransmitter.process(bytes32,address,uint256)._recipient (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7208) is not in mixedCase
Parameter MockCircleMessageTransmitter.process(bytes32,address,uint256)._amount (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7209) is not in mixedCase
Parameter MockCircleMessageTransmitter.usedNonces(bytes32)._nonceId (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7215) is not in mixedCase
Parameter MockCircleTokenMessenger.depositForBurn(uint256,uint32,bytes32,address)._amount (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7235) is not in mixedCase
Parameter MockCircleTokenMessenger.depositForBurn(uint256,uint32,bytes32,address)._burnToken (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7238) is not in mixedCase
Parameter MockMailbox.addRemoteMailbox(uint32,MockMailbox)._domain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7292) is not in mixedCase
Parameter MockMailbox.addRemoteMailbox(uint32,MockMailbox)._mailbox (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7292) is not in mixedCase
Parameter MockMailbox.dispatch(uint32,bytes32,bytes)._destinationDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7297) is not in mixedCase
Parameter MockMailbox.dispatch(uint32,bytes32,bytes)._recipientAddress (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7298) is not in mixedCase
Parameter MockMailbox.dispatch(uint32,bytes32,bytes)._messageBody (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7299) is not in mixedCase
Parameter MockMailbox.addInboundMessage(uint32,address,address,bytes)._origin (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7318) is not in mixedCase
Parameter MockMailbox.addInboundMessage(uint32,address,address,bytes)._sender (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7319) is not in mixedCase
Parameter MockMailbox.addInboundMessage(uint32,address,address,bytes)._recipient (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7320) is not in mixedCase
Parameter MockMailbox.addInboundMessage(uint32,address,address,bytes)._body (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7321) is not in mixedCase
Variable MockMailbox.VERSION (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7272) is not in mixedCase
Parameter TestIsm.setAccept(bool)._val (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7374) is not in mixedCase
Parameter MockPortalBridge.adapterData(uint32,uint224,address)._originDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7531) is not in mixedCase
Parameter MockPortalBridge.adapterData(uint32,uint224,address)._nonce (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7532) is not in mixedCase
Parameter MockPortalBridge.adapterData(uint32,uint224,address)._token (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7533) is not in mixedCase
Parameter MockPortalBridge.mockPortalVaa(uint32,uint224,uint256)._originDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7544) is not in mixedCase
Parameter MockPortalBridge.mockPortalVaa(uint32,uint224,uint256)._nonce (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7545) is not in mixedCase
Parameter MockPortalBridge.mockPortalVaa(uint32,uint224,uint256)._amount (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7546) is not in mixedCase
Parameter TestRecipient.setInterchainSecurityModule(address)._ism (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7642) is not in mixedCase
Parameter TestRecipient.handle(uint32,bytes32,bytes)._origin (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7647) is not in mixedCase
Parameter TestRecipient.handle(uint32,bytes32,bytes)._sender (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7648) is not in mixedCase
Parameter TestRecipient.handle(uint32,bytes32,bytes)._data (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7649) is not in mixedCase
Parameter TestRouter.initialize(address,address)._mailbox (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7687) is not in mixedCase
Parameter TestRouter.initialize(address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7687) is not in mixedCase
Parameter TestRouter.isRemoteRouter(uint32,bytes32)._domain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7704) is not in mixedCase
Parameter TestRouter.isRemoteRouter(uint32,bytes32)._potentialRemoteRouter (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7704) is not in mixedCase
Parameter TestRouter.mustHaveRemoteRouter(uint32)._domain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7712) is not in mixedCase
Parameter TestRouter.dispatch(uint32,bytes)._destination (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7720) is not in mixedCase
Parameter TestRouter.dispatch(uint32,bytes)._msg (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7720) is not in mixedCase
Parameter TestRouter.dispatchWithGas(uint32,bytes,uint256,uint256,address)._destinationDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7725) is not in mixedCase
Parameter TestRouter.dispatchWithGas(uint32,bytes,uint256,uint256,address)._messageBody (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7726) is not in mixedCase
Parameter TestRouter.dispatchWithGas(uint32,bytes,uint256,uint256,address)._gasAmount (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7727) is not in mixedCase
Parameter TestRouter.dispatchWithGas(uint32,bytes,uint256,uint256,address)._gasPayment (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7728) is not in mixedCase
Parameter TestRouter.dispatchWithGas(uint32,bytes,uint256,uint256,address)._gasPaymentRefundAddress (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7729) is not in mixedCase
Parameter TestGasRouter.dispatchWithGas(uint32,bytes,uint256,address)._destinationDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7749) is not in mixedCase
Parameter TestGasRouter.dispatchWithGas(uint32,bytes,uint256,address)._messageBody (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7750) is not in mixedCase
Parameter TestGasRouter.dispatchWithGas(uint32,bytes,uint256,address)._gasPayment (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7751) is not in mixedCase
Parameter TestGasRouter.dispatchWithGas(uint32,bytes,uint256,address)._gasPaymentRefundAddress (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7752) is not in mixedCase
Parameter TestGasRouter.dispatchWithGas(uint32,bytes)._destinationDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7763) is not in mixedCase
Parameter TestGasRouter.dispatchWithGas(uint32,bytes)._messageBody (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7764) is not in mixedCase
Parameter TestHyperlaneConnectionClient.initialize(address)._mailbox (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7777) is not in mixedCase
Parameter TestLiquidityLayerMessageRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._origin (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7801) is not in mixedCase
Parameter TestLiquidityLayerMessageRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._sender (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7802) is not in mixedCase
Parameter TestLiquidityLayerMessageRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7803) is not in mixedCase
Parameter TestLiquidityLayerMessageRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._token (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7804) is not in mixedCase
Parameter TestLiquidityLayerMessageRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._amount (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7805) is not in mixedCase
Parameter TestMailbox.testHandle(uint32,bytes32,bytes32,bytes)._origin (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7841) is not in mixedCase
Parameter TestMailbox.testHandle(uint32,bytes32,bytes32,bytes)._sender (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7842) is not in mixedCase
Parameter TestMailbox.testHandle(uint32,bytes32,bytes32,bytes)._recipient (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7843) is not in mixedCase
Parameter TestMailbox.testHandle(uint32,bytes32,bytes32,bytes)._body (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7844) is not in mixedCase
Parameter TestMerkle.insert(bytes32)._node (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7867) is not in mixedCase
Parameter TestMerkle.branchRoot(bytes32,bytes32[32],uint256)._leaf (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7872) is not in mixedCase
Parameter TestMerkle.branchRoot(bytes32,bytes32[32],uint256)._proof (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7873) is not in mixedCase
Parameter TestMerkle.branchRoot(bytes32,bytes32[32],uint256)._index (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7874) is not in mixedCase
Parameter TestMessage.version(bytes)._message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7899) is not in mixedCase
Parameter TestMessage.nonce(bytes)._message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7907) is not in mixedCase
Parameter TestMessage.body(bytes)._message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7915) is not in mixedCase
Parameter TestMessage.origin(bytes)._message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7923) is not in mixedCase
Parameter TestMessage.sender(bytes)._message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7931) is not in mixedCase
Parameter TestMessage.destination(bytes)._message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7939) is not in mixedCase
Parameter TestMessage.recipient(bytes)._message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7947) is not in mixedCase
Parameter TestMessage.recipientAddress(bytes)._message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7955) is not in mixedCase
Parameter TestMessage.id(bytes)._message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7963) is not in mixedCase
Parameter TestMultisigIsm.getDomainHash(uint32,bytes32)._origin (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7976) is not in mixedCase
Parameter TestMultisigIsm.getDomainHash(uint32,bytes32)._originMailbox (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7976) is not in mixedCase
Parameter TestMultisigIsm.getCheckpointDigest(bytes,uint32)._metadata (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7984) is not in mixedCase
Parameter TestMultisigIsm.getCheckpointDigest(bytes,uint32)._origin (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7984) is not in mixedCase
Parameter TestQuerySender.initialize(address,address)._queryRouterAddress (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8053) is not in mixedCase
Parameter TestQuerySender.initialize(address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8054) is not in mixedCase
Parameter TestQuerySender.queryAddress(uint32,address,bytes,uint256)._destinationDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8063) is not in mixedCase
Parameter TestQuerySender.queryAddress(uint32,address,bytes,uint256)._target (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8064) is not in mixedCase
Parameter TestQuerySender.queryAddress(uint32,address,bytes,uint256)._targetData (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8065) is not in mixedCase
Parameter TestQuerySender.queryAddress(uint32,address,bytes,uint256)._gasAmount (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8066) is not in mixedCase
Parameter TestQuerySender.handleQueryAddressResult(address)._result (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8077) is not in mixedCase
Parameter TestQuerySender.queryUint256(uint32,address,bytes,uint256)._destinationDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8083) is not in mixedCase
Parameter TestQuerySender.queryUint256(uint32,address,bytes,uint256)._target (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8084) is not in mixedCase
Parameter TestQuerySender.queryUint256(uint32,address,bytes,uint256)._targetData (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8085) is not in mixedCase
Parameter TestQuerySender.queryUint256(uint32,address,bytes,uint256)._gasAmount (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8086) is not in mixedCase
Parameter TestQuerySender.handleQueryUint256Result(uint256)._result (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8097) is not in mixedCase
Parameter TestQuerySender.queryBytes32(uint32,address,bytes,uint256)._destinationDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8103) is not in mixedCase
Parameter TestQuerySender.queryBytes32(uint32,address,bytes,uint256)._target (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8104) is not in mixedCase
Parameter TestQuerySender.queryBytes32(uint32,address,bytes,uint256)._targetData (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8105) is not in mixedCase
Parameter TestQuerySender.queryBytes32(uint32,address,bytes,uint256)._gasAmount (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8106) is not in mixedCase
Parameter TestQuerySender.handleQueryBytes32Result(bytes32)._result (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8117) is not in mixedCase
Parameter TestQuerySender.queryAndPayFor(uint32,address,bytes,bytes4,uint256)._destinationDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8123) is not in mixedCase
Parameter TestQuerySender.queryAndPayFor(uint32,address,bytes,bytes4,uint256)._target (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8124) is not in mixedCase
Parameter TestQuerySender.queryAndPayFor(uint32,address,bytes,bytes4,uint256)._targetData (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8125) is not in mixedCase
Parameter TestQuerySender.queryAndPayFor(uint32,address,bytes,bytes4,uint256)._callbackSelector (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8126) is not in mixedCase
Parameter TestQuerySender.queryAndPayFor(uint32,address,bytes,bytes4,uint256)._gasAmount (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8127) is not in mixedCase
Parameter TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes)._mailbox (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8161) is not in mixedCase
Parameter TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes)._paymaster (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8162) is not in mixedCase
Parameter TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes)._destinationDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8163) is not in mixedCase
Parameter TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes)._messageBody (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8164) is not in mixedCase
Parameter TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._origin (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8241) is not in mixedCase
Parameter TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._sender (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8242) is not in mixedCase
Parameter TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._data (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8243) is not in mixedCase
Parameter TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._token (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8244) is not in mixedCase
Parameter TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._amount (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8245) is not in mixedCase
Parameter ValidatorAnnounce.announce(address,string,bytes)._validator (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#9031) is not in mixedCase
Parameter ValidatorAnnounce.announce(address,string,bytes)._storageLocation (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#9032) is not in mixedCase
Parameter ValidatorAnnounce.announce(address,string,bytes)._signature (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#9033) is not in mixedCase
Parameter ValidatorAnnounce.getAnnouncedStorageLocations(address[])._validators (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#9063) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Detectors:
Variable IValidatorAnnounce.announce(address,string,bytes)._storageLocation (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8957) is too similar to ValidatorAnnounce.storageLocations (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8997)
Variable ValidatorAnnounce.announce(address,string,bytes)._storageLocation (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#9032) is too similar to ValidatorAnnounce.storageLocations (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8997)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#variable-names-too-similar
INFO:Detectors:
Message.VERSION_OFFSET (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3640) is never used in Message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3637-3790)
Message.NONCE_OFFSET (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3641) is never used in Message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3637-3790)
Message.ORIGIN_OFFSET (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3642) is never used in Message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3637-3790)
Message.SENDER_OFFSET (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3643) is never used in Message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3637-3790)
Message.DESTINATION_OFFSET (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3644) is never used in Message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3637-3790)
Message.RECIPIENT_OFFSET (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3645) is never used in Message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3637-3790)
Message.BODY_OFFSET (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3646) is never used in Message (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3637-3790)
MultisigIsmMetadata.MERKLE_ROOT_OFFSET (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3808) is never used in MultisigIsmMetadata (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3807-3963)
MultisigIsmMetadata.MERKLE_INDEX_OFFSET (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3809) is never used in MultisigIsmMetadata (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3807-3963)
MultisigIsmMetadata.ORIGIN_MAILBOX_OFFSET (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3810) is never used in MultisigIsmMetadata (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3807-3963)
MultisigIsmMetadata.MERKLE_PROOF_OFFSET (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3811) is never used in MultisigIsmMetadata (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3807-3963)
MultisigIsmMetadata.THRESHOLD_OFFSET (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3812) is never used in MultisigIsmMetadata (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#3807-3963)
InterchainCallMessage.SENDER_OFFSET (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5196) is never used in InterchainCallMessage (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5195-5295)
InterchainCallMessage.TYPE_OFFSET (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5197) is never used in InterchainCallMessage (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#5195-5295)
InterchainGasPaymaster.TOKEN_EXCHANGE_RATE_SCALE (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#2624) is never used in TestInterchainGasPaymaster (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7350-7363)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-state-variable
INFO:Detectors:
MockCircleMessageTransmitter.token (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7184) should be immutable
MockCircleTokenMessenger.token (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7228) should be immutable
MockHyperlaneEnvironment.destinationDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7397) should be immutable
MockHyperlaneEnvironment.originDomain (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7396) should be immutable
MockPortalBridge.token (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#7471) should be immutable
TestQuery.router (crytic-export/etherscan-contracts/0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5-StorageGasOracle.sol#8001) should be immutable
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-immutable
INFO:Slither:0xc9a103990a8db11b4f627bc5cd1d0c2685484ec5 analyzed (95 contracts with 87 detectors), 554 result(s) found
```
Slither report for Mailbox at `0xcC48E741996B0d77b38d9dC2bf9217e65E368E06`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts' running
Warning: Warning: This declaration shadows an existing declaration.
--> crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol:6254:5:
|
6254 | struct Message {
| ^ (Relevant source part starts here and spans across multiple lines).
Note: The shadowed declaration is here:
--> crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol:2294:1:
|
2294 | library Message {
| ^ (Relevant source part starts here and spans across multiple lines).
INFO:Detectors:
InterchainGasPaymaster.claim() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1087-1091) sends eth to arbitrary user
Dangerous calls:
- (success) = owner().call{value: address(this).balance}() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1089)
Router._dispatchWithGas(uint32,bytes,uint256,uint256,address) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4516-4532) sends eth to arbitrary user
Dangerous calls:
- interchainGasPaymaster.payForGas{value: _gasPayment}(_messageId,_destinationDomain,_gasAmount,_gasPaymentRefundAddress) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4526-4531)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#functions-that-send-ether-to-arbitrary-destinations
INFO:Detectors:
TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6993-7031) uses a weak PRNG: "_blockHashNum % 5 == 0 (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7006)"
TestSendReceiver.handle(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7033-7042) uses a weak PRNG: "isBlockHashEven = uint256(blockHash) % 2 == 0 (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7039)"
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#weak-PRNG
INFO:Detectors:
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1264-1344) has bitwise-xor operator ^ instead of the exponentiation operator **:
- inverse = (3 * denominator) ^ 2 (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1326)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-exponentiation
INFO:Detectors:
TransparentUpgradeableProxy.admin() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7604-7606) calls TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7587-7593) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7139)
TransparentUpgradeableProxy.implementation() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7617-7619) calls TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7587-7593) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7139)
TransparentUpgradeableProxy.changeAdmin(address) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7628-7630) calls TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7587-7593) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7139)
TransparentUpgradeableProxy.upgradeTo(address) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7637-7639) calls TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7587-7593) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7139)
TransparentUpgradeableProxy.upgradeToAndCall(address,bytes) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7648-7650) calls TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7587-7593) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7139)
TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7587-7593) calls Proxy._fallback() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7155-7158) which halt the execution return(uint256,uint256)(0,returndatasize()()) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7139)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-assembly-return
INFO:Detectors:
Router.__GAP (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4347) shadows:
- HyperlaneConnectionClient.__GAP (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#888)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#state-variable-shadowing
INFO:Detectors:
MockCircleBridge.depositForBurn(uint256,uint32,bytes32,address) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6164-6175) ignores return value by token.transferFrom(msg.sender,address(this),_amount) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6173)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unchecked-transfer
INFO:Detectors:
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1264-1344) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1311)
- inverse = (3 * denominator) ^ 2 (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1326)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1264-1344) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1311)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1330)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1264-1344) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1311)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1331)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1264-1344) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1311)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1332)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1264-1344) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1311)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1333)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1264-1344) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1311)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1334)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1264-1344) performs a multiplication on the result of a division:
- denominator = denominator / twos (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1311)
- inverse *= 2 - denominator * inverse (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1335)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1264-1344) performs a multiplication on the result of a division:
- prod0 = prod0 / twos (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1314)
- result = prod0 * inverse (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1341)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#divide-before-multiply
INFO:Detectors:
TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6993-7031) uses a dangerous strict equality:
- _blockHashNum % 5 == 0 (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7006)
TestSendReceiver.handle(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7033-7042) uses a dangerous strict equality:
- isBlockHashEven = uint256(blockHash) % 2 == 0 (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7039)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-strict-equalities
INFO:Detectors:
Reentrancy in MockMailbox.processNextInboundMessage() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6304-6312):
External calls:
- IMessageRecipient(_message.recipient).handle(_message.origin,_message.sender.addressToBytes32(),_message.body) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6306-6310)
State variables written after the call(s):
- inboundProcessedNonce ++ (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6311)
MockMailbox.inboundProcessedNonce (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6250) can be used in cross function reentrancies:
- MockMailbox.inboundProcessedNonce (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6250)
- MockMailbox.processNextInboundMessage() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6304-6312)
Reentrancy in MockInterchainAccountRouter.processNextPendingCall() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6448-6458):
External calls:
- getDeployedInterchainAccount(originDomain,sender).proxyCalls(calls) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6455)
- OwnableMulticall(interchainAccount).initialize() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4773)
State variables written after the call(s):
- callsProcessed += 1 (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6457)
MockInterchainAccountRouter.callsProcessed (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6432) can be used in cross function reentrancies:
- MockInterchainAccountRouter.processNextPendingCall() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6448-6458)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-1
INFO:Detectors:
TestMailbox.proof()._proof (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6590) is a local variable never initialized
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-local-variables
INFO:Detectors:
EnumerableMapExtended.set(EnumerableMapExtended.UintToBytes32Map,uint256,bytes32) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3806-3812) ignores return value by map._inner.set(bytes32(key),value) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3811)
TestQuery.queryRouterOwner(uint32,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6779-6789) ignores return value by router.query(domain,call,callback) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6788)
TestQuerySender.queryAddress(uint32,address,bytes) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6822-6832) ignores return value by queryRouter.query(_destinationDomain,Call({to:_target,data:_targetData}),abi.encodePacked(this.handleQueryAddressResult.selector)) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6827-6831)
TestQuerySender.queryUint256(uint32,address,bytes) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6839-6849) ignores return value by queryRouter.query(_destinationDomain,Call({to:_target,data:_targetData}),abi.encodePacked(this.handleQueryUint256Result.selector)) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6844-6848)
TestQuerySender.queryBytes32(uint32,address,bytes) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6856-6866) ignores return value by queryRouter.query(_destinationDomain,Call({to:_target,data:_targetData}),abi.encodePacked(this.handleQueryBytes32Result.selector)) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6861-6865)
ERC1967Upgrade._upgradeToAndCall(address,bytes,bool) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7386-7395) ignores return value by Address.functionDelegateCall(newImplementation,data) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7393)
ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7495-7505) ignores return value by Address.functionDelegateCall(IBeacon(newBeacon).implementation(),data) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7503)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return
INFO:Detectors:
Mailbox.initialize(address,address)._owner (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4071) shadows:
- OwnableUpgradeable._owner (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#538) (state variable)
CircleBridgeAdapter.initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5259) shadows:
- OwnableUpgradeable._owner (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#538) (state variable)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#local-variable-shadowing
INFO:Detectors:
CircleBridgeAdapter.initialize(address,address,address,address)._liquidityLayerRouter (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5262) lacks a zero-check on :
- liquidityLayerRouter = _liquidityLayerRouter (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5271)
TestQuerySender.handleQueryAddressResult(address)._result (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6834) lacks a zero-check on :
- lastAddressResult = _result (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6836)
TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._token (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7078) lacks a zero-check on :
- lastToken = _token (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7084)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation
INFO:Detectors:
Modifier TransparentUpgradeableProxy.ifAdmin() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7587-7593) does not always execute _; or revertReference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-modifier
INFO:Detectors:
OwnableMulticall.proxyCalls(Call[]) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4287-4298) has external calls inside a loop: (success,returnData) = calls[i].to.call(calls[i].data) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4289-4291)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation/#calls-inside-a-loop
INFO:Detectors:
Reentrancy in MockMailbox.dispatch(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6269-6287):
External calls:
- _destinationMailbox.addInboundMessage(domain,msg.sender,_recipientAddress.bytes32ToAddress(),_messageBody) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6279-6284)
State variables written after the call(s):
- outboundNonce ++ (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6285)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-2
INFO:Detectors:
Reentrancy in InterchainQueryRouter._handle(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4950-4978):
External calls:
- resolveCallbacks = _call(calls,callbacks) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4964)
- (success,returnData) = calls[i].to.call(calls[i].data) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4306-4308)
- _dispatch(_origin,abi.encode(Action.RESOLVE,sender,resolveCallbacks)) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4965-4968)
- mailbox.dispatch(_destinationDomain,_router,_messageBody) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4548)
Event emitted after the call(s):
- QueryReturned(_origin,sender) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4969)
Reentrancy in InterchainQueryRouter._handle(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4950-4978):
External calls:
- proxyCallBatch(sender_scope_0,resolveCallbacks_scope_1) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4975)
- (success,returnData) = to.call(calls[i]) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4317)
Event emitted after the call(s):
- QueryResolved(_origin,sender_scope_0) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4976)
Reentrancy in InterchainAccountRouter.getDeployedInterchainAccount(uint32,address) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4764-4777):
External calls:
- OwnableMulticall(interchainAccount).initialize() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4773)
Event emitted after the call(s):
- InterchainAccountCreated(_origin,_sender,interchainAccount) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4774)
Reentrancy in Mailbox.process(bytes,bytes) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4134-4161):
External calls:
- require(bool,string)(_ism.verify(_metadata,_message),!module) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4152)
- IMessageRecipient(recipient).handle(origin,sender,_message.body()) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4158)
Event emitted after the call(s):
- Process(origin,sender,recipient) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4159)
- ProcessId(_id) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4160)
Reentrancy in InterchainQueryRouter.query(uint32,Call[],bytes[]) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4933-4947):
External calls:
- messageId = _dispatch(_destinationDomain,abi.encode(Action.DISPATCH,msg.sender,calls,callbacks)) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4942-4945)
- mailbox.dispatch(_destinationDomain,_router,_messageBody) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4548)
Event emitted after the call(s):
- QueryDispatched(_destinationDomain,msg.sender) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4946)
Reentrancy in CircleBridgeAdapter.sendTokens(uint32,bytes32,address,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5274-5311):
External calls:
- require(bool,string)(IERC20(_token).approve(address(circleBridge),_amount),!approval) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5297-5300)
- _nonce = circleBridge.depositForBurn(_amount,_circleDomain,_remoteRouter,_token) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5302-5307)
Event emitted after the call(s):
- BridgedToken(_nonce) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5309)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3
INFO:Detectors:
AddressUpgradeable._revert(bytes,string) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#294-306) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#299-302)
Address._revert(bytes,string) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#846-858) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#851-854)
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1264-1344) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1275-1279)
- INLINE ASM (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1295-1302)
- INLINE ASM (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1309-1318)
Strings.toString(uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1574-1594) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1580-1582)
- INLINE ASM (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1586-1588)
ECDSA.tryRecover(bytes32,bytes) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1683-1700) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1691-1695)
EnumerableSet.values(EnumerableSet.Bytes32Set) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2064-2074) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2069-2071)
EnumerableSet.values(EnumerableSet.AddressSet) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2138-2148) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2143-2145)
EnumerableSet.values(EnumerableSet.UintSet) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2212-2222) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2217-2219)
TypeCasts.coerceString(bytes32) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2254-2271) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2265-2270)
OwnableMulticall.proxyCalls(Call[]) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4287-4298) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4293-4295)
OwnableMulticall.proxyCallBatch(address,bytes[]) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4315-4324) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4319-4321)
Create2.deploy(uint256,bytes32,bytes) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4627-4639) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4635-4637)
Create2.computeAddress(bytes32,bytes32,address) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4653-4679) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4659-4678)
BadRecipient1.handle(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6468-6476) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6473-6475)
BadRecipient3.handle(uint32,bytes32,bytes) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6486-6495) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6491-6494)
Proxy._delegate(address) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7119-7142) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7120-7141)
StorageSlot.getAddressSlot(bytes32) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7283-7288) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7285-7287)
StorageSlot.getBooleanSlot(bytes32) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7293-7298) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7295-7297)
StorageSlot.getBytes32Slot(bytes32) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7303-7308) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7305-7307)
StorageSlot.getUint256Slot(bytes32) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7313-7318) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7315-7317)
Create2Factory._deploy(bytes,bytes32) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7863-7882) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7870-7877)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
Mailbox.process(bytes,bytes) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4134-4161) compares to a boolean constant:
-require(bool,string)(delivered[_id] == false,delivered) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4145)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#boolean-equality
INFO:Detectors:
Address.functionCall(address,bytes) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#700-702) is never used and should be removed
Address.functionCall(address,bytes,string) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#710-716) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#729-735) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#743-752) is never used and should be removed
Address.functionStaticCall(address,bytes) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#760-762) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#770-777) is never used and should be removed
Address.sendValue(address,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#675-680) is never used and should be removed
Address.verifyCallResult(bool,bytes,string) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#834-844) is never used and should be removed
AddressUpgradeable._revert(bytes,string) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#294-306) is never used and should be removed
AddressUpgradeable.functionCall(address,bytes) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#173-175) is never used and should be removed
AddressUpgradeable.functionCall(address,bytes,string) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#183-189) is never used and should be removed
AddressUpgradeable.functionCallWithValue(address,bytes,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#202-208) is never used and should be removed
AddressUpgradeable.functionCallWithValue(address,bytes,uint256,string) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#216-225) is never used and should be removed
AddressUpgradeable.functionStaticCall(address,bytes) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#233-235) is never used and should be removed
AddressUpgradeable.functionStaticCall(address,bytes,string) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#243-250) is never used and should be removed
AddressUpgradeable.sendValue(address,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#148-153) is never used and should be removed
AddressUpgradeable.verifyCallResult(bool,bytes,string) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#282-292) is never used and should be removed
AddressUpgradeable.verifyCallResultFromTarget(address,bool,bytes,string) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#258-274) is never used and should be removed
Context._msgData() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1117-1119) is never used and should be removed
ContextUpgradeable.__Context_init() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#495-496) is never used and should be removed
ContextUpgradeable.__Context_init_unchained() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#498-499) is never used and should be removed
ContextUpgradeable._msgData() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#504-506) is never used and should be removed
ECDSA.recover(bytes32,bytes32,bytes32) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1744-1752) is never used and should be removed
ECDSA.recover(bytes32,uint8,bytes32,bytes32) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1792-1801) is never used and should be removed
ECDSA.toEthSignedMessageHash(bytes) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1825-1827) is never used and should be removed
ECDSA.toTypedDataHash(bytes32,bytes32) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1838-1840) is never used and should be removed
ECDSA.tryRecover(bytes32,bytes32,bytes32) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1729-1737) is never used and should be removed
ERC1967Upgrade._getBeacon() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7473-7475) is never used and should be removed
ERC1967Upgrade._setBeacon(address) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7480-7487) is never used and should be removed
ERC1967Upgrade._upgradeBeaconToAndCall(address,bytes,bool) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7495-7505) is never used and should be removed
ERC1967Upgrade._upgradeToAndCallUUPS(address,bytes,bool) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7402-7420) is never used and should be removed
ERC20Upgradeable.__ERC20_init(string,string) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5785-5787) is never used and should be removed
ERC20Upgradeable.__ERC20_init_unchained(string,string) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5789-5792) is never used and should be removed
EnumerableMap.at(EnumerableMap.AddressToUintMap,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3648-3651) is never used and should be removed
EnumerableMap.at(EnumerableMap.Bytes32ToBytes32Map,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3364-3367) is never used and should be removed
EnumerableMap.at(EnumerableMap.Bytes32ToUintMap,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3740-3743) is never used and should be removed
EnumerableMap.at(EnumerableMap.UintToAddressMap,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3556-3559) is never used and should be removed
EnumerableMap.at(EnumerableMap.UintToUintMap,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3464-3467) is never used and should be removed
EnumerableMap.contains(EnumerableMap.AddressToUintMap,address) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3628-3630) is never used and should be removed
EnumerableMap.contains(EnumerableMap.Bytes32ToUintMap,bytes32) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3720-3722) is never used and should be removed
EnumerableMap.contains(EnumerableMap.UintToAddressMap,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3536-3538) is never used and should be removed
EnumerableMap.contains(EnumerableMap.UintToUintMap,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3444-3446) is never used and should be removed
EnumerableMap.get(EnumerableMap.AddressToUintMap,address) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3669-3671) is never used and should be removed
EnumerableMap.get(EnumerableMap.AddressToUintMap,address,string) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3679-3685) is never used and should be removed
EnumerableMap.get(EnumerableMap.Bytes32ToBytes32Map,bytes32,string) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3401-3409) is never used and should be removed
EnumerableMap.get(EnumerableMap.Bytes32ToUintMap,bytes32) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3761-3763) is never used and should be removed
EnumerableMap.get(EnumerableMap.Bytes32ToUintMap,bytes32,string) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3771-3777) is never used and should be removed
EnumerableMap.get(EnumerableMap.UintToAddressMap,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3577-3579) is never used and should be removed
EnumerableMap.get(EnumerableMap.UintToAddressMap,uint256,string) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3587-3593) is never used and should be removed
EnumerableMap.get(EnumerableMap.UintToUintMap,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3485-3487) is never used and should be removed
EnumerableMap.get(EnumerableMap.UintToUintMap,uint256,string) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3495-3501) is never used and should be removed
EnumerableMap.length(EnumerableMap.AddressToUintMap) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3635-3637) is never used and should be removed
EnumerableMap.length(EnumerableMap.Bytes32ToBytes32Map) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3350-3352) is never used and should be removed
EnumerableMap.length(EnumerableMap.Bytes32ToUintMap) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3727-3729) is never used and should be removed
EnumerableMap.length(EnumerableMap.UintToAddressMap) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3543-3545) is never used and should be removed
EnumerableMap.length(EnumerableMap.UintToUintMap) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3451-3453) is never used and should be removed
EnumerableMap.remove(EnumerableMap.AddressToUintMap,address) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3621-3623) is never used and should be removed
EnumerableMap.remove(EnumerableMap.Bytes32ToBytes32Map,bytes32) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3335-3338) is never used and should be removed
EnumerableMap.remove(EnumerableMap.Bytes32ToUintMap,bytes32) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3713-3715) is never used and should be removed
EnumerableMap.remove(EnumerableMap.UintToAddressMap,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3529-3531) is never used and should be removed
EnumerableMap.remove(EnumerableMap.UintToUintMap,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3437-3439) is never used and should be removed
EnumerableMap.set(EnumerableMap.AddressToUintMap,address,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3608-3614) is never used and should be removed
EnumerableMap.set(EnumerableMap.Bytes32ToUintMap,bytes32,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3700-3706) is never used and should be removed
EnumerableMap.set(EnumerableMap.UintToAddressMap,uint256,address) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3516-3522) is never used and should be removed
EnumerableMap.set(EnumerableMap.UintToUintMap,uint256,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3424-3430) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.AddressToUintMap,address) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3657-3660) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.Bytes32ToBytes32Map,bytes32) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3373-3380) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.Bytes32ToUintMap,bytes32) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3749-3752) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.UintToAddressMap,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3565-3568) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.UintToUintMap,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3473-3476) is never used and should be removed
EnumerableMapExtended.at(EnumerableMapExtended.UintToBytes32Map,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3845-3852) is never used and should be removed
EnumerableMapExtended.length(EnumerableMapExtended.UintToBytes32Map) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3837-3843) is never used and should be removed
EnumerableMapExtended.remove(EnumerableMapExtended.UintToBytes32Map,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3822-3827) is never used and should be removed
EnumerableSet._values(EnumerableSet.Set) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1998-2000) is never used and should be removed
EnumerableSet.add(EnumerableSet.UintSet,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2162-2164) is never used and should be removed
EnumerableSet.at(EnumerableSet.Bytes32Set,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2052-2054) is never used and should be removed
EnumerableSet.at(EnumerableSet.UintSet,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2200-2202) is never used and should be removed
EnumerableSet.contains(EnumerableSet.UintSet,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2179-2181) is never used and should be removed
EnumerableSet.length(EnumerableSet.Bytes32Set) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2038-2040) is never used and should be removed
EnumerableSet.length(EnumerableSet.UintSet) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2186-2188) is never used and should be removed
EnumerableSet.remove(EnumerableSet.Bytes32Set,bytes32) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2024-2026) is never used and should be removed
EnumerableSet.remove(EnumerableSet.UintSet,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2172-2174) is never used and should be removed
EnumerableSet.values(EnumerableSet.AddressSet) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2138-2148) is never used and should be removed
EnumerableSet.values(EnumerableSet.Bytes32Set) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2064-2074) is never used and should be removed
EnumerableSet.values(EnumerableSet.UintSet) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2212-2222) is never used and should be removed
Initializable._disableInitializers() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#453-459) is never used and should be removed
Initializable._getInitializedVersion() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#464-466) is never used and should be removed
Initializable._isInitializing() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#471-473) is never used and should be removed
Math.average(uint256,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1243-1246) is never used and should be removed
Math.ceilDiv(uint256,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1254-1257) is never used and should be removed
Math.log10(uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1467-1499) is never used and should be removed
Math.log10(uint256,Math.Rounding) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1505-1510) is never used and should be removed
Math.log2(uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1414-1450) is never used and should be removed
Math.log2(uint256,Math.Rounding) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1456-1461) is never used and should be removed
Math.log256(uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1518-1542) is never used and should be removed
Math.log256(uint256,Math.Rounding) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1548-1553) is never used and should be removed
Math.max(uint256,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1228-1230) is never used and should be removed
Math.min(uint256,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1235-1237) is never used and should be removed
Math.mulDiv(uint256,uint256,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1264-1344) is never used and should be removed
Math.mulDiv(uint256,uint256,uint256,Math.Rounding) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1349-1360) is never used and should be removed
Math.sqrt(uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1367-1398) is never used and should be removed
Math.sqrt(uint256,Math.Rounding) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1403-1408) is never used and should be removed
Message.senderAddress(bytes) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2388-2394) is never used and should be removed
MultisigIsmMetadata.commitment(bytes) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2598-2604) is never used and should be removed
StorageSlot.getBooleanSlot(bytes32) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7293-7298) is never used and should be removed
StorageSlot.getBytes32Slot(bytes32) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7303-7308) is never used and should be removed
StorageSlot.getUint256Slot(bytes32) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7313-7318) is never used and should be removed
Strings.toHexString(address) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1623-1625) is never used and should be removed
Strings.toHexString(uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1599-1603) is never used and should be removed
Strings.toHexString(uint256,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1608-1618) is never used and should be removed
Strings.toString(uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1574-1594) is never used and should be removed
TransparentUpgradeableProxy._admin() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7655-7657) is never used and should be removed
TypeCasts.coerceString(bytes32) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2254-2271) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Low level call in AddressUpgradeable.sendValue(address,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#148-153):
- (success) = recipient.call{value: amount}() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#151)
Low level call in AddressUpgradeable.functionCallWithValue(address,bytes,uint256,string) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#216-225):
- (success,returndata) = target.call{value: value}(data) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#223)
Low level call in AddressUpgradeable.functionStaticCall(address,bytes,string) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#243-250):
- (success,returndata) = target.staticcall(data) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#248)
Low level call in Address.sendValue(address,uint256) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#675-680):
- (success) = recipient.call{value: amount}() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#678)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#743-752):
- (success,returndata) = target.call{value: value}(data) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#750)
Low level call in Address.functionStaticCall(address,bytes,string) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#770-777):
- (success,returndata) = target.staticcall(data) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#775)
Low level call in Address.functionDelegateCall(address,bytes,string) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#795-802):
- (success,returndata) = target.delegatecall(data) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#800)
Low level call in InterchainGasPaymaster.claim() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1087-1091):
- (success) = owner().call{value: address(this).balance}() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1089)
Low level call in OwnableMulticall.proxyCalls(Call[]) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4287-4298):
- (success,returnData) = calls[i].to.call(calls[i].data) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4289-4291)
Low level call in OwnableMulticall._call(Call[],bytes[]) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4300-4312):
- (success,returnData) = calls[i].to.call(calls[i].data) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4306-4308)
Low level call in OwnableMulticall.proxyCallBatch(address,bytes[]) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4315-4324):
- (success,returnData) = to.call(calls[i]) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4317)
Low level call in ProxyAdmin.getProxyImplementation(TransparentUpgradeableProxy) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7689-7695):
- (success,returndata) = address(proxy).staticcall(0x5c60da1b) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7692)
Low level call in ProxyAdmin.getProxyAdmin(TransparentUpgradeableProxy) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7704-7710):
- (success,returndata) = address(proxy).staticcall(0xf851a440) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7707)
Low level call in Create2Factory.deployAndInit(bytes,bytes32,bytes) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7822-7835):
- (success) = deployedAddress_.call(init) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7833)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
INFO:Detectors:
TransparentUpgradeableProxy (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7571-7666) should inherit from IBeacon (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7196-7203)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-inheritance
INFO:Detectors:
Function ContextUpgradeable.__Context_init() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#495-496) is not in mixedCase
Function ContextUpgradeable.__Context_init_unchained() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#498-499) is not in mixedCase
Variable ContextUpgradeable.__gap (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#513) is not in mixedCase
Function OwnableUpgradeable.__Ownable_init() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#545-547) is not in mixedCase
Function OwnableUpgradeable.__Ownable_init_unchained() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#549-551) is not in mixedCase
Variable OwnableUpgradeable.__gap (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#610) is not in mixedCase
Function HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#925-931) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address)._mailbox (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#925) is not in mixedCase
Function HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#933-939) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address)._mailbox (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#934) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#935) is not in mixedCase
Function HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#941-951) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address)._mailbox (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#942) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#943) is not in mixedCase
Parameter HyperlaneConnectionClient.__HyperlaneConnectionClient_initialize(address,address,address)._interchainSecurityModule (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#944) is not in mixedCase
Parameter HyperlaneConnectionClient.setMailbox(address)._mailbox (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#959) is not in mixedCase
Parameter HyperlaneConnectionClient.setInterchainGasPaymaster(address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#967) is not in mixedCase
Parameter HyperlaneConnectionClient.setInterchainSecurityModule(address)._module (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#975) is not in mixedCase
Variable HyperlaneConnectionClient.__GAP (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#888) is not in mixedCase
Parameter InterchainGasPaymaster.payForGas(bytes32,uint32,uint256,address)._messageId (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1069) is not in mixedCase
Parameter InterchainGasPaymaster.payForGas(bytes32,uint32,uint256,address)._gasAmount (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1071) is not in mixedCase
Parameter TypeCasts.coerceString(bytes32)._buf (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2254) is not in mixedCase
Parameter TypeCasts.addressToBytes32(address)._addr (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2274) is not in mixedCase
Parameter TypeCasts.bytes32ToAddress(bytes32)._buf (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2279) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._version (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2318) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._nonce (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2319) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._originDomain (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2320) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._sender (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2321) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._destinationDomain (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2322) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._recipient (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2323) is not in mixedCase
Parameter Message.formatMessage(uint8,uint32,uint32,bytes32,uint32,bytes32,bytes)._messageBody (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2324) is not in mixedCase
Parameter Message.id(bytes)._message (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2343) is not in mixedCase
Parameter Message.version(bytes)._message (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2352) is not in mixedCase
Parameter Message.nonce(bytes)._message (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2361) is not in mixedCase
Parameter Message.origin(bytes)._message (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2370) is not in mixedCase
Parameter Message.sender(bytes)._message (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2379) is not in mixedCase
Parameter Message.senderAddress(bytes)._message (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2388) is not in mixedCase
Parameter Message.destination(bytes)._message (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2401) is not in mixedCase
Parameter Message.recipient(bytes)._message (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2414) is not in mixedCase
Parameter Message.recipientAddress(bytes)._message (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2427) is not in mixedCase
Parameter Message.body(bytes)._message (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2440) is not in mixedCase
Parameter MultisigIsmMetadata.root(bytes)._metadata (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2479) is not in mixedCase
Parameter MultisigIsmMetadata.index(bytes)._metadata (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2488) is not in mixedCase
Parameter MultisigIsmMetadata.originMailbox(bytes)._metadata (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2500) is not in mixedCase
Parameter MultisigIsmMetadata.proof(bytes)._metadata (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2515) is not in mixedCase
Parameter MultisigIsmMetadata.threshold(bytes)._metadata (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2533) is not in mixedCase
Parameter MultisigIsmMetadata.signatureAt(bytes,uint256)._metadata (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2546) is not in mixedCase
Parameter MultisigIsmMetadata.signatureAt(bytes,uint256)._index (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2546) is not in mixedCase
Parameter MultisigIsmMetadata.validatorAt(bytes,uint256)._metadata (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2563) is not in mixedCase
Parameter MultisigIsmMetadata.validatorAt(bytes,uint256)._index (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2563) is not in mixedCase
Parameter MultisigIsmMetadata.validators(bytes)._metadata (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2583) is not in mixedCase
Parameter MultisigIsmMetadata.commitment(bytes)._metadata (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2598) is not in mixedCase
Parameter MultisigIsmMetadata.validatorCount(bytes)._metadata (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2613) is not in mixedCase
Parameter MerkleLib.insert(MerkleLib.Tree,bytes32)._tree (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2669) is not in mixedCase
Parameter MerkleLib.insert(MerkleLib.Tree,bytes32)._node (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2669) is not in mixedCase
Parameter MerkleLib.rootWithCtx(MerkleLib.Tree,bytes32[32])._tree (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2693) is not in mixedCase
Parameter MerkleLib.rootWithCtx(MerkleLib.Tree,bytes32[32])._zeroes (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2693) is not in mixedCase
Parameter MerkleLib.root(MerkleLib.Tree)._tree (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2712) is not in mixedCase
Parameter MerkleLib.branchRoot(bytes32,bytes32[32],uint256)._item (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2766) is not in mixedCase
Parameter MerkleLib.branchRoot(bytes32,bytes32[32],uint256)._branch (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2767) is not in mixedCase
Parameter MerkleLib.branchRoot(bytes32,bytes32[32],uint256)._index (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2768) is not in mixedCase
Parameter MultisigIsm.enrollValidators(uint32[],address[][])._domains (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2949) is not in mixedCase
Parameter MultisigIsm.enrollValidators(uint32[],address[][])._validators (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2950) is not in mixedCase
Parameter MultisigIsm.enrollValidator(uint32,address)._domain (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2968) is not in mixedCase
Parameter MultisigIsm.enrollValidator(uint32,address)._validator (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2968) is not in mixedCase
Parameter MultisigIsm.unenrollValidator(uint32,address)._domain (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2982) is not in mixedCase
Parameter MultisigIsm.unenrollValidator(uint32,address)._validator (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2982) is not in mixedCase
Parameter MultisigIsm.setThresholds(uint32[],uint8[])._domains (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3002) is not in mixedCase
Parameter MultisigIsm.setThresholds(uint32[],uint8[])._thresholds (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3003) is not in mixedCase
Parameter MultisigIsm.isEnrolled(uint32,address)._domain (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3017) is not in mixedCase
Parameter MultisigIsm.isEnrolled(uint32,address)._address (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3017) is not in mixedCase
Parameter MultisigIsm.setThreshold(uint32,uint8)._domain (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3033) is not in mixedCase
Parameter MultisigIsm.setThreshold(uint32,uint8)._threshold (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3033) is not in mixedCase
Parameter MultisigIsm.verify(bytes,bytes)._metadata (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3051) is not in mixedCase
Parameter MultisigIsm.verify(bytes,bytes)._message (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3051) is not in mixedCase
Parameter MultisigIsm.validators(uint32)._domain (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3066) is not in mixedCase
Parameter MultisigIsm.validatorsAndThreshold(bytes)._message (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3084) is not in mixedCase
Parameter MultisigIsm.validatorCount(uint32)._domain (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3100) is not in mixedCase
Function PausableReentrancyGuardUpgradeable.__PausableReentrancyGuard_init() (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3900-3902) is not in mixedCase
Variable PausableReentrancyGuardUpgradeable.__gap (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#3951) is not in mixedCase
Parameter Mailbox.initialize(address,address)._owner (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4071) is not in mixedCase
Parameter Mailbox.initialize(address,address)._defaultIsm (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4071) is not in mixedCase
Parameter Mailbox.setDefaultIsm(address)._module (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4087) is not in mixedCase
Parameter Mailbox.dispatch(uint32,bytes32,bytes)._destinationDomain (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4099) is not in mixedCase
Parameter Mailbox.dispatch(uint32,bytes32,bytes)._recipientAddress (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4100) is not in mixedCase
Parameter Mailbox.dispatch(uint32,bytes32,bytes)._messageBody (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4101) is not in mixedCase
Parameter Mailbox.process(bytes,bytes)._metadata (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4134) is not in mixedCase
Parameter Mailbox.process(bytes,bytes)._message (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4134) is not in mixedCase
Parameter Mailbox.recipientIsm(address)._recipient (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4220) is not in mixedCase
Variable Mailbox.__GAP (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4004) is not in mixedCase
Function Router.__Router_initialize(address) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4373-4375) is not in mixedCase
Parameter Router.__Router_initialize(address)._mailbox (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4373) is not in mixedCase
Function Router.__Router_initialize(address,address) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4377-4385) is not in mixedCase
Parameter Router.__Router_initialize(address,address)._mailbox (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4378) is not in mixedCase
Parameter Router.__Router_initialize(address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4379) is not in mixedCase
Function Router.__Router_initialize(address,address,address) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4387-4397) is not in mixedCase
Parameter Router.__Router_initialize(address,address,address)._mailbox (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4388) is not in mixedCase
Parameter Router.__Router_initialize(address,address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4389) is not in mixedCase
Parameter Router.__Router_initialize(address,address,address)._interchainSecurityModule (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4390) is not in mixedCase
Parameter Router.routers(uint32)._domain (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4409) is not in mixedCase
Parameter Router.enrollRemoteRouter(uint32,bytes32)._domain (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4422) is not in mixedCase
Parameter Router.enrollRemoteRouter(uint32,bytes32)._router (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4422) is not in mixedCase
Parameter Router.enrollRemoteRouters(uint32[],bytes32[])._domains (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4436) is not in mixedCase
Parameter Router.enrollRemoteRouters(uint32[],bytes32[])._addresses (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4437) is not in mixedCase
Parameter Router.handle(uint32,bytes32,bytes)._origin (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4452) is not in mixedCase
Parameter Router.handle(uint32,bytes32,bytes)._sender (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4453) is not in mixedCase
Parameter Router.handle(uint32,bytes32,bytes)._message (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4454) is not in mixedCase
Variable Router.__GAP (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4347) is not in mixedCase
Parameter InterchainAccountRouter.initialize(address,address,address)._mailbox (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4719) is not in mixedCase
Parameter InterchainAccountRouter.initialize(address,address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4720) is not in mixedCase
Parameter InterchainAccountRouter.initialize(address,address,address)._interchainSecurityModule (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4721) is not in mixedCase
Parameter InterchainAccountRouter.initialize(address,address)._mailbox (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4731) is not in mixedCase
Parameter InterchainAccountRouter.initialize(address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4731) is not in mixedCase
Parameter InterchainAccountRouter.dispatch(uint32,Call[])._destinationDomain (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4739) is not in mixedCase
Parameter InterchainAccountRouter.dispatch(uint32,address,bytes)._destinationDomain (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4747) is not in mixedCase
Parameter InterchainAccountRouter.getInterchainAccount(uint32,address)._origin (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4756) is not in mixedCase
Parameter InterchainAccountRouter.getInterchainAccount(uint32,address)._sender (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4756) is not in mixedCase
Parameter InterchainAccountRouter.getDeployedInterchainAccount(uint32,address)._origin (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4764) is not in mixedCase
Parameter InterchainAccountRouter.getDeployedInterchainAccount(uint32,address)._sender (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4764) is not in mixedCase
Parameter InterchainQueryRouter.initialize(address,address,address)._mailbox (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4870) is not in mixedCase
Parameter InterchainQueryRouter.initialize(address,address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4871) is not in mixedCase
Parameter InterchainQueryRouter.initialize(address,address,address)._interchainSecurityModule (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4872) is not in mixedCase
Parameter InterchainQueryRouter.initialize(address,address)._mailbox (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4882) is not in mixedCase
Parameter InterchainQueryRouter.initialize(address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4882) is not in mixedCase
Parameter InterchainQueryRouter.query(uint32,address,bytes,bytes)._destinationDomain (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4897) is not in mixedCase
Parameter InterchainQueryRouter.query(uint32,Call,bytes)._destinationDomain (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4916) is not in mixedCase
Parameter InterchainQueryRouter.query(uint32,Call[],bytes[])._destinationDomain (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#4934) is not in mixedCase
Parameter CircleBridgeAdapter.initialize(address,address,address,address)._owner (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5259) is not in mixedCase
Parameter CircleBridgeAdapter.initialize(address,address,address,address)._circleBridge (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5260) is not in mixedCase
Parameter CircleBridgeAdapter.initialize(address,address,address,address)._circleMessageTransmitter (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5261) is not in mixedCase
Parameter CircleBridgeAdapter.initialize(address,address,address,address)._liquidityLayerRouter (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5262) is not in mixedCase
Parameter CircleBridgeAdapter.sendTokens(uint32,bytes32,address,uint256)._destinationDomain (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5275) is not in mixedCase
Parameter CircleBridgeAdapter.sendTokens(uint32,bytes32,address,uint256)._token (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5277) is not in mixedCase
Parameter CircleBridgeAdapter.sendTokens(uint32,bytes32,address,uint256)._amount (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5278) is not in mixedCase
Parameter CircleBridgeAdapter.receiveTokens(uint32,address,uint256,bytes)._originDomain (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5315) is not in mixedCase
Parameter CircleBridgeAdapter.receiveTokens(uint32,address,uint256,bytes)._recipient (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5316) is not in mixedCase
Parameter CircleBridgeAdapter.receiveTokens(uint32,address,uint256,bytes)._amount (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5317) is not in mixedCase
Parameter CircleBridgeAdapter.receiveTokens(uint32,address,uint256,bytes)._adapterData (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5318) is not in mixedCase
Parameter CircleBridgeAdapter.addDomain(uint32,uint32)._hyperlaneDomain (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5362) is not in mixedCase
Parameter CircleBridgeAdapter.addDomain(uint32,uint32)._circleDomain (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5362) is not in mixedCase
Parameter CircleBridgeAdapter.addToken(address,string)._token (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5371) is not in mixedCase
Parameter CircleBridgeAdapter.addToken(address,string)._tokenSymbol (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5371) is not in mixedCase
Parameter CircleBridgeAdapter.removeToken(address,string)._token (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5396) is not in mixedCase
Parameter CircleBridgeAdapter.removeToken(address,string)._tokenSymbol (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5396) is not in mixedCase
Parameter LiquidityLayerRouter.initialize(address,address,address)._mailbox (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5485) is not in mixedCase
Parameter LiquidityLayerRouter.initialize(address,address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5486) is not in mixedCase
Parameter LiquidityLayerRouter.initialize(address,address,address)._interchainSecurityModule (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5487) is not in mixedCase
Parameter LiquidityLayerRouter.initialize(address,address)._mailbox (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5497) is not in mixedCase
Parameter LiquidityLayerRouter.initialize(address,address)._interchainGasPaymaster (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5497) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,bytes,address,uint256,string)._destinationDomain (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5506) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,bytes,address,uint256,string)._recipientAddress (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5507) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,bytes,address,uint256,string)._messageBody (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5508) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,bytes,address,uint256,string)._token (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5509) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,bytes,address,uint256,string)._amount (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5510) is not in mixedCase
Parameter LiquidityLayerRouter.dispatchWithTokens(uint32,bytes32,bytes,address,uint256,string)._bridge (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5511) is not in mixedCase
Parameter LiquidityLayerRouter.setLiquidityLayerAdapter(string,address)._bridge (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5595) is not in mixedCase
Parameter LiquidityLayerRouter.setLiquidityLayerAdapter(string,address)._adapter (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5595) is not in mixedCase
Function ERC20Upgradeable.__ERC20_init(string,string) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5785-5787) is not in mixedCase
Function ERC20Upgradeable.__ERC20_init_unchained(string,string) (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#5789-5792) is not in mixedCase
Variable ERC20Upgradeable.__gap (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6130) is not in mixedCase
Parameter MockToken.burn(uint256)._amount (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6144) is not in mixedCase
Parameter MockCircleBridge.depositForBurn(uint256,uint32,bytes32,address)._amount (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6165) is not in mixedCase
Parameter MockCircleBridge.depositForBurn(uint256,uint32,bytes32,address)._burnToken (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6168) is not in mixedCase
Parameter MockCircleMessageTransmitter.hashSourceAndNonce(uint32,uint256)._source (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6212) is not in mixedCase
Parameter MockCircleMessageTransmitter.hashSourceAndNonce(uint32,uint256)._nonce (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6212) is not in mixedCase
Parameter MockCircleMessageTransmitter.process(bytes32,address,uint256)._nonceId (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6221) is not in mixedCase
Parameter MockCircleMessageTransmitter.process(bytes32,address,uint256)._recipient (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6222) is not in mixedCase
Parameter MockCircleMessageTransmitter.process(bytes32,address,uint256)._amount (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6223) is not in mixedCase
Parameter MockCircleMessageTransmitter.usedNonces(bytes32)._nonceId (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6229) is not in mixedCase
Parameter MockMailbox.addRemoteMailbox(uint32,MockMailbox)._domain (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6265) is not in mixedCase
Parameter MockMailbox.addRemoteMailbox(uint32,MockMailbox)._mailbox (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6265) is not in mixedCase
Parameter MockMailbox.dispatch(uint32,bytes32,bytes)._destinationDomain (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6270) is not in mixedCase
Parameter MockMailbox.dispatch(uint32,bytes32,bytes)._recipientAddress (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6271) is not in mixedCase
Parameter MockMailbox.dispatch(uint32,bytes32,bytes)._messageBody (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6272) is not in mixedCase
Parameter MockMailbox.addInboundMessage(uint32,address,address,bytes)._origin (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6290) is not in mixedCase
Parameter MockMailbox.addInboundMessage(uint32,address,address,bytes)._sender (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6291) is not in mixedCase
Parameter MockMailbox.addInboundMessage(uint32,address,address,bytes)._recipient (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6292) is not in mixedCase
Parameter MockMailbox.addInboundMessage(uint32,address,address,bytes)._body (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6293) is not in mixedCase
Parameter TestIsm.setAccept(bool)._val (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6325) is not in mixedCase
Parameter TestHyperlaneConnectionClient.initialize(address)._mailbox (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6538) is not in mixedCase
Parameter TestLiquidityLayerMessageRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._origin (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6563) is not in mixedCase
Parameter TestLiquidityLayerMessageRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._sender (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6564) is not in mixedCase
Parameter TestLiquidityLayerMessageRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._message (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6565) is not in mixedCase
Parameter TestLiquidityLayerMessageRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._token (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6566) is not in mixedCase
Parameter TestLiquidityLayerMessageRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._amount (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6567) is not in mixedCase
Parameter TestMailbox.testHandle(uint32,bytes32,bytes32,bytes)._origin (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6604) is not in mixedCase
Parameter TestMailbox.testHandle(uint32,bytes32,bytes32,bytes)._sender (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6605) is not in mixedCase
Parameter TestMailbox.testHandle(uint32,bytes32,bytes32,bytes)._recipient (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6606) is not in mixedCase
Parameter TestMailbox.testHandle(uint32,bytes32,bytes32,bytes)._body (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6607) is not in mixedCase
Parameter TestMerkle.insert(bytes32)._node (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6631) is not in mixedCase
Parameter TestMerkle.branchRoot(bytes32,bytes32[32],uint256)._leaf (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6636) is not in mixedCase
Parameter TestMerkle.branchRoot(bytes32,bytes32[32],uint256)._proof (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6637) is not in mixedCase
Parameter TestMerkle.branchRoot(bytes32,bytes32[32],uint256)._index (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6638) is not in mixedCase
Parameter TestMessage.version(bytes)._message (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6664) is not in mixedCase
Parameter TestMessage.nonce(bytes)._message (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6672) is not in mixedCase
Parameter TestMessage.body(bytes)._message (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6680) is not in mixedCase
Parameter TestMessage.origin(bytes)._message (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6688) is not in mixedCase
Parameter TestMessage.sender(bytes)._message (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6696) is not in mixedCase
Parameter TestMessage.destination(bytes)._message (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6704) is not in mixedCase
Parameter TestMessage.recipient(bytes)._message (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6712) is not in mixedCase
Parameter TestMessage.recipientAddress(bytes)._message (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6720) is not in mixedCase
Parameter TestMessage.id(bytes)._message (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6728) is not in mixedCase
Parameter TestMultisigIsm.getDomainHash(uint32,bytes32)._origin (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6742) is not in mixedCase
Parameter TestMultisigIsm.getDomainHash(uint32,bytes32)._originMailbox (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6742) is not in mixedCase
Parameter TestMultisigIsm.getCheckpointDigest(bytes,uint32)._metadata (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6750) is not in mixedCase
Parameter TestMultisigIsm.getCheckpointDigest(bytes,uint32)._origin (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6750) is not in mixedCase
Parameter TestQuerySender.initialize(address)._queryRouterAddress (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6818) is not in mixedCase
Parameter TestQuerySender.queryAddress(uint32,address,bytes)._destinationDomain (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6823) is not in mixedCase
Parameter TestQuerySender.queryAddress(uint32,address,bytes)._target (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6824) is not in mixedCase
Parameter TestQuerySender.queryAddress(uint32,address,bytes)._targetData (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6825) is not in mixedCase
Parameter TestQuerySender.handleQueryAddressResult(address)._result (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6834) is not in mixedCase
Parameter TestQuerySender.queryUint256(uint32,address,bytes)._destinationDomain (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6840) is not in mixedCase
Parameter TestQuerySender.queryUint256(uint32,address,bytes)._target (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6841) is not in mixedCase
Parameter TestQuerySender.queryUint256(uint32,address,bytes)._targetData (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6842) is not in mixedCase
Parameter TestQuerySender.handleQueryUint256Result(uint256)._result (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6851) is not in mixedCase
Parameter TestQuerySender.queryBytes32(uint32,address,bytes)._destinationDomain (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6857) is not in mixedCase
Parameter TestQuerySender.queryBytes32(uint32,address,bytes)._target (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6858) is not in mixedCase
Parameter TestQuerySender.queryBytes32(uint32,address,bytes)._targetData (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6859) is not in mixedCase
Parameter TestQuerySender.handleQueryBytes32Result(bytes32)._result (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6868) is not in mixedCase
Parameter TestRecipient.setInterchainSecurityModule(address)._ism (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6900) is not in mixedCase
Parameter TestRecipient.handle(uint32,bytes32,bytes)._origin (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6905) is not in mixedCase
Parameter TestRecipient.handle(uint32,bytes32,bytes)._sender (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6906) is not in mixedCase
Parameter TestRecipient.handle(uint32,bytes32,bytes)._data (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6907) is not in mixedCase
Parameter TestRouter.initialize(address)._mailbox (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6930) is not in mixedCase
Parameter TestRouter.isRemoteRouter(uint32,bytes32)._domain (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6941) is not in mixedCase
Parameter TestRouter.isRemoteRouter(uint32,bytes32)._potentialRemoteRouter (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6941) is not in mixedCase
Parameter TestRouter.mustHaveRemoteRouter(uint32)._domain (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6949) is not in mixedCase
Parameter TestRouter.dispatch(uint32,bytes)._destination (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6957) is not in mixedCase
Parameter TestRouter.dispatch(uint32,bytes)._msg (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6957) is not in mixedCase
Parameter TestRouter.dispatchWithGas(uint32,bytes,uint256,uint256,address)._destinationDomain (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6962) is not in mixedCase
Parameter TestRouter.dispatchWithGas(uint32,bytes,uint256,uint256,address)._messageBody (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6963) is not in mixedCase
Parameter TestRouter.dispatchWithGas(uint32,bytes,uint256,uint256,address)._gasAmount (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6964) is not in mixedCase
Parameter TestRouter.dispatchWithGas(uint32,bytes,uint256,uint256,address)._gasPayment (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6965) is not in mixedCase
Parameter TestRouter.dispatchWithGas(uint32,bytes,uint256,uint256,address)._gasPaymentRefundAddress (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6966) is not in mixedCase
Parameter TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes)._mailbox (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6994) is not in mixedCase
Parameter TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes)._paymaster (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6995) is not in mixedCase
Parameter TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes)._destinationDomain (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6996) is not in mixedCase
Parameter TestSendReceiver.dispatchToSelf(IMailbox,IInterchainGasPaymaster,uint32,bytes)._messageBody (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6997) is not in mixedCase
Parameter TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._origin (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7075) is not in mixedCase
Parameter TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._sender (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7076) is not in mixedCase
Parameter TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._data (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7077) is not in mixedCase
Parameter TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._token (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7078) is not in mixedCase
Parameter TestTokenRecipient.handleWithTokens(uint32,bytes32,bytes,address,uint256)._amount (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#7079) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Detectors:
Redundant expression "_destinationDomain (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1077)" inInterchainGasPaymaster (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1032-1092)
Redundant expression "_refundAddress (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1078)" inInterchainGasPaymaster (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#1032-1092)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#redundant-statements
INFO:Detectors:
Message.VERSION_OFFSET (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2297) is never used in Message (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2294-2447)
Message.NONCE_OFFSET (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2298) is never used in Message (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2294-2447)
Message.ORIGIN_OFFSET (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2299) is never used in Message (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2294-2447)
Message.SENDER_OFFSET (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2300) is never used in Message (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2294-2447)
Message.DESTINATION_OFFSET (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2301) is never used in Message (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2294-2447)
Message.RECIPIENT_OFFSET (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2302) is never used in Message (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2294-2447)
Message.BODY_OFFSET (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2303) is never used in Message (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2294-2447)
MultisigIsmMetadata.MERKLE_ROOT_OFFSET (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2466) is never used in MultisigIsmMetadata (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2465-2636)
MultisigIsmMetadata.MERKLE_INDEX_OFFSET (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2467) is never used in MultisigIsmMetadata (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2465-2636)
MultisigIsmMetadata.ORIGIN_MAILBOX_OFFSET (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2468) is never used in MultisigIsmMetadata (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2465-2636)
MultisigIsmMetadata.MERKLE_PROOF_OFFSET (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2469) is never used in MultisigIsmMetadata (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2465-2636)
MultisigIsmMetadata.THRESHOLD_OFFSET (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2470) is never used in MultisigIsmMetadata (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#2465-2636)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-state-variable
INFO:Detectors:
MockCircleBridge.token (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6158) should be immutable
MockCircleMessageTransmitter.token (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6198) should be immutable
MockHyperlaneEnvironment.destinationDomain (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6349) should be immutable
MockHyperlaneEnvironment.originDomain (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6348) should be immutable
MockInterchainAccountRouter.originDomain (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6428) should be immutable
TestQuery.router (crytic-export/etherscan-contracts/0xcc48e741996b0d77b38d9dc2bf9217e65e368e06-Mailbox.sol#6768) should be immutable
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-immutable
INFO:Slither:0xcc48e741996b0d77b38d9dc2bf9217e65e368e06 analyzed (81 contracts with 87 detectors), 460 result(s) found
```
Slither report for VerifierNetwork at `0xD56e4eAb23cb81f43168F9F45211Eb027b9aC7cc`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0xd56e4eab23cb81f43168f9f45211eb027b9ac7cc-VerifierNetwork' running
INFO:Detectors:
Math.mulDiv(uint256,uint256,uint256) (@openzeppelin/contracts/utils/math/Math.sol#55-134) has bitwise-xor operator ^ instead of the exponentiation operator **:
- inverse = (3 * denominator) ^ 2 (@openzeppelin/contracts/utils/math/Math.sol#116)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-exponentiation
INFO:Detectors:
Math.mulDiv(uint256,uint256,uint256) (@openzeppelin/contracts/utils/math/Math.sol#55-134) performs a multiplication on the result of a division:
- denominator = denominator / twos (@openzeppelin/contracts/utils/math/Math.sol#101)
- inverse = (3 * denominator) ^ 2 (@openzeppelin/contracts/utils/math/Math.sol#116)
Math.mulDiv(uint256,uint256,uint256) (@openzeppelin/contracts/utils/math/Math.sol#55-134) performs a multiplication on the result of a division:
- denominator = denominator / twos (@openzeppelin/contracts/utils/math/Math.sol#101)
- inverse *= 2 - denominator * inverse (@openzeppelin/contracts/utils/math/Math.sol#120)
Math.mulDiv(uint256,uint256,uint256) (@openzeppelin/contracts/utils/math/Math.sol#55-134) performs a multiplication on the result of a division:
- denominator = denominator / twos (@openzeppelin/contracts/utils/math/Math.sol#101)
- inverse *= 2 - denominator * inverse (@openzeppelin/contracts/utils/math/Math.sol#121)
Math.mulDiv(uint256,uint256,uint256) (@openzeppelin/contracts/utils/math/Math.sol#55-134) performs a multiplication on the result of a division:
- denominator = denominator / twos (@openzeppelin/contracts/utils/math/Math.sol#101)
- inverse *= 2 - denominator * inverse (@openzeppelin/contracts/utils/math/Math.sol#122)
Math.mulDiv(uint256,uint256,uint256) (@openzeppelin/contracts/utils/math/Math.sol#55-134) performs a multiplication on the result of a division:
- denominator = denominator / twos (@openzeppelin/contracts/utils/math/Math.sol#101)
- inverse *= 2 - denominator * inverse (@openzeppelin/contracts/utils/math/Math.sol#123)
Math.mulDiv(uint256,uint256,uint256) (@openzeppelin/contracts/utils/math/Math.sol#55-134) performs a multiplication on the result of a division:
- denominator = denominator / twos (@openzeppelin/contracts/utils/math/Math.sol#101)
- inverse *= 2 - denominator * inverse (@openzeppelin/contracts/utils/math/Math.sol#124)
Math.mulDiv(uint256,uint256,uint256) (@openzeppelin/contracts/utils/math/Math.sol#55-134) performs a multiplication on the result of a division:
- denominator = denominator / twos (@openzeppelin/contracts/utils/math/Math.sol#101)
- inverse *= 2 - denominator * inverse (@openzeppelin/contracts/utils/math/Math.sol#125)
Math.mulDiv(uint256,uint256,uint256) (@openzeppelin/contracts/utils/math/Math.sol#55-134) performs a multiplication on the result of a division:
- prod0 = prod0 / twos (@openzeppelin/contracts/utils/math/Math.sol#104)
- result = prod0 * inverse (@openzeppelin/contracts/utils/math/Math.sol#131)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#divide-before-multiply
INFO:Detectors:
Reentrancy in VerifierNetwork.execute(ExecuteParam[]) (contracts/uln/VerifierNetwork.sol#169-213):
External calls:
- (success,rtnData) = param.target.call(param.callData) (contracts/uln/VerifierNetwork.sol#203)
State variables written after the call(s):
- usedHashes[hash] = true (contracts/uln/VerifierNetwork.sol#199)
VerifierNetwork.usedHashes (contracts/uln/VerifierNetwork.sol#28) can be used in cross function reentrancies:
- VerifierNetwork.execute(ExecuteParam[]) (contracts/uln/VerifierNetwork.sol#169-213)
- VerifierNetwork.quorumChangeAdmin(ExecuteParam) (contracts/uln/VerifierNetwork.sol#140-153)
- VerifierNetwork.usedHashes (contracts/uln/VerifierNetwork.sol#28)
- usedHashes[hash] = false (contracts/uln/VerifierNetwork.sol#207)
VerifierNetwork.usedHashes (contracts/uln/VerifierNetwork.sol#28) can be used in cross function reentrancies:
- VerifierNetwork.execute(ExecuteParam[]) (contracts/uln/VerifierNetwork.sol#169-213)
- VerifierNetwork.quorumChangeAdmin(ExecuteParam) (contracts/uln/VerifierNetwork.sol#140-153)
- VerifierNetwork.usedHashes (contracts/uln/VerifierNetwork.sol#28)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-1
INFO:Detectors:
Worker.setPaused(bool)._paused (contracts/Worker.sol#78) shadows:
- Pausable._paused (@openzeppelin/contracts/security/Pausable.sol#28) (state variable)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#local-variable-shadowing
INFO:Detectors:
Worker.setPriceFeed(address)._priceFeed (contracts/Worker.sol#89) lacks a zero-check on :
- priceFeed = _priceFeed (contracts/Worker.sol#90)
Worker.setWorkerFeeLib(address)._workerFeeLib (contracts/Worker.sol#95) lacks a zero-check on :
- workerFeeLib = _workerFeeLib (contracts/Worker.sol#96)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation
INFO:Detectors:
VerifierNetwork.execute(ExecuteParam[]) (contracts/uln/VerifierNetwork.sol#169-213) has external calls inside a loop: (success,rtnData) = param.target.call(param.callData) (contracts/uln/VerifierNetwork.sol#203)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation/#calls-inside-a-loop
INFO:Detectors:
Reentrancy in MessageLibBase._sendToExecutor(address,uint32,address,uint256,bytes) (contracts/MessageLibBase.sol#54-66):
External calls:
- executorFee = ILayerZeroExecutor(_executor).assignJob(_dstEid,_sender,_msgSize,_executorOptions) (contracts/MessageLibBase.sol#61)
State variables written after the call(s):
- fees[_executor] += executorFee (contracts/MessageLibBase.sol#63)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-2
INFO:Detectors:
Reentrancy in MessageLibBase._sendToExecutor(address,uint32,address,uint256,bytes) (contracts/MessageLibBase.sol#54-66):
External calls:
- executorFee = ILayerZeroExecutor(_executor).assignJob(_dstEid,_sender,_msgSize,_executorOptions) (contracts/MessageLibBase.sol#61)
Event emitted after the call(s):
- ExecutorFeePaid(_executor,executorFee) (contracts/MessageLibBase.sol#65)
Reentrancy in VerifierNetwork.assignJob(uint16,uint16,uint64,address) (contracts/uln/VerifierNetwork.sol#252-269):
External calls:
- totalFee = IVerifierFeeLib(workerFeeLib).getFeeOnSend(params,dstConfig[_dstEid],bytes()) (contracts/uln/VerifierNetwork.sol#267)
Event emitted after the call(s):
- VerifierFeePaid(totalFee) (contracts/uln/VerifierNetwork.sol#268)
Reentrancy in VerifierNetwork.execute(ExecuteParam[]) (contracts/uln/VerifierNetwork.sol#169-213):
External calls:
- (success,rtnData) = param.target.call(param.callData) (contracts/uln/VerifierNetwork.sol#203)
Event emitted after the call(s):
- ExecuteFailed(i,rtnData) (contracts/uln/VerifierNetwork.sol#210)
- HashAlreadyUsed(param,hash) (contracts/uln/VerifierNetwork.sol#196)
- VerifySignaturesFailed(i) (contracts/uln/VerifierNetwork.sol#188)
Reentrancy in Worker.withdrawFee(address,address,uint256) (contracts/Worker.sol#110-114):
External calls:
- IMessageLib(_lib).withdrawFee(_to,_amount) (contracts/Worker.sol#112)
Event emitted after the call(s):
- Withdraw(_lib,_to,_amount) (contracts/Worker.sol#113)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3
INFO:Detectors:
VerifierNetwork.quorumChangeAdmin(ExecuteParam) (contracts/uln/VerifierNetwork.sol#140-153) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(_param.expiration > block.timestamp,Verifier: expired) (contracts/uln/VerifierNetwork.sol#141)
VerifierNetwork.execute(ExecuteParam[]) (contracts/uln/VerifierNetwork.sol#169-213) uses timestamp for comparisons
Dangerous comparisons:
- param.expiration <= block.timestamp (contracts/uln/VerifierNetwork.sol#178)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#block-timestamp
INFO:Detectors:
Strings.toString(uint256) (@openzeppelin/contracts/utils/Strings.sol#19-39) uses assembly
- INLINE ASM (@openzeppelin/contracts/utils/Strings.sol#25-27)
- INLINE ASM (@openzeppelin/contracts/utils/Strings.sol#31-33)
ECDSA.tryRecover(bytes32,bytes) (@openzeppelin/contracts/utils/cryptography/ECDSA.sol#55-72) uses assembly
- INLINE ASM (@openzeppelin/contracts/utils/cryptography/ECDSA.sol#63-67)
ECDSA.toEthSignedMessageHash(bytes32) (@openzeppelin/contracts/utils/cryptography/ECDSA.sol#165-174) uses assembly
- INLINE ASM (@openzeppelin/contracts/utils/cryptography/ECDSA.sol#169-173)
ECDSA.toTypedDataHash(bytes32,bytes32) (@openzeppelin/contracts/utils/cryptography/ECDSA.sol#197-206) uses assembly
- INLINE ASM (@openzeppelin/contracts/utils/cryptography/ECDSA.sol#199-205)
Math.mulDiv(uint256,uint256,uint256) (@openzeppelin/contracts/utils/math/Math.sol#55-134) uses assembly
- INLINE ASM (@openzeppelin/contracts/utils/math/Math.sol#62-66)
- INLINE ASM (@openzeppelin/contracts/utils/math/Math.sol#85-92)
- INLINE ASM (@openzeppelin/contracts/utils/math/Math.sol#99-108)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
AccessControl._setRoleAdmin(bytes32,bytes32) (@openzeppelin/contracts/access/AccessControl.sol#215-219) is never used and should be removed
AccessControl._setupRole(bytes32,address) (@openzeppelin/contracts/access/AccessControl.sol#206-208) is never used and should be removed
Context._msgData() (@openzeppelin/contracts/utils/Context.sol#21-23) is never used and should be removed
ECDSA._throwError(ECDSA.RecoverError) (@openzeppelin/contracts/utils/cryptography/ECDSA.sol#23-33) is never used and should be removed
ECDSA.recover(bytes32,bytes) (@openzeppelin/contracts/utils/cryptography/ECDSA.sol#88-92) is never used and should be removed
ECDSA.recover(bytes32,bytes32,bytes32) (@openzeppelin/contracts/utils/cryptography/ECDSA.sol#112-116) is never used and should be removed
ECDSA.recover(bytes32,uint8,bytes32,bytes32) (@openzeppelin/contracts/utils/cryptography/ECDSA.sol#151-155) is never used and should be removed
ECDSA.toDataWithIntendedValidatorHash(address,bytes) (@openzeppelin/contracts/utils/cryptography/ECDSA.sol#214-216) is never used and should be removed
ECDSA.toEthSignedMessageHash(bytes) (@openzeppelin/contracts/utils/cryptography/ECDSA.sol#184-186) is never used and should be removed
ECDSA.toEthSignedMessageHash(bytes32) (@openzeppelin/contracts/utils/cryptography/ECDSA.sol#165-174) is never used and should be removed
ECDSA.toTypedDataHash(bytes32,bytes32) (@openzeppelin/contracts/utils/cryptography/ECDSA.sol#197-206) is never used and should be removed
ECDSA.tryRecover(bytes32,bytes32,bytes32) (@openzeppelin/contracts/utils/cryptography/ECDSA.sol#101-105) is never used and should be removed
Math.average(uint256,uint256) (@openzeppelin/contracts/utils/math/Math.sol#34-37) is never used and should be removed
Math.ceilDiv(uint256,uint256) (@openzeppelin/contracts/utils/math/Math.sol#45-48) is never used and should be removed
Math.log10(uint256) (@openzeppelin/contracts/utils/math/Math.sol#252-284) is never used and should be removed
Math.log10(uint256,Math.Rounding) (@openzeppelin/contracts/utils/math/Math.sol#290-295) is never used and should be removed
Math.log2(uint256) (@openzeppelin/contracts/utils/math/Math.sol#199-235) is never used and should be removed
Math.log2(uint256,Math.Rounding) (@openzeppelin/contracts/utils/math/Math.sol#241-246) is never used and should be removed
Math.log256(uint256) (@openzeppelin/contracts/utils/math/Math.sol#303-327) is never used and should be removed
Math.log256(uint256,Math.Rounding) (@openzeppelin/contracts/utils/math/Math.sol#333-338) is never used and should be removed
Math.max(uint256,uint256) (@openzeppelin/contracts/utils/math/Math.sol#19-21) is never used and should be removed
Math.min(uint256,uint256) (@openzeppelin/contracts/utils/math/Math.sol#26-28) is never used and should be removed
Math.mulDiv(uint256,uint256,uint256) (@openzeppelin/contracts/utils/math/Math.sol#55-134) is never used and should be removed
Math.mulDiv(uint256,uint256,uint256,Math.Rounding) (@openzeppelin/contracts/utils/math/Math.sol#139-145) is never used and should be removed
Math.sqrt(uint256) (@openzeppelin/contracts/utils/math/Math.sol#152-183) is never used and should be removed
Math.sqrt(uint256,Math.Rounding) (@openzeppelin/contracts/utils/math/Math.sol#188-193) is never used and should be removed
MessageLibBase._assertAndDebitAmount(address,uint256) (contracts/MessageLibBase.sol#146-152) is never used and should be removed
MessageLibBase._assertMessageSize(uint256,uint256) (contracts/MessageLibBase.sol#50-52) is never used and should be removed
MessageLibBase._quote(address,uint32,uint256,bool,bytes) (contracts/MessageLibBase.sol#82-111) is never used and should be removed
MessageLibBase._quoteTreasuryFee(address,uint32,uint256,bool) (contracts/MessageLibBase.sol#113-138) is never used and should be removed
MessageLibBase._sendToExecutor(address,uint32,address,uint256,bytes) (contracts/MessageLibBase.sol#54-66) is never used and should be removed
MessageLibBase._sendToTreasury(address,uint32,uint256,bool) (contracts/MessageLibBase.sol#68-80) is never used and should be removed
MessageLibBase._setTreasury(address) (contracts/MessageLibBase.sol#154-157) is never used and should be removed
MessageLibBase._transferNative(address,uint256) (contracts/MessageLibBase.sol#140-143) is never used and should be removed
SignedMath.abs(int256) (@openzeppelin/contracts/utils/math/SignedMath.sol#37-42) is never used and should be removed
SignedMath.average(int256,int256) (@openzeppelin/contracts/utils/math/SignedMath.sol#28-32) is never used and should be removed
SignedMath.max(int256,int256) (@openzeppelin/contracts/utils/math/SignedMath.sol#13-15) is never used and should be removed
SignedMath.min(int256,int256) (@openzeppelin/contracts/utils/math/SignedMath.sol#20-22) is never used and should be removed
Strings.equal(string,string) (@openzeppelin/contracts/utils/Strings.sol#82-84) is never used and should be removed
Strings.toHexString(uint256) (@openzeppelin/contracts/utils/Strings.sol#51-55) is never used and should be removed
Strings.toString(int256) (@openzeppelin/contracts/utils/Strings.sol#44-46) is never used and should be removed
Strings.toString(uint256) (@openzeppelin/contracts/utils/Strings.sol#19-39) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Low level call in MessageLibBase._transferNative(address,uint256) (contracts/MessageLibBase.sol#140-143):
- (success) = _to.call{value: _amount}() (contracts/MessageLibBase.sol#141)
Low level call in VerifierNetwork.execute(ExecuteParam[]) (contracts/uln/VerifierNetwork.sol#169-213):
- (success,rtnData) = param.target.call(param.callData) (contracts/uln/VerifierNetwork.sol#203)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
INFO:Detectors:
Parameter Worker.hasAcl(address)._sender (contracts/Worker.sol#64) is not in mixedCase
Parameter Worker.setPaused(bool)._paused (contracts/Worker.sol#78) is not in mixedCase
Parameter Worker.setPriceFeed(address)._priceFeed (contracts/Worker.sol#89) is not in mixedCase
Parameter Worker.setWorkerFeeLib(address)._workerFeeLib (contracts/Worker.sol#95) is not in mixedCase
Parameter Worker.setDefaultMultiplierBps(uint16)._multiplierBps (contracts/Worker.sol#101) is not in mixedCase
Parameter Worker.withdrawFee(address,address,uint256)._lib (contracts/Worker.sol#110) is not in mixedCase
Parameter Worker.withdrawFee(address,address,uint256)._to (contracts/Worker.sol#110) is not in mixedCase
Parameter Worker.withdrawFee(address,address,uint256)._amount (contracts/Worker.sol#110) is not in mixedCase
Parameter MultiSig.verifySignatures(bytes32,bytes)._hash (contracts/uln/MultiSig.sol#55) is not in mixedCase
Parameter MultiSig.verifySignatures(bytes32,bytes)._signatures (contracts/uln/MultiSig.sol#55) is not in mixedCase
Parameter VerifierNetwork.setSigner(address,bool)._signer (contracts/uln/VerifierNetwork.sol#86) is not in mixedCase
Parameter VerifierNetwork.setSigner(address,bool)._active (contracts/uln/VerifierNetwork.sol#86) is not in mixedCase
Parameter VerifierNetwork.setQuorum(uint64)._quorum (contracts/uln/VerifierNetwork.sol#93) is not in mixedCase
Parameter VerifierNetwork.verifyAndDeliver(IUltraLightNode,bytes,bytes32,uint64)._uln (contracts/uln/VerifierNetwork.sol#105) is not in mixedCase
Parameter VerifierNetwork.verifyAndDeliver(IUltraLightNode,bytes,bytes32,uint64)._packetHeader (contracts/uln/VerifierNetwork.sol#106) is not in mixedCase
Parameter VerifierNetwork.verifyAndDeliver(IUltraLightNode,bytes,bytes32,uint64)._payloadHash (contracts/uln/VerifierNetwork.sol#107) is not in mixedCase
Parameter VerifierNetwork.verifyAndDeliver(IUltraLightNode,bytes,bytes32,uint64)._confirmations (contracts/uln/VerifierNetwork.sol#108) is not in mixedCase
Parameter VerifierNetwork.grantRole(bytes32,address)._role (contracts/uln/VerifierNetwork.sol#124) is not in mixedCase
Parameter VerifierNetwork.grantRole(bytes32,address)._account (contracts/uln/VerifierNetwork.sol#124) is not in mixedCase
Parameter VerifierNetwork.revokeRole(bytes32,address)._role (contracts/uln/VerifierNetwork.sol#132) is not in mixedCase
Parameter VerifierNetwork.revokeRole(bytes32,address)._account (contracts/uln/VerifierNetwork.sol#132) is not in mixedCase
Parameter VerifierNetwork.quorumChangeAdmin(ExecuteParam)._param (contracts/uln/VerifierNetwork.sol#140) is not in mixedCase
Parameter VerifierNetwork.setDstConfig(IVerifier.DstConfigParam[])._params (contracts/uln/VerifierNetwork.sol#158) is not in mixedCase
Parameter VerifierNetwork.execute(ExecuteParam[])._params (contracts/uln/VerifierNetwork.sol#169) is not in mixedCase
Parameter VerifierNetwork.withdrawFeeFromUlnV2(address,address,uint256)._lib (contracts/uln/VerifierNetwork.sol#220) is not in mixedCase
Parameter VerifierNetwork.withdrawFeeFromUlnV2(address,address,uint256)._to (contracts/uln/VerifierNetwork.sol#220) is not in mixedCase
Parameter VerifierNetwork.withdrawFeeFromUlnV2(address,address,uint256)._amount (contracts/uln/VerifierNetwork.sol#220) is not in mixedCase
Parameter VerifierNetwork.assignJob(ILayerZeroVerifier.AssignJobParam,bytes)._param (contracts/uln/VerifierNetwork.sol#232) is not in mixedCase
Parameter VerifierNetwork.assignJob(ILayerZeroVerifier.AssignJobParam,bytes)._options (contracts/uln/VerifierNetwork.sol#233) is not in mixedCase
Parameter VerifierNetwork.assignJob(uint16,uint16,uint64,address)._dstEid (contracts/uln/VerifierNetwork.sol#253) is not in mixedCase
Parameter VerifierNetwork.assignJob(uint16,uint16,uint64,address)._confirmations (contracts/uln/VerifierNetwork.sol#255) is not in mixedCase
Parameter VerifierNetwork.assignJob(uint16,uint16,uint64,address)._sender (contracts/uln/VerifierNetwork.sol#256) is not in mixedCase
Parameter VerifierNetwork.getFee(uint32,uint64,address,bytes)._dstEid (contracts/uln/VerifierNetwork.sol#280) is not in mixedCase
Parameter VerifierNetwork.getFee(uint32,uint64,address,bytes)._confirmations (contracts/uln/VerifierNetwork.sol#281) is not in mixedCase
Parameter VerifierNetwork.getFee(uint32,uint64,address,bytes)._sender (contracts/uln/VerifierNetwork.sol#282) is not in mixedCase
Parameter VerifierNetwork.getFee(uint32,uint64,address,bytes)._options (contracts/uln/VerifierNetwork.sol#283) is not in mixedCase
Parameter VerifierNetwork.getFee(uint16,uint16,uint64,address)._dstEid (contracts/uln/VerifierNetwork.sol#303) is not in mixedCase
Parameter VerifierNetwork.getFee(uint16,uint16,uint64,address)._confirmations (contracts/uln/VerifierNetwork.sol#305) is not in mixedCase
Parameter VerifierNetwork.getFee(uint16,uint16,uint64,address)._sender (contracts/uln/VerifierNetwork.sol#306) is not in mixedCase
Parameter VerifierNetwork.hashCallData(uint32,address,bytes,uint256)._vid (contracts/uln/VerifierNetwork.sol#324) is not in mixedCase
Parameter VerifierNetwork.hashCallData(uint32,address,bytes,uint256)._target (contracts/uln/VerifierNetwork.sol#325) is not in mixedCase
Parameter VerifierNetwork.hashCallData(uint32,address,bytes,uint256)._callData (contracts/uln/VerifierNetwork.sol#326) is not in mixedCase
Parameter VerifierNetwork.hashCallData(uint32,address,bytes,uint256)._expiration (contracts/uln/VerifierNetwork.sol#327) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Detectors:
MessageLibBase (contracts/MessageLibBase.sol#23-170) does not implement functions:
- MessageLibBase._getExecutorAndOtherOptions(bytes) (contracts/MessageLibBase.sol#167-169)
- MessageLibBase._quoteWorkers(address,uint32,WorkerOptions[]) (contracts/MessageLibBase.sol#161-165)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unimplemented-functions
INFO:Slither:0xd56e4eab23cb81f43168f9f45211eb027b9ac7cc analyzed (30 contracts with 87 detectors), 114 result(s) found
```
Slither report for CCIPAdapter at `0xDB8953194810b1942544fA528791278D458719D5`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0xdb8953194810b1942544fa528791278d458719d5-CCIPAdapter' running
INFO:Detectors:
EnvelopeUtils.encode(Envelope).encodedEnvelope (src/contracts/libs/EncodingUtils.sol#47) is a local variable never initialized
TransactionUtils.encode(Transaction).encodedTransaction (src/contracts/libs/EncodingUtils.sol#116) is a local variable never initialized
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-local-variables
INFO:Detectors:
EnumerableSet.values(EnumerableSet.Bytes32Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#219-229) uses assembly
- INLINE ASM (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#224-226)
EnumerableSet.values(EnumerableSet.AddressSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#293-303) uses assembly
- INLINE ASM (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#298-300)
EnumerableSet.values(EnumerableSet.UintSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#367-377) uses assembly
- INLINE ASM (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#372-374)
Address._revert(bytes,string) (lib/solidity-utils/src/contracts/oz-common/Address.sol#235-247) uses assembly
- INLINE ASM (lib/solidity-utils/src/contracts/oz-common/Address.sol#240-243)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
Address.functionCall(address,bytes,string) (lib/solidity-utils/src/contracts/oz-common/Address.sol#96-102) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (lib/solidity-utils/src/contracts/oz-common/Address.sol#115-121) is never used and should be removed
Address.functionDelegateCall(address,bytes) (lib/solidity-utils/src/contracts/oz-common/Address.sol#174-176) is never used and should be removed
Address.functionDelegateCall(address,bytes,string) (lib/solidity-utils/src/contracts/oz-common/Address.sol#184-191) is never used and should be removed
Address.functionStaticCall(address,bytes) (lib/solidity-utils/src/contracts/oz-common/Address.sol#146-151) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (lib/solidity-utils/src/contracts/oz-common/Address.sol#159-166) is never used and should be removed
Address.sendValue(address,uint256) (lib/solidity-utils/src/contracts/oz-common/Address.sol#61-66) is never used and should be removed
Address.verifyCallResult(bool,bytes,string) (lib/solidity-utils/src/contracts/oz-common/Address.sol#223-233) is never used and should be removed
EnumerableSet._add(EnumerableSet.Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#65-75) is never used and should be removed
EnumerableSet._at(EnumerableSet.Set,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#141-143) is never used and should be removed
EnumerableSet._contains(EnumerableSet.Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#120-122) is never used and should be removed
EnumerableSet._length(EnumerableSet.Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#127-129) is never used and should be removed
EnumerableSet._remove(EnumerableSet.Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#83-115) is never used and should be removed
EnumerableSet._values(EnumerableSet.Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#153-155) is never used and should be removed
EnumerableSet.add(EnumerableSet.AddressSet,address) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#243-245) is never used and should be removed
EnumerableSet.add(EnumerableSet.Bytes32Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#169-171) is never used and should be removed
EnumerableSet.add(EnumerableSet.UintSet,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#317-319) is never used and should be removed
EnumerableSet.at(EnumerableSet.AddressSet,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#281-283) is never used and should be removed
EnumerableSet.at(EnumerableSet.Bytes32Set,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#207-209) is never used and should be removed
EnumerableSet.at(EnumerableSet.UintSet,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#355-357) is never used and should be removed
EnumerableSet.contains(EnumerableSet.AddressSet,address) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#260-262) is never used and should be removed
EnumerableSet.contains(EnumerableSet.Bytes32Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#186-188) is never used and should be removed
EnumerableSet.contains(EnumerableSet.UintSet,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#334-336) is never used and should be removed
EnumerableSet.length(EnumerableSet.AddressSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#267-269) is never used and should be removed
EnumerableSet.length(EnumerableSet.Bytes32Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#193-195) is never used and should be removed
EnumerableSet.length(EnumerableSet.UintSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#341-343) is never used and should be removed
EnumerableSet.remove(EnumerableSet.AddressSet,address) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#253-255) is never used and should be removed
EnumerableSet.remove(EnumerableSet.Bytes32Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#179-181) is never used and should be removed
EnumerableSet.remove(EnumerableSet.UintSet,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#327-329) is never used and should be removed
EnumerableSet.values(EnumerableSet.AddressSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#293-303) is never used and should be removed
EnumerableSet.values(EnumerableSet.Bytes32Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#219-229) is never used and should be removed
EnumerableSet.values(EnumerableSet.UintSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#367-377) is never used and should be removed
EnvelopeUtils.decode(bytes) (src/contracts/libs/EncodingUtils.sol#58-60) is never used and should be removed
EnvelopeUtils.encode(Envelope) (src/contracts/libs/EncodingUtils.sol#46-51) is never used and should be removed
EnvelopeUtils.getId(Envelope) (src/contracts/libs/EncodingUtils.sol#67-70) is never used and should be removed
EnvelopeUtils.getId(bytes) (src/contracts/libs/EncodingUtils.sol#77-79) is never used and should be removed
SafeCast.toInt104(int256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#901-904) is never used and should be removed
SafeCast.toInt112(int256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#883-886) is never used and should be removed
SafeCast.toInt120(int256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#865-868) is never used and should be removed
SafeCast.toInt128(int256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#847-850) is never used and should be removed
SafeCast.toInt136(int256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#829-832) is never used and should be removed
SafeCast.toInt144(int256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#811-814) is never used and should be removed
SafeCast.toInt152(int256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#793-796) is never used and should be removed
SafeCast.toInt16(int256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#1099-1102) is never used and should be removed
SafeCast.toInt160(int256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#775-778) is never used and should be removed
SafeCast.toInt168(int256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#757-760) is never used and should be removed
SafeCast.toInt176(int256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#739-742) is never used and should be removed
SafeCast.toInt184(int256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#721-724) is never used and should be removed
SafeCast.toInt192(int256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#703-706) is never used and should be removed
SafeCast.toInt200(int256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#685-688) is never used and should be removed
SafeCast.toInt208(int256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#667-670) is never used and should be removed
SafeCast.toInt216(int256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#649-652) is never used and should be removed
SafeCast.toInt224(int256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#631-634) is never used and should be removed
SafeCast.toInt232(int256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#613-616) is never used and should be removed
SafeCast.toInt24(int256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#1081-1084) is never used and should be removed
SafeCast.toInt240(int256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#595-598) is never used and should be removed
SafeCast.toInt248(int256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#577-580) is never used and should be removed
SafeCast.toInt256(uint256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#1131-1135) is never used and should be removed
SafeCast.toInt32(int256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#1063-1066) is never used and should be removed
SafeCast.toInt40(int256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#1045-1048) is never used and should be removed
SafeCast.toInt48(int256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#1027-1030) is never used and should be removed
SafeCast.toInt56(int256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#1009-1012) is never used and should be removed
SafeCast.toInt64(int256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#991-994) is never used and should be removed
SafeCast.toInt72(int256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#973-976) is never used and should be removed
SafeCast.toInt8(int256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#1117-1120) is never used and should be removed
SafeCast.toInt80(int256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#955-958) is never used and should be removed
SafeCast.toInt88(int256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#937-940) is never used and should be removed
SafeCast.toInt96(int256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#919-922) is never used and should be removed
SafeCast.toUint104(uint256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#341-344) is never used and should be removed
SafeCast.toUint112(uint256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#324-327) is never used and should be removed
SafeCast.toUint120(uint256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#307-310) is never used and should be removed
SafeCast.toUint128(uint256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#290-293) is never used and should be removed
SafeCast.toUint136(uint256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#273-276) is never used and should be removed
SafeCast.toUint144(uint256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#256-259) is never used and should be removed
SafeCast.toUint152(uint256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#239-242) is never used and should be removed
SafeCast.toUint16(uint256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#528-531) is never used and should be removed
SafeCast.toUint160(uint256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#222-225) is never used and should be removed
SafeCast.toUint168(uint256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#205-208) is never used and should be removed
SafeCast.toUint176(uint256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#188-191) is never used and should be removed
SafeCast.toUint184(uint256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#171-174) is never used and should be removed
SafeCast.toUint192(uint256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#154-157) is never used and should be removed
SafeCast.toUint200(uint256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#137-140) is never used and should be removed
SafeCast.toUint208(uint256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#120-123) is never used and should be removed
SafeCast.toUint216(uint256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#103-106) is never used and should be removed
SafeCast.toUint224(uint256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#86-89) is never used and should be removed
SafeCast.toUint232(uint256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#69-72) is never used and should be removed
SafeCast.toUint24(uint256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#511-514) is never used and should be removed
SafeCast.toUint240(uint256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#52-55) is never used and should be removed
SafeCast.toUint248(uint256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#35-38) is never used and should be removed
SafeCast.toUint256(int256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#559-562) is never used and should be removed
SafeCast.toUint32(uint256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#494-497) is never used and should be removed
SafeCast.toUint40(uint256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#477-480) is never used and should be removed
SafeCast.toUint48(uint256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#460-463) is never used and should be removed
SafeCast.toUint56(uint256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#443-446) is never used and should be removed
SafeCast.toUint72(uint256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#409-412) is never used and should be removed
SafeCast.toUint8(uint256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#545-548) is never used and should be removed
SafeCast.toUint80(uint256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#392-395) is never used and should be removed
SafeCast.toUint88(uint256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#375-378) is never used and should be removed
SafeCast.toUint96(uint256) (lib/solidity-utils/src/contracts/oz-common/SafeCast.sol#358-361) is never used and should be removed
SafeERC20.safeDecreaseAllowance(IERC20,address,uint256) (lib/solidity-utils/src/contracts/oz-common/SafeERC20.sol#62-70) is never used and should be removed
SafeERC20.safeIncreaseAllowance(IERC20,address,uint256) (lib/solidity-utils/src/contracts/oz-common/SafeERC20.sol#53-56) is never used and should be removed
SafeERC20.safePermit(IERC20Permit,address,address,uint256,uint256,uint8,bytes32,bytes32) (lib/solidity-utils/src/contracts/oz-common/SafeERC20.sol#90-106) is never used and should be removed
SafeERC20.safeTransfer(IERC20,address,uint256) (lib/solidity-utils/src/contracts/oz-common/SafeERC20.sol#37-39) is never used and should be removed
SafeERC20.safeTransferFrom(IERC20,address,address,uint256) (lib/solidity-utils/src/contracts/oz-common/SafeERC20.sol#45-47) is never used and should be removed
TransactionUtils.decode(bytes) (src/contracts/libs/EncodingUtils.sol#127-129) is never used and should be removed
TransactionUtils.encode(Transaction) (src/contracts/libs/EncodingUtils.sol#113-120) is never used and should be removed
TransactionUtils.getEnvelope(Transaction) (src/contracts/libs/EncodingUtils.sol#155-157) is never used and should be removed
TransactionUtils.getEnvelopeId(Transaction) (src/contracts/libs/EncodingUtils.sol#164-166) is never used and should be removed
TransactionUtils.getId(Transaction) (src/contracts/libs/EncodingUtils.sol#136-139) is never used and should be removed
TransactionUtils.getId(bytes) (src/contracts/libs/EncodingUtils.sol#146-148) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Low level call in Address.sendValue(address,uint256) (lib/solidity-utils/src/contracts/oz-common/Address.sol#61-66):
- (success) = recipient.call{value: amount}() (lib/solidity-utils/src/contracts/oz-common/Address.sol#64)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (lib/solidity-utils/src/contracts/oz-common/Address.sol#129-138):
- (success,returndata) = target.call{value: value}(data) (lib/solidity-utils/src/contracts/oz-common/Address.sol#136)
Low level call in Address.functionStaticCall(address,bytes,string) (lib/solidity-utils/src/contracts/oz-common/Address.sol#159-166):
- (success,returndata) = target.staticcall(data) (lib/solidity-utils/src/contracts/oz-common/Address.sol#164)
Low level call in Address.functionDelegateCall(address,bytes,string) (lib/solidity-utils/src/contracts/oz-common/Address.sol#184-191):
- (success,returndata) = target.delegatecall(data) (lib/solidity-utils/src/contracts/oz-common/Address.sol#189)
Low level call in SafeERC20._callOptionalReturnBool(IERC20,bytes) (lib/solidity-utils/src/contracts/oz-common/SafeERC20.sol#133-140):
- (success,returndata) = address(token).call(data) (lib/solidity-utils/src/contracts/oz-common/SafeERC20.sol#138)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
INFO:Detectors:
Function IERC20Permit.DOMAIN_SEPARATOR() (lib/solidity-utils/src/contracts/oz-common/interfaces/IERC20Permit.sol#59) is not in mixedCase
Variable BaseAdapter.CROSS_CHAIN_CONTROLLER (src/contracts/adapters/BaseAdapter.sol#15) is not in mixedCase
Variable CCIPAdapter.CCIP_ROUTER (src/contracts/adapters/ccip/CCIPAdapter.sol#26) is not in mixedCase
Variable CCIPAdapter.LINK_TOKEN (src/contracts/adapters/ccip/CCIPAdapter.sol#29) is not in mixedCase
Function ICCIPAdapter.LINK_TOKEN() (src/contracts/adapters/ccip/ICCIPAdapter.sol#17) is not in mixedCase
Function ICCIPAdapter.CCIP_ROUTER() (src/contracts/adapters/ccip/ICCIPAdapter.sol#23) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Slither:0xdb8953194810b1942544fa528791278d458719d5 analyzed (22 contracts with 87 detectors), 127 result(s) found
```
Slither report for EACAggregatorProxy at `0xDC530D9457755926550b59e8ECcdaE7624181557`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts' running
Warning: crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:283:7: Warning: This declaration shadows an existing declaration.
uint80 roundId,
^------------^
crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:273:7: The shadowed declaration is here:
uint80 roundId,
^------------^
Warning: crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:284:7: Warning: This declaration shadows an existing declaration.
int256 answer,
^-----------^
crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:274:7: The shadowed declaration is here:
int256 answer,
^-----------^
Warning: crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:285:7: Warning: This declaration shadows an existing declaration.
uint256 startedAt,
^---------------^
crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:275:7: The shadowed declaration is here:
uint256 startedAt,
^---------------^
Warning: crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:286:7: Warning: This declaration shadows an existing declaration.
uint256 updatedAt,
^---------------^
crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:276:7: The shadowed declaration is here:
uint256 updatedAt,
^---------------^
Warning: crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:331:7: Warning: This declaration shadows an existing declaration.
uint80 roundId,
^------------^
crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:321:7: The shadowed declaration is here:
uint80 roundId,
^------------^
Warning: crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:332:7: Warning: This declaration shadows an existing declaration.
int256 answer,
^-----------^
crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:322:7: The shadowed declaration is here:
int256 answer,
^-----------^
Warning: crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:333:7: Warning: This declaration shadows an existing declaration.
uint256 startedAt,
^---------------^
crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:323:7: The shadowed declaration is here:
uint256 startedAt,
^---------------^
Warning: crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:334:7: Warning: This declaration shadows an existing declaration.
uint256 updatedAt,
^---------------^
crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:324:7: The shadowed declaration is here:
uint256 updatedAt,
^---------------^
Warning: crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:513:5: Warning: This declaration shadows an existing declaration.
uint16 phaseId = uint16(_roundId >> PHASE_OFFSET);
^------------^
crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:410:3: The shadowed declaration is here:
function phaseId()
^ (Relevant source part starts here and spans across multiple lines).
Warning: crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:525:7: Warning: This declaration shadows an existing declaration.
uint16 phaseId
^------------^
crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:410:3: The shadowed declaration is here:
function phaseId()
^ (Relevant source part starts here and spans across multiple lines).
Warning: crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:495:3: Warning: Function state mutability can be restricted to pure
function addPhase(
^ (Relevant source part starts here and spans across multiple lines).
Warning: crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol:506:3: Warning: Function state mutability can be restricted to pure
function parseIds(
^ (Relevant source part starts here and spans across multiple lines).
INFO:Detectors:
AggregatorProxy.proposedGetRoundData(uint80) (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#353-367) ignores return value by proposedAggregator.getRoundData(_roundId) (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#366)
AggregatorProxy.proposedLatestRoundData() (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#380-394) ignores return value by proposedAggregator.latestRoundData() (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#393)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return
INFO:Detectors:
AggregatorProxy.getAnswer(uint256).phaseId (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#189) shadows:
- AggregatorProxy.phaseId() (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#410-416) (function)
AggregatorProxy.getAnswer(uint256).aggregator (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#190) shadows:
- AggregatorProxy.aggregator() (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#399-405) (function)
AggregatorProxy.getTimestamp(uint256).phaseId (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#214) shadows:
- AggregatorProxy.phaseId() (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#410-416) (function)
AggregatorProxy.getTimestamp(uint256).aggregator (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#215) shadows:
- AggregatorProxy.aggregator() (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#399-405) (function)
AggregatorProxy.getRoundData(uint80).phaseId (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#280) shadows:
- AggregatorProxy.phaseId() (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#410-416) (function)
AggregatorProxy.getRoundData(uint80).roundId_scope_0 (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#283) shadows:
- AggregatorProxy.getRoundData(uint80).roundId (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#273) (return variable)
- AggregatorProxy.getRoundData(uint80).roundId (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#273) (return variable)
- AggregatorProxy.getRoundData(uint80).roundId (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#273) (return variable)
- AggregatorProxy.getRoundData(uint80).roundId (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#273) (return variable)
- AggregatorProxy.getRoundData(uint80).roundId (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#273) (return variable)
AggregatorProxy.getRoundData(uint80).answer_scope_1 (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#284) shadows:
- AggregatorProxy.getRoundData(uint80).answer (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#274) (return variable)
- AggregatorProxy.getRoundData(uint80).answer (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#274) (return variable)
- AggregatorProxy.getRoundData(uint80).answer (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#274) (return variable)
- AggregatorProxy.getRoundData(uint80).answer (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#274) (return variable)
- AggregatorProxy.getRoundData(uint80).answer (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#274) (return variable)
AggregatorProxy.getRoundData(uint80).startedAt_scope_2 (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#285) shadows:
- AggregatorProxy.getRoundData(uint80).startedAt (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#275) (return variable)
- AggregatorProxy.getRoundData(uint80).startedAt (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#275) (return variable)
- AggregatorProxy.getRoundData(uint80).startedAt (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#275) (return variable)
- AggregatorProxy.getRoundData(uint80).startedAt (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#275) (return variable)
- AggregatorProxy.getRoundData(uint80).startedAt (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#275) (return variable)
AggregatorProxy.getRoundData(uint80).updatedAt_scope_3 (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#286) shadows:
- AggregatorProxy.getRoundData(uint80).updatedAt (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#276) (return variable)
- AggregatorProxy.getRoundData(uint80).updatedAt (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#276) (return variable)
- AggregatorProxy.getRoundData(uint80).updatedAt (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#276) (return variable)
- AggregatorProxy.getRoundData(uint80).updatedAt (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#276) (return variable)
- AggregatorProxy.getRoundData(uint80).updatedAt (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#276) (return variable)
AggregatorProxy.latestRoundData().roundId_scope_0 (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#331) shadows:
- AggregatorProxy.latestRoundData().roundId (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#321) (return variable)
- AggregatorProxy.latestRoundData().roundId (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#321) (return variable)
- AggregatorProxy.latestRoundData().roundId (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#321) (return variable)
- AggregatorProxy.latestRoundData().roundId (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#321) (return variable)
- AggregatorProxy.latestRoundData().roundId (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#321) (return variable)
AggregatorProxy.latestRoundData().answer_scope_1 (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#332) shadows:
- AggregatorProxy.latestRoundData().answer (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#322) (return variable)
- AggregatorProxy.latestRoundData().answer (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#322) (return variable)
- AggregatorProxy.latestRoundData().answer (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#322) (return variable)
- AggregatorProxy.latestRoundData().answer (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#322) (return variable)
- AggregatorProxy.latestRoundData().answer (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#322) (return variable)
AggregatorProxy.latestRoundData().startedAt_scope_2 (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#333) shadows:
- AggregatorProxy.latestRoundData().startedAt (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#323) (return variable)
- AggregatorProxy.latestRoundData().startedAt (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#323) (return variable)
- AggregatorProxy.latestRoundData().startedAt (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#323) (return variable)
- AggregatorProxy.latestRoundData().startedAt (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#323) (return variable)
- AggregatorProxy.latestRoundData().startedAt (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#323) (return variable)
AggregatorProxy.latestRoundData().updatedAt_scope_3 (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#334) shadows:
- AggregatorProxy.latestRoundData().updatedAt (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#324) (return variable)
- AggregatorProxy.latestRoundData().updatedAt (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#324) (return variable)
- AggregatorProxy.latestRoundData().updatedAt (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#324) (return variable)
- AggregatorProxy.latestRoundData().updatedAt (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#324) (return variable)
- AggregatorProxy.latestRoundData().updatedAt (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#324) (return variable)
AggregatorProxy.parseIds(uint256).phaseId (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#513) shadows:
- AggregatorProxy.phaseId() (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#410-416) (function)
AggregatorProxy.addPhaseIds(uint80,int256,uint256,uint256,uint80,uint16).phaseId (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#525) shadows:
- AggregatorProxy.phaseId() (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#410-416) (function)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#local-variable-shadowing
INFO:Detectors:
Owned.transferOwnership(address)._to (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#30) lacks a zero-check on :
- pendingOwner = _to (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#34)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation
INFO:Detectors:
Parameter Owned.transferOwnership(address)._to (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#30) is not in mixedCase
Parameter AggregatorProxy.getAnswer(uint256)._roundId (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#180) is not in mixedCase
Parameter AggregatorProxy.getTimestamp(uint256)._roundId (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#205) is not in mixedCase
Parameter AggregatorProxy.getRoundData(uint80)._roundId (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#267) is not in mixedCase
Parameter AggregatorProxy.proposedGetRoundData(uint80)._roundId (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#353) is not in mixedCase
Parameter AggregatorProxy.proposeAggregator(address)._aggregator (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#459) is not in mixedCase
Parameter AggregatorProxy.confirmAggregator(address)._aggregator (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#473) is not in mixedCase
Parameter AggregatorProxy.setAggregator(address)._aggregator (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#487) is not in mixedCase
Parameter AggregatorProxy.addPhase(uint16,uint64)._phase (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#496) is not in mixedCase
Parameter AggregatorProxy.addPhase(uint16,uint64)._originalId (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#497) is not in mixedCase
Parameter AggregatorProxy.parseIds(uint256)._roundId (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#507) is not in mixedCase
Parameter EACAggregatorProxy.setController(address)._accessController (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#582) is not in mixedCase
Parameter EACAggregatorProxy.getAnswer(uint256)._roundId (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#638) is not in mixedCase
Parameter EACAggregatorProxy.getTimestamp(uint256)._roundId (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#658) is not in mixedCase
Parameter EACAggregatorProxy.getRoundData(uint80)._roundId (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#710) is not in mixedCase
Parameter EACAggregatorProxy.proposedGetRoundData(uint80)._roundId (crytic-export/etherscan-contracts/0xdc530d9457755926550b59e8eccdae7624181557-EACAggregatorProxy.sol#776) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Slither:0xdc530d9457755926550b59e8eccdae7624181557 analyzed (7 contracts with 87 detectors), 34 result(s) found
```
Slither report for Lib_AddressManager at `0xdE1FCfB0851916CA5101820A69b13a4E276bd81F`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0xde1fcfb0851916ca5101820a69b13a4e276bd81f-Lib_AddressManager' running
Warning: @openzeppelin/contracts/access/Ownable.sol:26:5: Warning: Visibility for constructor is ignored. If you want the contract to be non-deployable, making it "abstract" is sufficient.
constructor () internal {
^ (Relevant source part starts here and spans across multiple lines).
INFO:Detectors:
Context._msgData() (@openzeppelin/contracts/utils/Context.sol#20-23) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Contract Lib_AddressManager (contracts/optimistic-ethereum/libraries/resolver/Lib_AddressManager.sol#10-95) is not in CapWords
Parameter Lib_AddressManager.setAddress(string,address)._name (contracts/optimistic-ethereum/libraries/resolver/Lib_AddressManager.sol#40) is not in mixedCase
Parameter Lib_AddressManager.setAddress(string,address)._address (contracts/optimistic-ethereum/libraries/resolver/Lib_AddressManager.sol#41) is not in mixedCase
Parameter Lib_AddressManager.getAddress(string)._name (contracts/optimistic-ethereum/libraries/resolver/Lib_AddressManager.sol#63) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Detectors:
Redundant expression "this (@openzeppelin/contracts/utils/Context.sol#21)" inContext (@openzeppelin/contracts/utils/Context.sol#15-24)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#redundant-statements
INFO:Slither:0xde1fcfb0851916ca5101820a69b13a4e276bd81f analyzed (3 contracts with 87 detectors), 6 result(s) found
```
Slither report for ArbAdapter at `0xE2a33403eaD139873820da597531f07f65ED0E3c`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0xe2a33403ead139873820da597531f07f65ed0e3c-ArbAdapter' running
INFO:Detectors:
ArbAdapter._forwardMessage(IArbAdapter.MessageInformation) (src/contracts/adapters/arbitrum/ArbAdapter.sol#127-142) sends eth to arbitrary user
Dangerous calls:
- IInbox(INBOX).createRetryableTicket{value: requiredGas}(message.receiver,0,message.maxSubmission,DESTINATION_CCC,DESTINATION_CCC,message.destinationGasLimit,L2_MAX_FEE_PER_GAS,message.encodedMessage) (src/contracts/adapters/arbitrum/ArbAdapter.sol#131-141)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#functions-that-send-ether-to-arbitrary-destinations
INFO:Detectors:
TransactionUtils.encode(Transaction).encodedTransaction (src/contracts/libs/EncodingUtils.sol#116) is a local variable never initialized
EnvelopeUtils.encode(Envelope).encodedEnvelope (src/contracts/libs/EncodingUtils.sol#47) is a local variable never initialized
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-local-variables
INFO:Detectors:
GasRefundEnabled.refundsGas(IGasRefunder) (lib/nitro-contracts/src/libraries/IGasRefunder.sol#20-41) ignores return value by gasRefunder.onGasSpent(address(msg.sender),startGasLeft - gasleft()(),calldataSize) (lib/nitro-contracts/src/libraries/IGasRefunder.sol#39)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return
INFO:Detectors:
ArbAdapter.constructor(address,address,address,IBaseAdapter.TrustedRemotesConfig[]).inbox (src/contracts/adapters/arbitrum/ArbAdapter.sol#39) lacks a zero-check on :
- INBOX = inbox (src/contracts/adapters/arbitrum/ArbAdapter.sol#43)
ArbAdapter.constructor(address,address,address,IBaseAdapter.TrustedRemotesConfig[]).destinationCCC (src/contracts/adapters/arbitrum/ArbAdapter.sol#40) lacks a zero-check on :
- DESTINATION_CCC = destinationCCC (src/contracts/adapters/arbitrum/ArbAdapter.sol#44)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation
INFO:Detectors:
EnumerableSet.values(EnumerableSet.Bytes32Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#219-229) uses assembly
- INLINE ASM (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#224-226)
EnumerableSet.values(EnumerableSet.AddressSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#293-303) uses assembly
- INLINE ASM (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#298-300)
EnumerableSet.values(EnumerableSet.UintSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#367-377) uses assembly
- INLINE ASM (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#372-374)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
AddressAliasHelper.applyL1ToL2Alias(address) (lib/nitro-contracts/src/libraries/AddressAliasHelper.sol#14-18) is never used and should be removed
EnumerableSet._add(EnumerableSet.Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#65-75) is never used and should be removed
EnumerableSet._at(EnumerableSet.Set,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#141-143) is never used and should be removed
EnumerableSet._contains(EnumerableSet.Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#120-122) is never used and should be removed
EnumerableSet._length(EnumerableSet.Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#127-129) is never used and should be removed
EnumerableSet._remove(EnumerableSet.Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#83-115) is never used and should be removed
EnumerableSet._values(EnumerableSet.Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#153-155) is never used and should be removed
EnumerableSet.add(EnumerableSet.AddressSet,address) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#243-245) is never used and should be removed
EnumerableSet.add(EnumerableSet.Bytes32Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#169-171) is never used and should be removed
EnumerableSet.add(EnumerableSet.UintSet,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#317-319) is never used and should be removed
EnumerableSet.at(EnumerableSet.AddressSet,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#281-283) is never used and should be removed
EnumerableSet.at(EnumerableSet.Bytes32Set,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#207-209) is never used and should be removed
EnumerableSet.at(EnumerableSet.UintSet,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#355-357) is never used and should be removed
EnumerableSet.contains(EnumerableSet.AddressSet,address) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#260-262) is never used and should be removed
EnumerableSet.contains(EnumerableSet.Bytes32Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#186-188) is never used and should be removed
EnumerableSet.contains(EnumerableSet.UintSet,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#334-336) is never used and should be removed
EnumerableSet.length(EnumerableSet.AddressSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#267-269) is never used and should be removed
EnumerableSet.length(EnumerableSet.Bytes32Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#193-195) is never used and should be removed
EnumerableSet.length(EnumerableSet.UintSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#341-343) is never used and should be removed
EnumerableSet.remove(EnumerableSet.AddressSet,address) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#253-255) is never used and should be removed
EnumerableSet.remove(EnumerableSet.Bytes32Set,bytes32) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#179-181) is never used and should be removed
EnumerableSet.remove(EnumerableSet.UintSet,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#327-329) is never used and should be removed
EnumerableSet.values(EnumerableSet.AddressSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#293-303) is never used and should be removed
EnumerableSet.values(EnumerableSet.Bytes32Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#219-229) is never used and should be removed
EnumerableSet.values(EnumerableSet.UintSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#367-377) is never used and should be removed
EnvelopeUtils.decode(bytes) (src/contracts/libs/EncodingUtils.sol#58-60) is never used and should be removed
EnvelopeUtils.encode(Envelope) (src/contracts/libs/EncodingUtils.sol#46-51) is never used and should be removed
EnvelopeUtils.getId(Envelope) (src/contracts/libs/EncodingUtils.sol#67-70) is never used and should be removed
EnvelopeUtils.getId(bytes) (src/contracts/libs/EncodingUtils.sol#77-79) is never used and should be removed
TransactionUtils.decode(bytes) (src/contracts/libs/EncodingUtils.sol#127-129) is never used and should be removed
TransactionUtils.encode(Transaction) (src/contracts/libs/EncodingUtils.sol#113-120) is never used and should be removed
TransactionUtils.getEnvelope(Transaction) (src/contracts/libs/EncodingUtils.sol#155-157) is never used and should be removed
TransactionUtils.getEnvelopeId(Transaction) (src/contracts/libs/EncodingUtils.sol#164-166) is never used and should be removed
TransactionUtils.getId(Transaction) (src/contracts/libs/EncodingUtils.sol#136-139) is never used and should be removed
TransactionUtils.getId(bytes) (src/contracts/libs/EncodingUtils.sol#146-148) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Function ISequencerInbox.HEADER_LENGTH() (lib/nitro-contracts/src/bridge/ISequencerInbox.sol#61) is not in mixedCase
Function ISequencerInbox.DATA_AUTHENTICATED_FLAG() (lib/nitro-contracts/src/bridge/ISequencerInbox.sol#66) is not in mixedCase
Variable BaseAdapter.CROSS_CHAIN_CONTROLLER (src/contracts/adapters/BaseAdapter.sol#15) is not in mixedCase
Variable ArbAdapter.INBOX (src/contracts/adapters/arbitrum/ArbAdapter.sol#21) is not in mixedCase
Variable ArbAdapter.DESTINATION_CCC (src/contracts/adapters/arbitrum/ArbAdapter.sol#24) is not in mixedCase
Function IArbAdapter.INBOX() (src/contracts/adapters/arbitrum/IArbAdapter.sol#30) is not in mixedCase
Function IArbAdapter.DESTINATION_CCC() (src/contracts/adapters/arbitrum/IArbAdapter.sol#36) is not in mixedCase
Function IArbAdapter.BASE_FEE_MARGIN() (src/contracts/adapters/arbitrum/IArbAdapter.sol#42) is not in mixedCase
Function IArbAdapter.L2_MAX_FEE_PER_GAS() (src/contracts/adapters/arbitrum/IArbAdapter.sol#50) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Slither:0xe2a33403ead139873820da597531f07f65ed0e3c analyzed (21 contracts with 87 detectors), 53 result(s) found
```
Slither report for Router at `0xE561d5E02207fb5eB32cca20a699E0d8919a1476`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0xe561d5e02207fb5eb32cca20a699e0d8919a1476-Router' running
INFO:Detectors:
Router.constructor(address,address).wrappedNative (src/v0.8/ccip/Router.sol#65) lacks a zero-check on :
- s_wrappedNative = wrappedNative (src/v0.8/ccip/Router.sol#68)
Router.constructor(address,address).armProxy (src/v0.8/ccip/Router.sol#65) lacks a zero-check on :
- i_armProxy = armProxy (src/v0.8/ccip/Router.sol#69)
Router.setWrappedNative(address).wrappedNative (src/v0.8/ccip/Router.sol#228) lacks a zero-check on :
- s_wrappedNative = wrappedNative (src/v0.8/ccip/Router.sol#229)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation
INFO:Detectors:
Router.ccipSend(uint64,Client.EVM2AnyMessage) (src/v0.8/ccip/Router.sol#104-141) has external calls inside a loop: token.safeTransferFrom(msg.sender,address(IEVM2AnyOnRamp(onRamp).getPoolBySourceToken(token)),message.tokenAmounts[i].amount) (src/v0.8/ccip/Router.sol#133-137)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation/#calls-inside-a-loop
INFO:Detectors:
Router.routeMessage(Client.Any2EVMMessage,uint16,uint256,address) (src/v0.8/ccip/Router.sol#155-214) uses assembly
- INLINE ASM (src/v0.8/ccip/Router.sol#174-211)
Address._revert(bytes,string) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#231-243) uses assembly
- INLINE ASM (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#236-239)
EnumerableSet.values(EnumerableSet.Bytes32Set) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#219-229) uses assembly
- INLINE ASM (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#224-226)
EnumerableSet.values(EnumerableSet.AddressSet) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#293-303) uses assembly
- INLINE ASM (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#298-300)
EnumerableSet.values(EnumerableSet.UintSet) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#367-377) uses assembly
- INLINE ASM (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#372-374)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
Address.functionCall(address,bytes) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#85-87) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#114-120) is never used and should be removed
Address.functionDelegateCall(address,bytes) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#170-172) is never used and should be removed
Address.functionDelegateCall(address,bytes,string) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#180-187) is never used and should be removed
Address.functionStaticCall(address,bytes) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#145-147) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#155-162) is never used and should be removed
Address.sendValue(address,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#60-65) is never used and should be removed
Address.verifyCallResult(bool,bytes,string) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#219-229) is never used and should be removed
Client._argsToBytes(Client.EVMExtraArgsV1) (src/v0.8/ccip/libraries/Client.sol#36-38) is never used and should be removed
EnumerableMap.at(EnumerableMap.Bytes32ToUintMap,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#492-495) is never used and should be removed
EnumerableMap.at(EnumerableMap.UintToAddressMap,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#308-311) is never used and should be removed
EnumerableMap.at(EnumerableMap.UintToUintMap,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#216-219) is never used and should be removed
EnumerableMap.contains(EnumerableMap.AddressToUintMap,address) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#380-382) is never used and should be removed
EnumerableMap.contains(EnumerableMap.Bytes32ToUintMap,bytes32) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#472-474) is never used and should be removed
EnumerableMap.contains(EnumerableMap.UintToAddressMap,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#288-290) is never used and should be removed
EnumerableMap.contains(EnumerableMap.UintToUintMap,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#196-198) is never used and should be removed
EnumerableMap.get(EnumerableMap.AddressToUintMap,address,string) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#431-437) is never used and should be removed
EnumerableMap.get(EnumerableMap.Bytes32ToBytes32Map,bytes32,string) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#153-161) is never used and should be removed
EnumerableMap.get(EnumerableMap.Bytes32ToUintMap,bytes32) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#513-515) is never used and should be removed
EnumerableMap.get(EnumerableMap.Bytes32ToUintMap,bytes32,string) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#523-529) is never used and should be removed
EnumerableMap.get(EnumerableMap.UintToAddressMap,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#329-331) is never used and should be removed
EnumerableMap.get(EnumerableMap.UintToAddressMap,uint256,string) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#339-345) is never used and should be removed
EnumerableMap.get(EnumerableMap.UintToUintMap,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#237-239) is never used and should be removed
EnumerableMap.get(EnumerableMap.UintToUintMap,uint256,string) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#247-253) is never used and should be removed
EnumerableMap.length(EnumerableMap.Bytes32ToUintMap) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#479-481) is never used and should be removed
EnumerableMap.length(EnumerableMap.UintToAddressMap) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#295-297) is never used and should be removed
EnumerableMap.length(EnumerableMap.UintToUintMap) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#203-205) is never used and should be removed
EnumerableMap.remove(EnumerableMap.Bytes32ToUintMap,bytes32) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#465-467) is never used and should be removed
EnumerableMap.remove(EnumerableMap.UintToAddressMap,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#281-283) is never used and should be removed
EnumerableMap.remove(EnumerableMap.UintToUintMap,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#189-191) is never used and should be removed
EnumerableMap.set(EnumerableMap.Bytes32ToUintMap,bytes32,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#452-458) is never used and should be removed
EnumerableMap.set(EnumerableMap.UintToAddressMap,uint256,address) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#268-274) is never used and should be removed
EnumerableMap.set(EnumerableMap.UintToUintMap,uint256,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#176-182) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.Bytes32ToUintMap,bytes32) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#501-504) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.UintToAddressMap,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#317-320) is never used and should be removed
EnumerableMap.tryGet(EnumerableMap.UintToUintMap,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableMap.sol#225-228) is never used and should be removed
EnumerableSet._values(EnumerableSet.Set) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#153-155) is never used and should be removed
EnumerableSet.add(EnumerableSet.AddressSet,address) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#243-245) is never used and should be removed
EnumerableSet.add(EnumerableSet.UintSet,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#317-319) is never used and should be removed
EnumerableSet.at(EnumerableSet.AddressSet,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#281-283) is never used and should be removed
EnumerableSet.at(EnumerableSet.UintSet,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#355-357) is never used and should be removed
EnumerableSet.contains(EnumerableSet.AddressSet,address) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#260-262) is never used and should be removed
EnumerableSet.contains(EnumerableSet.UintSet,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#334-336) is never used and should be removed
EnumerableSet.length(EnumerableSet.AddressSet) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#267-269) is never used and should be removed
EnumerableSet.length(EnumerableSet.UintSet) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#341-343) is never used and should be removed
EnumerableSet.remove(EnumerableSet.AddressSet,address) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#253-255) is never used and should be removed
EnumerableSet.remove(EnumerableSet.UintSet,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#327-329) is never used and should be removed
EnumerableSet.values(EnumerableSet.AddressSet) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#293-303) is never used and should be removed
EnumerableSet.values(EnumerableSet.Bytes32Set) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#219-229) is never used and should be removed
EnumerableSet.values(EnumerableSet.UintSet) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/structs/EnumerableSet.sol#367-377) is never used and should be removed
Internal._hash(Internal.EVM2EVMMessage,bytes32) (src/v0.8/ccip/libraries/Internal.sol#71-89) is never used and should be removed
Internal._toAny2EVMMessage(Internal.EVM2EVMMessage,Client.EVMTokenAmount[]) (src/v0.8/ccip/libraries/Internal.sol#56-67) is never used and should be removed
MerkleMultiProof._hashInternalNode(bytes32,bytes32) (src/v0.8/ccip/libraries/MerkleMultiProof.sol#104-106) is never used and should be removed
MerkleMultiProof._hashPair(bytes32,bytes32) (src/v0.8/ccip/libraries/MerkleMultiProof.sol#110-112) is never used and should be removed
MerkleMultiProof.merkleRoot(bytes32[],bytes32[],uint256) (src/v0.8/ccip/libraries/MerkleMultiProof.sol#50-100) is never used and should be removed
SafeERC20.safeApprove(IERC20,address,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/token/ERC20/utils/SafeERC20.sol#46-59) is never used and should be removed
SafeERC20.safeDecreaseAllowance(IERC20,address,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/token/ERC20/utils/SafeERC20.sol#70-81) is never used and should be removed
SafeERC20.safeIncreaseAllowance(IERC20,address,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/token/ERC20/utils/SafeERC20.sol#61-68) is never used and should be removed
SafeERC20.safePermit(IERC20Permit,address,address,uint256,uint256,uint8,bytes32,bytes32) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/token/ERC20/utils/SafeERC20.sol#83-97) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Low level call in Router.recoverTokens(address,address,uint256) (src/v0.8/ccip/Router.sol#303-312):
- (success) = to.call{value: amount}() (src/v0.8/ccip/Router.sol#307)
Low level call in Address.sendValue(address,uint256) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#60-65):
- (success) = recipient.call{value: amount}() (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#63)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#128-137):
- (success,returndata) = target.call{value: value}(data) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#135)
Low level call in Address.functionStaticCall(address,bytes,string) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#155-162):
- (success,returndata) = target.staticcall(data) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#160)
Low level call in Address.functionDelegateCall(address,bytes,string) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#180-187):
- (success,returndata) = target.delegatecall(data) (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/utils/Address.sol#185)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
INFO:Detectors:
Function IERC20Permit.DOMAIN_SEPARATOR() (src/v0.8/vendor/openzeppelin-solidity/v4.8.0/token/ERC20/extensions/draft-IERC20Permit.sol#59) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Detectors:
Internal.EVM_2_EVM_MESSAGE_HASH (src/v0.8/ccip/libraries/Internal.sol#69) is never used in Internal (src/v0.8/ccip/libraries/Internal.sol#8-103)
MerkleMultiProof.LEAF_DOMAIN_SEPARATOR (src/v0.8/ccip/libraries/MerkleMultiProof.sol#6) is never used in MerkleMultiProof (src/v0.8/ccip/libraries/MerkleMultiProof.sol#4-113)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-state-variable
INFO:Slither:0xe561d5e02207fb5eb32cca20a699e0d8919a1476 analyzed (22 contracts with 87 detectors), 76 result(s) found
```
Slither report for TransparentUpgradeableProxy at `0xEd42a7D8559a463722Ca4beD50E0Cc05a386b0e1` with implementation CrossChainController at `0x0Bf5bbfaE7808D329e0Ba8277e0b746BbfDA68f1`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0xed42a7d8559a463722ca4bed50e0cc05a386b0e1-TransparentUpgradeableProxy' running
INFO:Detectors:
TransparentUpgradeableProxy.admin() (src/contracts/transparent-proxy/TransparentUpgradeableProxy.sol#69-71) calls TransparentUpgradeableProxy.ifAdmin() (src/contracts/transparent-proxy/TransparentUpgradeableProxy.sol#52-58) which halt the execution return(uint256,uint256)(0,returndatasize()()) (src/contracts/transparent-proxy/Proxy.sol#48)
TransparentUpgradeableProxy.implementation() (src/contracts/transparent-proxy/TransparentUpgradeableProxy.sol#82-84) calls TransparentUpgradeableProxy.ifAdmin() (src/contracts/transparent-proxy/TransparentUpgradeableProxy.sol#52-58) which halt the execution return(uint256,uint256)(0,returndatasize()()) (src/contracts/transparent-proxy/Proxy.sol#48)
TransparentUpgradeableProxy.changeAdmin(address) (src/contracts/transparent-proxy/TransparentUpgradeableProxy.sol#93-95) calls TransparentUpgradeableProxy.ifAdmin() (src/contracts/transparent-proxy/TransparentUpgradeableProxy.sol#52-58) which halt the execution return(uint256,uint256)(0,returndatasize()()) (src/contracts/transparent-proxy/Proxy.sol#48)
TransparentUpgradeableProxy.upgradeTo(address) (src/contracts/transparent-proxy/TransparentUpgradeableProxy.sol#102-104) calls TransparentUpgradeableProxy.ifAdmin() (src/contracts/transparent-proxy/TransparentUpgradeableProxy.sol#52-58) which halt the execution return(uint256,uint256)(0,returndatasize()()) (src/contracts/transparent-proxy/Proxy.sol#48)
TransparentUpgradeableProxy.upgradeToAndCall(address,bytes) (src/contracts/transparent-proxy/TransparentUpgradeableProxy.sol#113-118) calls TransparentUpgradeableProxy.ifAdmin() (src/contracts/transparent-proxy/TransparentUpgradeableProxy.sol#52-58) which halt the execution return(uint256,uint256)(0,returndatasize()()) (src/contracts/transparent-proxy/Proxy.sol#48)
TransparentUpgradeableProxy.ifAdmin() (src/contracts/transparent-proxy/TransparentUpgradeableProxy.sol#52-58) calls Proxy._fallback() (src/contracts/transparent-proxy/Proxy.sol#64-67) which halt the execution return(uint256,uint256)(0,returndatasize()()) (src/contracts/transparent-proxy/Proxy.sol#48)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-assembly-return
INFO:Detectors:
ERC1967Upgrade._upgradeToAndCall(address,bytes,bool) (src/contracts/transparent-proxy/ERC1967Upgrade.sol#84-93) ignores return value by Address.functionDelegateCall(newImplementation,data) (src/contracts/transparent-proxy/ERC1967Upgrade.sol#91)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return
INFO:Detectors:
Modifier TransparentUpgradeableProxy.ifAdmin() (src/contracts/transparent-proxy/TransparentUpgradeableProxy.sol#52-58) does not always execute _; or revertReference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-modifier
INFO:Detectors:
Address._revert(bytes,string) (src/contracts/oz-common/Address.sol#235-247) uses assembly
- INLINE ASM (src/contracts/oz-common/Address.sol#240-243)
StorageSlot.getAddressSlot(bytes32) (src/contracts/oz-common/StorageSlot.sol#53-58) uses assembly
- INLINE ASM (src/contracts/oz-common/StorageSlot.sol#55-57)
StorageSlot.getBooleanSlot(bytes32) (src/contracts/oz-common/StorageSlot.sol#63-68) uses assembly
- INLINE ASM (src/contracts/oz-common/StorageSlot.sol#65-67)
StorageSlot.getBytes32Slot(bytes32) (src/contracts/oz-common/StorageSlot.sol#73-78) uses assembly
- INLINE ASM (src/contracts/oz-common/StorageSlot.sol#75-77)
StorageSlot.getUint256Slot(bytes32) (src/contracts/oz-common/StorageSlot.sol#83-88) uses assembly
- INLINE ASM (src/contracts/oz-common/StorageSlot.sol#85-87)
Proxy._delegate(address) (src/contracts/transparent-proxy/Proxy.sol#28-51) uses assembly
- INLINE ASM (src/contracts/transparent-proxy/Proxy.sol#29-50)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
Address.functionCall(address,bytes) (src/contracts/oz-common/Address.sol#86-88) is never used and should be removed
Address.functionCall(address,bytes,string) (src/contracts/oz-common/Address.sol#96-102) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (src/contracts/oz-common/Address.sol#115-121) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (src/contracts/oz-common/Address.sol#129-138) is never used and should be removed
Address.functionStaticCall(address,bytes) (src/contracts/oz-common/Address.sol#146-151) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (src/contracts/oz-common/Address.sol#159-166) is never used and should be removed
Address.sendValue(address,uint256) (src/contracts/oz-common/Address.sol#61-66) is never used and should be removed
Address.verifyCallResult(bool,bytes,string) (src/contracts/oz-common/Address.sol#223-233) is never used and should be removed
StorageSlot.getBooleanSlot(bytes32) (src/contracts/oz-common/StorageSlot.sol#63-68) is never used and should be removed
StorageSlot.getBytes32Slot(bytes32) (src/contracts/oz-common/StorageSlot.sol#73-78) is never used and should be removed
StorageSlot.getUint256Slot(bytes32) (src/contracts/oz-common/StorageSlot.sol#83-88) is never used and should be removed
TransparentUpgradeableProxy._admin() (src/contracts/transparent-proxy/TransparentUpgradeableProxy.sol#123-125) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Low level call in Address.sendValue(address,uint256) (src/contracts/oz-common/Address.sol#61-66):
- (success) = recipient.call{value: amount}() (src/contracts/oz-common/Address.sol#64)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (src/contracts/oz-common/Address.sol#129-138):
- (success,returndata) = target.call{value: value}(data) (src/contracts/oz-common/Address.sol#136)
Low level call in Address.functionStaticCall(address,bytes,string) (src/contracts/oz-common/Address.sol#159-166):
- (success,returndata) = target.staticcall(data) (src/contracts/oz-common/Address.sol#164)
Low level call in Address.functionDelegateCall(address,bytes,string) (src/contracts/oz-common/Address.sol#184-191):
- (success,returndata) = target.delegatecall(data) (src/contracts/oz-common/Address.sol#189)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
INFO:Slither:0xed42a7d8559a463722ca4bed50e0cc05a386b0e1 analyzed (6 contracts with 87 detectors), 30 result(s) found
```
Slither report for FxTunnelEthereum at `0xF30FA9e36FdDd4982B722432FD39914e9ab2b033`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts/crytic-export/etherscan-contracts/0xf30fa9e36fddd4982b722432fd39914e9ab2b033-FxTunnelEthereum' running
Warning: Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing "SPDX-License-Identifier: " to each source file. Use "SPDX-License-Identifier: UNLICENSED" for non-open-source code. Please see https://spdx.org for more information.
--> lib/fx-portal/contracts/lib/ExitPayloadReader.sol
Warning: Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing "SPDX-License-Identifier: " to each source file. Use "SPDX-License-Identifier: UNLICENSED" for non-open-source code. Please see https://spdx.org for more information.
--> lib/fx-portal/contracts/lib/RLPReader.sol
Warning: Warning: Unnamed return variable can remain unassigned. Add an explicit return with value to all non-reverting code paths or name the variable.
--> lib/fx-portal/contracts/lib/MerklePatriciaProof.sol:20:30:
|
20 | ) internal pure returns (bool) {
| ^^^^
INFO:Detectors:
FxBaseRootTunnel._checkBlockMembershipInCheckpoint(uint256,uint256,bytes32,bytes32,uint256,bytes) (lib/fx-portal/contracts/tunnel/FxBaseRootTunnel.sol#129-148) ignores return value by (headerRoot,startBlock,createdAt) = checkpointManager.headerBlocks(headerNumber) (lib/fx-portal/contracts/tunnel/FxBaseRootTunnel.sol#137)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return
INFO:Detectors:
FxBaseRootTunnel.setFxChildTunnel(address)._fxChildTunnel (lib/fx-portal/contracts/tunnel/FxBaseRootTunnel.sol#57) lacks a zero-check on :
- fxChildTunnel = _fxChildTunnel (lib/fx-portal/contracts/tunnel/FxBaseRootTunnel.sol#59)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation
INFO:Detectors:
ExitPayloadReader.copy(uint256,uint256,uint256) (lib/fx-portal/contracts/lib/ExitPayloadReader.sol#31-57) uses assembly
- INLINE ASM (lib/fx-portal/contracts/lib/ExitPayloadReader.sol#40-42)
- INLINE ASM (lib/fx-portal/contracts/lib/ExitPayloadReader.sol#52-56)
ExitPayloadReader.getReceipt(ExitPayloadReader.ExitPayload) (lib/fx-portal/contracts/lib/ExitPayloadReader.sol#89-113) uses assembly
- INLINE ASM (lib/fx-portal/contracts/lib/ExitPayloadReader.sol#102-105)
Merkle.checkMembership(bytes32,uint256,bytes32,bytes) (lib/fx-portal/contracts/lib/Merkle.sol#5-33) uses assembly
- INLINE ASM (lib/fx-portal/contracts/lib/Merkle.sol#20-22)
RLPReader.toRlpItem(bytes) (lib/fx-portal/contracts/lib/RLPReader.sol#52-59) uses assembly
- INLINE ASM (lib/fx-portal/contracts/lib/RLPReader.sol#54-56)
RLPReader.isList(RLPReader.RLPItem) (lib/fx-portal/contracts/lib/RLPReader.sol#108-119) uses assembly
- INLINE ASM (lib/fx-portal/contracts/lib/RLPReader.sol#113-115)
RLPReader.rlpBytesKeccak256(RLPReader.RLPItem) (lib/fx-portal/contracts/lib/RLPReader.sol#125-133) uses assembly
- INLINE ASM (lib/fx-portal/contracts/lib/RLPReader.sol#129-131)
RLPReader.payloadKeccak256(RLPReader.RLPItem) (lib/fx-portal/contracts/lib/RLPReader.sol#146-153) uses assembly
- INLINE ASM (lib/fx-portal/contracts/lib/RLPReader.sol#149-151)
RLPReader.toRlpBytes(RLPReader.RLPItem) (lib/fx-portal/contracts/lib/RLPReader.sol#158-169) uses assembly
- INLINE ASM (lib/fx-portal/contracts/lib/RLPReader.sol#163-165)
RLPReader.toBoolean(RLPReader.RLPItem) (lib/fx-portal/contracts/lib/RLPReader.sol#172-181) uses assembly
- INLINE ASM (lib/fx-portal/contracts/lib/RLPReader.sol#176-178)
RLPReader.toUint(RLPReader.RLPItem) (lib/fx-portal/contracts/lib/RLPReader.sol#190-208) uses assembly
- INLINE ASM (lib/fx-portal/contracts/lib/RLPReader.sol#198-205)
RLPReader.toUintStrict(RLPReader.RLPItem) (lib/fx-portal/contracts/lib/RLPReader.sol#211-222) uses assembly
- INLINE ASM (lib/fx-portal/contracts/lib/RLPReader.sol#217-219)
RLPReader.toBytes(RLPReader.RLPItem) (lib/fx-portal/contracts/lib/RLPReader.sol#224-238) uses assembly
- INLINE ASM (lib/fx-portal/contracts/lib/RLPReader.sol#232-234)
RLPReader._itemLength(uint256) (lib/fx-portal/contracts/lib/RLPReader.sol#260-290) uses assembly
- INLINE ASM (lib/fx-portal/contracts/lib/RLPReader.sol#263-265)
- INLINE ASM (lib/fx-portal/contracts/lib/RLPReader.sol#270-276)
- INLINE ASM (lib/fx-portal/contracts/lib/RLPReader.sol#280-286)
RLPReader._payloadOffset(uint256) (lib/fx-portal/contracts/lib/RLPReader.sol#293-305) uses assembly
- INLINE ASM (lib/fx-portal/contracts/lib/RLPReader.sol#295-297)
RLPReader.copy(uint256,uint256,uint256) (lib/fx-portal/contracts/lib/RLPReader.sol#312-339) uses assembly
- INLINE ASM (lib/fx-portal/contracts/lib/RLPReader.sol#321-323)
- INLINE ASM (lib/fx-portal/contracts/lib/RLPReader.sol#334-338)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
INFO:Detectors:
FxBaseRootTunnel._validateAndExtractMessage(bytes) (lib/fx-portal/contracts/tunnel/FxBaseRootTunnel.sol#74-127) compares to a boolean constant:
-require(bool,string)(processedExits[exitHash] == false,FxRootTunnel: EXIT_ALREADY_PROCESSED) (lib/fx-portal/contracts/tunnel/FxBaseRootTunnel.sol#91)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#boolean-equality
INFO:Detectors:
ExitPayloadReader.getBranchMaskAsUint(ExitPayloadReader.ExitPayload) (lib/fx-portal/contracts/lib/ExitPayloadReader.sol#123-125) is never used and should be removed
ExitPayloadReader.toRlpBytes(ExitPayloadReader.Log) (lib/fx-portal/contracts/lib/ExitPayloadReader.sol#154-156) is never used and should be removed
RLPReader.hasNext(RLPReader.Iterator) (lib/fx-portal/contracts/lib/RLPReader.sol#44-47) is never used and should be removed
RLPReader.iterator(RLPReader.RLPItem) (lib/fx-portal/contracts/lib/RLPReader.sol#66-71) is never used and should be removed
RLPReader.next(RLPReader.Iterator) (lib/fx-portal/contracts/lib/RLPReader.sol#29-37) is never used and should be removed
RLPReader.payloadKeccak256(RLPReader.RLPItem) (lib/fx-portal/contracts/lib/RLPReader.sol#146-153) is never used and should be removed
RLPReader.payloadLen(RLPReader.RLPItem) (lib/fx-portal/contracts/lib/RLPReader.sol#83-85) is never used and should be removed
RLPReader.payloadLocation(RLPReader.RLPItem) (lib/fx-portal/contracts/lib/RLPReader.sol#135-140) is never used and should be removed
RLPReader.rlpBytesKeccak256(RLPReader.RLPItem) (lib/fx-portal/contracts/lib/RLPReader.sol#125-133) is never used and should be removed
RLPReader.rlpLen(RLPReader.RLPItem) (lib/fx-portal/contracts/lib/RLPReader.sol#76-78) is never used and should be removed
RLPReader.toBoolean(RLPReader.RLPItem) (lib/fx-portal/contracts/lib/RLPReader.sol#172-181) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
INFO:Detectors:
Parameter FxBaseRootTunnel.setFxChildTunnel(address)._fxChildTunnel (lib/fx-portal/contracts/tunnel/FxBaseRootTunnel.sol#57) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Detectors:
Variable FxTunnelEthereum._processMessageFromChild(bytes).decodedMessage (src/contracts/adapters/polygon/tunnel/FxTunnelEthereum.sol#35) is too similar to FxTunnelEthereum.sendMessage(address,bytes).encodedMessage (src/contracts/adapters/polygon/tunnel/FxTunnelEthereum.sol#27)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#variable-names-too-similar
INFO:Detectors:
FxBaseRootTunnel.checkpointManager (lib/fx-portal/contracts/tunnel/FxBaseRootTunnel.sol#44) should be immutable
FxBaseRootTunnel.fxRoot (lib/fx-portal/contracts/tunnel/FxBaseRootTunnel.sol#42) should be immutable
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-immutable
INFO:Slither:0xf30fa9e36fddd4982b722432fd39914e9ab2b033 analyzed (10 contracts with 87 detectors), 33 result(s) found
```
Slither report for FxRoot at `0xfe5e5D361b2ad62c541bAb87C45a0B9B018389a2`
```
'solc --standard-json --allow-paths /home/runner/work/seatbelt-for-ghosts/seatbelt-for-ghosts' running
INFO:Detectors:
FxRoot.setFxChild(address)._fxChild (crytic-export/etherscan-contracts/0xfe5e5d361b2ad62c541bab87c45a0b9b018389a2-FxRoot.sol#24) lacks a zero-check on :
- fxChild = _fxChild (crytic-export/etherscan-contracts/0xfe5e5d361b2ad62c541bab87c45a0b9b018389a2-FxRoot.sol#26)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation
INFO:Detectors:
Parameter FxRoot.setFxChild(address)._fxChild (crytic-export/etherscan-contracts/0xfe5e5d361b2ad62c541bab87c45a0b9b018389a2-FxRoot.sol#24) is not in mixedCase
Parameter FxRoot.sendMessageToChild(address,bytes)._receiver (crytic-export/etherscan-contracts/0xfe5e5d361b2ad62c541bab87c45a0b9b018389a2-FxRoot.sol#29) is not in mixedCase
Parameter FxRoot.sendMessageToChild(address,bytes)._data (crytic-export/etherscan-contracts/0xfe5e5d361b2ad62c541bab87c45a0b9b018389a2-FxRoot.sol#29) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Detectors:
FxRoot.stateSender (crytic-export/etherscan-contracts/0xfe5e5d361b2ad62c541bab87c45a0b9b018389a2-FxRoot.sol#17) should be immutable
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-immutable
INFO:Slither:0xfe5e5d361b2ad62c541bab87c45a0b9b018389a2 analyzed (3 contracts with 87 detectors), 5 result(s) found
```