Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Offchain Signing Manager Pallet #230

Open
arrudagates opened this issue Apr 5, 2024 · 0 comments
Open

Offchain Signing Manager Pallet #230

arrudagates opened this issue Apr 5, 2024 · 0 comments

Comments

@arrudagates
Copy link
Member

arrudagates commented Apr 5, 2024

We need a pallet to manage the TSS system and to give an interface for payload signature request by users + signed payload delivery by TSS nodes.

WIP architecture:

type Payload = Vec<u8>;

config {
  MinimumParticipants: u32;
}

storages {
  SignatureRequests: Hash -> Payload;
  CurrentNodes: AccountId32 -> EcdsaPubKey;
}

offchain worker {
  // get offchain storage of signature requests
  // if different from current storage, set to new one
  // get offchain storage of requests already being processed
  // if any new request not in processing storage, begin tss process

  // if any finished request still in onchain requests storage then submit deliver_signed_payload call
}

calls {
  request_signature(payload: Payload); // Submitted by user

  deliver_signed_payload(hash: Hash, signature: Signature); // Submitted by one of the TSS nodes

  set_participants_and_threshold(threshold: u32, participants: Vec<Participant>) // Root-only call
}

There has to be an automated way to signal a new node entering the set and a way to kick out nodes inactive for too long.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant