๐Ÿ“ŽChangelog

October 3, 2024

ZK-Certificates -> 0.11.0

  • The guardian registry smart contract now links to a metadata URL with information and it allows guardians to use multiple accounts for issuing zkCerts (#61)

  • New sybil-resistant airdrop smart contract based on zkKYC registrations with humanID (#64)

  • New sybil-resistant faucet smart contract based on zkKYC (#66)

  • Added a salt to the humanID for more privacy and tracking resistance (#67)

  • Fixed non-deterministic poseidon hash of โ€œโ€ (#69)

  • New script for debugging encrypted zkCerts (#70)

  • New Zk circuit for country sanction list (#72)

  • New Compliant ERC20 demo and smart contracts (#72)

  • Added a multicall smart contract (#74)

  • New smart contracts and ZK circuits for Twitter related proofs and how they are stored and managed in VerificationSBTs (#74)

  • New smart contracts for basic zkKYC proofs in new Galactica passport front-end (#75)

  • ZkCert hashes of key-value records are now alphabetically ordered. This ensures consistency, with future zkCerts and new content types. This changes the hashes of existing zkCerts and therefore requires updating the zkCert generation and ZK prover accordingly. To separate zkCerts with the hashing approach, we also created new zkCert registry instances on-chain. (#76)

  • Script for whitelisting guardians based on compressed EdDSA public keys (#78)

Galactica ZK Vault Snap -> 0.8.1

  • New method to benchmark ZK proof generation (#63)

  • Allow snap to handle larger, more complex ZK provers by moving them out of the request payload (#65)

  • Fixed compatibility issue with unknown zkCert types (#73)

Snap-API -> 0.3.0

  • Adjusted to new methods and parameter types (#63, #65)

Galactica-Types -> 0.4.0

  • New zkCert standards for Twitter, Rey and DEX certificates (#71, #73)

  • Removed root field from merkle proof type to remove a potential source of inconsistency (#79)

Example and Test Front-Ends -> 0.4.0

  • Integrated snap benchmark button (#63)

  • Integrated CompliantERC20 demo (#72)

Full Changelog: monorepo_v0.5.0...monorepo_v0.6.0

July 15, 2024

ZK-Certificates -> 0.10.2

  • Store multiple roots since the last revocation as valid to prevent fast expiration of inclusion proof (PR#49)

  • Adjust VerificationSBT to follow ERC721 standard (PR#53)

  • Added operation queue to prevent concurrency issue (PR#57)

  • Metadata fields name and symbol for verification SBT (#59)

Galactica ZK Vault Snap -> 0.7.3

  • Handling ZkCert salt as decimal string fixing JSON compatibility issues between TypeScript (using number) and Go (using uint64) (#58)

Snap-API -> 0.2.1

  • Multichain SDK config (#56)

Golang SDK for KYC Guardians -> 1.5.0

  • Improved compatibility with gip-1 zk-certificate standard (zkKYC) (PR#3)

  • Added support for a gip-2 zk-certificate standard (simpleJSON) (PR#1 PR#2)

  • Added an integration with the Merkle proof service for a faster zk-certificate issuance (PR#5)

  • Added support for zk-certificate smart-contract with the operation queue (PR#6)

  • Fixed bugs that prevented zk-certificates being recognized by the snap (PR#6)

May 15, 2024

ZK-Certificates -> 0.10.0

  • Config for Reticulum testnet (#44)

  • Generalized ZkCert infrastructure to multiple types, adding Twitter certificates including circuits, and smart contract (#42)

  • ERC721 standard for Verification SBTs (#53)

  • Updated zkKYC fields, humanID and requirements (#48)

  • Renamed zkKYC standard to gip1 (#50)

  • Improved concurrency of the ZkCert Registry (#49)

  • New Poseidon sponge circuit for hashing more than 16 inputs (#43)

  • Smaller Merkle tree variant (#52)

  • Fixed finding leaf indices in sparse merkle tree (#40)

Galactica ZK Vault Snap -> 0.7.0

  • Generalized to handle more types of ZkCerts (#42)

  • Adjustments to work with new merkle-proof-service for getting updated Merkle proofs with a fast user experience (#55)

  • ZkCert chainID field for filtering (#51)

Snap-API -> 0.2.0

  • Filter option for listZkCerts method (#51)

Galactica-Types -> 0.3.0

  • Added ZkCert standard for Twitter data (#42)

Example DApp Front-Ends -> 0.3.0

  • Updated addresses and ZK prover (#45)

  • Connection cleanup (#46)

December 1, 2023

Repository infrastructure -> 0.3.0

  • New monorepo https://github.com/Galactica-corp/galactica-monorepo integrating the previous repositories galactica-snap and zkKYC (PR#14)

  • Monorepo also containing two new packages galactica-types and galactica-snap-api

  • Improved continuous integration

    • Speeding up Github actions pipeline with caching

    • Integrating new monorepo packages

  • Integrated turbo build system for faster incremental builds on changes during development (PR#18)

Galactica ZK Vault Snap -> 0.6.1

  • Version audited by Sayfer for integration in the stable version of Metamask. Audit fixes (PR#33) including:

    • Simplified installation of test setup, improved notifications and error messages

    • Removed unused functions

    • Resolved and cleaned up TODO comments in the code

    • URL validation for custom Merkle proof sources

  • Option to renew zkCerts when a new one is imported with the same registry address and Merkle tree position (PR#12)

  • Improved security and privacy of ZKP disclosures by giving the user a complete and transparent list of disclosed statements in the confirmation question (PR#13)

  • Better structured and typed API interface using definitions from the new snap-api package. Check the docs for details. It simplifies sending calls from the front-end and changes parameter, return and error types. (PR#14, PR#20)

    • `getHolderCommitment`

      • Also returns an encryption

      • Together with the holder commitment in an object

    • `genZkKycProof`

      • Wasm, zkHeader and zkSections now in one prover object

      • Requires descriptions of fields disclosed in public input of resulting ZKP

      • Requires registry address field relevant for the zkCert that can be used

      • Renamed general description field of ZKP

    • `importZkCert`

      • Now takes encrypted zkCert as input

    • `exportZkCert`

      • Result is an encrypted zkCert

      • Optional expiration date and provider pubkey parameters to simplify selection

    • `updateMerkleProofURL`

      • New method to change the URL to query Merkle proofs from

    • All return values are objects

    • Throwing typed errors

  • ZkCerts are now encrypted outside the Snap storage with a public/private key pair generated in the Snap. Therefore the holderCommitment is returned with the public key for encryption to send it to the provider. (PR#17)

  • Possibility to update Merkle Proofs via function or node service to support revocable zkCert registries (PR#19)

  • Outsourced general type definitions to galactica-types and snap-api

  • Various small fixes and improvements

ZK-Certificates -> 0.9.5

  • Renamed from zkKYC to zk-certificates to represent generalized purpose

  • ZkKYC encryption after generation according to PR#17

  • Added zkCert registries with revocable entries to satisfy KYC guardiansโ€™ need. Implemented with sparse Merkle trees (PR#24 in zkKYC)

  • New smart contract example accepting repeatable zkKYC proofs (PR#25 in zkKYC)

  • Scripts and tooling to reissue and update expiration dates of zkKYCs (PR#28 in zkKYC)

  • Outsourced general type definitions to galactica-types (PR#30 in zkKYC)

  • Proper continuous integration and testing in GitHub Actions pipeline (PR#21)

  • Guardian registry improvements to identify guardians using a mapping of public EdDSA key to address and names (PR#23)

  • Improved EdDSA key generation and type handling (PR#32)

  • Ranamed Merkle proof field `pathIndices` to `leafIndex` for simplicity and consistency (PR#35)

  • Refactored zkKYC creation and management scripts for better reusability (PR#38)

Snap-API -> 0.1.10

  • Introducing a new package holding a simple front-end API for interaction with the Galactica ZK Vault Snap

Galactica-Types -> 0.2.4

  • New package for general typescript types of Galactica including zkCerts, EdDSA, Merkle Trees and zkCerts standards, such as zkKYC

Golang SDK for KYC Guardians

Galactica Node -> 0.2.1

  • Bump Cosmos SDK from v0.46.7 to v0.47.3

  • Switched from Tendermint to CometBFT consensus engine

  • Ethermint has been integrated into the Galactica Node, ensuring interoperability with the Ethereum Virtual Machine (EVM)

  • Added the Epochs module. This addition facilitates the periodic execution of specific code segments, ensuring timely operations and updates

Last updated