Page cover image

Core Contracts

Overview of the 4 main source codes repositories implemented under the M3tering Protocol

🤖 M3ter: ERC-721 contract

M3ter is an ERC-721 (NFT) contract where each NTF represent a smart metering device registerd on-chain by it's manufacturer. Similar to Helium device NFTs on Solana, or Wicrypt device NFTs on polygon. These devices contain cryptographic secure elements used to sign energy consumption data they measure. the purpose of keyByTokenId is to map an NFT's tokenId to the cryptographic PublicKey for a device (bytes 32 key for ED25519 digital signature scheme), while the tokenIdByKey is used to reverse map the above mentioned PublicKey to the NTF's tokenId

🪙 Solaxy: ERC-20 as ERC-4626 contract

Solaxy is an ERC-20 token contract that implements a linear bonding curve with sDAI as the reserve currency. The bonding curve allows users to buy and sell Solaxy tokens directly from/to the contract at a dynamic price determined by the curve's slope.

Solaxy extends its functionality by providing support for ERC-4626; a tokenized vault interface. This interface allows the Solaxy contract to interact with other DeFi protocols and platforms seamlessly. ERC-4626 integration enhances the capabilities of Solaxy in the context of token bonding curves.

⚙️ Protocol: PPA pre-payment contract

Represents the onchain components of the Power Purchase Agreements (PPAs) between the Providers and Off-takers. The pay function is executed by the end users to pay xDAI tokens to the owner of their assigned M3ter at the time of payment.

📃 Listings: M3ter ERC-721 marketplace

Simple NFT marketplace contract for the sale of M3ter NFTs. Allows users to list M3ters for free and to purchase other M3ters with xDAI .

Last updated

Was this helpful?