-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release/2024 04 11 #2487
Release/2024 04 11 #2487
Conversation
Co-authored-by: Trajan0x <trajan0x@users.noreply.github.com>
* Deploy RFQ to Base * Chore: order chains alphabetically --------- Co-authored-by: ChiTimesChi <88190723+ChiTimesChi@users.noreply.github.com>
* feat(services/rfq): use one submitter * rfq fix --------- Co-authored-by: Trajan0x <trajan0x@users.noreply.github.com>
Co-authored-by: Trajan0x <trajan0x@users.noreply.github.com>
* Feat: set DefaultGasBumpPercentage to 10 * Feat: bump fee cap in addition to tip cap * Feat: traces * Fix: tests * Fix: test
Co-authored-by: Trajan0x <trajan0x@users.noreply.github.com>
Co-authored-by: Trajan0x <trajan0x@users.noreply.github.com>
* experiment w/ more shallow clones * remove submodule clones from go change detection --------- Co-authored-by: Trajan0x <trajan0x@users.noreply.github.com>
Co-authored-by: Trajan0x <trajan0x@users.noreply.github.com>
Co-authored-by: Trajan0x <trajan0x@users.noreply.github.com>
Co-authored-by: Trajan0x <trajan0x@users.noreply.github.com>
Co-authored-by: Trajan0x <trajan0x@users.noreply.github.com>
* add aurelis decoder * doublequote * handle type 0 transactions * ignore txdecoder --------- Co-authored-by: Trajan0x <trajan0x@users.noreply.github.com> Co-authored-by: aureliusbtc <82057759+aureliusbtc@users.noreply.github.com>
* Bump nvmrc to 18.17.0 * Adds vercel pkg * Upgrades next-on-pages
* Test autobump from 0.0.4
…#2439) * Add utils for getting current gas pricing info * Add "fill gas price automatically" option * Update recommended values * Don't bother copying ABI in the scripts * Copy deployed contract ABI in the post-script routine * Add ETH Sepolia to config for testing * Add example of a saved deployment artifact * Add setup instructions to README.md * Isolate "save new deployment" routine, add standalone helper * Add standalone util for verifying contracts * Redact sensitive keys in logCommand function * Add standalone util for verifying proxy on Etherscan * Modify example script * Add usage docs * Apply Rabbit suggestions Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Fix: lint * Fix some smol errors --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* add careers link throughout the page * add EventLog for rfq * adding RFQ sql model * adding flattened RFQ contracts * all types for RFQ * adding RFQ request and updating naming * small nits around event types * adding the parser * adding parser and build * finishing up the fetcher * testing suite all configured * updating write functions to the db * nomenclature cleanup * all tests passing but backfill and working on logging here * all tests passing * fixing all linting errors * typo * maintenence * revert resolver test changes not needed
* Fix: use separate gas thresh for origin and destination * Feat: add test for HasSufficientGas
This reverts commit 3710485.
Important Auto Review SkippedMore than 25% of the files skipped due to max files limit. The review is being skipped to prevent a low-quality review. 186 files out of 290 files are above the max files limit of 50. Please upgrade to Pro plan to get higher limits. Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
Deploying sanguine-fe with Cloudflare Pages
|
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## fe-release #2487 +/- ##
====================================================
+ Coverage 46.88720% 47.40576% +0.51856%
====================================================
Files 383 435 +52
Lines 29202 30587 +1385
Branches 83 304 +221
====================================================
+ Hits 13692 14500 +808
- Misses 14049 14612 +563
- Partials 1461 1475 +14
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
function getPayloadFromMemory(bytes memory versionedPayload) internal view returns (bytes memory payload) { | ||
if (versionedPayload.length < VERSION_LENGTH) { | ||
revert VersionedPayload__TooShort(versionedPayload); | ||
} | ||
// Figure how many bytes to copy and allocate the memory for the extracted payload. | ||
uint256 toCopy; | ||
unchecked { | ||
toCopy = versionedPayload.length - VERSION_LENGTH; | ||
} | ||
payload = new bytes(toCopy); | ||
// Use identity precompile (0x04) to copy the payload. Unlike MCOPY, this is available on all EVM chains. | ||
bool res; | ||
assembly { | ||
// We add 0x20 to skip the length of the bytes array. | ||
// We add 0x02 to skip the 2 bytes reserved for the version. | ||
// Copy the payload to the previously allocated memory. | ||
res := staticcall(gas(), 0x04, add(versionedPayload, 0x22), toCopy, add(payload, 0x20), toCopy) | ||
} | ||
if (!res) { | ||
revert VersionedPayload__PrecompileFailed(); | ||
} | ||
} |
Check warning
Code scanning / Slither
Assembly usage Warning
function getVersion(bytes calldata versionedPayload) internal pure returns (uint16 version) { | ||
if (versionedPayload.length < VERSION_LENGTH) { | ||
revert VersionedPayload__TooShort(versionedPayload); | ||
} | ||
assembly { | ||
// We are only interested in the highest 16 bits of the loaded full 32 bytes word. | ||
version := shr(240, calldataload(versionedPayload.offset)) | ||
} | ||
} |
Check warning
Code scanning / Slither
Assembly usage Warning
function getVersionFromMemory(bytes memory versionedPayload) internal pure returns (uint16 version) { | ||
if (versionedPayload.length < VERSION_LENGTH) { | ||
revert VersionedPayload__TooShort(versionedPayload); | ||
} | ||
assembly { | ||
// We are only interested in the highest 16 bits of the loaded full 32 bytes word. | ||
// We add 0x20 to skip the length of the bytes array. | ||
version := shr(240, mload(add(versionedPayload, 0x20))) | ||
} | ||
} |
Check warning
Code scanning / Slither
Assembly usage Warning
|
||
/// @notice Get the version of the Interchain DataBase. | ||
// solhint-disable-next-line func-name-mixedcase | ||
function DB_VERSION() external pure returns (uint16); |
Check warning
Code scanning / Slither
Conformance to Solidity naming conventions Warning
function _sendMessage(uint256 dstChainId, uint256 messageFee, uint256 gasLimit, bytes memory message) internal { | ||
bytes32 dstRemote = trustedRemotes[dstChainId]; | ||
if (dstRemote == 0) { | ||
revert LegacyReceiver__TrustedRemoteNotSet(dstChainId); | ||
} | ||
if (address(this).balance < messageFee) { | ||
revert LegacyReceiver__BalanceTooLow(address(this).balance, messageFee); | ||
} | ||
bytes memory options = LegacyOptionsLib.encodeLegacyOptions(gasLimit); | ||
IMessageBus(messageBus).sendMessage{value: messageFee}({ | ||
receiver: dstRemote, | ||
dstChainId: dstChainId, | ||
message: message, | ||
options: options | ||
}); | ||
} |
Check failure
Code scanning / Slither
Functions that send Ether to arbitrary destinations High
Dangerous calls:
- IMessageBus(messageBus).sendMessage{value: messageFee}({receiver:dstRemote,dstChainId:dstChainId,message:message,options:options})
|
||
constructor(address owner_) Ownable(owner_) {} | ||
|
||
function setMessageBus(address messageBus_) external onlyOwner { |
Check notice
Code scanning / Slither
Missing zero address validation Low
- messageBus = messageBus_
function _sendPingPongMessage(uint256 dstChainId, uint256 counter, bool lowBalanceRevert) internal { | ||
uint256 pingFee = getPingFee(dstChainId); | ||
if (address(this).balance < pingFee && !lowBalanceRevert) { | ||
emit PingDisrupted(counter); | ||
return; | ||
} | ||
bytes memory message = abi.encode(counter); | ||
_sendMessage({dstChainId: dstChainId, messageFee: pingFee, gasLimit: gasLimit, message: message}); | ||
emit PingSent(counter); | ||
} |
Check notice
Code scanning / Slither
Reentrancy vulnerabilities Low
External calls:
- _sendMessage({dstChainId:dstChainId,messageFee:pingFee,gasLimit:gasLimit,message:message})
- IMessageBus(messageBus).sendMessage{value: messageFee}({receiver:dstRemote,dstChainId:dstChainId,message:message,options:options})
Event emitted after the call(s):
- PingSent(counter)
Description
A clear and concise description of the features you're adding in this pull request.
Additional context
Add any other context about the problem you're solving.
Metadata
41ea2f1b900fa6d0db51cf85c5449869f6c1e7a7: synapse-interface preview link
41ea2f1b900fa6d0db51cf85c5449869f6c1e7a7: explorer-ui preview link