Coder Social home page Coder Social logo

eitan-lev / depositcontract Goto Github PK

View Code? Open in Web Editor NEW
7.0 7.0 2.0 696 KB

Payment channels using Solidity and SGX. Truffle for tests and infrastructure

License: GNU General Public License v3.0

JavaScript 100.00%
blockchain ethereum payment-channels smart-contracts solidity truffle web3 web3-solidity

depositcontract's People

Contributors

amit-weiss avatar eitan-lev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

depositcontract's Issues

Deleting a contract causes deletion of all contracts of said creator

When withdrawing both parties' funds, the factory.removeDeposit() is called, then delete deployedDeposits[(depositsCreators[msg.sender])] is done.
This deletes all the contracts belonging to sender, instead of just the specific one.
Tricky to fix- we work with an array, and don't want to leave an empty cell in the middle.

Require minimal fee as modifier

Currently minimal fee is enforced with require inside the method.
Use modifier costs instead, to match common code convention.
Implement in all relevant functions.

Re-routing user after a contract self destruct

After a channel is closed, we perform a self destruct to its contract. Due to that, we cannot re-route to the "show" page, since the contract no longer exists and it will show nothing.
This issue needs to be addressed, because we still want the user to view data for at least a little after.

Refreshing a channel show page disables initiator and coutnerpart abilities

Whenever you view a channel and look into its "show" page (that contains all the details about a channel) the called checks the address of the caller to see whether it is the initiator or the counterpart of the channel.
After this check, the buttons that appear correspond to the check result. After refreshing the page, this check is not performed again and the user will appear as "other" to the contract.
A possible reason for that is that the code for checking the user is located inside getInitialProps function.

Add ability to identify contracts by description

Is your feature request related to a problem? Please describe.
Currently, when we look at contracts we can only refer to them using their addresses.

Describe the solution you'd like
It would be more convenient if we could add a text to each contract, so when we look at our contracts we will see the description of it.

Describe alternatives you've considered
Another option is to add a field to the contract itself, that will be updated by initiator and will be managed on the blockchain. I find this idea not as good since it adds overhead of writing to the blockchain.

Additional context
I believe the description should be unique to each party, such that the initiator and the counterpart will be able to set different names.

Note 1: This text should not be kept on the blockchain.

Note 2: This issue was edited to fit the new "feature request" template.

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.