diff --git a/packages/contracts/contracts/L2/teleportr/TeleportrDisburser.sol b/packages/contracts/contracts/L2/teleportr/TeleportrDisburser.sol index 8c3584b77e0d4efcd5c8039e40fe81920d19becb..3338fcde4b979b23bac85066ae09adc17fb1d31a 100644 --- a/packages/contracts/contracts/L2/teleportr/TeleportrDisburser.sol +++ b/packages/contracts/contracts/L2/teleportr/TeleportrDisburser.sol @@ -92,8 +92,7 @@ contract TeleportrDisburser is Ownable { // rather than reverting to prevent blocking progress on other // disbursements. - //slither-disable-next-line calls-inside-a-loop - //slither-disable-next-line reentrancy-vulnerabilities-3 + // slither-disable-next-line calls-loop,reentrancy-events (bool success, ) = _addr.call{ value: _amount, gas: 2300 }(""); if (success) emit DisbursementSuccess(_depositId, _addr, _amount); else emit DisbursementFailed(_depositId, _addr, _amount); diff --git a/packages/contracts/docs/Initializable.md b/packages/contracts/docs/Initializable.md index bc953adafc4658c5109138d7b464bfdcf6c43301..ed0238c0c23971862c3ef1d644b90285eaac13ca 100644 --- a/packages/contracts/docs/Initializable.md +++ b/packages/contracts/docs/Initializable.md @@ -6,7 +6,7 @@ -*This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed behind a proxy. Since a proxied contract can't have a constructor, it's common to move constructor logic to an external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer function so it can only be called once. The {initializer} modifier provided by this contract will have this effect. TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as possible by providing the encoded function call as the `_data` argument to {ERC1967Proxy-constructor}. CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure that all initializers are idempotent. This is not verified automatically as constructors are by Solidity.* +*This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed behind a proxy. Since a proxied contract can't have a constructor, it's common to move constructor logic to an external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer function so it can only be called once. The {initializer} modifier provided by this contract will have this effect. TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as possible by providing the encoded function call as the `_data` argument to {ERC1967Proxy-constructor}. CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure that all initializers are idempotent. This is not verified automatically as constructors are by Solidity. [CAUTION] ==== Avoid leaving a contract uninitialized. An uninitialized contract can be taken over by an attacker. This applies to both a proxy and its implementation contract, which may impact the proxy. To initialize the implementation contract, you can either invoke the initializer manually, or you can include a constructor to automatically mark it as initialized when it is deployed: [.hljs-theme-light.nopadding] ```*