From 12a4c16840e6b5bfe5f1f92b0c62610a4a6cbe25 Mon Sep 17 00:00:00 2001 From: fudongbai <296179868@qq.com> Date: Wed, 27 May 2020 17:35:51 +0800 Subject: [PATCH] fix gov hub do not well handle when the target account is not contract --- contracts/GovHub.sol | 10 ++++++++++ contracts/GovHub.template | 10 ++++++++++ genesis.json | 2 +- test/GovHub.js | 15 +++++++++++++++ 4 files changed, 36 insertions(+), 1 deletion(-) diff --git a/contracts/GovHub.sol b/contracts/GovHub.sol index 3091c95a..c15b19ff 100644 --- a/contracts/GovHub.sol +++ b/contracts/GovHub.sol @@ -82,6 +82,10 @@ contract GovHub is System{ if (target == address(this)){ updateParam(key, value); }else{ + if (!isContract(target)){ + emit failReasonWithStr("the target is not a contract"); + return; + } try IParamSubscriber(target).updateParam(key, value){ }catch Error(string memory reason) { emit failReasonWithStr(reason); @@ -110,4 +114,10 @@ contract GovHub is System{ emit failReasonWithStr("unknown param"); } } + + function isContract(address addr) internal view returns (bool) { + uint size; + assembly { size := extcodesize(addr) } + return size > 0; + } } diff --git a/contracts/GovHub.template b/contracts/GovHub.template index e0a35991..8f20de43 100644 --- a/contracts/GovHub.template +++ b/contracts/GovHub.template @@ -83,6 +83,10 @@ contract GovHub is System{ if (target == address(this)){ updateParam(key, value); }else{ + if (!isContract(target)){ + emit failReasonWithStr("the target is not a contract"); + return; + } try IParamSubscriber(target).updateParam(key, value){ }catch Error(string memory reason) { emit failReasonWithStr(reason); @@ -111,4 +115,10 @@ contract GovHub is System{ emit failReasonWithStr("unknown param"); } } + + function isContract(address addr) internal view returns (bool) { + uint size; + assembly { size := extcodesize(addr) } + return size > 0; + } } diff --git a/genesis.json b/genesis.json index c5578168..6f5b7289 100644 --- a/genesis.json +++ b/genesis.json @@ -57,7 +57,7 @@ }, "0x0000000000000000000000000000000000001007": { "balance": "0x0", - "code": "0x608060405234801561001057600080fd5b50600436106101005760003560e01c8063a78abc1611610097578063e1c7392a11610066578063e1c7392a146101da578063e2a2dd4d146101e4578063f9a2bbc7146102b8578063fd6a6879146102c057610100565b8063a78abc16146101a6578063b0c0c514146101c2578063c81b1662146101ca578063dc927faf146101d257610100565b80636e47b482116100d35780636e47b4821461018657806375405d0d1461018e5780639dc0926214610196578063a1a11bf51461019e57610100565b80633f1e42441461010557806343756e5c1461011f5780634900c4ea14610143578063529d15cc14610161575b600080fd5b61010d6102c8565b60408051918252519081900360200190f35b6101276102ce565b604080516001600160a01b039092168252519081900360200190f35b61014b6102d4565b6040805160ff9092168252519081900360200190f35b6101696102d9565b6040805167ffffffffffffffff9092168252519081900360200190f35b6101276102e9565b61010d6102ef565b6101276102fa565b610127610300565b6101ae610306565b604080519115158252519081900360200190f35b61014b61030f565b610127610314565b61012761031a565b6101e2610320565b005b6101e2600480360360808110156101fa57600080fd5b81019060208101813564010000000081111561021557600080fd5b82018360208201111561022757600080fd5b8035906020019184600183028401116401000000008311171561024957600080fd5b91939092909160208101903564010000000081111561026757600080fd5b82018360208201111561027957600080fd5b8035906020019184600183028401116401000000008311171561029b57600080fd5b919350915067ffffffffffffffff81358116916020013516610394565b61012761089c565b6101276108a2565b60015481565b61100181565b600081565b60005467ffffffffffffffff1681565b61100581565b66b1a2bc2ec5000081565b61100781565b61100681565b60025460ff1681565b600981565b61100281565b61100381565b60025460ff1615610378576040805162461bcd60e51b815260206004820152601960248201527f74686520636f6e747261637420616c726561647920696e697400000000000000604482015290519081900360640190fd5b66b1a2bc2ec5000060019081556002805460ff19169091179055565b60025460ff166103eb576040805162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604482015290519081900360640190fd5b60408051630a83aaa960e31b815233600482015290516110069163541d5548916024808301926020929190829003018186803b15801561042a57600080fd5b505afa15801561043e573d6000803e3d6000fd5b505050506040513d602081101561045457600080fd5b50516104a7576040805162461bcd60e51b815260206004820152601f60248201527f746865206d73672073656e646572206973206e6f7420612072656c6179657200604482015290519081900360640190fd5b600054819067ffffffffffffffff808316911614610504576040805162461bcd60e51b815260206004820152601560248201527439b2b8bab2b731b2903737ba1034b71037b93232b960591b604482015290519081900360640190fd5b604080516337d7f9c160e21b815267ffffffffffffffff85166004820152905184916110039163df5fe70491602480820192602092909190829003018186803b15801561055057600080fd5b505afa158015610564573d6000803e3d6000fd5b505050506040513d602081101561057a57600080fd5b50516105b75760405162461bcd60e51b81526004018080602001828103825260238152602001806113796023913960400191505060405180910390fd5b60015460606105c78560096108a8565b6040805163cba510a960e01b815267ffffffffffffffff8916600482015290519192506000916110039163cba510a9916024808301926020929190829003018186803b15801561061657600080fd5b505afa15801561062a573d6000803e3d6000fd5b505050506040513d602081101561064057600080fd5b8101908080519060200190929190505050905060006106f7826040518060400160405280600381526020016269626360e81b815250858f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8e8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108ef92505050565b9050806107355760405162461bcd60e51b81526004018080602001828103825260288152602001806113516028913960400191505060405180910390fd5b60006107768d8d8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506109ec92505050565b905060ff81166107c4576107bf8d8d8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506109f392505050565b61080a565b60408051602080825260149082015273756e6b6e6f776e206d657373616765207479706560601b8183015290516000805160206113318339815191529181900360600190a15b5050604080516309a99b4f60e41b81523360048201526024810185905290516110029350639a99b4f09250604480830192600092919082900301818387803b15801561085557600080fd5b505af1158015610869573d6000803e3d6000fd5b50506000805467ffffffffffffffff8082166001011667ffffffffffffffff199091161790555050505050505050505050565b61100081565b61100481565b60408051600e808252818301909252606091630100020060ff851617918391602082018180368337505050600e818101969096526006810192909252509283525090919050565b6000856108fe575060006109e3565b606082518451865160800101016040519080825280601f01601f191660200182016040528015610935576020820181803683370190505b509050600061094382610efb565b60208089015182520190508660008061095b89610f01565b8086526020909501949092509050610974828583610f0b565b9283019261098188610f01565b808652602090950194909250905061099a828583610f0b565b9283018a8152602001926109ad87610f01565b90925090506109bd828583610f0b565b5083516020016109cb611312565b60208183886065600019fa5051600114955050505050505b95945050505050565b6001015190565b80516019811015610a52576040805160208082526017908201527f6d7367206c656e677468206c657373207468616e2032350000000000000000008183015290516000805160206113318339815191529181900360600190a150610ef8565b6000610a5f600284610f4c565b905060ff81161580610a7a57508060ff1660180161ffff1682105b15610ac957604080516020808252601290820152710d6caf298cadccee8d040dad2e6dac2e8c6d60731b8183015290516000805160206113318339815191529181900360600190a15050610ef8565b6060610ada8460028460ff16610f51565b90506000610af28360ff1660030161ffff1686610f4c565b905060ff81161580610b1357508060ff168360ff166017010161ffff168414155b15610b6657604080516020808252601490820152730ecc2d8eaca98cadccee8d040dad2e6dac2e8c6d60631b8183015290516000805160206113318339815191529181900360600190a150505050610ef8565b6060610b84868560ff1660030161ffff168460ff1661ffff16610f51565b90506000610b928688610f4c565b90506001600160a01b038116301415610bb457610baf8483610fd1565b610ef1565b6040805163ac43175160e01b8152600481019182528551604482015285516001600160a01b0384169263ac4317519288928792918291602482019160640190602087019080838360005b83811015610c16578181015183820152602001610bfe565b50505050905090810190601f168015610c435780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015610c76578181015183820152602001610c5e565b50505050905090810190601f168015610ca35780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610cc457600080fd5b505af1925050508015610cd5575060015b610ef1576040516000815260443d1015610cf157506000610d8e565b60046000803e60005160e01c6308c379a08114610d12576000915050610d8e565b60043d036004833e81513d602482011167ffffffffffffffff82111715610d3e57600092505050610d8e565b808301805167ffffffffffffffff811115610d60576000945050505050610d8e565b8060208301013d8601811115610d7e57600095505050505050610d8e565b601f01601f191660405250925050505b80610d995750610e26565b600080516020611331833981519152816040518080602001828103825283818151815260200191508051906020019080838360005b83811015610de6578181015183820152602001610dce565b50505050905090810190601f168015610e135780820380516001836020036101000a031916815260200191505b509250505060405180910390a150610baf565b3d808015610e50576040519150601f19603f3d011682016040523d82523d6000602084013e610e55565b606091505b507f1279f84165b4fd69c35e1f338ff107231b036c655cd1688851e011ce617c4e8d816040518080602001828103825283818151815260200191508051906020019080838360005b83811015610eb5578181015183820152602001610e9d565b50505050905090810190601f168015610ee25780820380516001836020036101000a031916815260200191505b509250505060405180910390a1505b5050505050505b50565b60200190565b8051602090910191565b5b60208110610f2b578251825260209283019290910190601f1901610f0c565b915181516020939093036101000a6000190180199091169216919091179052565b015190565b606081830184511015610f6357600080fd5b606082158015610f7e57604051915060208201604052610fc8565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015610fb7578051835260209283019201610f9f565b5050858452601f01601f1916604052505b50949350505050565b611000826040518060400160405280600d81526020016c1c995b185e595c94995dd85c99609a1b81525061122b565b156111e857805160201461105f57604080516020808252808201527f6c656e677468206f662072656c61796572526577617264206d69736d617463688183015290516000805160206113318339815191529181900360600190a1611227565b600061106c602083610f4c565b90508015806110825750670de0b6b3a764000081115b156110db57604080516020808252601e908201527f7468652072656c61796572526577617264206f7574206f662072616e676500008183015290516000805160206113318339815191529181900360600190a150611227565b806001819055507f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a8383604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561114657818101518382015260200161112e565b50505050905090810190601f1680156111735780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b838110156111a657818101518382015260200161118e565b50505050905090810190601f1680156111d35780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a150611227565b604080516020808252600d908201526c756e6b6e6f776e20706172616d60981b8183015290516000805160206113318339815191529181900360600190a15b5050565b6000816040516020018082805190602001908083835b602083106112605780518252601f199092019160209182019101611241565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120836040516020018082805190602001908083835b602083106112ce5780518252601f1990920191602091820191016112af565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040528051906020012014905092915050565b6040518060200160405280600190602082028036833750919291505056fe70e72399380dcfb0338abc03dc8d47f9f470ada8e769c9a78d644ea97385ecb2746865207061636b61676520697320696e76616c696420616761696e7374206974732070726f6f666c6967687420636c69656e74206e6f742073796e632074686520626c6f636b20796574a264697066735822122011e33b9a577e6ca94a018c551103e5dd90fd656be3e0bc44e64bd24f7436b05264736f6c63430006040033" + "code": "0x608060405234801561001057600080fd5b50600436106101005760003560e01c8063a78abc1611610097578063e1c7392a11610066578063e1c7392a146101da578063e2a2dd4d146101e4578063f9a2bbc7146102b8578063fd6a6879146102c057610100565b8063a78abc16146101a6578063b0c0c514146101c2578063c81b1662146101ca578063dc927faf146101d257610100565b80636e47b482116100d35780636e47b4821461018657806375405d0d1461018e5780639dc0926214610196578063a1a11bf51461019e57610100565b80633f1e42441461010557806343756e5c1461011f5780634900c4ea14610143578063529d15cc14610161575b600080fd5b61010d6102c8565b60408051918252519081900360200190f35b6101276102ce565b604080516001600160a01b039092168252519081900360200190f35b61014b6102d4565b6040805160ff9092168252519081900360200190f35b6101696102d9565b6040805167ffffffffffffffff9092168252519081900360200190f35b6101276102e9565b61010d6102ef565b6101276102fa565b610127610300565b6101ae610306565b604080519115158252519081900360200190f35b61014b61030f565b610127610314565b61012761031a565b6101e2610320565b005b6101e2600480360360808110156101fa57600080fd5b81019060208101813564010000000081111561021557600080fd5b82018360208201111561022757600080fd5b8035906020019184600183028401116401000000008311171561024957600080fd5b91939092909160208101903564010000000081111561026757600080fd5b82018360208201111561027957600080fd5b8035906020019184600183028401116401000000008311171561029b57600080fd5b919350915067ffffffffffffffff81358116916020013516610394565b61012761089c565b6101276108a2565b60015481565b61100181565b600081565b60005467ffffffffffffffff1681565b61100581565b66b1a2bc2ec5000081565b61100781565b61100681565b60025460ff1681565b600981565b61100281565b61100381565b60025460ff1615610378576040805162461bcd60e51b815260206004820152601960248201527f74686520636f6e747261637420616c726561647920696e697400000000000000604482015290519081900360640190fd5b66b1a2bc2ec5000060019081556002805460ff19169091179055565b60025460ff166103eb576040805162461bcd60e51b815260206004820152601960248201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604482015290519081900360640190fd5b60408051630a83aaa960e31b815233600482015290516110069163541d5548916024808301926020929190829003018186803b15801561042a57600080fd5b505afa15801561043e573d6000803e3d6000fd5b505050506040513d602081101561045457600080fd5b50516104a7576040805162461bcd60e51b815260206004820152601f60248201527f746865206d73672073656e646572206973206e6f7420612072656c6179657200604482015290519081900360640190fd5b600054819067ffffffffffffffff808316911614610504576040805162461bcd60e51b815260206004820152601560248201527439b2b8bab2b731b2903737ba1034b71037b93232b960591b604482015290519081900360640190fd5b604080516337d7f9c160e21b815267ffffffffffffffff85166004820152905184916110039163df5fe70491602480820192602092909190829003018186803b15801561055057600080fd5b505afa158015610564573d6000803e3d6000fd5b505050506040513d602081101561057a57600080fd5b50516105b75760405162461bcd60e51b81526004018080602001828103825260238152602001806113e56023913960400191505060405180910390fd5b60015460606105c78560096108a8565b6040805163cba510a960e01b815267ffffffffffffffff8916600482015290519192506000916110039163cba510a9916024808301926020929190829003018186803b15801561061657600080fd5b505afa15801561062a573d6000803e3d6000fd5b505050506040513d602081101561064057600080fd5b8101908080519060200190929190505050905060006106f7826040518060400160405280600381526020016269626360e81b815250858f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8e8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108ef92505050565b9050806107355760405162461bcd60e51b81526004018080602001828103825260288152602001806113bd6028913960400191505060405180910390fd5b60006107768d8d8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506109ec92505050565b905060ff81166107c4576107bf8d8d8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506109f392505050565b61080a565b60408051602080825260149082015273756e6b6e6f776e206d657373616765207479706560601b81830152905160008051602061139d8339815191529181900360600190a15b5050604080516309a99b4f60e41b81523360048201526024810185905290516110029350639a99b4f09250604480830192600092919082900301818387803b15801561085557600080fd5b505af1158015610869573d6000803e3d6000fd5b50506000805467ffffffffffffffff8082166001011667ffffffffffffffff199091161790555050505050505050505050565b61100081565b61100481565b60408051600e808252818301909252606091630100020060ff851617918391602082018180368337505050600e818101969096526006810192909252509283525090919050565b6000856108fe575060006109e3565b606082518451865160800101016040519080825280601f01601f191660200182016040528015610935576020820181803683370190505b509050600061094382610f61565b60208089015182520190508660008061095b89610f67565b8086526020909501949092509050610974828583610f71565b9283019261098188610f67565b808652602090950194909250905061099a828583610f71565b9283018a8152602001926109ad87610f67565b90925090506109bd828583610f71565b5083516020016109cb61137e565b60208183886065600019fa5051600114955050505050505b95945050505050565b6001015190565b80516019811015610a52576040805160208082526017908201527f6d7367206c656e677468206c657373207468616e20323500000000000000000081830152905160008051602061139d8339815191529181900360600190a150610f5e565b6000610a5f600284610fb2565b905060ff81161580610a7a57508060ff1660180161ffff1682105b15610ac957604080516020808252601290820152710d6caf298cadccee8d040dad2e6dac2e8c6d60731b81830152905160008051602061139d8339815191529181900360600190a15050610f5e565b6060610ada8460028460ff16610fb7565b90506000610af28360ff1660030161ffff1686610fb2565b905060ff81161580610b1357508060ff168360ff166017010161ffff168414155b15610b6657604080516020808252601490820152730ecc2d8eaca98cadccee8d040dad2e6dac2e8c6d60631b81830152905160008051602061139d8339815191529181900360600190a150505050610f5e565b6060610b84868560ff1660030161ffff168460ff1661ffff16610fb7565b90506000610b928688610fb2565b90506001600160a01b038116301415610bb457610baf8483611037565b610f57565b610bbd81611291565b610c1a57604080516020808252601c908201527f74686520746172676574206973206e6f74206120636f6e74726163740000000081830152905160008051602061139d8339815191529181900360600190a1505050505050610f5e565b6040805163ac43175160e01b8152600481019182528551604482015285516001600160a01b0384169263ac4317519288928792918291602482019160640190602087019080838360005b83811015610c7c578181015183820152602001610c64565b50505050905090810190601f168015610ca95780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015610cdc578181015183820152602001610cc4565b50505050905090810190601f168015610d095780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610d2a57600080fd5b505af1925050508015610d3b575060015b610f57576040516000815260443d1015610d5757506000610df4565b60046000803e60005160e01c6308c379a08114610d78576000915050610df4565b60043d036004833e81513d602482011167ffffffffffffffff82111715610da457600092505050610df4565b808301805167ffffffffffffffff811115610dc6576000945050505050610df4565b8060208301013d8601811115610de457600095505050505050610df4565b601f01601f191660405250925050505b80610dff5750610e8c565b60008051602061139d833981519152816040518080602001828103825283818151815260200191508051906020019080838360005b83811015610e4c578181015183820152602001610e34565b50505050905090810190601f168015610e795780820380516001836020036101000a031916815260200191505b509250505060405180910390a150610baf565b3d808015610eb6576040519150601f19603f3d011682016040523d82523d6000602084013e610ebb565b606091505b507f1279f84165b4fd69c35e1f338ff107231b036c655cd1688851e011ce617c4e8d816040518080602001828103825283818151815260200191508051906020019080838360005b83811015610f1b578181015183820152602001610f03565b50505050905090810190601f168015610f485780820380516001836020036101000a031916815260200191505b509250505060405180910390a1505b5050505050505b50565b60200190565b8051602090910191565b5b60208110610f91578251825260209283019290910190601f1901610f72565b915181516020939093036101000a6000190180199091169216919091179052565b015190565b606081830184511015610fc957600080fd5b606082158015610fe45760405191506020820160405261102e565b6040519150601f8416801560200281840101858101878315602002848b0101015b8183101561101d578051835260209283019201611005565b5050858452601f01601f1916604052505b50949350505050565b611066826040518060400160405280600d81526020016c1c995b185e595c94995dd85c99609a1b815250611297565b1561124e5780516020146110c557604080516020808252808201527f6c656e677468206f662072656c61796572526577617264206d69736d6174636881830152905160008051602061139d8339815191529181900360600190a161128d565b60006110d2602083610fb2565b90508015806110e85750670de0b6b3a764000081115b1561114157604080516020808252601e908201527f7468652072656c61796572526577617264206f7574206f662072616e6765000081830152905160008051602061139d8339815191529181900360600190a15061128d565b806001819055507f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a8383604051808060200180602001838103835285818151815260200191508051906020019080838360005b838110156111ac578181015183820152602001611194565b50505050905090810190601f1680156111d95780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b8381101561120c5781810151838201526020016111f4565b50505050905090810190601f1680156112395780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15061128d565b604080516020808252600d908201526c756e6b6e6f776e20706172616d60981b81830152905160008051602061139d8339815191529181900360600190a15b5050565b3b151590565b6000816040516020018082805190602001908083835b602083106112cc5780518252601f1990920191602091820191016112ad565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120836040516020018082805190602001908083835b6020831061133a5780518252601f19909201916020918201910161131b565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040528051906020012014905092915050565b6040518060200160405280600190602082028036833750919291505056fe70e72399380dcfb0338abc03dc8d47f9f470ada8e769c9a78d644ea97385ecb2746865207061636b61676520697320696e76616c696420616761696e7374206974732070726f6f666c6967687420636c69656e74206e6f742073796e632074686520626c6f636b20796574a26469706673582212205f8854a15f8a21c5148b73375de3d5f5b6c5ea3818fbce31c98587683a828a2c64736f6c63430006040033" }, "9fB29AAc15b9A4B7F17c3385939b007540f4d791": { "balance": "0x21e19e0c9bab2400000" diff --git a/test/GovHub.js b/test/GovHub.js index 0363189d..564d269f 100644 --- a/test/GovHub.js +++ b/test/GovHub.js @@ -132,6 +132,7 @@ contract('GovHub others', (accounts) => { it('Gov others failed', async () => { const govHubInstance = await GovHub.deployed(); const bSCValidatorSetInstance =await BSCValidatorSet.deployed(); + const systemRewardInstance = await SystemReward.deployed(); const relayerAccount = accounts[8]; @@ -158,6 +159,20 @@ contract('GovHub others', (accounts) => { return ev.message === "length of relayerReward mismatch"; }); truffleAssert.eventNotEmitted(tx, "paramChange") + + // address do not exist + tx = await govHubInstance.handlePackage(serialize("0x00","relayerReward", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x1110000000000000000000000000000000001004"),crypto.randomBytes(32),100, 4, + {from: relayerAccount}); + truffleAssert.eventEmitted(tx, "failReasonWithStr",(ev) => { + return ev.message === "the target is not a contract"; + }); + + // method do no exist + tx = await govHubInstance.handlePackage(serialize("0x00","relayerReward", "0x0000000000000000000000000000000000000000000000000000000000000000", systemRewardInstance.address),crypto.randomBytes(32),100, 5, + {from: relayerAccount}); + truffleAssert.eventEmitted(tx, "failReasonWithBytes",(ev) => { + return ev.message === null; + }); }); });