Commit 83acbbbb by Manuel Araoz

Array usage examples

parent d96d1dfa
...@@ -5,10 +5,16 @@ import './PullPaymentCapable.sol'; ...@@ -5,10 +5,16 @@ import './PullPaymentCapable.sol';
contract BadArrayUse is PullPaymentCapable { contract BadArrayUse is PullPaymentCapable {
address[] employees; address[] employees;
function payroll() { function payBonus() {
for (var i = 0; i < employees.length; i++) { for (var i = 0; i < employees.length; i++) {
address employee = employees[i];
uint bonus = calculateBonus(employee);
asyncSend(employee, bonus);
} }
} }
function calculateBonus(address employee) returns (uint) {
// some expensive computation...
}
} }
import './PullPaymentCapable.sol';
contract GoodArrayUse { contract GoodArrayUse is PullPaymentCapable {
address[] employees; address[] employees;
mapping(address => uint) bonuses;
function payroll() { function payBonus() {
for (uint i = 0; i < employees.length; i++) { for (uint i = 0; i < employees.length; i++) {
address employee = employees[i];
uint bonus = bonuses[employee];
asyncSend(employee, bonus);
} }
} }
function calculateBonus(address employee) returns (uint) {
uint bonus = 0;
// some expensive computation...
bonuses[employee] = bonus;
}
} }
...@@ -2,4 +2,5 @@ module.exports = function(deployer) { ...@@ -2,4 +2,5 @@ module.exports = function(deployer) {
deployer.deploy(BadFailEarly); deployer.deploy(BadFailEarly);
deployer.deploy(GoodFailEarly); deployer.deploy(GoodFailEarly);
deployer.deploy(PullPaymentBid); deployer.deploy(PullPaymentBid);
deployer.deploy(BadArrayUse);
}; };
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment