MCPcopy Index your code
hub / github.com/dethcrypto/TypeChain / extractLinkReferences

Function extractLinkReferences

packages/typechain/src/parser/abiParser.ts:460–474  ·  view source on GitHub ↗
(_bytecode: string, linkReferencesObj?: any)

Source from the content-addressed store, hash-verified

458}
459
460function extractLinkReferences(_bytecode: string, linkReferencesObj?: any): BytecodeWithLinkReferences {
461 const bytecode = ensure0xPrefix(_bytecode)
462 // See comment in `extractBytecode` for explanation.
463 const allLinkReferencesRegex = /__[a-zA-Z0-9/\\:_$.-]{36}__/g
464 const allReferences = bytecode.match(allLinkReferencesRegex)
465 if (!allReferences) return { bytecode }
466
467 const uniqueReferences = Array.from(new Set(allReferences))
468 const refToNameMap = linkReferencesObj ? extractLinkReferenceContractNames(linkReferencesObj) : {}
469 const linkReferences = uniqueReferences.map((reference) =>
470 refToNameMap[reference] ? { reference, name: refToNameMap[reference] } : { reference },
471 )
472
473 return { bytecode, linkReferences }
474}
475
476// Returns mapping from link reference (bytecode fake address) to readable contract name
477function extractLinkReferenceContractNames(linkReferences: any): Dictionary<string> {

Callers 1

extractBytecodeFunction · 0.85

Calls 2

ensure0xPrefixFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…