Compare commits
3 Commits
new-final-
...
v7.3.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f0a71ca8f1
|
||
|
|
117918e66f
|
||
| d0d456b357 |
@@ -31,35 +31,18 @@ contract Reimbursement is Initializable {
|
|||||||
|
|
||||||
uint32 public blocksToWait;
|
uint32 public blocksToWait;
|
||||||
|
|
||||||
// The address that deployed the contract
|
|
||||||
address public deployer;
|
|
||||||
|
|
||||||
// Data migration flag
|
|
||||||
bool public migrationDone;
|
|
||||||
|
|
||||||
event ReimbursementAdded(uint32 id, address indexed addedByAccount, uint256 amount);
|
event ReimbursementAdded(uint32 id, address indexed addedByAccount, uint256 amount);
|
||||||
event ReimbursementVetoed(uint32 id, address vetoedByAccount);
|
event ReimbursementVetoed(uint32 id, address vetoedByAccount);
|
||||||
|
|
||||||
|
function initialize() public initializer {
|
||||||
|
blocksToWait = 40320; // 7 days; 15 seconds block time
|
||||||
|
}
|
||||||
|
|
||||||
modifier onlyCore {
|
modifier onlyCore {
|
||||||
require(contributorContract.addressIsCore(tx.origin), "Core only");
|
require(contributorContract.addressIsCore(tx.origin), "Core only");
|
||||||
_;
|
_;
|
||||||
}
|
}
|
||||||
|
|
||||||
modifier onlyDeployer {
|
|
||||||
require(msg.sender == deployer, "Deployer only");
|
|
||||||
_;
|
|
||||||
}
|
|
||||||
|
|
||||||
function initialize() public initializer {
|
|
||||||
deployer = msg.sender;
|
|
||||||
migrationDone = false;
|
|
||||||
blocksToWait = 40320; // 7 days; 15 seconds block time
|
|
||||||
}
|
|
||||||
|
|
||||||
function finishMigration() public onlyDeployer {
|
|
||||||
migrationDone = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
function setContributorContract(address contributor) public {
|
function setContributorContract(address contributor) public {
|
||||||
require(address(contributorContract) == address(0) || contributorContract.addressIsCore(msg.sender), "Core only");
|
require(address(contributorContract) == address(0) || contributorContract.addressIsCore(msg.sender), "Core only");
|
||||||
contributorContract = ContributorInterface(contributor);
|
contributorContract = ContributorInterface(contributor);
|
||||||
@@ -99,8 +82,7 @@ contract Reimbursement is Initializable {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
function add(uint256 amount, address token, uint32 recipientId, bytes32 hashDigest, uint8 hashFunction, uint8 hashSize, uint256 confirmedAtBlock, bool vetoed) public onlyCore {
|
function add(uint256 amount, address token, uint32 recipientId, bytes32 hashDigest, uint8 hashFunction, uint8 hashSize) public onlyCore {
|
||||||
require((confirmedAtBlock == 0 && vetoed == false) || migrationDone == false, "Extra arguments not allowed");
|
|
||||||
uint32 reimbursementId = reimbursementsCount + 1;
|
uint32 reimbursementId = reimbursementsCount + 1;
|
||||||
ReimbursementData storage r = reimbursements[reimbursementId];
|
ReimbursementData storage r = reimbursements[reimbursementId];
|
||||||
r.exists = true;
|
r.exists = true;
|
||||||
@@ -110,14 +92,7 @@ contract Reimbursement is Initializable {
|
|||||||
r.hashDigest = hashDigest;
|
r.hashDigest = hashDigest;
|
||||||
r.hashFunction = hashFunction;
|
r.hashFunction = hashFunction;
|
||||||
r.hashSize = hashSize;
|
r.hashSize = hashSize;
|
||||||
|
r.confirmedAtBlock = block.number + blocksToWait;
|
||||||
if (confirmedAtBlock > 0) {
|
|
||||||
r.confirmedAtBlock = confirmedAtBlock;
|
|
||||||
} else {
|
|
||||||
r.confirmedAtBlock = block.number + 1 + blocksToWait;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (vetoed) { r.vetoed = true; }
|
|
||||||
|
|
||||||
reimbursementsCount++;
|
reimbursementsCount++;
|
||||||
|
|
||||||
|
|||||||
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "@kredits/contracts",
|
"name": "@kredits/contracts",
|
||||||
"version": "7.2.0",
|
"version": "7.3.0",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "@kredits/contracts",
|
"name": "@kredits/contracts",
|
||||||
"version": "7.2.0",
|
"version": "7.3.0",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@kosmos/schemas": "^3.1.0",
|
"@kosmos/schemas": "^3.1.0",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@kredits/contracts",
|
"name": "@kredits/contracts",
|
||||||
"version": "7.2.0",
|
"version": "7.3.0",
|
||||||
"description": "Smart contracts and JavaScript API for Kredits",
|
"description": "Smart contracts and JavaScript API for Kredits",
|
||||||
"main": "./lib/kredits.js",
|
"main": "./lib/kredits.js",
|
||||||
"directories": {
|
"directories": {
|
||||||
@@ -22,10 +22,6 @@
|
|||||||
"lint:contract-tests": "eslint apps/*/test",
|
"lint:contract-tests": "eslint apps/*/test",
|
||||||
"lint:wrapper": "eslint lib/",
|
"lint:wrapper": "eslint lib/",
|
||||||
"test": "hardhat test",
|
"test": "hardhat test",
|
||||||
"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",
|
|
||||||
"setup-git-hooks": "sh scripts/git-hooks/install"
|
"setup-git-hooks": "sh scripts/git-hooks/install"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
|
|||||||
Reference in New Issue
Block a user