(facet)
| 169 | } |
| 170 | |
| 171 | export async function getBytecodeFromFacet(facet) { |
| 172 | const facetName = facet.name |
| 173 | const libs = facet.libs |
| 174 | const factoryFileName = findFileInDir( |
| 175 | `${facetName}__factory.ts`, |
| 176 | `./typechain/factories/`, |
| 177 | ) |
| 178 | if (factoryFileName === null) { |
| 179 | throw new Error('Typescript bindings for Facet not found') |
| 180 | } |
| 181 | const bytecodeNeedsLink = |
| 182 | getBytecodeFromFacetTypeChainFilename(factoryFileName) |
| 183 | let libs2 = {} |
| 184 | // Loop through each key in the libs |
| 185 | for (let key in libs) { |
| 186 | let newKey = `src/lib/${key}.sol:${key}` |
| 187 | libs2[newKey] = libs[key] |
| 188 | } |
| 189 | |
| 190 | // Link the bytecode with the libraries |
| 191 | const bytecode = linker.linkBytecode(bytecodeNeedsLink, libs2) |
| 192 | return await getRuntimeBytecode(bytecode) |
| 193 | } |
| 194 | |
| 195 | function getBytecodeFromFacetTypeChainFilename(fileName) { |
| 196 | try { |
no test coverage detected