feature-sh / smart-contract Goto Github PK
View Code? Open in Web Editor NEWFEATURE 🏗️ smart contract ♦︎
Home Page: https://feature.sh
FEATURE 🏗️ smart contract ♦︎
Home Page: https://feature.sh
To migrate data from clever-cloud to aws (production), the public sql schema will change to the feature schema.
The change of host, db and schema should happen for the beginning of the v2 release.
Older versions will be deployed with branches in their respective repo marked with tags.
Here are the dependencies to build v2:
with feature schema
- dapp pr#148 https://github.com/feature-sh/app/pull/148
- bot pr#193 https://github.com/feature-sh/bot/pull/193
- dashboard pr#610 https://github.com/feature-sh/dashboard/pull/610
- premium-subscription-monitor pr#3 https://github.com/feature-sh/premium-subscription-monitor/pull/3
- monitor-block -> ok
with smart-contract v2
- smart-contract pr#24 https://github.com/feature-sh/smart-contract/pull/24 (without feature schema)
- dapp pr#147 https://github.com/feature-sh/app/pull/147 (without feature schema)
- bot pr#197 https://github.com/feature-sh/bot/pull/197 (with feature schema)
specs
In https://github.com/feature-sh/smart-contract/blob/main/contracts/Feature.sol and https://github.com/feature-sh/smart-contract/blob/main/contracts/FeatureERC20.sol, add deployed addresses (gnosischain, polygon, arbitrum one, mumbai, goerli) with this format * @deployments: [<network 1>: <smart contract address 1>, <network 2>: <smart contract address 2>, ...]
.
Exemple:@deployments: [gnosischain: 0x3a6Cf1a7DD424f300df1c519156c71CAD1947Fbb]
.
In https://github.com/feature-sh/smart-contract/blob/main/contracts/Feature.sol and https://github.com/feature-sh/smart-contract/blob/main/contracts/FeatureERC20.sol, add deployed addresses (gnosischain, polygon, arbitrum one, mumbai, goerli) with this format * @deployments: [<network 1>: <smart contract address 1>, <network 2>: <smart contract address 2>, ...]
.
Exemple:@deployments: [gnosischain: 0x3a6Cf1a7DD424f300df1c519156c71CAD1947Fbb]
.
Explain the different steps to deploy the smart contract FEATURE to a chain like :
initialize
function...Explain this works in a file like ./DEPLOY.md
.
By convention, the interval of solidity is 4 spaces.
See OpenZepplin smart contract as reference: OZ .
Redolve xith tasks:
In https://github.com/feature-sh/smart-contract/blob/main/contracts/Feature.sol and https://github.com/feature-sh/smart-contract/blob/main/contracts/FeatureERC20.sol, add deployed addresses (gnosischain, polygon, arbitrum one, mumbai, goerli) with this format * @deployments: [<network 1>: <smart contract address 1>, <network 2>: <smart contract address 2>...]
.
Exemple:@deployments: [gnosischain: 0x3a6Cf1a7DD424f300df1c519156c71CAD1947Fbb]
.
It's bad in term of gas but easier to handle, audit and debug in particular for the logic relative to the RPC provider.
Note: Gas optimisation is not a priority because we use a L2.
See the modifications of smart contracts:
In https://github.com/feature-sh/smart-contract/blob/main/contracts/Feature.sol and https://github.com/feature-sh/smart-contract/blob/main/contracts/FeatureERC20.sol, add deployed addresses (gnosischain, polygon, arbitrum one, mumbai, goerli) with this format * @deployments: [<network 1>: <smart contract address 1>, <network 2>: <smart contract address 2>, ...]
.
Exemple:@deployments: [gnosischain: 0x3a6Cf1a7DD424f300df1c519156c71CAD1947Fbb]
.
Add this assertion: Should give the amount of the first claimer who claim in multiple successful claims
.
Create a scenario with 2 claimers, then the first claimer will get the reward.
In https://github.com/feature-sh/smart-contract/blob/main/contracts/Feature.sol and https://github.com/feature-sh/smart-contract/blob/main/contracts/FeatureERC20.sol, add deployed addresses (gnosischain, polygon, arbitrum one, mumbai, goerli) with this format * @deployments: [<network 1>: <smart contract address 1>, <network 2>: <smart contract address 2>, ...]
.
Exemple:@deployments: [gnosischain: 0x3a6Cf1a7DD424f300df1c519156c71CAD1947Fbb]
.
Since the referee's draw is carried out by Kleros, the simulations remain correct but do not cover all scenarios.
Here are the tx statements concerning the two arbitrations carried out with Kleros:
Smart-contract FeatureERC20
-> TRANSFER 30 xDAI From 0x9c1da9a04925bdfdedf0f6421bc7eea8305f9002 To 0x4dff727fd5002dad7e028c6987c394f1913c2137
-> TRANSFER 30.0001 xDAI From 0x62b286a93d6f720a654745a3451f71cf71481b81 To 0x06255fa39ebd18796ecccc17db8153ef58dba0a8
✅ Payment:
Smart-contract FeatureERC20:
-> Although one or more Error Occurred [Out of gas] Contract Execution Completed
-> TRANSFER 30.0001 xDAI From 0xce9260c08272fa39c9af1307cd079dc5636bee01 To 0x06255fa39ebd18796ecccc17db8153ef58dba0a8
❌Payment:
Also an error occurred during a payment, its origin has not been determined, and the court's rendering is not fully understood:
Try to explain the origin of the problem and demonstrate the validity of the arbitration with the use of the FeatureERC20 smart-contract.
In https://github.com/feature-sh/smart-contract/blob/main/contracts/Feature.sol and https://github.com/feature-sh/smart-contract/blob/main/contracts/FeatureERC20.sol, add deployed addresses (gnosischain, polygon, arbitrum one, mumbai, goerli) with this format * @deployments: [<network 1>: <smart contract address 1>, <network 2>: <smart contract address 2>...]
.
Exemple:@deployments: [gnosischain: 0x3a6Cf1a7DD424f300df1c519156c71CAD1947Fbb]
.
See Github Actions .
$feat with 500 FEAT rewards (xdai)
Check the difference between feature.sol
and featureERC20.sol
to add tokens of the CentralizedArbitrator.sol
.
Add tests.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.