fix: make SplitPayment payable by default

pull/582/head
Matt Condon 7 years ago
parent b7e7c765e0
commit 47585b1117
  1. 7
      contracts/payment/SplitPayment.sol
  2. 4
      test/SplitPayment.js
  3. 10
      test/helpers/SplitPaymentMock.sol

@ -20,7 +20,7 @@ contract SplitPayment {
/**
* @dev Constructor
*/
function SplitPayment(address[] _payees, uint256[] _shares) public {
function SplitPayment(address[] _payees, uint256[] _shares) public payable {
require(_payees.length == _shares.length);
for (uint256 i = 0; i < _payees.length; i++) {
@ -62,4 +62,9 @@ contract SplitPayment {
payee.transfer(payment);
}
/**
* @dev payable fallback
*/
function () public payable {}
}

@ -6,7 +6,7 @@ const should = require('chai')
.should()
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]) {
const amount = web3.toWei(1.0, 'ether')
@ -15,7 +15,7 @@ contract('SplitPayment', function ([owner, payee1, payee2, payee3, nonpayee1, pa
this.payees = [payee1, payee2, payee3]
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 () {

@ -1,10 +0,0 @@
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 {}
}
Loading…
Cancel
Save