Skip to content
This repository has been archived by the owner on Oct 6, 2023. It is now read-only.

Releases: worldcoin/hubble-commander

v0.5.0

04 Feb 10:06
1d73448
Compare
Choose a tag to compare
v0.5.0 Pre-release
Pre-release

What's Changed TL;DR

  • Added support for deposits and withdrawals (mass migrations in general).
  • Data returned by the API was revamped so that it's more informative and consistent throughout the methods.
  • Added more API methods and removed a single unused one.
  • Added commander metrics.

API Changes v0.5.0-rc2 -> v0.5.0

High-level changes

  • Added and deprecated some API errors. Referer to the API error table in api/Readme.md for more detailed information.
  • Added multiple proof API methods. Refer to docs/json_rpc.md file for an up-to-date list of all methods.
  • Introduced admin namespace and new commander management API methods.
  • Introduced changes to API method results (see below).

API results changes

List of changes to data types (dto package) returned by API methods

  • Batch (used by hubble_getBatches, hubble_getBatchByHash and hubble_getBatchByID methods)
    • New field:
      • Status - string (status):
        • "SUBMITTED"
        • "MINED" (renamed from "IN_BATCH")
        • "FINALIZED"
    • Other:
      • SubmissionBlock field was renamed to MinedBlock and it's now optional.
      • SubmissionTime field renamed to MinedTime.
      • Commitments field was completely revamped. See below.
  • BatchCommitment (used by hubble_getBatchByHash and hubble_getBatchByID methods)
    • Batch commitments (Commitments field in Batch) were split into three different models:
      • TxCommitment (for TRANSFER and CREATE2TRANSFER batches)
        • ID - {BatchID: string (uint256), IndexInBatch: uint8} object
        • PostStateRoot - string (hash)
        • LeafHash - optional string (hash)
        • TokenID - string (uint256)
        • FeeReceiverStateID - uint32
        • CombinedSignature - string (signature)
      • MMCommitment (for MASS_MIGRATION batches)
        • ID - {BatchID: string (uint256), IndexInBatch: uint8} object
        • PostStateRoot - string (hash)
        • LeafHash - optional string (hash)
        • CombinedSignature - string (signature)
        • WithdrawRoot - string (hash)
        • MassMigrationMeta- object:
          • SpokeID - uint32
          • TokenID - string (uint256)
          • Amount - string (uint256)
          • FeeReceiverStateID - uint32
      • DepositCommitment (for DEPOSIT batches)
        • ID - {BatchID: string, IndexInBatch: uint8} object
        • PostStateRoot - string (hash)
        • LeafHash - optional string (hash)
        • SubtreeID - string (uint256)
        • SubtreeRoot - string (hash)
  • Commitment (used by hubble_getCommitment method)
    • Added new SUBMITTED status. Currently, available statuses for commitments:
      • "SUBMITTED"
      • "MINED" (renamed from "IN_BATCH")
      • "FINALIZED"
    • New models for different commitment types:
      • TxCommitment (for TRANSFER and CREATE2TRANSFER commitments)
        • ID - {BatchID: string (uint256), IndexInBatch: uint8} object
        • Type - string (batch type)
        • PostStateRoot - string (hash)
        • LeafHash - optional string (hash)
        • TokenID - string (uint256)
        • FeeReceiverStateID - uint32
        • CombinedSignature - string (signature)
        • Status - string (status)
        • MinedTime - timestamp
        • Transactions - list of transactions as objects
      • MMCommitment (for MASS_MIGRATION commitments)
        • ID - {BatchID: string (uint256), IndexInBatch: uint8} object
        • Type - string (batch type)
        • PostStateRoot - string (hash)
        • LeafHash - optional string (hash)
        • FeeReceiverStateID - uint32
        • CombinedSignature - string (signature)
        • Status - string (status)
        • MinedTime - timestamp
        • WithdrawRoot - string (hash)
        • MassMigrationMeta- object:
          • SpokeID - uint32
          • TokenID - string (uint256)
          • Amount - string (uint256)
          • FeeReceiverStateID - uint32
        • Transactions - list of transactions as objects
      • DepositCommitment (for DEPOSIT commitments)
        • ID - {BatchID: string (uint256), IndexInBatch: uint8} object
        • Type - string (batch type)
        • PostStateRoot - string (hash)
        • LeafHash - optional string (hash)
        • Status - string (status)
        • MinedTime - timestamp
        • SubtreeID - string (uint256)
        • SubtreeRoot - string (hash)
        • Deposits - list of Deposit objects:
          • ID - {SubtreeID: string (uint256), DepositIndex: string (uint256)} object
          • ToPubKeyID - uint32
          • TokenID - string (uint256)
          • L2Amount - string (uint256)
  • Transaction (used by hubble_getTransaction method)
    • Renamed field:
      • BatchTime -> MinedTime
  • NetworkInfo (used by hubble_getNetworkInfo method)
    • Added new fields:
      • SpokeRegistry - string (address)
      • WithdrawManager - string (address)

Other API changes

  • Removed hubble_getTransactions method.

  • Added new API methods for generating proofs (see docs/json_rpc.md for detailed information about these methods):

    • hubble_getUserStateProof
    • hubble_getPublicKeyProofByPubKeyID
    • hubble_getCommitmentProof
    • hubble_getMassMigrationCommitmentProof
    • hubble_getWithdrawProof
  • All API methods now support every type of batch, commitment or transaction, i.e.:

    • GENESIS
    • TRANSFER
    • CREATE2TRANSFER
    • MASS_MIGRATION
    • DEPOSIT
  • IN_BATCH status was replaced with MINED status.

  • Added new SUBMITTED status. See docs/tx_statuses.png for more details.

  • hubble_sendTransactions now accepts MASS_MIGRATION transactions.

  • hubble_getNetworkInfo

    • New output - refer to the changes made to the NetworkInfo data model.
      • Before:

        {
            "ChainID": "1337",
            "AccountRegistry": "0x602fdcb022744cf8ae7f8b980771a541c2ecd0ce",
            "AccountRegistryDeploymentBlock": 72402,
            "TokenRegistry": "0xba984fa2c930aa3207199a89898f80f6b42579a3",
            "DepositManager": "0xe70c33cde3aa0b85bb4019add35b3c48c6c124f7",
            "Rollup": "0x07bd5a1d097e85b5025553c13d6d11ab33a7be97",
            "BlockNumber": 74070,
            "TransactionCount": 1,
            "AccountCount": 6,
            "LatestBatch": "1",
            "LatestFinalisedBatch": "0",
            "SignatureDomain": "0xcd282510ec3859813f6cc595cda9c54f5e5a8be99973c412ef1f1152a1381e59"
        }
      • After:

        {
            "ChainID": "1337",
            "AccountRegistry": "0x897d20d6b0c880899f8a8567c3eb47cfc338b86d",
            "AccountRegistryDeploymentBlock": 74218,
            "TokenRegistry": "0xda6761888ac7341d69430f19419be9a473bdd730",
            "SpokeRegistry": "0x68bfc28bd91054be2e8748edd970d96a4c7d6818", // NEW
            "DepositManager": "0x2afe057ac45163cd55085643b39f5fe056971bf4",
            "WithdrawManager": "0x60aff494251e5f86c6da382f84e785f14e8d4b9f", // NEW
            "Rollup": "0xc7305afbac19b486246254c181328d777ec14800",
            "BlockNumber": 74241,
            "TransactionCount": 0,
            "AccountCount": 6,
            "LatestBatch": "0",
            "LatestFinalisedBatch": "0",
            "SignatureDomain": "0xe25b2357c9a05e85a42c6dd3d53c35e9f989e3cc3df08841fb211b50d5174db0"
        }
  • hubble_getBatches

    • Can now return SUBMITTED batches.
    • New output - refer to the changes made to the Batch and BatchCommitment data models. For more detailed information
      see docs/json_rpc.md.
      • Before:

        [
            {
                "ID": "0",
                "Hash": "0xc0f5d8567b5407c5e8731c22a7394548be05412ec2e1a11ded083a1f6615dd57",
                "Type": "GENESIS",
                "TransactionHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
                "SubmissionBlock": 72424,
                "SubmissionTime": null,
                "FinalisationBlock": 72424
            },
            {
                "ID": "1",
                "Hash": "0x81ea5b0aeb055e9eaf89d447c045e35890178da9d22391b3baedef87cd21ae48",
                "Type": "TRANSFER",
                "TransactionHash": "0x23184ac315c1ef917cb9fb4759a329396e012c375beaa61d9fc6d45dc2a87028",
                "SubmissionBlock": 72518,
                "SubmissionTime": 1643721284,
                "FinalisationBlock": 112838
            }
        ]
      • After:

        [
            {
                "ID": "0",
                "Hash": "0x97222c9001ff4b2e8c328d15c02fc508259f2f9bec5af8b286a932813fe920d6",
                "Type": "GENESIS",
                "TransactionHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
                "SubmissionBlock": 74229,
                "SubmissionTime": null,
                "Status": "FINALISED", // NEW
                "FinalisationBlock": 74229
            },
            {

    ...

Read more

v0.5.0-rc2

14 Oct 14:20
6b948db
Compare
Choose a tag to compare
v0.5.0-rc2 Pre-release
Pre-release

What's Changed

  • hubble_getVersion API method returns an up-to-date version that corresponds to the release version
  • hubble_getBatchByID and hubble_getBatchByHash can return genesis batch details
  • SubmissionBlock of the genesis batch returned by hubble_getBatches was fixed

Commits

New Contributors

Full Changelog: v0.5.0-rc1...v0.5.0-rc2

v0.5.0-rc1

13 Oct 13:18
d866dff
Compare
Choose a tag to compare
v0.5.0-rc1 Pre-release
Pre-release

What's Changed TL;DR

  • We migrated all remaining Postgres tables to Badger
  • We made improvements to the API that include breaking changes
  • We applied all fixes from 0.4.0 branch (v0.4.0-rc1...v0.4.0)

API Changes v0.4.0 -> v0.5.0-rc1

  • New standardized API errors (refer to the table below)

  • Data models changes:

    • Commitment
      • ID type changed from uint32 to {BatchID: string, IndexInBatch: uint8} object
      • IncludedInBatch field was removed
    • NetworkInfo
      • Renamed fields:
        • chainID -> ChainID
        • accountRegistry -> AccountRegistry
        • deploymentBlock -> AccountRegistryDeploymentBlock
        • rollup -> Rollup
        • blockNumber -> BlockNumber
        • transactionCount -> TransactionCount
        • accountCount -> AccountCount
        • latestBatch -> LatestBatch
        • latestFinalisedBatch -> LatestFinalisedBatch
        • signatureDomain -> SignatureDomain
      • New fields:
        • TokenRegistry string (address)
        • DepositManager string (address)
    • Transfer/Create2Transfer:
      • IncludedInCommitment [int32] was replaced with CommitmentID [object]
        • CommitmentID type is the {BatchID: string, IndexInBatch: uint8} object
        • refer to the API change made to hubble_getTransactions endpoint for an example
  • API changes:

    • hubble_getPublicKeyByID endpoint renamed to hubble_getPublicKeyByPubKeyID
    • hubble_getNetworkInfo
      • New output - refer to the changes made to the NetworkInfo data model
        • Before:
          {
            "chainId": "1337",
            "accountRegistry": "0x10bd6732fe3908b8a816f6a1b271e0864de78ca1",
            "deploymentBlock": 74,
            "rollup": "0xf2a409ccf78e6e32e02d5e3a3ac274ca6880d9ac",
            "blockNumber": 2146,
            "transactionCount": 2,
            "accountCount": 6,
            "latestBatch": "2",
            "latestFinalisedBatch": "0",
            "signatureDomain": "0x47b39cc40c04341a600ee0941a8231bf3a04725da5c65ac93286ef9147d23bbc"
          }
        • After:
          {
            "ChainID": "1337",
            "AccountRegistry": "0x10bd6732fe3908b8a816f6a1b271e0864de78ca1",
            "AccountRegistryDeploymentBlock": 74,
            "TokenRegistry": "0x07389715ae1f0a891fba82e65099f6a3fa7da593",
            "DepositManager": "0xa3accd1cfabc8b09aea4d0e25f21f25c526c9be8",
            "Rollup": "0xf2a409ccf78e6e32e02d5e3a3ac274ca6880d9ac",
            "BlockNumber": 2146,
            "TransactionCount": 2,
            "AccountCount": 6,
            "LatestBatch": "2",
            "LatestFinalisedBatch": "0",
            "SignatureDomain": "0x47b39cc40c04341a600ee0941a8231bf3a04725da5c65ac93286ef9147d23bbc"
          }
    • hubble_getTransactions
      • New output - refer to the changes made to the Transaction/Create2Transfer data models
        • Before:
          [
            {
              "Hash": "0x03b15bc97adb5e86fffbffd8b049629b80eb696499fe3aa62813fcbed87f4023",
              "TxType": "TRANSFER",
              "FromStateID": 1,
              "Amount": "50",
              "Fee": "1",
              "Nonce": "1",
              "Signature": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
              "ReceiveTime": null,
              "IncludedInCommitment": 2, // removed
              "ErrorMessage": null,
              "ToStateID": 2,
              "BatchHash": "0x87e7380690ae69c1d06796828f12113eadc436942a3dd3aa9182eb1c9b164f90",
              "BatchTime": 1633693199,
              "Status": "IN_BATCH"
            },
            {
              "Hash": "0x9b442316136f46247a399169aff5b9931060331f4b66971766a81b77765cfb36",
              "TxType": "TRANSFER",
              "FromStateID": 1,
              "Amount": "50",
              "Fee": "1",
              "Nonce": "0",
              "Signature": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
              "ReceiveTime": null,
              "IncludedInCommitment": 1, // removed
              "ErrorMessage": null,
              "ToStateID": 2,
              "BatchHash": "0xeb590ba0ce14d821caebc56514fe867521da78b46b7b78ce4810a353e619f315",
              "BatchTime": 1633692591,
              "Status": "IN_BATCH"
            },
          ]
        • After:
          [
            {
              "Hash": "0x03b15bc97adb5e86fffbffd8b049629b80eb696499fe3aa62813fcbed87f4023",
              "TxType": "TRANSFER",
              "FromStateID": 1,
              "Amount": "50",
              "Fee": "1",
              "Nonce": "1",
              "Signature": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
              "ReceiveTime": null,
              "CommitmentID": { // new
                  "BatchID": "2",
                  "IndexInBatch": 0
              },
              "ErrorMessage": null,
              "ToStateID": 2,
              "BatchHash": "0x87e7380690ae69c1d06796828f12113eadc436942a3dd3aa9182eb1c9b164f90",
              "BatchTime": 1633693199,
              "Status": "IN_BATCH"
            },
            {
              "Hash": "0x9b442316136f46247a399169aff5b9931060331f4b66971766a81b77765cfb36",
              "TxType": "TRANSFER",
              "FromStateID": 1,
              "Amount": "50",
              "Fee": "1",
              "Nonce": "0",
              "Signature": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
              "ReceiveTime": null,
              "CommitmentID": { // new
                "BatchID": "1",
                "IndexInBatch": 0
              },
              "ErrorMessage": null,
              "ToStateID": 2,
              "BatchHash": "0xeb590ba0ce14d821caebc56514fe867521da78b46b7b78ce4810a353e619f315",
              "BatchTime": 1633692591,
              "Status": "IN_BATCH"
            }
          ]
    • hubble_getTransaction
      • New output - refer to the changes made to the Transaction/Create2Transfer data models
        • Before:
          {
            "Hash": "0x9b442316136f46247a399169aff5b9931060331f4b66971766a81b77765cfb36",
            "TxType": "TRANSFER",
            "FromStateID": 1,
            "Amount": "50",
            "Fee": "1",
            "Nonce": "0",
            "Signature": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
            "ReceiveTime": null,
            "IncludedInCommitment": 1, // removed
            "ErrorMessage": null,
            "ToStateID": 2,
            "BatchHash": "0xeb590ba0ce14d821caebc56514fe867521da78b46b7b78ce4810a353e619f315",
            "BatchTime": 1633692591,
            "Status": "IN_BATCH"
          }
        • After:
          {
            "Hash": "0x9b442316136f46247a399169aff5b9931060331f4b66971766a81b77765cfb36",
            "TxType": "TRANSFER",
            "FromStateID": 1,
            "Amount": "50",
            "Fee": "1",
            "Nonce": "0",
            "Signature": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
            "ReceiveTime": null,
            "CommitmentID": { // new
                "BatchID": "1",
                "IndexInBatch": 0
            },
            "ErrorMessage": null,
            "ToStateID": 2,
            "BatchHash": "0xeb590ba0ce14d821caebc56514fe867521da78b46b7b78ce4810a353e619f315",
            "BatchTime": 1633692591,
            "Status": "IN_BATCH"
          }
    • hubble_getCommitment
      • The parameter for hubble_getCommitment endpoint was changed:
        • [uint32] -> [{"BatchID": string, "IndexInBatch": uint8}]
          • Example: [1] -> [{"BatchID": "1", "IndexInBatch": 0}]
      • New output - refer to the changes made to the Commitment data model
        • Before:
          {
            "ID": 1, // changed
            "Type": "TRANSFER",
            "FeeReceiver": 0,
            "CombinedSignature": "0x1152450e7da64c68023921d3a37ea750df4158bb17203317bf7af9ac7d8c6a3216d982a417c204593c82dc1f64851cad49361a4a4175636e0c062497c7ef2f9c",
            "PostStateRoot": "0x81cf78ec55d3393ff2e9c0e081dc6ced3cd4a7e9e42f3c6e441b035035a6839a",
            "IncludedInBatch": "1", // removed
            "Status": "IN_BATCH",
            "BatchTime": 1633692591,
            "Transactions": [
              {
                "...
Read more

Norway release

13 Oct 11:38
532496a
Compare
Choose a tag to compare
Norway release Pre-release
Pre-release

This release includes stability changes that were made for the purpose of the field test in Norway.

What's Changed

Full Changelog: v0.4.0-rc1...v0.4.0

Norway pre-release

13 Oct 11:34
4fd9733
Compare
Choose a tag to compare
Norway pre-release Pre-release
Pre-release

What's Changed

Full Changelog: v0.3.0...v0.4.0-rc1

v0.3.0

03 Aug 08:32
6acb45c
Compare
Choose a tag to compare
v0.3.0 Pre-release
Pre-release

What's Changed

Full Changelog: v0.2.2...v0.3.0

v0.2.2

02 Jul 14:40
74376ea
Compare
Choose a tag to compare
v0.2.2 Pre-release
Pre-release

What's Changed

  • Store receive times of txs and include them in returned DTOs by @msieczko in #231
  • Modify cluster deployment pipeline by @gvidon in #233
  • Log more debug information by @msieczko in #235
  • Set debug log level in cluster deployment config by @msieczko in #236
  • Rename and fix bootstrap node url env var by @msieczko in #234

Full Changelog: v0.2.1...v0.2.2

v0.2.1

01 Jul 13:28
Compare
Choose a tag to compare
v0.2.1 Pre-release
Pre-release
Fix release script

v0.2.0

01 Jul 13:18
9ffecf6
Compare
Choose a tag to compare
v0.2.0 Pre-release
Pre-release

What's Changed

Full Changelog: v0.1.0-rc3...v0.2.0

v0.1.0-rc3

15 Jun 14:44
Compare
Choose a tag to compare
v0.1.0-rc3 Pre-release
Pre-release
Tag images with "stable"