tangle icon indicating copy to clipboard operation
tangle copied to clipboard

[CHECKLIST] E2E Integration of MPC jobs

Open 1xstj opened this issue 1 year ago • 1 comments

Issue: End-to-End Integration of Mpc Jobs Flow

Jobs/Roles Pallet

  • [x] Jobs Pallet Implementation

    • [x] https://github.com/webb-tools/tangle/issues/289
    • [x] https://github.com/webb-tools/tangle/issues/290
    • [x] https://github.com/webb-tools/tangle/issues/301
    • [x] #318
    • [x] #326
    • [x] #327
    • [x] #337
  • [x] Roles Pallet Implementation

    • [x] https://github.com/webb-tools/tangle/issues/291
    • [x] https://github.com/webb-tools/tangle/issues/292
    • [x] https://github.com/webb-tools/tangle/issues/293
    • [x] #287
    • [X] #308
    • [x] #325
  • [X] Integrate roles/jobs and protocol pallets to testnet runtime (https://github.com/webb-tools/tangle/issues/289)

Protocol Pallets

  • [x] DKG Pallet

    • [x] Integrate the dkg pallet from dkg-substrate (#314)
    • [x] Implement the required traits for jobs/roles pallet (#314)
  • [x] zkSaas Pallet

    • [x] #319
    • [x] #320

Gadget Work

  • [ ] Gadget Integration
    • [x] https://github.com/webb-tools/tangle/issues/283
    • [x] #333
    • [x] https://github.com/webb-tools/gadget/issues/3

Post integration work

  • [ ] Update all weights
  • [ ] Document runtime extrinsics

Integration test

DKG

  1. All validators sign up for the DKG role and restake all their tokens.
  2. A user submits a Phase 1 job through PolkadotJS app, run a DKG w/ all participants (3,5)
  3. Verify success of first job, DKG key created, verify job result onchain and other metadata.
  4. A user submits a Phase 2 job through PolkadotJS app, run a TSS.
  5. Verify success of job, signature created, verify job result onchain and other metadata.

zkSaaS

  1. All validators sign up for the DKG role and restake all their tokens.
  2. A user submits a Phase 1 job through PolkadotJS app, run a zkSaaS w/ all participants (1,4)
  3. A user submits a Phase 2 job through PolkadotJS app, run a zkSaaS proof generation.
  4. Verify success of job, proof created, verify job result onchain and other metadata.
  5. Simulate a withdrawal/transfer from Webb's bridge.

Webb bridge

  1. All validators sign up for the DKG role and restake all their tokens.
  2. Webb submits a Phase 1 job, run DKG w/ all participants, use a signing rule that supports democracy + voting.
  3. Deploy a bridge, make a deposit, make a withdrawal use zkSaaS flow here as well.
  4. Use the relayer to catch the events.
  5. Update the relayer to submit Txes to EVM contract on Tangle rather than Substrate pallet (dkg-proposals).
  6. Verify a Phase 2 job gets submitted and signed.
  7. Update the relayer to watch for completed jobs under the Phase 1 job ID, catch the job result.
  8. Submit to the bridges.

1xstj avatar Nov 14 '23 12:11 1xstj