considere el siguiente fragmento de código:
let proposals = JSON.parse(fs.readFileSync(proposalsFile, "utf8")) proposals[network.config.chainId!.toString()].push(proposalId.toString()) fs.writeFileSync(proposalsFile, JSON.stringify(proposals)) El archivo de propuesta inicial contiene lo siguiente: { '31337': [] }
No entiendo lo que está sucediendo en la segunda línea de arriba. ¿Cómo puede el índice de la matriz proposals[] ser de tipo String, si de hecho es una matriz?
¿Cuál es el significado de ! en ChainId! ?
Las ejecuciones posteriores de este script darán como resultado que se agreguen cadenas en el archivo de proposalFile :
{"31337":["21810620491323861737494108894072031792136914678422989467418569109597477706871","21810620491323861737494108894072031792136914678422989467418569109597477706871"]}Entiendo por qué se hace esto, no entiendo cómo el fragmento de código da como resultado el archivo JSON anterior. El contexto original de este fragmento se puede encontrar aquí: https://github.com/PatrickAlphaC/dao-template/blob/main/scripts/propose.ts