All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.hedera.node.app.service.token.impl.TokenServiceInjectionModule Maven / Gradle / Ivy

There is a newer version: 0.56.6
Show newest version
/*
 * Copyright (C) 2023-2024 Hedera Hashgraph, LLC
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.hedera.node.app.service.token.impl;

import com.hedera.node.app.service.token.CryptoSignatureWaivers;
import com.hedera.node.app.service.token.impl.handlers.CryptoAddLiveHashHandler;
import com.hedera.node.app.service.token.impl.handlers.CryptoApproveAllowanceHandler;
import com.hedera.node.app.service.token.impl.handlers.CryptoCreateHandler;
import com.hedera.node.app.service.token.impl.handlers.CryptoDeleteAllowanceHandler;
import com.hedera.node.app.service.token.impl.handlers.CryptoDeleteHandler;
import com.hedera.node.app.service.token.impl.handlers.CryptoDeleteLiveHashHandler;
import com.hedera.node.app.service.token.impl.handlers.CryptoGetAccountBalanceHandler;
import com.hedera.node.app.service.token.impl.handlers.CryptoGetAccountInfoHandler;
import com.hedera.node.app.service.token.impl.handlers.CryptoGetAccountRecordsHandler;
import com.hedera.node.app.service.token.impl.handlers.CryptoGetLiveHashHandler;
import com.hedera.node.app.service.token.impl.handlers.CryptoGetStakersHandler;
import com.hedera.node.app.service.token.impl.handlers.CryptoTransferHandler;
import com.hedera.node.app.service.token.impl.handlers.CryptoUpdateHandler;
import com.hedera.node.app.service.token.impl.handlers.FinalizeChildRecordHandler;
import com.hedera.node.app.service.token.impl.handlers.FinalizeParentRecordHandler;
import com.hedera.node.app.service.token.impl.handlers.TokenAccountWipeHandler;
import com.hedera.node.app.service.token.impl.handlers.TokenAssociateToAccountHandler;
import com.hedera.node.app.service.token.impl.handlers.TokenBurnHandler;
import com.hedera.node.app.service.token.impl.handlers.TokenCreateHandler;
import com.hedera.node.app.service.token.impl.handlers.TokenDeleteHandler;
import com.hedera.node.app.service.token.impl.handlers.TokenDissociateFromAccountHandler;
import com.hedera.node.app.service.token.impl.handlers.TokenFeeScheduleUpdateHandler;
import com.hedera.node.app.service.token.impl.handlers.TokenFreezeAccountHandler;
import com.hedera.node.app.service.token.impl.handlers.TokenGetAccountNftInfosHandler;
import com.hedera.node.app.service.token.impl.handlers.TokenGetInfoHandler;
import com.hedera.node.app.service.token.impl.handlers.TokenGetNftInfoHandler;
import com.hedera.node.app.service.token.impl.handlers.TokenGetNftInfosHandler;
import com.hedera.node.app.service.token.impl.handlers.TokenGrantKycToAccountHandler;
import com.hedera.node.app.service.token.impl.handlers.TokenHandlers;
import com.hedera.node.app.service.token.impl.handlers.TokenMintHandler;
import com.hedera.node.app.service.token.impl.handlers.TokenPauseHandler;
import com.hedera.node.app.service.token.impl.handlers.TokenRevokeKycFromAccountHandler;
import com.hedera.node.app.service.token.impl.handlers.TokenUnfreezeAccountHandler;
import com.hedera.node.app.service.token.impl.handlers.TokenUnpauseHandler;
import com.hedera.node.app.service.token.impl.handlers.TokenUpdateHandler;
import com.hedera.node.app.service.token.impl.handlers.staking.StakeRewardCalculator;
import com.hedera.node.app.service.token.impl.handlers.staking.StakeRewardCalculatorImpl;
import com.hedera.node.app.service.token.impl.handlers.staking.StakingRewardsHandler;
import com.hedera.node.app.service.token.impl.handlers.staking.StakingRewardsHandlerImpl;
import com.hedera.node.app.service.token.records.ChildRecordFinalizer;
import com.hedera.node.app.service.token.records.ParentRecordFinalizer;
import dagger.Binds;
import dagger.Module;

/**
 * Dagger module of the token service
 */
@Module
public interface TokenServiceInjectionModule {
    /**
     * Binds the {@link CryptoSignatureWaivers} to the {@link CryptoSignatureWaiversImpl}
     * @param impl the implementation of the {@link CryptoSignatureWaivers}
     * @return the bound implementation
     */
    @Binds
    CryptoSignatureWaivers cryptoSignatureWaivers(CryptoSignatureWaiversImpl impl);

    /**
     * Binds the {@link StakingRewardsHandler} to the {@link StakingRewardsHandlerImpl}
     * @param stakingRewardsHandler the implementation of the {@link StakingRewardsHandler}
     * @return the bound implementation
     */
    @Binds
    StakingRewardsHandler stakingRewardHandler(StakingRewardsHandlerImpl stakingRewardsHandler);
    /**
     * Binds the {@link StakeRewardCalculator} to the {@link StakeRewardCalculatorImpl}
     * @param rewardCalculator the implementation of the {@link StakeRewardCalculator}
     * @return the bound implementation
     */
    @Binds
    StakeRewardCalculator stakeRewardCalculator(StakeRewardCalculatorImpl rewardCalculator);
    /**
     * Binds the {@link ParentRecordFinalizer} to the {@link FinalizeParentRecordHandler}
     * @param parentRecordFinalizer the implementation of the {@link ParentRecordFinalizer}
     * @return the bound implementation
     */
    @Binds
    ParentRecordFinalizer parentRecordFinalizer(FinalizeParentRecordHandler parentRecordFinalizer);
    /**
     * Binds the {@link ChildRecordFinalizer} to the {@link FinalizeChildRecordHandler}
     * @param childRecordHandler the implementation of the {@link ChildRecordFinalizer}
     * @return the bound implementation
     */
    @Binds
    ChildRecordFinalizer childRecordFinalizer(FinalizeChildRecordHandler childRecordHandler);
    /**
     * Returns the {@link CryptoAddLiveHashHandler}
     * @return the handler
     */
    CryptoAddLiveHashHandler cryptoAddLiveHashHandler();
    /**
     * Returns the {@link CryptoApproveAllowanceHandler}
     * @return the handler
     */
    CryptoApproveAllowanceHandler cryptoApproveAllowanceHandler();
    /**
     * Returns the {@link CryptoCreateHandler}
     * @return the handler
     */
    CryptoCreateHandler cryptoCreateHandler();
    /**
     * Returns the {@link CryptoDeleteAllowanceHandler}
     * @return the handler
     */
    CryptoDeleteAllowanceHandler cryptoDeleteAllowanceHandler();
    /**
     * Returns the {@link CryptoDeleteHandler}
     * @return the handler
     */
    CryptoDeleteHandler cryptoDeleteHandler();
    /**
     * Returns the {@link CryptoDeleteLiveHashHandler}
     * @return the handler
     */
    CryptoDeleteLiveHashHandler cryptoDeleteLiveHashHandler();
    /**
     * Returns the {@link CryptoGetAccountBalanceHandler}
     * @return the handler
     */
    CryptoGetAccountBalanceHandler cryptoGetAccountBalanceHandler();
    /**
     * Returns the {@link CryptoGetAccountInfoHandler}
     * @return the handler
     */
    CryptoGetAccountInfoHandler cryptoGetAccountInfoHandler();
    /**
     * Returns the {@link CryptoGetAccountRecordsHandler}
     * @return the handler
     */
    CryptoGetAccountRecordsHandler cryptoGetAccountRecordsHandler();
    /**
     * Returns the {@link CryptoGetLiveHashHandler}
     * @return the handler
     */
    CryptoGetLiveHashHandler cryptoGetLiveHashHandler();
    /**
     * Returns the {@link CryptoGetStakersHandler}
     * @return the handler
     */
    CryptoGetStakersHandler cryptoGetStakersHandler();
    /**
     * Returns the {@link CryptoTransferHandler}
     * @return the handler
     */
    CryptoTransferHandler cryptoTransferHandler();
    /**
     * Returns the {@link CryptoUpdateHandler}
     * @return the handler
     */
    CryptoUpdateHandler cryptoUpdateHandler();
    /**
     * Returns the {@link TokenAccountWipeHandler}
     * @return the handler
     */
    TokenAccountWipeHandler tokenAccountWipeHandler();
    /**
     * Returns the {@link TokenAssociateToAccountHandler}
     * @return the handler
     */
    TokenAssociateToAccountHandler tokenAssociateToAccountHandler();
    /**
     * Returns the {@link TokenBurnHandler}
     * @return the handler
     */
    TokenBurnHandler tokenBurnHandler();
    /**
     * Returns the {@link TokenCreateHandler}
     * @return the handler
     */
    TokenCreateHandler tokenCreateHandler();
    /**
     * Returns the {@link TokenDeleteHandler}
     * @return the handler
     */
    TokenDeleteHandler tokenDeleteHandler();
    /**
     * Returns the {@link TokenDissociateFromAccountHandler}
     * @return the handler
     */
    TokenDissociateFromAccountHandler tokenDissociateFromAccountHandler();
    /**
     * Returns the {@link TokenFeeScheduleUpdateHandler}
     * @return the handler
     */
    TokenFeeScheduleUpdateHandler tokenFeeScheduleUpdateHandler();
    /**
     * Returns the {@link TokenFreezeAccountHandler}
     * @return the handler
     */
    TokenFreezeAccountHandler tokenFreezeAccountHandler();
    /**
     * Returns the {@link TokenGetAccountNftInfosHandler}
     * @return the handler
     */
    TokenGetAccountNftInfosHandler tokenGetAccountNftInfosHandler();
    /**
     * Returns the {@link TokenGetInfoHandler}
     * @return the handler
     */
    TokenGetInfoHandler tokenGetInfoHandler();
    /**
     * Returns the {@link TokenGetNftInfoHandler}
     * @return the handler
     */
    TokenGetNftInfoHandler tokenGetNftInfoHandler();
    /**
     * Returns the {@link TokenGetNftInfosHandler}
     * @return the handler
     */
    TokenGetNftInfosHandler tokenGetNftInfosHandler();
    /**
     * Returns the {@link TokenGrantKycToAccountHandler}
     * @return the handler
     */
    TokenGrantKycToAccountHandler tokenGrantKycToAccountHandler();
    /**
     * Returns the {@link TokenMintHandler}
     * @return the handler
     */
    TokenMintHandler tokenMintHandler();
    /**
     * Returns the {@link TokenPauseHandler}
     * @return the handler
     */
    TokenPauseHandler tokenPauseHandler();
    /**
     * Returns the {@link TokenRevokeKycFromAccountHandler}
     * @return the handler
     */
    TokenRevokeKycFromAccountHandler tokenRevokeKycFromAccountHandler();
    /**
     * Returns the {@link TokenUnfreezeAccountHandler}
     * @return the handler
     */
    TokenUnfreezeAccountHandler tokenUnfreezeAccountHandler();
    /**
     * Returns the {@link TokenUnpauseHandler}
     * @return the handler
     */
    TokenUnpauseHandler tokenUnpauseHandler();
    /**
     * Returns the {@link TokenUpdateHandler}
     * @return the handler
     */
    TokenUpdateHandler tokenUpdateHandler();
    /**
     * Returns the {@link TokenHandlers}
     * @return the handler
     */
    TokenHandlers tokenComponent();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy