// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import {Weaver} from "../types/Weaver.sol";

contract WeaverMock is Weaver {
    address private _previousAddress;

    constructor(address previousWeaver) Weaver(previousWeaver) {
        _previousAddress = previousWeaver;
    }

    function previousAddress() external override view returns (address) {
        return _previousAddress;
    }

    function insertTreeNode(bytes32 receiver, uint256 amount) external returns (uint256) {
        return _insertTreeNode(receiver, amount);
    }

    function computeArgumentsHash(
        uint256 index,
        uint256 amount,
        bytes32 receiver
    ) external pure returns (bytes32) {
        return _computeArgumentsHash(index, amount, receiver);
    }
}
