Mt Pelerin Smart Contracts Now Verified on Etherscan

November 26th 2018

We have verified the code source of ten of the Mt Pelerin Bridge Protocol smart contracts on Etherscan.

Mt Pelerin Smart Contracts Now Verified on Etherscan

As you probably know already, we have published and open-sourced a while ago on our Github the code of the Mt Pelerin Bridge Protocol, which has been put into practice with the Mt Pelerin Shares token (MPS) and its token sale.

Beyond the code for the newly tokenized shares of Mt Pelerin Group SA, it includes as well as code for the governance smart contract and various implementations of rules and claims, some of which are already used by MPS tokens.

To make the identity and behaviour of our smart contracts even easier to observe, we have now verified their source code on etherscan.io and kept a record of all deployed contracts for your convenience on our Github.

Verified code makes new content and tabs appear in the Etherscan UI :

Code Tab

On Etherscan, the code tab now shows full Solidity code, with comments, as a flat file (i.e. all contracts in the inheritance chain are concatenated into one single file). The header of our comments provides a Github link to the exact version of the code that was deployed, in a more comfortable format.

Etherscan Tab Screenshot

Read Contract

This tab shows the value of every public variable from the smart contract, and allows to query mappings and arrays, for example by providing an address or ID. For example, you can now query the Mt Pelerin User Registry directly, to validate that your address has been whitelisted.

To do so:

  1. Go to https://etherscan.io/address/0x4e19d015b2b4ff6c0aefc078c9ae1c079bb6a64a#readContract
  2. Scroll to "3. userId" and input your ETH address in the field below that says "_address"
  3. Click "Query"
Etherscan UserID Screenshot

You will be able to see your user ID below (a number between 1 and userCount, but if it is zero then you are not whitelisted yet).

From there you can get many other pieces of information, by using your userId with the functions ‘validUntilTime”, “suspended”, “”isValid” and “extended” (we only use the first key at the moment, to store the KYC level).

Write Contract

This is a Beta feature of Etherscan, which allows users to interact with the contract using MetaMask, so that they can call functions that cost gas (and modify the state of the smart contract/blockchain). We do not recommend that you use this tab for any smart contract interaction, until it is out of Beta. In the meantime, we encourage that you experiment with it on testnet if you feel curious, but use the MyCrypto desktop app or website for any smart contract interactions other than simply sending ETH or transferring tokens.

Events

The events tab will now show better logs, for example telling you which function emitted the event.

List of Verified Mt Pelerin Smart Contracts

You will find below a list of Mt Pelerin contracts which have had their code verified on Etherescan.

The “Related Deployments” section of the MPS GitHub readme also contains a maintained list of all contracts related to MPS that are deployed on Ethereum main net: https://github.com/MtPelerin#related-deployments

With all the above, you are now able to check by yourself what is on the blockchain and the nature of our claims.