smartcontractkit / ccip

Cross Chain Interoperability Protocol
Other
119 stars 47 forks source link

add CCIPEncodingUtils contract and gethwrapper #1429

Closed RyanRHall closed 1 month ago

RyanRHall commented 1 month ago

Motivation

I encountered a scenario w/ RMN where offchain needs to abi.encode a struct that is not included in any public contract functions (as input param or return value) and so it is not a part of the ABI or the go wrapper. Offchain is currently doing a manual encoding by re-defining the type, which I usually try to avoid at all costs. In the past, we've used a Utils contract (ex here from automation) to expose all private structs in public functions so that offchain components can use E2E type safety when encoding / decoding.

Solution

Create a CCIPEncodingUtils contract and accompanying gethwrapper

github-actions[bot] commented 1 month ago

LCOV of commit f4c616f during Solidity Foundry #8141

Summary coverage rate:
  lines......: 97.6% (2195 of 2248 lines)
  functions..: 94.5% (411 of 435 functions)
  branches...: 93.4% (524 of 561 branches)

Files changed coverage rate: n/a
cl-sonarqube-production[bot] commented 1 month ago

Quality Gate passed Quality Gate passed

Issues
0 New issues
0 Fixed issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarQube