Los siguientes pasos son necesarios para desplegar el Contexto de Sequence Wallet V1 en una nueva red.

Aviso
Para la mayoría de las redes populares este proceso no es necesario; ya que los contratos del wallet ya están desplegados. Para ver si ya existe una configuración para una cadena específica consulte Networks.

Un ejemplo completo de código para este flujo de despliegue se encuentra en el test suite de 0xSequence.js y en el repositorio de Wallet Contracts.

1 - Desplegar NanoUniversalDeployer

Dirección predefinida del método de Nick con los fondos necesarios para pagar el despliegue de los contratos.

Address: 0x9c5a87452d4FAC0cbd53BDCA580b20A45526B3AB

Funds: 0.02170000000014

No envíe fondos adicionales a la dirección, ya que no se pueden reembolsar.

Una vez que la dirección tenga fondos, puede desplegar el NanoUniversalDeployer ejecutando la siguiente transacción pre-firmada:

0xf9010880852416b84e01830222e08080b8b66080604052348015600f57600080fd5b50609980601d6000396000f3fe60a06020601f369081018290049091028201604052608081815260009260609284918190838280828437600092018290525084519495509392505060208401905034f5604080516001600160a01b0383168152905191935081900360200190a0505000fea26469706673582212205a310755225e3c740b2f013fb6343f4c205e7141fcdf15947f5f0e0e818727fb64736f6c634300060a00331ca01820182018201820182018201820182018201820182018201820182018201820a01820182018201820182018201820182018201820182018201820182018201820

Después de que la transacción se confirme, debería ver la dirección del NanoUniversalDeployer:

NanoUniversalDeployer: 0x9c5a87452d4FAC0cbd53BDCA580b20A45526B3AB

Vea más sobre el NanoUniversalDeployer.

2 - Desplegar UniversalDeployer2

Para desplegar contratos con un identificador de instancia, necesitamos desplegar el contrato UniversalDeployer2. Para asegurar la consistencia de la dirección usamos el contrato UniversalDeployer para desplegar el contrato UniversalDeployer.

Envíe los siguientes datos al UniversalDeployer desplegado en el paso anterior.

0x608060405234801561001057600080fd5b5061013d806100206000396000f3fe60806040526004361061001e5760003560e01c80639c4ae2d014610023575b600080fd5b6100cb6004803603604081101561003957600080fd5b81019060208101813564010000000081111561005457600080fd5b82018360208201111561006657600080fd5b8035906020019184600183028401116401000000008311171561008857600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050913592506100cd915050565b005b60008183516020850134f56040805173ffffffffffffffffffffffffffffffffffffffff83168152905191925081900360200190a050505056fea264697066735822122033609f614f03931b92d88c309d698449bb77efcd517328d341fa4f923c5d8c7964736f6c63430007060033

Después de que la transacción se confirme, debería ver la dirección del UniversalDeployer2:

UniversalDeployer2: 0x8a5bc19e22d6ad55a2c763b93a75d09f321fe764

3 - Desplegar el Contexto del Wallet

Compile y despliegue los contratos en el Wallet Context de Sequence usando el UniversalDeployer2.

Consulte el test suite de 0xSequence.js o el repositorio de Wallet Contracts para ver la base de código del Wallet Contract context.