{"source_code":{"src/hello.cairo":"#[starknet::interface]\npub trait IHelloStarknet<TContractState> {\n    fn increase_balance(ref self: TContractState, amount: felt252);\n    fn get_balance(self: @TContractState) -> felt252;\n}\n\n#[starknet::contract]\nmod HelloStarknet2 {\n    use contractsfortests::helpers::helper1;\n\n    #[storage]\n    struct Storage {\n        balance: felt252, \n    }\n\n    #[abi(embed_v0)]\n    impl HelloStarknetImpl of super::IHelloStarknet<ContractState> {\n        fn increase_balance(ref self: ContractState, amount: felt252) {\n            assert(amount != 0, 'Amount cannot be 0');\n            let new_amount = helper1::fib(1, 1, amount);\n            self.balance.write(self.balance.read() + new_amount * 2);\n        }\n\n        fn get_balance(self: @ContractState) -> felt252 {\n            self.balance.read()\n        }\n    }\n}","Scarb.toml":"[package]\nname = \"contractsfortests\"\nversion = \"0.1.0\"\nedition = \"2023_11\"\n\n# See more keys and their definitions at https://docs.swmansion.com/scarb/docs/reference/manifest.html\n\n[dependencies]\nstarknet = \"2.6.3\"\n\n[dev-dependencies]\nsnforge_std = { git = \"https://github.com/foundry-rs/starknet-foundry\", tag = \"v0.22.0\" }\n\n[[target.starknet-contract]]\nsierra = true\ncasm = true\n\n[cairo]\nunstable-add-statements-functions-debug-info = true","src/helpers/helper1.cairo":"pub fn fib(a: felt252, b: felt252, n: felt252) -> felt252 {\n    match n {\n        0 => a,\n        _ => fib(b, a + b, n - 1),\n    }\n}"},"source":"walnut"}