Introduction
Welcome to the SecureVote docs. Here you'll find details on our smart contracts, links to other documentation, and more. (It's a work in progress atm.)
Component Overviews / Operation
BBFarm
This is the normal BBFarm. Exists on the same chain as the Index. Holds all ballots using std voting as of Aug 2018. Ballots are created by the index only, though the ballot owner has limited control, e.g. deprecating the ballot, publishing the secret key, and choosing a new owner.
RemoteBBFarm and RemoteBBFarmProxy
This pair of BBFarms share the actions of a normal BBFarm.
RemoteBBFarmProxy holds the metadata about the ballot (specHash, start/end times, etc). It will revert or give you obvious garbage for things that are unsupported. (Obvious garbage being the number of votes from getDetails
.) Additionally any ballot modification methods should be called here.
RemoteBBFarm holds the votes and is instantiated on a foreign network. It does not know about which ballots are valid and which are not,
and so when scraping votes later you must use the getVoteAndTime
method, not getVote
. The reason is you must validate the timestamp of votes
to ensure they were all cast in the allowed window. Essentially it is just a container for votes. getDetails
works as expected here.
Ethereum Networks
Networks used are:
- Mainnet (Ethereum Foundation)
- SecureVote PoA Network (Network ID 0xF0, parity chain spec)
- Classic
- Kovan
- Ropsten
Stats
We maintain eth-stats
instances for each group of nodes:
- stats.eth.secure.vote (mainnet / foundation)
- stats.poa.eth.secure.vote
- stats.classic.eth.secure.vote
- stats.kovan.eth.secure.vote
- stats.ropsten.eth.secure.vote
Explorer (PoA)
We have an instance of Etherchain Light running at explorer.poa.eth.secure.vote for exploring that chain.
Smart Contracts
Libraries
These are deployed to the same address across mainnet, SV PoA, kovan, ropsten, and classic.
Deployed Date | Name | Address |
---|---|---|
2018-08-10 | BBLibV7 | 0x1f8c387ebd02240A1BcB6b2864087464F719aDf6 |
2018-06-xx | StringLib | 0x63Dbc2DA4FBA06Ea2Bdbba0551744c7595Cc8e2A |
2018-06-xx | Base32Lib | 0x45a337efe2adb2617a3a5272c6c84a89ef56afcf |
2018-06-xx | MemArrApp | 0xedd7ac11f2437de048882d4859ed30d871cc4324 |
2018-06-xx | BBLib | 0x0484c599E228e13bEFB61129888e8bD2b63A9619 |
Production
(list of production SCs go here)
Deployed Date | Network | Name of SC | Address | Notes |
---|---|---|---|---|
2018-08-22 | SV PoA | RemoteBBFarm | 0xebccfb6af3e030ca73e5f00f2cc77ef2a60a1887 | . |
2018-07-30 | Mainnet | BBFarmAux2 | 0x91f34190ffcd934115bb2bd04c29e89362989121 | aux contract to make some BBFarm calls nicer |
2018-07-xx | Mainnet | TokenAbbreviationLookup | 0x216265865e46D4c6FE506877EfAAE7dd7Ae2faCE | . |
2018-06-xx | Mainnet | EnsOwnerPx | 0xa00919a6c9e1c31be81d0203532bdb7724052b04 | index.tokenvote.eth owner px |
2018-06-xx | Mainnet | CommunityAuctionSimple | 0x5A0E6Ff846C237E5E8f5AFd388B488292E1c8627 | . |
2018-06-xx | Mainnet | BBFarm | 0xB105035C563Ed14C17f6BeaCe07F4659C823322a | . |
2018-06-xx | Mainnet | SVPayments | 0xB9C0291cbbb67CF5368F4FAc5EaE9d8bB98f67bA | . |
2018-06-xx | Mainnet | SVIndexBackend | 0x45250f268a3ef4adafc9275073d7fa126fb75101 | . |
2018-06-xx | Mainnet | SVIndex | 0x04B710D1FC77C8e7002F539bB48feB560CB2892C | . |
2018-03-06 | Mainnet | SVDelegationV0101 | 0x4dD28be042F85e287E9AaCe4147152bf1CD835e9 | deprecates SVDelegation contract |
2018-02-28 | Mainnet | SVDelegation | 0xd78d4beabfd3054390d10aeb4258dc2d867f5e17 | deprecated as doesn't allow reverse lookup easily |
2018-03-01 | Mainnet | SVLightIndex | 0xa8a8509A17a5872d01e489fC85B152eb2A0C092E | Early prototype of index, used for a few SWM ballots |
2018-03-01 | Mainnet | SwarmVotingMVP | 0x1e6b7d459AF96E916548D27B0e72ce17ccb7dB74 | . |
2018-03-01 | Mainnet | SwarmVotingMVP | 0x6B649662dA40F10361F008b481143029296a69D6 | Upgraded version, used for a few ballots |
2017-10-29 | Mainnet | SwarmVotingMVP | 0x2Bb10945E9f0C9483022dc473aB4951BC2a77d0f | Initial MVP contract for Swarm |
Testnet (TN1)
Deployed Date | Network | Name of SC | Address |
---|---|---|---|
2018-08-10 | Ropsten | UnsafeEd25519SelfDelegation | 0x2cdb6b361ecc7a834ce8a3a78556e70c3e74660e |
2018-08-10 | Ropsten | RemoteBBFarm | 0xc3d10af066bde2357c92bc4af25fb5f42e73f1a4 |
2018-08-10 | Kovan | RemoteBBFarmProxy | 0xd3141c94d3beddbe1d280822ecc633b7c6a32464 |
2018-07-xx | Kovan | BBFarmAux2 | 0x8d9d49f602e1e95b8dca42af1766963c3e4f7565 |
2018-06-xx | Kovan | SVIndex | 0xcad76eE606FB794dD1DA2c7E3C8663F648ba431d |
Ballot Box Farms
Namespaces (Production)
Date | Namespace (bytes4) | BBFarmID | Network | Type | Address | Notes |
---|---|---|---|---|---|---|
2018-06-xx | 0x00000001 | 0 | Mainnet | BBFarm | 0xB105035C563Ed14C17f6BeaCe07F4659C823322a | . |
2018-08-23 | 0xF0F00001 | 1 | SV PoA | RemoteBBFarm | 0xebccfb6af3e030ca73e5f00f2cc77ef2a60a1887 | . |
2018-08-24 | 0xF0F00001 | 1 | Mainnet | RemoteBBFarmProxy | .. | . |
Namespaces (Testnet - TN1)
Date | Namespace (bytes4) | BBFarmID | Network | Type | Address | Notes |
---|---|---|---|---|---|---|
2018-08-10 | 0x03030001 | 1 | Kovan | RemoteBBFarmProxy | 0xd3141c94d3beddbe1d280822ecc633b7c6a32464 | . |
2018-08-10 | 0x03030001 | 1 | Ropsten | RemoteBBFarm | 0xc3d10af066bde2357c92bc4af25fb5f42e73f1a4 | . |
2018-06-xx | 0x00000001 | 0 | Kovan | BBFarm | 0x8384AD2bd15A80c15ccE6B5830a9324442853899 | . |