Method for setting up Kredits
This commit is contained in:
		
							parent
							
								
									7626c6c1b2
								
							
						
					
					
						commit
						59d991d0a6
					
				
							
								
								
									
										45
									
								
								index.js
									
									
									
									
									
								
							
							
						
						
									
										45
									
								
								index.js
									
									
									
									
									
								
							| @ -2,6 +2,19 @@ require('dotenv').config() | |||||||
| const GiteaReviews = require('./lib/gitea-reviews'); | const GiteaReviews = require('./lib/gitea-reviews'); | ||||||
| const GithubReviews = require('./lib/github-reviews'); | const GithubReviews = require('./lib/github-reviews'); | ||||||
| 
 | 
 | ||||||
|  | const ethers = require('ethers'); | ||||||
|  | const Kredits = require('kredits-contracts'); | ||||||
|  | const util = require('util'); | ||||||
|  | 
 | ||||||
|  | const providerUrl = process.env.KREDITS_PROVIDER_URL; | ||||||
|  | const daoAddress  = process.env.KREDITS_DAO_ADDRESS; | ||||||
|  | 
 | ||||||
|  | const ipfsConfig = { | ||||||
|  |   host: process.env.IPFS_API_HOST || 'localhost', | ||||||
|  |   port: process.env.IPFS_API_PORT || '5001', | ||||||
|  |   protocol: process.env.IPFS_API_PROTOCOL || 'http' | ||||||
|  | }; | ||||||
|  | 
 | ||||||
| const kreditsAmounts = { | const kreditsAmounts = { | ||||||
|   'kredits-1': 100, |   'kredits-1': 100, | ||||||
|   'kredits-2': 300, |   'kredits-2': 300, | ||||||
| @ -26,3 +39,35 @@ async function getAllReviews(repos, startDate, endDate) { | |||||||
|   }); |   }); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | async function initializeKredits () { | ||||||
|  |   //
 | ||||||
|  |   // Ethereum provider/node setup
 | ||||||
|  |   //
 | ||||||
|  | 
 | ||||||
|  |   let ethProvider; | ||||||
|  |   if (providerUrl) { | ||||||
|  |     ethProvider = new ethers.providers.JsonRpcProvider(providerUrl); | ||||||
|  |   } else { | ||||||
|  |     ethProvider = new ethers.getDefaultProvider('rinkeby'); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   //
 | ||||||
|  |   // Kredits contracts setup
 | ||||||
|  |   //
 | ||||||
|  | 
 | ||||||
|  |   const opts = { ipfsConfig }; | ||||||
|  |   if (daoAddress) { | ||||||
|  |     opts.addresses = { Kernel: daoAddress }; | ||||||
|  |   } | ||||||
|  |   let kredits; | ||||||
|  | 
 | ||||||
|  |   try { | ||||||
|  |     kredits = await new Kredits(ethProvider, null, opts).init(); | ||||||
|  |   } catch(error) { | ||||||
|  |     console.log('Could not set up kredits:', error); | ||||||
|  |     process.exit(1); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   return kredits; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | |||||||
							
								
								
									
										2408
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2408
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -10,6 +10,8 @@ | |||||||
|   "license": "ISC", |   "license": "ISC", | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
|     "axios": "^0.21.1", |     "axios": "^0.21.1", | ||||||
|     "dotenv": "^8.2.0" |     "dotenv": "^8.2.0", | ||||||
|  |     "ethers": "^5.0.24", | ||||||
|  |     "kredits-contracts": "^6.0.0" | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user