Git Product home page Git Product logo

eotim's Introduction

Ethereum Open Transaction Insurance Market (EOTIM)

Project Status: Abandoned – Initial development has started, but there has not yet been a stable, usable release; the project has been abandoned and the author(s) do not intend on continuing development.

Proof of Concept for an p2p open market for insuring escrow based transactions on the blockchain.

Hypothetical Scenario

Suppose Party A is a malevolent corporate competitor to Party B in the manufacturing industry. In the pursuit of total market domination, Party A attempts to grief Party B by increasing it's inventory loss and accounts receivables default rate by making multiple orders and withdrawing the payment at the last minute.

Being suspicious, Party B demands that it will only go through with the transaction if Party A creates an insured escrow transaction. In the event that Party B sends the goods, but Party A decides to default on the transaction, a third party Party C provides insurance up to the maximum value of the transaction to be paid out to Party B for inventory loss expenses.

If, however, the transaction goes through, Party C is paid a premium on the transaction value, for providing insurance services and absorbing risk.

Building

  1. Clone repo
    $ git clone https://github.com/aquaflamingo/Ethereum-Open-Transaction-Insurance-Market eotim
  1. cd eotim && npm install
  2. Start ganache-cli
  3. Deploy contracts: run truffle migrate --reset
  4. Start the server: npm run start
  5. Navigate over to http://localhost:3000
  6. Make sure you have MetaMask
  7. ???
  8. Profit???

View

2

View More

Extension Possibilities // TODOs

  • Escalation of claims on transaction to disburse insurance back 🔥
  • Proof of Goods Arrival // defaulting of payment to counter party 🔥
  • Registry Contract with insured, owned, settled contracts for queries
  • View my insured transactions view 🔥
  • Better architecture with registry and action relayer
  • Filtering market contracts

Technology

React, Redux, Truffle, Solidity

License

This repository code is open sourced under Apache 2.0

eotim's People

Contributors

aquaflamingo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

eotim's Issues

makeClaim on transaction default + add defaulted state

Thinking

When the transaction owner (i.e. person who's paying for the goods) defaults on the counter party (i.e. goods were sent, but trxn owner decides not to settle payment), counter party makes a claim providing a proof of default (i.e. proof of location goods delivery).

State should change to defaulted, and the insurance coverage should be dispersed to counterparty?

Immediate concerns

  • need proof of location or alternative proof - (location, FOAM)?
  • IPFS integration
  • claims view.

Disentangle OfferItem, Container and Marketplace Components

At the moment the OfferItemContainer depends on an onClick passed down from Marketplace.

This is silly, and can be refactored similar to status updates presented on dashboard, where the Container is a component that takes care of everything from it's actions to render, then kicks state updates through the redux reducers via dispatch to higher level components.

Fix contracts to distribute premium payout to insurer on settle

Function in question:

User sends settlement fee to this function, should calculate and distribute back the premium_payout to the insurer if state is Insured

function settle() public payable returns (bool _success) {
   if (isInsured?) {
    // subtract from contract balance to send back to insurer + premium_payout
  } // etc
}

Fix insurance listings

TO FIX:

  • Incorrect contract to react premium listings (ex. why is maxCoverage becoming premium in the contract return values)
  • Use some sort of realistic insurance benchmark for calculating premium and return.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.