automata-network / automata

Automata Network is a modular attestation layer that extends machine trust to Ethereum with TEE Coprocessors.
https://ata.network
Apache License 2.0
94 stars 19 forks source link

Upgrade to substrate v3.0.0 and pallets reimplementation #25

Closed RyuH1 closed 3 years ago

RyuH1 commented 3 years ago

The changes included in this PR:

  1. Refactoring the code base with substrate v3.0.0 node template
  2. Removed unnecessary runtime pallets imports
  3. Reimported the frontier modules for supporting EVM in substrate v3.0.0
  4. Refactored pallet-fulfillment into different pallets by their functionality, including:
    • pallet-attestor: maintenance of Attestor entity.
    • pallet-geode: maintenance of Geode entity.
    • pallet-liveness: interaction between Attestor and Geode including the attestation and misconduct reports.
  5. ReImplemented the logics in the above pallets, including compositing with Framework v2, data structures definition, storage declaration, and all the functions definition regardingly.
  6. Adding new RPC APIs such as:
    • attested_geode: return all the geodes being attested
    • attestor_attested_geode: return all the geodes being attested by a given attestor, with [u8; 32] as a parameter to indicate the account ID of the Attestor.
  7. Reset the spec_version to be 106 currently.