MCPcopy Create free account
hub / github.com/ChainSafe/Delorean-Protocol / compareArrays

Function compareArrays

contracts/scripts/util.ts:259–290  ·  view source on GitHub ↗
(onChain, newArr)

Source from the content-addressed store, hash-verified

257}
258
259function compareArrays(onChain, newArr) {
260 const result = {
261 removedSelectors: [],
262 matchingSelectors: [],
263 addedSelectors: [],
264 }
265
266 // Create a Map for easier lookup
267 const onChainMap = new Map()
268 onChain.forEach((selector) => onChainMap.set(selector, true))
269
270 const newArrMap = new Map()
271 newArr.forEach((selector) => newArrMap.set(selector, true))
272
273 // Find matching and removed selectors
274 onChain.forEach((selector) => {
275 if (newArrMap.has(selector)) {
276 result.matchingSelectors.push(selector)
277 } else {
278 result.removedSelectors.push(selector)
279 }
280 })
281
282 // Find added selectors
283 newArr.forEach((selector) => {
284 if (!onChainMap.has(selector)) {
285 result.addedSelectors.push(selector)
286 }
287 })
288
289 return result
290}
291async function cutFacetOnChain(
292 diamondAddress: string,
293 replacementFacet: any,

Callers 1

upgradeFacetOnChainFunction · 0.85

Calls 1

hasMethod · 0.45

Tested by

no test coverage detected