Skip to content

Releases: capsule-corp-ternoa/ternoa-subql

v1.2.0: CollectionOffchainDataSet event added

04 Apr 10:47
a0c35a1
Compare
Choose a tag to compare

This minor release includes a new event handler: CollectionOffchainDataSet.
Additionally, the RentEntity now includes a creationBlockId field that references the block ID when the contract was created.

The good news is that there are no breaking changes, and no action is required for updates.

v1.1.0: Secret NFTs, Capsules & Transmission Protocols

16 Feb 07:54
Compare
Choose a tag to compare

This release aims to complete Ternoa phase 4 development with three new major pallets integration:
- Secret NFTs 👽 - #133 @dhammani
- Capsules 🪐 - #163 @ipapandinas @Leouarz
- Transmission Protocols 🛸 - #164 @ipapandinas

This release fixes also the out-synched balances in AccountEntities - #165

Additional fixes were handled on the RentEntity & the AuctionEntity - @Victor-Salomon @ipapandinas

Major improvements were tackled to improve the building and deployment processes on each network (mainnet/alphanet/betanet/dev) - @ipapandinas

Update guidelines

Breaking change regarding NftEntity and other major/new changes are explained below:

Breaking change (2)

  • Preterit form is now used on all NFT operations & timestamps.

Impact: NftEntity, NftOperationEntity, CollectionEntity, MarketplaceEntity, RentEntity, AuctionEntity have been updated.

  • mintFee & mintFeeRounded removed from NftEntity

Impact: NftEntity has been updated.

Major changes (2)

  • Account balances are synched in AccountEntities
  • commission and listing fees removed from the Listed nft operation.

New features (4)

Secret NFTs 👽

NftEntity is extended with the following new fields:

  • isSecret - Boolean flag: true if the NFT is a Secret NFT; false otherwise.
  • isSecretSynced - Boolean flag: true if the secret is fully stored securely in all the enclaves; false otherwise.
  • secretOffchainData - The off-chain data attached to the secret (e.g. IPFS CID hash).
  • timestampSecretAdd - The Secret NFT minting timestamp.

Capsules 🪐

NftEntity is extended with the following new fields:

  • isCapsule - Boolean flag: true if the NFT is a Capsule; false otherwise.
  • isCapsuleSynced - Boolean flag: true if the capsule is fully stored securely in all the enclaves; false otherwise.
  • capsuleOffchainData - The off-chain data attached to the capsule (e.g. IPFS CID hash).
  • timestampConvertedToCapsule - The capsule minting timestamp.

Transmission Protocols 🛸

A new TransmissionEntity has been created for transmission protocols.

  • nftId - The NFT id.
  • from - The signer address.
  • to - The recipient address.
  • isActive - Boolean flag: true if the transmission is active.
  • protocol - The transmission protocol kind: atBlock, atBlockWithReset, onConsent, onConsentAtBlock.
  • endBlock - The block on which the NFT can be transmitted.
  • consentList - An address list that have to agree for the NFT to be transmitted.
  • currentConsent: An address list that has already agreed to have the NFT transmitted.
  • threshold: The consent threshold expected to switch the transmission to an active set.
  • isThresholdReached: Boolean flag: true if the consent threshold is reached.
  • cancellation: The cancellation kind if defined: anytime, untilBlock.
  • cancellationBlock: The block until the transmission can be cancelled if the cancellation kind is set to untilBlock.
  • timestampCreated: The transmission protocol creation timestamp.
  • timestampRemoved: The transmission protocol removed timestamp.
  • timestampUpdated: The transmission protocol updated timestamp.
  • timestampTransmitted: The NFT transmission timestamp.

NftEntity is extended with the following new fields:

  • transmissionProtocol - The transmission protocol data if a transmission protocol is set for the NFT, null otherwise.
  • isTransmission - Boolean flag: true if a transmission protocol is set for the NFT; false otherwise.
  • transmissionRecipient - The recipient address to whom the NFT will be transmitted; null if no transmission protocol is set for the NFT.

NFT Operations 🛠

A couple of new NFT operations have been added

  • transmitted
  • secretAdded
  • secretSynced
  • convertedToCapsule
  • capsuleSynced
  • capsuleOffChainDataSet
  • capsuleReverted
  • capsuleKeyUpdatedNotified
  • transmissionProtocolSet
  • transmissionProtocolRemoved
  • transmissionConsentAdded
  • transmissionTimerReset
  • transmissionThresholdReached
  • contractNftOwnershipChanged (trigger on revoked contracts with NFT as collateral)

Preterit form is now used on all operations.
A from signer is added to management nft operations.

v1.0.0: Ternoa Indexer

07 Nov 15:45
9a9302b
Compare
Choose a tag to compare

Ternoa Indexer

Introduction

The indexer scans through each block and their events to see what happened on the Ternoa Blockchain. It then parses all that data into entities and inserts it in a PostgresDB.
Ternoa deploys its own indexer, and anybody can run his own.

You can check our Installation guidelines

You can also get more information on the SubQuery official documentation

Context

Ternoa Indexer is alive since a couple of months even if this release is tagged as v1.0.0-rc0. However the need for a changelog was felt as soon as the first breaking change occurred. If your application relies on the instance deployed by Ternoa as a SaSS application, you should update it as soon as the chain release is alive to avoid any production environment breaking. We will cover the update process in these changelogs. Remember to follow future releases on a regular basis.

If you are a new user: welcome 🙋‍♂️
You can move directly to the next section below: References or have a look to our README.

Update guidelines

Breaking change regarding NFT state and other major changes are explained below:

Breaking changes (1)

listedForSale is deprecated and replaced by isListed (issue #99)

Impact: NftEntity has been updated.

Major changes (4)

Rent ✍️

A new RentEntity has been created for the new NFT Rental feature.
NftEntity is extended with the following new fields:

  • isRented - The NFT state regarding renting.
  • rentee - The rentee address if the NFT is rented, null otherwise.
  • rentalContract - The rental contract data if the NFT is rented, null otherwise.
  • timestampRented - The contract creation timestamp.

Auctions 👩‍⚖️

A new AuctionEntity has been created for the new English Auctions feature.
With the introduction of this feature a new type of NFT listing has appeared. An NFT will be considered as listed on a Marketplace if:

  • it is listed for a direct sale
  • if it is auctioned (new)

The new field typeOfListing in the NftEntity allows to differentiate the two.

NftEntity is extended with the following new fields:

  • auction - The auction data if the NFT is auctioned, null otherwise.
  • typeOfListing - The type of listing: 'sale' or 'auction', null if the NFT is not listed.
  • timestampList - The auction creation timestamp.

Marketplaces 🏪

A new field collectionList has been added to the MarketplaceEntity to get whitelisted/banned collections on Marketplaces.

NFT Operations 🛠

A couple of new NFT operations have been added (issue #112 - @AntonioliBenjamin 🏆)

  • completeAuction
  • buyItNowAuction
  • createAuction
  • addBid
  • removeBid
  • cancelAuction
  • addToCollection
  • rentalContractCreated
  • rentalContractStarted
  • rentalContractCanceled
  • rentalContractRevoked
  • rentalContractEnded
  • rentalContractExpired

References

This section lists some references to accompany you during your journey building a fast and performant dApp on Ternoa.