Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Initial Commit
  • Loading branch information
dankelleher committed Sep 24, 2018
0 parents commit 2fdae59
Show file tree
Hide file tree
Showing 75 changed files with 236,720 additions and 0 deletions.
22 changes: 22 additions & 0 deletions .gitignore
@@ -0,0 +1,22 @@
.idea
node_modules

# Integration test output from geth node
/geth.log
/.nyc_output/

# Logs
logs
*.log

# Directories used by tools like mocha & istanbul
coverage
shippable

# Generated files
config/development/contracts.json
config/development/*.sol.js
config/test/contracts.json

# Shared artifacts
/artifacts/deployed/*.json
1 change: 1 addition & 0 deletions .soliumignore
@@ -0,0 +1 @@
node_modules
46 changes: 46 additions & 0 deletions .soliumrc.json
@@ -0,0 +1,46 @@
{
"extends": "solium:recommended",
"plugins": [
"security"
],
"rules": {
"quotes": [
"error",
"double"
],
"indentation": [
"error",
4
],
"function-order": [
"warning"
],
"no-experimental": [
"off"
],
"security/no-inline-assembly": [
"off"
],
"zeppelin/constant-candidates": [
"warning"
],
"zeppelin/highlight-comments": [
"warning"
],
"zeppelin/missing-natspec-comments": [
"off"
],
"zeppelin/no-arithmetic-operations": [
"warning"
],
"zeppelin/no-state-variable-shadowing": [
"warning"
],
"zeppelin/no-unchecked-send": [
"warning"
],
"zeppelin/no-unused-imports": [
"warning"
]
}
}
62 changes: 62 additions & 0 deletions README.md
@@ -0,0 +1,62 @@
# Identity.com Smart Contracts

## Summary

The smart contracts of the [Identity.com](https://www.identity.com/) marketplace.

Identity.com grants users, requesters, and validators around the world entry to accessible, reusable identity verification powered by CVC tokens.

## Contracts

### Functional Contracts

#### CvcOntology:

Holds the list of all recognized Credential Items available for sale in the ecosystem.

#### CvcPricing:

Stores actual prices for Credential Items available for sale.
It allows registered Identity Validators to set or delete prices for specific Credential Items.

#### CvcEscrow:

Provides an escrow service for the Identity.com marketplace.
It controls an escrow placement's lifecycle which involves transferring a pre-approved amount funds

#### CvcValidatorRegistry:

A registry for Identity Validators (IDV). It is part of the marketplace access control mechanism.

### Support Contracts

- CvcMigrator
- CvcProxy
- EternalStorage
- ImplementationStorage
- Initializable
- Ownable
- Pausable
- Migrations

For details on the migration and proxy patterns used in Identity.com, see [migrations/README.md](migrations/README.md)

## Project structure

The project follows the Truffle framework basic structure:
- `migrations` folder for the migration files
- `contracts` folder for smart contract source code files
- `test` for smart contracts unit tests
- `truffle.js` file at the top level for network management.

# Testing

All tests are running against Truffle's Ganache.
We have the `docker-compose.yml` file with default setup for ganache to speed up environment setup.
See `package.json` for available testing commands.

# Running migrations

Setup connection to your ethereum node (ganache/privatenet/testnet/mainnet).
Run `deploy-contracts` npm command.
Resulting JSON artifacts with ABIs and network addresses will be in `artifacts/deployed` folder.
4 changes: 4 additions & 0 deletions artifacts/README.md
@@ -0,0 +1,4 @@
# Artifact folder

- Compiled: compiled artifacts with ABI and bytecode. Used for versioning.
- Deployed: the results of the latest migration run.

0 comments on commit 2fdae59

Please sign in to comment.