Compare commits
10 Commits
v5.4.0
...
chore/upda
| Author | SHA1 | Date | |
|---|---|---|---|
| b3dab3200f | |||
| 165ca8d3fc | |||
| 42ef48b34d | |||
| aacec26d0e | |||
| 9ac3837f67 | |||
| b32b5e240d | |||
| ee70125139 | |||
| fa6423ed2e | |||
| 97071c1b60 | |||
| 9b8004af69 |
2222
apps/contribution/package-lock.json
generated
2222
apps/contribution/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -6,17 +6,13 @@
|
||||
"@aragon/os": "^4.2.0",
|
||||
"@aragon/cli": "^5.9.6"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@aragon/test-helpers": "^1.1.0",
|
||||
"eth-gas-reporter": "^0.2.0",
|
||||
"ganache-cli": "^6.4.3",
|
||||
"solidity-coverage": "^0.5.11"
|
||||
},
|
||||
"devDependencies": {},
|
||||
"scripts": {
|
||||
"start": "npm run start:aragon:ipfs",
|
||||
"start:aragon:ipfs": "aragon run",
|
||||
"start:aragon:http": "aragon run --http localhost:8001 --http-served-from ./dist",
|
||||
"start:app": "",
|
||||
"test": "aragon contracts test",
|
||||
"compile": "aragon contracts compile",
|
||||
"sync-assets": "",
|
||||
"build:app": "",
|
||||
@@ -25,11 +21,7 @@
|
||||
"publish:patch": "aragon apm publish patch",
|
||||
"publish:minor": "aragon apm publish minor",
|
||||
"publish:major": "aragon apm publish major",
|
||||
"versions": "aragon apm versions",
|
||||
"test": "TRUFFLE_TEST=true PORT=7545 npm run ganache-cli:test",
|
||||
"test:gas": "GAS_REPORTER=true npm test",
|
||||
"coverage": "SOLIDITY_COVERAGE=true npm run ganache-cli:test",
|
||||
"ganache-cli:test": "./node_modules/@aragon/test-helpers/ganache-cli.sh"
|
||||
"versions": "aragon apm versions"
|
||||
},
|
||||
"keywords": []
|
||||
}
|
||||
|
||||
2222
apps/contributor/package-lock.json
generated
2222
apps/contributor/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -6,17 +6,13 @@
|
||||
"@aragon/os": "^4.2.0",
|
||||
"@aragon/cli": "^5.9.6"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@aragon/test-helpers": "^1.1.0",
|
||||
"eth-gas-reporter": "^0.2.0",
|
||||
"ganache-cli": "^6.4.3",
|
||||
"solidity-coverage": "^0.5.11"
|
||||
},
|
||||
"devDependencies": {},
|
||||
"scripts": {
|
||||
"start": "npm run start:aragon:ipfs",
|
||||
"start:aragon:ipfs": "aragon run",
|
||||
"start:aragon:http": "aragon run --http localhost:8001 --http-served-from ./dist",
|
||||
"start:app": "",
|
||||
"test": "aragon contracts test",
|
||||
"compile": "aragon contracts compile",
|
||||
"sync-assets": "",
|
||||
"build:app": "",
|
||||
@@ -25,11 +21,7 @@
|
||||
"publish:patch": "aragon apm publish patch",
|
||||
"publish:minor": "aragon apm publish minor",
|
||||
"publish:major": "aragon apm publish major",
|
||||
"versions": "aragon apm versions",
|
||||
"test": "TRUFFLE_TEST=true PORT=7545 npm run ganache-cli:test",
|
||||
"test:gas": "GAS_REPORTER=true npm test",
|
||||
"coverage": "SOLIDITY_COVERAGE=true npm run ganache-cli:test",
|
||||
"ganache-cli:test": "./node_modules/@aragon/test-helpers/ganache-cli.sh"
|
||||
"versions": "aragon apm versions"
|
||||
},
|
||||
"keywords": []
|
||||
}
|
||||
|
||||
2222
apps/proposal/package-lock.json
generated
2222
apps/proposal/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -6,17 +6,13 @@
|
||||
"@aragon/os": "^4.2.0",
|
||||
"@aragon/cli": "^5.9.6"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@aragon/test-helpers": "^1.1.0",
|
||||
"eth-gas-reporter": "^0.2.0",
|
||||
"ganache-cli": "^6.4.3",
|
||||
"solidity-coverage": "^0.5.11"
|
||||
},
|
||||
"devDependencies": {},
|
||||
"scripts": {
|
||||
"start": "npm run start:aragon:ipfs",
|
||||
"start:aragon:ipfs": "aragon run",
|
||||
"start:aragon:http": "aragon run --http localhost:8001 --http-served-from ./dist",
|
||||
"start:app": "",
|
||||
"test": "aragon contracts test",
|
||||
"compile": "aragon contracts compile",
|
||||
"sync-assets": "",
|
||||
"build:app": "",
|
||||
@@ -25,11 +21,7 @@
|
||||
"publish:patch": "aragon apm publish patch",
|
||||
"publish:minor": "aragon apm publish minor",
|
||||
"publish:major": "aragon apm publish major",
|
||||
"versions": "aragon apm versions",
|
||||
"test": "TRUFFLE_TEST=true PORT=7545 npm run ganache-cli:test",
|
||||
"test:gas": "GAS_REPORTER=true npm test",
|
||||
"coverage": "SOLIDITY_COVERAGE=true npm run ganache-cli:test",
|
||||
"ganache-cli:test": "./node_modules/@aragon/test-helpers/ganache-cli.sh"
|
||||
"versions": "aragon apm versions"
|
||||
},
|
||||
"keywords": []
|
||||
}
|
||||
|
||||
2222
apps/token/package-lock.json
generated
2222
apps/token/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -6,17 +6,13 @@
|
||||
"@aragon/os": "^4.2.0",
|
||||
"@aragon/cli": "^5.9.6"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@aragon/test-helpers": "^1.1.0",
|
||||
"eth-gas-reporter": "^0.2.0",
|
||||
"ganache-cli": "^6.4.3",
|
||||
"solidity-coverage": "^0.5.11"
|
||||
},
|
||||
"devDependencies": {},
|
||||
"scripts": {
|
||||
"start": "npm run start:aragon:ipfs",
|
||||
"start:aragon:ipfs": "aragon run",
|
||||
"start:aragon:http": "aragon run --http localhost:8001 --http-served-from ./dist",
|
||||
"start:app": "",
|
||||
"test": "aragon contracts test",
|
||||
"compile": "aragon contracts compile",
|
||||
"sync-assets": "",
|
||||
"build:app": "",
|
||||
@@ -25,11 +21,7 @@
|
||||
"publish:patch": "aragon apm publish patch",
|
||||
"publish:minor": "aragon apm publish minor",
|
||||
"publish:major": "aragon apm publish major",
|
||||
"versions": "aragon apm versions",
|
||||
"test": "TRUFFLE_TEST=true PORT=7545 npm run ganache-cli:test",
|
||||
"test:gas": "GAS_REPORTER=true npm test",
|
||||
"coverage": "SOLIDITY_COVERAGE=true npm run ganache-cli:test",
|
||||
"ganache-cli:test": "./node_modules/@aragon/test-helpers/ganache-cli.sh"
|
||||
"versions": "aragon apm versions"
|
||||
},
|
||||
"keywords": []
|
||||
}
|
||||
|
||||
@@ -14,10 +14,6 @@ class Contribution extends Record {
|
||||
});
|
||||
}
|
||||
|
||||
getData (id) {
|
||||
return this.functions.getContribution(id);
|
||||
}
|
||||
|
||||
getByContributorId (contributorId) {
|
||||
return this.functions.getContributorAddressById(contributorId)
|
||||
.then(address => this.getByContributorAddress(address));
|
||||
@@ -66,7 +62,6 @@ class Contribution extends Record {
|
||||
deprecate('The function `addContribution()` is deprecated and will be removed in the next major version. Use `add()` instead');
|
||||
return this.add(...arguments);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
module.exports = Contribution;
|
||||
|
||||
@@ -15,10 +15,6 @@ class Contributor extends Record {
|
||||
});
|
||||
}
|
||||
|
||||
getData (id) {
|
||||
return this.functions.getContributorById(id);
|
||||
}
|
||||
|
||||
filterByAccount (search) {
|
||||
return this._byAccount(search, 'filter');
|
||||
}
|
||||
@@ -88,7 +84,6 @@ class Contributor extends Record {
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
module.exports = Contributor;
|
||||
|
||||
@@ -9,18 +9,6 @@ class Record extends Base {
|
||||
return Promise.all(records);
|
||||
});
|
||||
}
|
||||
|
||||
pinIpfsHashes () {
|
||||
return this.count.then(count => {
|
||||
let promises = [...Array(count).keys()].map(i => {
|
||||
let id = i + 1; // 0 => 1 - ids start with 1 and not with 0
|
||||
return this.getData(id).then(data => {
|
||||
return this.ipfs.pin(data);
|
||||
});
|
||||
});
|
||||
return Promise.all(promises);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Record;
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
class IpfsPinner {
|
||||
constructor (kredits) {
|
||||
this.kredits = kredits;
|
||||
}
|
||||
|
||||
pinAll () {
|
||||
return Promise.all([
|
||||
this.kredits.Contributor.pinIpfsHashes(),
|
||||
this.kredits.Contribution.pinIpfsHashes(),
|
||||
]);
|
||||
}
|
||||
|
||||
monitor (callback) {
|
||||
this.kredits.Contribution.on('ContributionAdded', (id) => {
|
||||
this.kredits.Contribution.getData(id)
|
||||
.then(data => { return this.kredits.ipfs.pin(data); })
|
||||
.then(callback);
|
||||
});
|
||||
this.kredits.Contributor.on('ContributorAdded', (id) => {
|
||||
this.kredits.Contribution.getData(id)
|
||||
.then(data => { return this.kredits.ipfs.pin(data); })
|
||||
.then(callback);
|
||||
});
|
||||
this.kredits.Contributor.on('ContributorProfileUpdated', (id) => {
|
||||
this.kredits.Contributor.getData(id)
|
||||
.then(data => { return this.kredits.ipfs.pin(data); })
|
||||
.then(callback);
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
module.exports = IpfsPinner;
|
||||
@@ -1,14 +1,13 @@
|
||||
const ipfsClient = require('ipfs-http-client');
|
||||
const multihashes = require('multihashes');
|
||||
const fetch = require('node-fetch');
|
||||
|
||||
class IPFS {
|
||||
constructor (config) {
|
||||
if (!config) {
|
||||
config = { host: 'localhost', port: '5001', protocol: 'http' };
|
||||
}
|
||||
this._config = config;
|
||||
this._ipfsAPI = ipfsClient(config);
|
||||
this._config = config;
|
||||
}
|
||||
|
||||
catAndMerge (data, deserialize) {
|
||||
@@ -39,19 +38,7 @@ class IPFS {
|
||||
if (hashData.hasOwnProperty('hashSize')) {
|
||||
ipfsHash = this.encodeHash(hashData);
|
||||
}
|
||||
if (this._config['gatewayUrl']) {
|
||||
return fetch(`${this._config['gatewayUrl']}/${ipfsHash}`).then(r => r.text());
|
||||
} else {
|
||||
return this._ipfsAPI.cat(ipfsHash);
|
||||
}
|
||||
}
|
||||
|
||||
pin (hashData) {
|
||||
let ipfsHash = hashData; // default - if it is a string
|
||||
if (hashData.hasOwnProperty('hashSize')) {
|
||||
ipfsHash = this.encodeHash(hashData);
|
||||
}
|
||||
return this._ipfsAPI.pin.add(multihashes.toB58String(ipfsHash));
|
||||
return this._ipfsAPI.cat(ipfsHash);
|
||||
}
|
||||
|
||||
decodeHash (ipfsHash) {
|
||||
|
||||
1016
package-lock.json
generated
1016
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
12
package.json
12
package.json
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "kredits-contracts",
|
||||
"version": "5.4.0",
|
||||
"version": "5.3.0",
|
||||
"description": "Ethereum contracts and npm wrapper for Kredits",
|
||||
"main": "./lib/kredits.js",
|
||||
"directories": {
|
||||
@@ -12,7 +12,7 @@
|
||||
"build-json": "npm run compile-contracts && node ./scripts/build-json.js",
|
||||
"repl": "truffle exec scripts/repl.js",
|
||||
"seeds": "truffle exec scripts/seeds.js",
|
||||
"compile-contracts": "truffle compile --all",
|
||||
"compile-contracts": "aragon contracts compile --all",
|
||||
"bootstrap": "npm run reset:hard && npm run seeds",
|
||||
"reset": "npm run deploy:kit && npm run deploy:dao",
|
||||
"reset:hard": "npm run deploy:apps && npm run reset",
|
||||
@@ -24,10 +24,7 @@
|
||||
"lint:contracts": "solhint \"contracts/**/*.sol\" \"apps/*/contracts/**/*.sol\"",
|
||||
"lint:contract-tests": "eslint apps/*/test",
|
||||
"lint:wrapper": "eslint lib/",
|
||||
"test:token": "cd apps/token && npm run test",
|
||||
"test:contributor": "cd apps/contributor && npm run test",
|
||||
"test:contribution": "cd apps/contribution && npm run test",
|
||||
"test:proposal": "cd apps/proposal && npm run test",
|
||||
"test": "echo \"Error: no test specified\" && exit 1",
|
||||
"setup-git-hooks": "sh scripts/git-hooks/install"
|
||||
},
|
||||
"repository": {
|
||||
@@ -58,9 +55,8 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"ethers": "^4.0.29",
|
||||
"ipfs-http-client": "^30.1.3",
|
||||
"ipfs-http-client": "^32.0.1",
|
||||
"kosmos-schemas": "^2.1.0",
|
||||
"node-fetch": "^2.6.0",
|
||||
"tv4": "^1.3.0"
|
||||
},
|
||||
"keywords": [
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
const Kredits = require('../lib/kredits');
|
||||
const IpfsPinner = require('../lib/utils/ipfs-pinner');
|
||||
|
||||
const network = process.env.ETH_NETWORK || 'rinkeby';
|
||||
const rpcUrl = process.env.ETH_RPC_URL;
|
||||
const apm = process.env.APM_DOMAIN || 'open.aragonpm.eth';
|
||||
|
||||
const ipfsConfig = {
|
||||
host: process.env.IPFS_HOST || 'localhost',
|
||||
port: process.env.IPFS_PORT || '5001',
|
||||
protocol: process.env.IPFS_PROTOCOL || 'http',
|
||||
};
|
||||
console.log(`Using IPFS:`, ipfsConfig);
|
||||
|
||||
(async () => {
|
||||
try {
|
||||
const kredits = await Kredits.for({ network, rpcUrl }, { apm, ipfsConfig }).init();
|
||||
const ipfsPinner = new IpfsPinner(kredits);
|
||||
|
||||
ipfsPinner.pinAll().then(pins => {
|
||||
console.log('Pinned', JSON.stringify(pins, null, 2));
|
||||
});
|
||||
ipfsPinner.monitor((pin) => {
|
||||
console.log('Pinned', JSON.stringify(pin));
|
||||
});
|
||||
console.log(`Subscribed to DAO: ${kredits.Kernel.contract.address}`);
|
||||
} catch(e) {
|
||||
console.log(e);
|
||||
process.exit(1);
|
||||
}
|
||||
})();
|
||||
Reference in New Issue
Block a user