Skip to content

Commit

Permalink
test: fix balance checker test
Browse files Browse the repository at this point in the history
Signed-off-by: Ivan Ivanov <ivanivanov.ii726@gmail.com>
  • Loading branch information
0xivanov committed Feb 8, 2024
1 parent ffed683 commit 700e7f3
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,7 @@
import com.hederahashgraph.api.proto.java.TokenTransferList;
import com.hederahashgraph.api.proto.java.TokenType;
import com.hederahashgraph.api.proto.java.TransferList;
import java.math.BigInteger;
import java.util.List;
import java.util.OptionalLong;
import java.util.concurrent.atomic.AtomicReference;
Expand Down Expand Up @@ -2166,14 +2167,17 @@ final HapiSpec testTransferToSystemAccountsAndCheckSenderBalance() {
.given(
cryptoCreate(senderAccount).balance(ONE_HUNDRED_HBARS),
uploadInitCode(transferContract),
contractCreate(transferContract),
contractCreate(transferContract).balance(ONE_HBAR),
uploadInitCode(balanceContract),
contractCreate(balanceContract))
.when(contractCall(transferContract, "sendViaTransfer", mirrorAddrWith(359L))
.when(contractCall(
transferContract,
"sendViaTransferWithAmount",
mirrorAddrWith(359L),
BigInteger.valueOf(15L))
.payingWith(senderAccount)
.sending(ONE_HBAR * 10)
.hasKnownStatus(CONTRACT_REVERT_EXECUTED))
.then(getAccountBalance(senderAccount, false).hasTinyBars(9994320000L));
.then(getAccountBalance(transferContract, true).hasTinyBars(ONE_HBAR));
}

@HapiTest
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
608060405234801561000f575f80fd5b506110338061001d5f395ff3fe608060405260043610610049575f3560e01c80630ed072761461004d578063636e082b1461007557806374be4806146100915780637c41ad2c146100ad578063830c29ae146100e9575b5f80fd5b348015610058575f80fd5b50610073600480360381019061006e91906109c8565b610105565b005b61008f600480360381019061008a9190610a4a565b61015b565b005b6100ab60048036038101906100a69190610a4a565b6101a2565b005b3480156100b8575f80fd5b506100d360048036038101906100ce9190610a75565b61021d565b6040516100e09190610ab8565b60405180910390f35b61010360048036038101906100fe9190610a4a565b61032c565b005b5f61010f826103db565b9050601660030b8114610157576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014e90610b2b565b60405180910390fd5b5050565b8073ffffffffffffffffffffffffffffffffffffffff166108fc3490811502906040515f60405180830381858888f1935050505015801561019e573d5f803e3d5ffd5b5050565b5f8173ffffffffffffffffffffffffffffffffffffffff166108fc3490811502906040515f60405180830381858888f19350505050905080610219576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021090610b93565b60405180910390fd5b5050565b5f805f61016773ffffffffffffffffffffffffffffffffffffffff16637c41ad2c60e01b856040516024016102529190610bc0565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516102bc9190610c45565b5f604051808303815f865af19150503d805f81146102f5576040519150601f19603f3d011682016040523d82523d5f602084013e6102fa565b606091505b50915091508161030b576015610320565b8080602001905181019061031f9190610c91565b5b60030b92505050919050565b5f808273ffffffffffffffffffffffffffffffffffffffff163460405161035290610cdf565b5f6040518083038185875af1925050503d805f811461038c576040519150601f19603f3d011682016040523d82523d5f602084013e610391565b606091505b5091509150816103d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103cd90610b93565b60405180910390fd5b505050565b5f805f61016773ffffffffffffffffffffffffffffffffffffffff1663189a554c60e01b856040516024016104109190610fdd565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161047a9190610c45565b5f604051808303815f865af19150503d805f81146104b3576040519150601f19603f3d011682016040523d82523d5f602084013e6104b8565b606091505b5091509150816104c95760156104de565b808060200190518101906104dd9190610c91565b5b60030b92505050919050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610545826104ff565b810181811067ffffffffffffffff821117156105645761056361050f565b5b80604052505050565b5f6105766104ea565b9050610582828261053c565b919050565b5f67ffffffffffffffff8211156105a1576105a061050f565b5b602082029050602081019050919050565b5f80fd5b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6105e7826105be565b9050919050565b6105f7816105dd565b8114610601575f80fd5b50565b5f81359050610612816105ee565b92915050565b5f67ffffffffffffffff8211156106325761063161050f565b5b602082029050602081019050919050565b5f8160070b9050919050565b61065881610643565b8114610662575f80fd5b50565b5f813590506106738161064f565b92915050565b5f6040828403121561068e5761068d6105b6565b5b610698604061056d565b90505f6106a784828501610604565b5f8301525060206106ba84828501610665565b60208301525092915050565b5f6106d86106d384610618565b61056d565b905080838252602082019050604084028301858111156106fb576106fa6105b2565b5b835b8181101561072457806107108882610679565b8452602084019350506040810190506106fd565b5050509392505050565b5f82601f830112610742576107416104fb565b5b81356107528482602086016106c6565b91505092915050565b5f67ffffffffffffffff8211156107755761077461050f565b5b602082029050602081019050919050565b5f6060828403121561079b5761079a6105b6565b5b6107a5606061056d565b90505f6107b484828501610604565b5f8301525060206107c784828501610604565b60208301525060406107db84828501610665565b60408301525092915050565b5f6107f96107f48461075b565b61056d565b9050808382526020820190506060840283018581111561081c5761081b6105b2565b5b835b8181101561084557806108318882610786565b84526020840193505060608101905061081e565b5050509392505050565b5f82601f830112610863576108626104fb565b5b81356108738482602086016107e7565b91505092915050565b5f60608284031215610891576108906105b6565b5b61089b606061056d565b90505f6108aa84828501610604565b5f83015250602082013567ffffffffffffffff8111156108cd576108cc6105ba565b5b6108d98482850161072e565b602083015250604082013567ffffffffffffffff8111156108fd576108fc6105ba565b5b6109098482850161084f565b60408301525092915050565b5f61092761092284610587565b61056d565b9050808382526020820190506020840283018581111561094a576109496105b2565b5b835b8181101561099157803567ffffffffffffffff81111561096f5761096e6104fb565b5b80860161097c898261087c565b8552602085019450505060208101905061094c565b5050509392505050565b5f82601f8301126109af576109ae6104fb565b5b81356109bf848260208601610915565b91505092915050565b5f602082840312156109dd576109dc6104f3565b5b5f82013567ffffffffffffffff8111156109fa576109f96104f7565b5b610a068482850161099b565b91505092915050565b5f610a19826105be565b9050919050565b610a2981610a0f565b8114610a33575f80fd5b50565b5f81359050610a4481610a20565b92915050565b5f60208284031215610a5f57610a5e6104f3565b5b5f610a6c84828501610a36565b91505092915050565b5f60208284031215610a8a57610a896104f3565b5b5f610a9784828501610604565b91505092915050565b5f819050919050565b610ab281610aa0565b82525050565b5f602082019050610acb5f830184610aa9565b92915050565b5f82825260208201905092915050565b7f43727970746f205472616e73666572204661696c6564000000000000000000005f82015250565b5f610b15601683610ad1565b9150610b2082610ae1565b602082019050919050565b5f6020820190508181035f830152610b4281610b09565b9050919050565b7f4661696c656420746f2073656e642045746865720000000000000000000000005f82015250565b5f610b7d601483610ad1565b9150610b8882610b49565b602082019050919050565b5f6020820190508181035f830152610baa81610b71565b9050919050565b610bba816105dd565b82525050565b5f602082019050610bd35f830184610bb1565b92915050565b5f81519050919050565b5f81905092915050565b5f5b83811015610c0a578082015181840152602081019050610bef565b5f8484015250505050565b5f610c1f82610bd9565b610c298185610be3565b9350610c39818560208601610bed565b80840191505092915050565b5f610c508284610c15565b915081905092915050565b5f8160030b9050919050565b610c7081610c5b565b8114610c7a575f80fd5b50565b5f81519050610c8b81610c67565b92915050565b5f60208284031215610ca657610ca56104f3565b5b5f610cb384828501610c7d565b91505092915050565b50565b5f610cca5f83610be3565b9150610cd582610cbc565b5f82019050919050565b5f610ce982610cbf565b9150819050919050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b610d25816105dd565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b610d5d81610643565b82525050565b604082015f820151610d775f850182610d1c565b506020820151610d8a6020850182610d54565b50505050565b5f610d9b8383610d63565b60408301905092915050565b5f602082019050919050565b5f610dbd82610d2b565b610dc78185610d35565b9350610dd283610d45565b805f5b83811015610e02578151610de98882610d90565b9750610df483610da7565b925050600181019050610dd5565b5085935050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b606082015f820151610e4c5f850182610d1c565b506020820151610e5f6020850182610d1c565b506040820151610e726040850182610d54565b50505050565b5f610e838383610e38565b60608301905092915050565b5f602082019050919050565b5f610ea582610e0f565b610eaf8185610e19565b9350610eba83610e29565b805f5b83811015610eea578151610ed18882610e78565b9750610edc83610e8f565b925050600181019050610ebd565b5085935050505092915050565b5f606083015f830151610f0c5f860182610d1c565b5060208301518482036020860152610f248282610db3565b91505060408301518482036040860152610f3e8282610e9b565b9150508091505092915050565b5f610f568383610ef7565b905092915050565b5f602082019050919050565b5f610f7482610cf3565b610f7e8185610cfd565b935083602082028501610f9085610d0d565b805f5b85811015610fcb5784840389528151610fac8582610f4b565b9450610fb783610f5e565b925060208a01995050600181019050610f93565b50829750879550505050505092915050565b5f6020820190508181035f830152610ff58184610f6a565b90509291505056fea2646970667358221220371a2247769f5bdb8709e2a88bd97486a96502842da839e5f8c5076e28be272064736f6c63430008180033
608060405261111f806100115f395ff3fe608060405260043610610054575f3560e01c80630ed0727614610058578063636e082b1461008057806374be48061461009c5780637c41ad2c146100b8578063830c29ae146100f4578063f5daadc214610110575b5f80fd5b348015610063575f80fd5b5061007e60048036038101906100799190610a43565b610138565b005b61009a60048036038101906100959190610ac5565b61018e565b005b6100b660048036038101906100b19190610ac5565b6101d5565b005b3480156100c3575f80fd5b506100de60048036038101906100d99190610af0565b610250565b6040516100eb9190610b33565b60405180910390f35b61010e60048036038101906101099190610ac5565b61035f565b005b34801561011b575f80fd5b5061013660048036038101906101319190610b7f565b61040e565b005b5f61014282610456565b9050601660030b811461018a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161018190610c17565b60405180910390fd5b5050565b8073ffffffffffffffffffffffffffffffffffffffff166108fc3490811502906040515f60405180830381858888f193505050501580156101d1573d5f803e3d5ffd5b5050565b5f8173ffffffffffffffffffffffffffffffffffffffff166108fc3490811502906040515f60405180830381858888f1935050505090508061024c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024390610c7f565b60405180910390fd5b5050565b5f805f61016773ffffffffffffffffffffffffffffffffffffffff16637c41ad2c60e01b856040516024016102859190610cac565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516102ef9190610d31565b5f604051808303815f865af19150503d805f8114610328576040519150601f19603f3d011682016040523d82523d5f602084013e61032d565b606091505b50915091508161033e576015610353565b808060200190518101906103529190610d7d565b5b60030b92505050919050565b5f808273ffffffffffffffffffffffffffffffffffffffff163460405161038590610dcb565b5f6040518083038185875af1925050503d805f81146103bf576040519150601f19603f3d011682016040523d82523d5f602084013e6103c4565b606091505b509150915081610409576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161040090610c7f565b60405180910390fd5b505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610451573d5f803e3d5ffd5b505050565b5f805f61016773ffffffffffffffffffffffffffffffffffffffff1663189a554c60e01b8560405160240161048b91906110c9565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516104f59190610d31565b5f604051808303815f865af19150503d805f811461052e576040519150601f19603f3d011682016040523d82523d5f602084013e610533565b606091505b509150915081610544576015610559565b808060200190518101906105589190610d7d565b5b60030b92505050919050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6105c08261057a565b810181811067ffffffffffffffff821117156105df576105de61058a565b5b80604052505050565b5f6105f1610565565b90506105fd82826105b7565b919050565b5f67ffffffffffffffff82111561061c5761061b61058a565b5b602082029050602081019050919050565b5f80fd5b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61066282610639565b9050919050565b61067281610658565b811461067c575f80fd5b50565b5f8135905061068d81610669565b92915050565b5f67ffffffffffffffff8211156106ad576106ac61058a565b5b602082029050602081019050919050565b5f8160070b9050919050565b6106d3816106be565b81146106dd575f80fd5b50565b5f813590506106ee816106ca565b92915050565b5f6040828403121561070957610708610631565b5b61071360406105e8565b90505f6107228482850161067f565b5f830152506020610735848285016106e0565b60208301525092915050565b5f61075361074e84610693565b6105e8565b905080838252602082019050604084028301858111156107765761077561062d565b5b835b8181101561079f578061078b88826106f4565b845260208401935050604081019050610778565b5050509392505050565b5f82601f8301126107bd576107bc610576565b5b81356107cd848260208601610741565b91505092915050565b5f67ffffffffffffffff8211156107f0576107ef61058a565b5b602082029050602081019050919050565b5f6060828403121561081657610815610631565b5b61082060606105e8565b90505f61082f8482850161067f565b5f8301525060206108428482850161067f565b6020830152506040610856848285016106e0565b60408301525092915050565b5f61087461086f846107d6565b6105e8565b905080838252602082019050606084028301858111156108975761089661062d565b5b835b818110156108c057806108ac8882610801565b845260208401935050606081019050610899565b5050509392505050565b5f82601f8301126108de576108dd610576565b5b81356108ee848260208601610862565b91505092915050565b5f6060828403121561090c5761090b610631565b5b61091660606105e8565b90505f6109258482850161067f565b5f83015250602082013567ffffffffffffffff81111561094857610947610635565b5b610954848285016107a9565b602083015250604082013567ffffffffffffffff81111561097857610977610635565b5b610984848285016108ca565b60408301525092915050565b5f6109a261099d84610602565b6105e8565b905080838252602082019050602084028301858111156109c5576109c461062d565b5b835b81811015610a0c57803567ffffffffffffffff8111156109ea576109e9610576565b5b8086016109f789826108f7565b855260208501945050506020810190506109c7565b5050509392505050565b5f82601f830112610a2a57610a29610576565b5b8135610a3a848260208601610990565b91505092915050565b5f60208284031215610a5857610a5761056e565b5b5f82013567ffffffffffffffff811115610a7557610a74610572565b5b610a8184828501610a16565b91505092915050565b5f610a9482610639565b9050919050565b610aa481610a8a565b8114610aae575f80fd5b50565b5f81359050610abf81610a9b565b92915050565b5f60208284031215610ada57610ad961056e565b5b5f610ae784828501610ab1565b91505092915050565b5f60208284031215610b0557610b0461056e565b5b5f610b128482850161067f565b91505092915050565b5f819050919050565b610b2d81610b1b565b82525050565b5f602082019050610b465f830184610b24565b92915050565b5f819050919050565b610b5e81610b4c565b8114610b68575f80fd5b50565b5f81359050610b7981610b55565b92915050565b5f8060408385031215610b9557610b9461056e565b5b5f610ba285828601610ab1565b9250506020610bb385828601610b6b565b9150509250929050565b5f82825260208201905092915050565b7f43727970746f205472616e73666572204661696c6564000000000000000000005f82015250565b5f610c01601683610bbd565b9150610c0c82610bcd565b602082019050919050565b5f6020820190508181035f830152610c2e81610bf5565b9050919050565b7f4661696c656420746f2073656e642045746865720000000000000000000000005f82015250565b5f610c69601483610bbd565b9150610c7482610c35565b602082019050919050565b5f6020820190508181035f830152610c9681610c5d565b9050919050565b610ca681610658565b82525050565b5f602082019050610cbf5f830184610c9d565b92915050565b5f81519050919050565b5f81905092915050565b5f5b83811015610cf6578082015181840152602081019050610cdb565b5f8484015250505050565b5f610d0b82610cc5565b610d158185610ccf565b9350610d25818560208601610cd9565b80840191505092915050565b5f610d3c8284610d01565b915081905092915050565b5f8160030b9050919050565b610d5c81610d47565b8114610d66575f80fd5b50565b5f81519050610d7781610d53565b92915050565b5f60208284031215610d9257610d9161056e565b5b5f610d9f84828501610d69565b91505092915050565b50565b5f610db65f83610ccf565b9150610dc182610da8565b5f82019050919050565b5f610dd582610dab565b9150819050919050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b610e1181610658565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b610e49816106be565b82525050565b604082015f820151610e635f850182610e08565b506020820151610e766020850182610e40565b50505050565b5f610e878383610e4f565b60408301905092915050565b5f602082019050919050565b5f610ea982610e17565b610eb38185610e21565b9350610ebe83610e31565b805f5b83811015610eee578151610ed58882610e7c565b9750610ee083610e93565b925050600181019050610ec1565b5085935050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b606082015f820151610f385f850182610e08565b506020820151610f4b6020850182610e08565b506040820151610f5e6040850182610e40565b50505050565b5f610f6f8383610f24565b60608301905092915050565b5f602082019050919050565b5f610f9182610efb565b610f9b8185610f05565b9350610fa683610f15565b805f5b83811015610fd6578151610fbd8882610f64565b9750610fc883610f7b565b925050600181019050610fa9565b5085935050505092915050565b5f606083015f830151610ff85f860182610e08565b50602083015184820360208601526110108282610e9f565b9150506040830151848203604086015261102a8282610f87565b9150508091505092915050565b5f6110428383610fe3565b905092915050565b5f602082019050919050565b5f61106082610ddf565b61106a8185610de9565b93508360208202850161107c85610df9565b805f5b858110156110b757848403895281516110988582611037565b94506110a38361104a565b925060208a0199505060018101905061107f565b50829750879550505050505092915050565b5f6020820190508181035f8301526110e18184611056565b90509291505056fea264697066735822122027ad6ff4c8ec2fefc01be9fb723594bdd035f08f626d7946b8bf8af11d8968cf64736f6c63430008180033
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[
{
"inputs": [],
"stateMutability": "nonpayable",
"stateMutability": "payable",
"type": "constructor"
},
{
Expand Down Expand Up @@ -62,6 +62,24 @@
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address payable",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "sendViaTransferWithAmount",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import "./HederaTokenService.sol";

contract CryptoTransfer is HederaTokenService {

constructor() public {
constructor() public payable {
}

function transferMultipleTokens(IHederaTokenService.TokenTransferList[] memory tokenTransfers) external {
Expand All @@ -16,6 +16,10 @@ contract CryptoTransfer is HederaTokenService {
}
}

function sendViaTransferWithAmount(address payable _to, uint256 amount) public {
_to.transfer(amount);
}

function sendViaTransfer(address payable _to) public payable {
_to.transfer(msg.value);
}
Expand Down

0 comments on commit 700e7f3

Please sign in to comment.