Unverified Commit f79f7b00 by Francisco Giordano Committed by GitHub

Merge pull request #582 from Shrugs/fix/split-payment-payable

fix: make SplitPayment payable by default
parents b7e7c765 47585b11
...@@ -20,7 +20,7 @@ contract SplitPayment { ...@@ -20,7 +20,7 @@ contract SplitPayment {
/** /**
* @dev Constructor * @dev Constructor
*/ */
function SplitPayment(address[] _payees, uint256[] _shares) public { function SplitPayment(address[] _payees, uint256[] _shares) public payable {
require(_payees.length == _shares.length); require(_payees.length == _shares.length);
for (uint256 i = 0; i < _payees.length; i++) { for (uint256 i = 0; i < _payees.length; i++) {
...@@ -62,4 +62,9 @@ contract SplitPayment { ...@@ -62,4 +62,9 @@ contract SplitPayment {
payee.transfer(payment); payee.transfer(payment);
} }
/**
* @dev payable fallback
*/
function () public payable {}
} }
...@@ -6,7 +6,7 @@ const should = require('chai') ...@@ -6,7 +6,7 @@ const should = require('chai')
.should() .should()
const EVMThrow = require('./helpers/EVMThrow.js') const EVMThrow = require('./helpers/EVMThrow.js')
const SplitPaymentMock = artifacts.require('./helpers/SplitPaymentMock.sol') const SplitPayment = artifacts.require('../contracts/payment/SplitPayment.sol')
contract('SplitPayment', function ([owner, payee1, payee2, payee3, nonpayee1, payer1]) { contract('SplitPayment', function ([owner, payee1, payee2, payee3, nonpayee1, payer1]) {
const amount = web3.toWei(1.0, 'ether') const amount = web3.toWei(1.0, 'ether')
...@@ -15,7 +15,7 @@ contract('SplitPayment', function ([owner, payee1, payee2, payee3, nonpayee1, pa ...@@ -15,7 +15,7 @@ contract('SplitPayment', function ([owner, payee1, payee2, payee3, nonpayee1, pa
this.payees = [payee1, payee2, payee3] this.payees = [payee1, payee2, payee3]
this.shares = [20, 10, 70] this.shares = [20, 10, 70]
this.contract = await SplitPaymentMock.new(this.payees, this.shares) this.contract = await SplitPayment.new(this.payees, this.shares)
}) })
it('should accept payments', async function () { it('should accept payments', async function () {
......
pragma solidity ^0.4.18;
import '../../contracts/payment/SplitPayment.sol';
// mock class using SplitPayment
contract SplitPaymentMock is SplitPayment {
function SplitPaymentMock(address[] _payees, uint256[] _shares) public
SplitPayment(_payees, _shares) payable {}
function () external payable {}
}
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