@@ -40,7 +40,7 @@ contract("Colony Arbitrary Transactions", (accounts) => {
4040 const action = await encodeTxData ( token , "mint" , [ WAD ] ) ;
4141 const balancePre = await token . balanceOf ( colony . address ) ;
4242
43- const tx = await colony . makeArbitraryTransaction ( token . address , action ) ;
43+ const tx = await colony . makeArbitraryTransaction ( token . address , action , false ) ;
4444
4545 await expectEvent ( tx , "ArbitraryTransaction(address,bytes,bool)" , [ token . address , action , true ] ) ;
4646
@@ -53,8 +53,8 @@ contract("Colony Arbitrary Transactions", (accounts) => {
5353 const action2 = await encodeTxData ( token , "mint" , [ WAD . muln ( 2 ) ] ) ;
5454 const balancePre = await token . balanceOf ( colony . address ) ;
5555
56- const arbitraryAction = await encodeTxData ( colony , "makeArbitraryTransaction" , [ token . address , action ] ) ;
57- const arbitraryAction2 = await encodeTxData ( colony , "makeArbitraryTransaction" , [ token . address , action2 ] ) ;
56+ const arbitraryAction = await encodeTxData ( colony , "makeArbitraryTransaction" , [ token . address , action , false ] ) ;
57+ const arbitraryAction2 = await encodeTxData ( colony , "makeArbitraryTransaction" , [ token . address , action2 , false ] ) ;
5858
5959 const tx = await colony . multicall ( [ arbitraryAction , arbitraryAction2 ] ) ;
6060
@@ -68,15 +68,15 @@ contract("Colony Arbitrary Transactions", (accounts) => {
6868 it ( "should not be able to make arbitrary transactions if not root" , async ( ) => {
6969 const action = await encodeTxData ( token , "mint" , [ WAD ] ) ;
7070
71- await checkErrorRevert ( colony . makeArbitraryTransaction ( token . address , action , { from : USER1 } ) , "ds-auth-unauthorized" ) ;
71+ await checkErrorRevert ( colony . makeArbitraryTransaction ( token . address , action , false , { from : USER1 } ) , "ds-auth-unauthorized" ) ;
7272 } ) ;
7373
7474 it ( "should not be able to make arbitrary transactions to a colony itself" , async ( ) => {
75- await checkErrorRevert ( colony . makeArbitraryTransaction ( colony . address , " 0x0" ) , "colony-cannot-target-self" ) ;
75+ await checkErrorRevert ( colony . makeArbitraryTransaction ( colony . address , 0x0 , false ) , "colony-cannot-target-self" ) ;
7676 } ) ;
7777
7878 it ( "should not be able to make arbitrary transactions to a user address" , async ( ) => {
79- await checkErrorRevert ( colony . makeArbitraryTransaction ( accounts [ 0 ] , " 0x0" ) , "colony-to-must-be-contract" ) ;
79+ await checkErrorRevert ( colony . makeArbitraryTransaction ( accounts [ 0 ] , 0x0 , false ) , "colony-to-must-be-contract" ) ;
8080 } ) ;
8181
8282 it ( "should not be able to make arbitrary transactions to network or token locking" , async ( ) => {
@@ -86,14 +86,14 @@ contract("Colony Arbitrary Transactions", (accounts) => {
8686 const action1 = await encodeTxData ( colonyNetwork , "addSkill" , [ 0 ] ) ;
8787 const action2 = await encodeTxData ( tokenLocking , "lockToken" , [ token . address ] ) ;
8888
89- await checkErrorRevert ( colony . makeArbitraryTransaction ( colonyNetwork . address , action1 ) , "colony-cannot-target-network" ) ;
90- await checkErrorRevert ( colony . makeArbitraryTransaction ( tokenLocking . address , action2 ) , "colony-cannot-target-token-locking" ) ;
89+ await checkErrorRevert ( colony . makeArbitraryTransaction ( colonyNetwork . address , action1 , false ) , "colony-cannot-target-network" ) ;
90+ await checkErrorRevert ( colony . makeArbitraryTransaction ( tokenLocking . address , action2 , false ) , "colony-cannot-target-token-locking" ) ;
9191 } ) ;
9292
9393 it ( "if an arbitrary transaction is made to approve tokens, then tokens needed for approval cannot be moved out of the main pot" , async ( ) => {
9494 await fundColonyWithTokens ( colony , token , 100 ) ;
9595 const action1 = await encodeTxData ( token , "approve" , [ USER0 , 50 ] ) ;
96- await colony . makeArbitraryTransaction ( token . address , action1 ) ;
96+ await colony . makeArbitraryTransaction ( token . address , action1 , false ) ;
9797 await colony . moveFundsBetweenPots ( 1 , UINT256_MAX , 1 , UINT256_MAX , UINT256_MAX , 1 , 0 , 50 , token . address ) ;
9898 await checkErrorRevert (
9999 colony . moveFundsBetweenPots ( 1 , UINT256_MAX , 1 , UINT256_MAX , UINT256_MAX , 1 , 0 , 50 , token . address ) ,
@@ -109,7 +109,7 @@ contract("Colony Arbitrary Transactions", (accounts) => {
109109 tokens can only be moved from main pot that weren't part of the allowance` , async ( ) => {
110110 await fundColonyWithTokens ( colony , token , 100 ) ;
111111 const action1 = await encodeTxData ( token , "approve" , [ USER0 , 20 ] ) ;
112- await colony . makeArbitraryTransaction ( token . address , action1 ) ;
112+ await colony . makeArbitraryTransaction ( token . address , action1 , false ) ;
113113 // Use allowance
114114 await token . transferFrom ( colony . address , USER0 , 20 , { from : USER0 } ) ;
115115 // Approval tracking still thinks it has to reserve 20
@@ -141,9 +141,9 @@ contract("Colony Arbitrary Transactions", (accounts) => {
141141 await fundColonyWithTokens ( colony , token , 100 ) ;
142142 const action1 = await encodeTxData ( token , "approve" , [ USER0 , 300 ] ) ;
143143 // Not enough tokens at all
144- await checkErrorRevert ( colony . makeArbitraryTransaction ( token . address , action1 ) , "colony-approval-exceeds-balance" ) ;
144+ await checkErrorRevert ( colony . makeArbitraryTransaction ( token . address , action1 , false ) , "colony-approval-exceeds-balance" ) ;
145145 await fundColonyWithTokens ( colony , token , 1000 ) ;
146- await colony . makeArbitraryTransaction ( token . address , action1 ) ;
146+ await colony . makeArbitraryTransaction ( token . address , action1 , false ) ;
147147 // They are now approved for 300.
148148 let approval = await colony . getTokenApproval ( token . address , USER0 ) ;
149149 expect ( approval ) . to . be . eq . BN ( 300 ) ;
@@ -152,25 +152,25 @@ contract("Colony Arbitrary Transactions", (accounts) => {
152152
153153 const action2 = await encodeTxData ( token , "approve" , [ USER0 , 900 ] ) ;
154154 // User was approved for 300, we now approve them for 900. There are enough tokens to cover this, even though 900 + 300 > 1100, the balance of the pot
155- await colony . makeArbitraryTransaction ( token . address , action2 ) ;
155+ await colony . makeArbitraryTransaction ( token . address , action2 , false ) ;
156156 approval = await colony . getTokenApproval ( token . address , USER0 ) ;
157157 expect ( approval ) . to . be . eq . BN ( 900 ) ;
158158 allApprovals = await colony . getTotalTokenApproval ( token . address ) ;
159159 expect ( allApprovals ) . to . be . eq . BN ( 900 ) ;
160160
161161 // Set them back to 300
162- await colony . makeArbitraryTransaction ( token . address , action1 ) ;
162+ await colony . makeArbitraryTransaction ( token . address , action1 , false ) ;
163163 approval = await colony . getTokenApproval ( token . address , USER0 ) ;
164164 expect ( approval ) . to . be . eq . BN ( 300 ) ;
165165 allApprovals = await colony . getTotalTokenApproval ( token . address ) ;
166166 expect ( allApprovals ) . to . be . eq . BN ( 300 ) ;
167167
168168 // Cannot approve someone else for 900
169169 const action3 = await encodeTxData ( token , "approve" , [ USER1 , 900 ] ) ;
170- await checkErrorRevert ( colony . makeArbitraryTransaction ( token . address , action3 ) , "colony-approval-exceeds-balance" ) ;
170+ await checkErrorRevert ( colony . makeArbitraryTransaction ( token . address , action3 , false ) , "colony-approval-exceeds-balance" ) ;
171171 // But can for 800
172172 const action4 = await encodeTxData ( token , "approve" , [ USER1 , 800 ] ) ;
173- await colony . makeArbitraryTransaction ( token . address , action4 ) ;
173+ await colony . makeArbitraryTransaction ( token . address , action4 , false ) ;
174174 approval = await colony . getTokenApproval ( token . address , USER1 ) ;
175175 expect ( approval ) . to . be . eq . BN ( 800 ) ;
176176 allApprovals = await colony . getTotalTokenApproval ( token . address ) ;
@@ -212,47 +212,47 @@ contract("Colony Arbitrary Transactions", (accounts) => {
212212 0 ,
213213 ] ) ;
214214
215- await checkErrorRevert ( colony . makeArbitraryTransaction ( oneTxPayment . address , action ) , "colony-cannot-target-extensions" ) ;
215+ await checkErrorRevert ( colony . makeArbitraryTransaction ( oneTxPayment . address , action , false ) , "colony-cannot-target-extensions" ) ;
216216
217217 // But other colonies can
218218 const { colony : otherColony } = await setupRandomColony ( colonyNetwork ) ;
219219 await colony . setUserRoles ( 1 , UINT256_MAX , otherColony . address , 1 , ROLES ) ;
220220
221- await otherColony . makeArbitraryTransaction ( oneTxPayment . address , action ) ;
221+ await otherColony . makeArbitraryTransaction ( oneTxPayment . address , action , false ) ;
222222 } ) ;
223223
224224 it ( "when burning tokens, can burn own tokens with burn(amount) up to the amount unspoken for in root pot" , async ( ) => {
225225 await fundColonyWithTokens ( colony , token , 100 ) ;
226226 const action1 = await encodeTxData ( token , "approve" , [ USER0 , 60 ] ) ;
227- await colony . makeArbitraryTransaction ( token . address , action1 ) ;
227+ await colony . makeArbitraryTransaction ( token . address , action1 , false ) ;
228228 let potBalance = await colony . getFundingPotBalance ( 1 , token . address ) ;
229229 expect ( potBalance ) . to . be . eq . BN ( 100 ) ;
230230
231231 const action2 = await encodeTxData ( token , "burn" , [ 100 ] ) ;
232232 // Can't burn 100 as 60 are reserved
233- await checkErrorRevert ( colony . makeArbitraryTransaction ( token . address , action2 ) , "colony-not-enough-tokens" ) ;
233+ await checkErrorRevert ( colony . makeArbitraryTransaction ( token . address , action2 , false ) , "colony-not-enough-tokens" ) ;
234234
235235 // Can burn 40
236236 const action3 = await encodeTxData ( token , "burn" , [ 40 ] ) ;
237- await colony . makeArbitraryTransaction ( token . address , action3 ) ;
237+ await colony . makeArbitraryTransaction ( token . address , action3 , false ) ;
238238 potBalance = await colony . getFundingPotBalance ( 1 , token . address ) ;
239239 expect ( potBalance ) . to . be . eq . BN ( 60 ) ;
240240 } ) ;
241241
242242 it ( "when transferring tokens, can transfer own tokens with transfer(dst, amount) up to the amount unspoken for in root pot" , async ( ) => {
243243 await fundColonyWithTokens ( colony , token , 100 ) ;
244244 const action1 = await encodeTxData ( token , "approve" , [ USER0 , 60 ] ) ;
245- await colony . makeArbitraryTransaction ( token . address , action1 ) ;
245+ await colony . makeArbitraryTransaction ( token . address , action1 , false ) ;
246246 let potBalance = await colony . getFundingPotBalance ( 1 , token . address ) ;
247247 expect ( potBalance ) . to . be . eq . BN ( 100 ) ;
248248
249249 const action2 = await encodeTxData ( token , "transfer" , [ USER0 , 100 ] ) ;
250250 // Can't transfer 100 as 60 are reserved
251- await checkErrorRevert ( colony . makeArbitraryTransaction ( token . address , action2 ) , "colony-not-enough-tokens" ) ;
251+ await checkErrorRevert ( colony . makeArbitraryTransaction ( token . address , action2 , false ) , "colony-not-enough-tokens" ) ;
252252
253253 // Can transfer 40
254254 const action3 = await encodeTxData ( token , "transfer" , [ USER0 , 40 ] ) ;
255- await colony . makeArbitraryTransaction ( token . address , action3 ) ;
255+ await colony . makeArbitraryTransaction ( token . address , action3 , false ) ;
256256 potBalance = await colony . getFundingPotBalance ( 1 , token . address ) ;
257257 expect ( potBalance ) . to . be . eq . BN ( 60 ) ;
258258 const userBalance = await token . balanceOf ( USER0 ) ;
@@ -263,7 +263,7 @@ contract("Colony Arbitrary Transactions", (accounts) => {
263263 await token . mint ( 100 ) ;
264264 await token . approve ( colony . address , 100 ) ;
265265 const action1 = await encodeTxData ( token , "burn" , [ USER0 , 60 ] ) ;
266- await colony . makeArbitraryTransaction ( token . address , action1 ) ;
266+ await colony . makeArbitraryTransaction ( token . address , action1 , false ) ;
267267
268268 const userBalance = await token . balanceOf ( USER0 ) ;
269269 expect ( userBalance ) . to . be . eq . BN ( 40 ) ;
@@ -273,7 +273,7 @@ contract("Colony Arbitrary Transactions", (accounts) => {
273273 await token . mint ( 100 ) ;
274274 await token . approve ( colony . address , 100 ) ;
275275 const action1 = await encodeTxData ( token , "transferFrom" , [ USER0 , colony . address , 60 ] ) ;
276- await colony . makeArbitraryTransaction ( token . address , action1 ) ;
276+ await colony . makeArbitraryTransaction ( token . address , action1 , false ) ;
277277
278278 const userBalance = await token . balanceOf ( USER0 ) ;
279279 expect ( userBalance ) . to . be . eq . BN ( 40 ) ;
@@ -283,11 +283,11 @@ contract("Colony Arbitrary Transactions", (accounts) => {
283283
284284 it ( "cannot burn own tokens with burn(guy, amount)" , async ( ) => {
285285 const action = await encodeTxData ( token , "burn" , [ colony . address , 60 ] ) ;
286- await checkErrorRevert ( colony . makeArbitraryTransaction ( token . address , action ) , "colony-cannot-spend-own-allowance" ) ;
286+ await checkErrorRevert ( colony . makeArbitraryTransaction ( token . address , action , false ) , "colony-cannot-spend-own-allowance" ) ;
287287 } ) ;
288288
289289 it ( "cannot transfer own tokens with transferFrom(from, to, amount)" , async ( ) => {
290290 const action = await encodeTxData ( token , "transferFrom" , [ colony . address , USER0 , 60 ] ) ;
291- await checkErrorRevert ( colony . makeArbitraryTransaction ( token . address , action ) , "colony-cannot-spend-own-allowance" ) ;
291+ await checkErrorRevert ( colony . makeArbitraryTransaction ( token . address , action , false ) , "colony-cannot-spend-own-allowance" ) ;
292292 } ) ;
293293} ) ;
0 commit comments