Skip to content

Commit

Permalink
feat: HIP-1028 apply versioning to Update Token and Update Token Keys…
Browse files Browse the repository at this point in the history
… System Contracts (#17994)

Signed-off-by: Lyuben Ivanov <[email protected]>
Signed-off-by: Stanimir Stoyanov <[email protected]>
Co-authored-by: Lyuben Ivanov <[email protected]>
  • Loading branch information
stoyanov-st and bubo authored Mar 5, 2025
1 parent e29dac5 commit e2f0802
Show file tree
Hide file tree
Showing 42 changed files with 1,311 additions and 782 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
import com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.HtsCallAttempt;
import com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.create.address_0x167.CreateTranslator;
import com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.tokentype.address_0x167.TokenTypeTranslator;
import com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.update.address_0x167.UpdateKeysTranslator;
import com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.update.address_0x167.UpdateTranslator;
import dagger.Module;
import dagger.Provides;
import dagger.multibindings.IntoSet;
Expand Down Expand Up @@ -33,4 +35,21 @@ static CallTranslator<HtsCallAttempt> provideTokenTypeTranslator(@NonNull final
static CallTranslator<HtsCallAttempt> provideCreateTranslator(@NonNull final CreateTranslator translator) {
return translator;
}

@Provides
@Singleton
@IntoSet
@Named("HtsTranslators")
static CallTranslator<HtsCallAttempt> provideUpdateKeysTranslator(@NonNull final UpdateKeysTranslator translator) {
return translator;
}

@Provides
@Singleton
@IntoSet
@Named("HtsTranslators")
static CallTranslator<HtsCallAttempt> provideUpdateTokenCommonTranslator(
@NonNull final UpdateTranslator translator) {
return translator;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@
import com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.HtsCallAttempt;
import com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.create.address_0x16c.CreateTranslator;
import com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.tokentype.address_0x16c.TokenTypeTranslator;
import com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.update.address_0x16c.UpdateKeysTranslator;
import com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.update.address_0x16c.UpdateNFTsMetadataTranslator;
import com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.update.address_0x16c.UpdateTranslator;
import dagger.Module;
import dagger.Provides;
import dagger.multibindings.IntoSet;
Expand Down Expand Up @@ -33,4 +36,30 @@ static CallTranslator<HtsCallAttempt> provideTokenTypeTranslator(@NonNull final
static CallTranslator<HtsCallAttempt> provideCreateTranslator(@NonNull final CreateTranslator translator) {
return translator;
}

@Provides
@Singleton
@IntoSet
@Named("HtsTranslators")
static CallTranslator<HtsCallAttempt> provideUpdateKeysTranslator(@NonNull final UpdateKeysTranslator translator) {
return translator;
}

@Provides
@Singleton
@IntoSet
@Named("HtsTranslators")
static CallTranslator<HtsCallAttempt> provideUpdateTokenCommonTranslator(
@NonNull final UpdateTranslator translator) {
return translator;
}

@Provides
@Singleton
@IntoSet
@Named("HtsTranslators")
static CallTranslator<HtsCallAttempt> provideUpdateNFTsMetadataTranslator(
@NonNull final UpdateNFTsMetadataTranslator translator) {
return translator;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
import com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.burn.BurnTranslator;
import com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.cancelairdrops.TokenCancelAirdropTranslator;
import com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.claimairdrops.TokenClaimAirdropTranslator;
import com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.create.address_0x167.CreateTranslator;
import com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.customfees.TokenCustomFeesTranslator;
import com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.decimals.DecimalsTranslator;
import com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.defaultfreezestatus.DefaultFreezeStatusTranslator;
Expand All @@ -37,16 +36,12 @@
import com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.tokenexpiry.TokenExpiryTranslator;
import com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.tokeninfo.TokenInfoTranslator;
import com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.tokenkey.TokenKeyTranslator;
import com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.tokentype.address_0x167.TokenTypeTranslator;
import com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.tokenuri.TokenUriTranslator;
import com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.totalsupply.TotalSupplyTranslator;
import com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.transfer.ClassicTransfersTranslator;
import com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.transfer.Erc20TransfersTranslator;
import com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.transfer.Erc721TransferFromTranslator;
import com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.update.UpdateExpiryTranslator;
import com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.update.UpdateKeysTranslator;
import com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.update.UpdateNFTsMetadataTranslator;
import com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.update.UpdateTranslator;
import com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.updatetokencustomfees.UpdateTokenCustomFeesTranslator;
import com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.wipe.WipeTranslator;
import dagger.Module;
Expand Down Expand Up @@ -132,14 +127,6 @@ static CallTranslator<HtsCallAttempt> provideBurnTranslator(@NonNull final BurnT
return translator;
}

@Provides
@Singleton
@IntoSet
@Named("HtsTranslators")
static CallTranslator<HtsCallAttempt> provideCreateTranslator(@NonNull final CreateTranslator translator) {
return translator;
}

@Provides
@Singleton
@IntoSet
Expand Down Expand Up @@ -290,14 +277,6 @@ static CallTranslator<HtsCallAttempt> provideIsTokenTranslator(@NonNull final Is
return translator;
}

@Provides
@Singleton
@IntoSet
@Named("HtsTranslators")
static CallTranslator<HtsCallAttempt> provideTokenTypeTranslator(@NonNull final TokenTypeTranslator translator) {
return translator;
}

@Provides
@Singleton
@IntoSet
Expand Down Expand Up @@ -350,14 +329,6 @@ static CallTranslator<HtsCallAttempt> provideTokenKeyTranslator(@NonNull final T
return translator;
}

@Provides
@Singleton
@IntoSet
@Named("HtsTranslators")
static CallTranslator<HtsCallAttempt> provideUpdateTranslator(@NonNull final UpdateTranslator translator) {
return translator;
}

@Provides
@Singleton
@IntoSet
Expand Down Expand Up @@ -402,14 +373,6 @@ static CallTranslator<HtsCallAttempt> provideNonFungibleTokenInfoTranslator(
return translator;
}

@Provides
@Singleton
@IntoSet
@Named("HtsTranslators")
static CallTranslator<HtsCallAttempt> provideUpdateKeysTranslator(@NonNull final UpdateKeysTranslator translator) {
return translator;
}

@Provides
@Singleton
@IntoSet
Expand All @@ -419,15 +382,6 @@ static CallTranslator<HtsCallAttempt> provideUpdateTokenCustomFeesTranslator(
return translator;
}

@Provides
@Singleton
@IntoSet
@Named("HtsTranslators")
static CallTranslator<HtsCallAttempt> provideUpdateNFTsMetadataTranslator(
@NonNull final UpdateNFTsMetadataTranslator translator) {
return translator;
}

@Provides
@Singleton
@IntoSet
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

import static com.hedera.node.app.service.contract.impl.exec.systemcontracts.HtsSystemContract.HTS_167_EVM_ADDRESS;
import static com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.create.CreateCommons.createMethodsSet;
import static com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.update.UpdateTranslator.updateMethodsMap;
import static com.hedera.node.app.service.contract.impl.exec.systemcontracts.hts.update.UpdateCommons.updateMethodsSet;
import static com.hedera.node.app.spi.workflows.HandleException.validateTrue;
import static java.util.Objects.requireNonNull;
import static org.hyperledger.besu.datatypes.Address.fromHexString;
Expand Down Expand Up @@ -120,7 +120,7 @@ private boolean innerCallValidation(@NonNull final HssCallAttempt attempt) {
final var canBeCreateToken =
createMethodsSet.stream().anyMatch(s -> Arrays.equals(s.selector(), innerCallSelector));
final var canBeUpdateToken =
updateMethodsMap.keySet().stream().anyMatch(s -> Arrays.equals(s.selector(), innerCallSelector));
updateMethodsSet.stream().anyMatch(s -> Arrays.equals(s.selector(), innerCallSelector));

return canBeCreateToken || canBeUpdateToken;
}
Expand Down
Loading

0 comments on commit e2f0802

Please sign in to comment.