@@ -428,113 +428,147 @@ public static Transaction<?> fromScheduledTransaction(
428428 com .hedera .hashgraph .sdk .proto .SchedulableTransactionBody scheduled ) {
429429 var body = TransactionBody .newBuilder ()
430430 .setMemo (scheduled .getMemo ())
431- .setTransactionFee (scheduled .getTransactionFee ());
431+ .setTransactionFee (scheduled .getTransactionFee ())
432+ .addAllMaxCustomFees (scheduled .getMaxCustomFeesList ());
432433
433434 return switch (scheduled .getDataCase ()) {
434- case CONTRACTCALL -> new ContractExecuteTransaction (
435- body .setContractCall (scheduled .getContractCall ()).build ());
436- case CONTRACTCREATEINSTANCE -> new ContractCreateTransaction (
437- body .setContractCreateInstance (scheduled .getContractCreateInstance ())
438- .build ());
439- case CONTRACTUPDATEINSTANCE -> new ContractUpdateTransaction (
440- body .setContractUpdateInstance (scheduled .getContractUpdateInstance ())
441- .build ());
442- case CONTRACTDELETEINSTANCE -> new ContractDeleteTransaction (
443- body .setContractDeleteInstance (scheduled .getContractDeleteInstance ())
444- .build ());
445- case CRYPTOAPPROVEALLOWANCE -> new AccountAllowanceApproveTransaction (
446- body .setCryptoApproveAllowance (scheduled .getCryptoApproveAllowance ())
447- .build ());
448- case CRYPTODELETEALLOWANCE -> new AccountAllowanceDeleteTransaction (
449- body .setCryptoDeleteAllowance (scheduled .getCryptoDeleteAllowance ())
450- .build ());
451- case CRYPTOCREATEACCOUNT -> new AccountCreateTransaction (
452- body .setCryptoCreateAccount (scheduled .getCryptoCreateAccount ())
453- .build ());
454- case CRYPTODELETE -> new AccountDeleteTransaction (
455- body .setCryptoDelete (scheduled .getCryptoDelete ()).build ());
456- case CRYPTOTRANSFER -> new TransferTransaction (
457- body .setCryptoTransfer (scheduled .getCryptoTransfer ()).build ());
458- case CRYPTOUPDATEACCOUNT -> new AccountUpdateTransaction (
459- body .setCryptoUpdateAccount (scheduled .getCryptoUpdateAccount ())
460- .build ());
461- case FILEAPPEND -> new FileAppendTransaction (
462- body .setFileAppend (scheduled .getFileAppend ()).build ());
463- case FILECREATE -> new FileCreateTransaction (
464- body .setFileCreate (scheduled .getFileCreate ()).build ());
465- case FILEDELETE -> new FileDeleteTransaction (
466- body .setFileDelete (scheduled .getFileDelete ()).build ());
467- case FILEUPDATE -> new FileUpdateTransaction (
468- body .setFileUpdate (scheduled .getFileUpdate ()).build ());
469- case NODECREATE -> new NodeCreateTransaction (
470- body .setNodeCreate (scheduled .getNodeCreate ()).build ());
471- case NODEUPDATE -> new NodeUpdateTransaction (
472- body .setNodeUpdate (scheduled .getNodeUpdate ()).build ());
473- case NODEDELETE -> new NodeDeleteTransaction (
474- body .setNodeDelete (scheduled .getNodeDelete ()).build ());
475- case SYSTEMDELETE -> new SystemDeleteTransaction (
476- body .setSystemDelete (scheduled .getSystemDelete ()).build ());
477- case SYSTEMUNDELETE -> new SystemUndeleteTransaction (
478- body .setSystemUndelete (scheduled .getSystemUndelete ()).build ());
479- case FREEZE -> new FreezeTransaction (
480- body .setFreeze (scheduled .getFreeze ()).build ());
481- case CONSENSUSCREATETOPIC -> new TopicCreateTransaction (
482- body .setConsensusCreateTopic (scheduled .getConsensusCreateTopic ())
483- .build ());
484- case CONSENSUSUPDATETOPIC -> new TopicUpdateTransaction (
485- body .setConsensusUpdateTopic (scheduled .getConsensusUpdateTopic ())
486- .build ());
487- case CONSENSUSDELETETOPIC -> new TopicDeleteTransaction (
488- body .setConsensusDeleteTopic (scheduled .getConsensusDeleteTopic ())
489- .build ());
490- case CONSENSUSSUBMITMESSAGE -> new TopicMessageSubmitTransaction (
491- body .setConsensusSubmitMessage (scheduled .getConsensusSubmitMessage ())
492- .build ());
493- case TOKENCREATION -> new TokenCreateTransaction (
494- body .setTokenCreation (scheduled .getTokenCreation ()).build ());
495- case TOKENFREEZE -> new TokenFreezeTransaction (
496- body .setTokenFreeze (scheduled .getTokenFreeze ()).build ());
497- case TOKENUNFREEZE -> new TokenUnfreezeTransaction (
498- body .setTokenUnfreeze (scheduled .getTokenUnfreeze ()).build ());
499- case TOKENGRANTKYC -> new TokenGrantKycTransaction (
500- body .setTokenGrantKyc (scheduled .getTokenGrantKyc ()).build ());
501- case TOKENREVOKEKYC -> new TokenRevokeKycTransaction (
502- body .setTokenRevokeKyc (scheduled .getTokenRevokeKyc ()).build ());
503- case TOKENDELETION -> new TokenDeleteTransaction (
504- body .setTokenDeletion (scheduled .getTokenDeletion ()).build ());
505- case TOKENUPDATE -> new TokenUpdateTransaction (
506- body .setTokenUpdate (scheduled .getTokenUpdate ()).build ());
507- case TOKEN_UPDATE_NFTS -> new TokenUpdateNftsTransaction (
508- body .setTokenUpdateNfts (scheduled .getTokenUpdateNfts ()).build ());
509- case TOKENMINT -> new TokenMintTransaction (
510- body .setTokenMint (scheduled .getTokenMint ()).build ());
511- case TOKENBURN -> new TokenBurnTransaction (
512- body .setTokenBurn (scheduled .getTokenBurn ()).build ());
513- case TOKENWIPE -> new TokenWipeTransaction (
514- body .setTokenWipe (scheduled .getTokenWipe ()).build ());
515- case TOKENASSOCIATE -> new TokenAssociateTransaction (
516- body .setTokenAssociate (scheduled .getTokenAssociate ()).build ());
517- case TOKENDISSOCIATE -> new TokenDissociateTransaction (
518- body .setTokenDissociate (scheduled .getTokenDissociate ()).build ());
519- case TOKEN_FEE_SCHEDULE_UPDATE -> new TokenFeeScheduleUpdateTransaction (
520- body .setTokenFeeScheduleUpdate (scheduled .getTokenFeeScheduleUpdate ())
521- .build ());
522- case TOKEN_PAUSE -> new TokenPauseTransaction (
523- body .setTokenPause (scheduled .getTokenPause ()).build ());
524- case TOKEN_UNPAUSE -> new TokenUnpauseTransaction (
525- body .setTokenUnpause (scheduled .getTokenUnpause ()).build ());
526- case TOKENREJECT -> new TokenRejectTransaction (
527- body .setTokenReject (scheduled .getTokenReject ()).build ());
528- case TOKENAIRDROP -> new TokenAirdropTransaction (
529- body .setTokenAirdrop (scheduled .getTokenAirdrop ()).build ());
530- case TOKENCANCELAIRDROP -> new TokenCancelAirdropTransaction (
531- body .setTokenCancelAirdrop (scheduled .getTokenCancelAirdrop ())
532- .build ());
533- case TOKENCLAIMAIRDROP -> new TokenClaimAirdropTransaction (
534- body .setTokenCancelAirdrop (scheduled .getTokenCancelAirdrop ())
535- .build ());
536- case SCHEDULEDELETE -> new ScheduleDeleteTransaction (
537- body .setScheduleDelete (scheduled .getScheduleDelete ()).build ());
435+ case CONTRACTCALL ->
436+ new ContractExecuteTransaction (
437+ body .setContractCall (scheduled .getContractCall ()).build ());
438+ case CONTRACTCREATEINSTANCE ->
439+ new ContractCreateTransaction (body .setContractCreateInstance (scheduled .getContractCreateInstance ())
440+ .build ());
441+ case CONTRACTUPDATEINSTANCE ->
442+ new ContractUpdateTransaction (body .setContractUpdateInstance (scheduled .getContractUpdateInstance ())
443+ .build ());
444+ case CONTRACTDELETEINSTANCE ->
445+ new ContractDeleteTransaction (body .setContractDeleteInstance (scheduled .getContractDeleteInstance ())
446+ .build ());
447+ case CRYPTOAPPROVEALLOWANCE ->
448+ new AccountAllowanceApproveTransaction (
449+ body .setCryptoApproveAllowance (scheduled .getCryptoApproveAllowance ())
450+ .build ());
451+ case CRYPTODELETEALLOWANCE ->
452+ new AccountAllowanceDeleteTransaction (
453+ body .setCryptoDeleteAllowance (scheduled .getCryptoDeleteAllowance ())
454+ .build ());
455+ case CRYPTOCREATEACCOUNT ->
456+ new AccountCreateTransaction (body .setCryptoCreateAccount (scheduled .getCryptoCreateAccount ())
457+ .build ());
458+ case CRYPTODELETE ->
459+ new AccountDeleteTransaction (
460+ body .setCryptoDelete (scheduled .getCryptoDelete ()).build ());
461+ case CRYPTOTRANSFER ->
462+ new TransferTransaction (
463+ body .setCryptoTransfer (scheduled .getCryptoTransfer ()).build ());
464+ case CRYPTOUPDATEACCOUNT ->
465+ new AccountUpdateTransaction (body .setCryptoUpdateAccount (scheduled .getCryptoUpdateAccount ())
466+ .build ());
467+ case FILEAPPEND ->
468+ new FileAppendTransaction (
469+ body .setFileAppend (scheduled .getFileAppend ()).build ());
470+ case FILECREATE ->
471+ new FileCreateTransaction (
472+ body .setFileCreate (scheduled .getFileCreate ()).build ());
473+ case FILEDELETE ->
474+ new FileDeleteTransaction (
475+ body .setFileDelete (scheduled .getFileDelete ()).build ());
476+ case FILEUPDATE ->
477+ new FileUpdateTransaction (
478+ body .setFileUpdate (scheduled .getFileUpdate ()).build ());
479+ case NODECREATE ->
480+ new NodeCreateTransaction (
481+ body .setNodeCreate (scheduled .getNodeCreate ()).build ());
482+ case NODEUPDATE ->
483+ new NodeUpdateTransaction (
484+ body .setNodeUpdate (scheduled .getNodeUpdate ()).build ());
485+ case NODEDELETE ->
486+ new NodeDeleteTransaction (
487+ body .setNodeDelete (scheduled .getNodeDelete ()).build ());
488+ case SYSTEMDELETE ->
489+ new SystemDeleteTransaction (
490+ body .setSystemDelete (scheduled .getSystemDelete ()).build ());
491+ case SYSTEMUNDELETE ->
492+ new SystemUndeleteTransaction (
493+ body .setSystemUndelete (scheduled .getSystemUndelete ()).build ());
494+ case FREEZE ->
495+ new FreezeTransaction (body .setFreeze (scheduled .getFreeze ()).build ());
496+ case CONSENSUSCREATETOPIC ->
497+ new TopicCreateTransaction (body .setConsensusCreateTopic (scheduled .getConsensusCreateTopic ())
498+ .build ());
499+ case CONSENSUSUPDATETOPIC ->
500+ new TopicUpdateTransaction (body .setConsensusUpdateTopic (scheduled .getConsensusUpdateTopic ())
501+ .build ());
502+ case CONSENSUSDELETETOPIC ->
503+ new TopicDeleteTransaction (body .setConsensusDeleteTopic (scheduled .getConsensusDeleteTopic ())
504+ .build ());
505+ case CONSENSUSSUBMITMESSAGE ->
506+ new TopicMessageSubmitTransaction (body .setConsensusSubmitMessage (scheduled .getConsensusSubmitMessage ())
507+ .build ());
508+ case TOKENCREATION ->
509+ new TokenCreateTransaction (
510+ body .setTokenCreation (scheduled .getTokenCreation ()).build ());
511+ case TOKENFREEZE ->
512+ new TokenFreezeTransaction (
513+ body .setTokenFreeze (scheduled .getTokenFreeze ()).build ());
514+ case TOKENUNFREEZE ->
515+ new TokenUnfreezeTransaction (
516+ body .setTokenUnfreeze (scheduled .getTokenUnfreeze ()).build ());
517+ case TOKENGRANTKYC ->
518+ new TokenGrantKycTransaction (
519+ body .setTokenGrantKyc (scheduled .getTokenGrantKyc ()).build ());
520+ case TOKENREVOKEKYC ->
521+ new TokenRevokeKycTransaction (
522+ body .setTokenRevokeKyc (scheduled .getTokenRevokeKyc ()).build ());
523+ case TOKENDELETION ->
524+ new TokenDeleteTransaction (
525+ body .setTokenDeletion (scheduled .getTokenDeletion ()).build ());
526+ case TOKENUPDATE ->
527+ new TokenUpdateTransaction (
528+ body .setTokenUpdate (scheduled .getTokenUpdate ()).build ());
529+ case TOKEN_UPDATE_NFTS ->
530+ new TokenUpdateNftsTransaction (
531+ body .setTokenUpdateNfts (scheduled .getTokenUpdateNfts ()).build ());
532+ case TOKENMINT ->
533+ new TokenMintTransaction (
534+ body .setTokenMint (scheduled .getTokenMint ()).build ());
535+ case TOKENBURN ->
536+ new TokenBurnTransaction (
537+ body .setTokenBurn (scheduled .getTokenBurn ()).build ());
538+ case TOKENWIPE ->
539+ new TokenWipeTransaction (
540+ body .setTokenWipe (scheduled .getTokenWipe ()).build ());
541+ case TOKENASSOCIATE ->
542+ new TokenAssociateTransaction (
543+ body .setTokenAssociate (scheduled .getTokenAssociate ()).build ());
544+ case TOKENDISSOCIATE ->
545+ new TokenDissociateTransaction (
546+ body .setTokenDissociate (scheduled .getTokenDissociate ()).build ());
547+ case TOKEN_FEE_SCHEDULE_UPDATE ->
548+ new TokenFeeScheduleUpdateTransaction (
549+ body .setTokenFeeScheduleUpdate (scheduled .getTokenFeeScheduleUpdate ())
550+ .build ());
551+ case TOKEN_PAUSE ->
552+ new TokenPauseTransaction (
553+ body .setTokenPause (scheduled .getTokenPause ()).build ());
554+ case TOKEN_UNPAUSE ->
555+ new TokenUnpauseTransaction (
556+ body .setTokenUnpause (scheduled .getTokenUnpause ()).build ());
557+ case TOKENREJECT ->
558+ new TokenRejectTransaction (
559+ body .setTokenReject (scheduled .getTokenReject ()).build ());
560+ case TOKENAIRDROP ->
561+ new TokenAirdropTransaction (
562+ body .setTokenAirdrop (scheduled .getTokenAirdrop ()).build ());
563+ case TOKENCANCELAIRDROP ->
564+ new TokenCancelAirdropTransaction (body .setTokenCancelAirdrop (scheduled .getTokenCancelAirdrop ())
565+ .build ());
566+ case TOKENCLAIMAIRDROP ->
567+ new TokenClaimAirdropTransaction (body .setTokenCancelAirdrop (scheduled .getTokenCancelAirdrop ())
568+ .build ());
569+ case SCHEDULEDELETE ->
570+ new ScheduleDeleteTransaction (
571+ body .setScheduleDelete (scheduled .getScheduleDelete ()).build ());
538572 default -> throw new IllegalStateException ("schedulable transaction did not have a transaction set" );
539573 };
540574 }
@@ -668,7 +702,8 @@ private static boolean publicKeyIsInSigPairList(ByteString publicKeyBytes, List<
668702 protected ScheduleCreateTransaction doSchedule (TransactionBody .Builder bodyBuilder ) {
669703 var schedulable = SchedulableTransactionBody .newBuilder ()
670704 .setTransactionFee (bodyBuilder .getTransactionFee ())
671- .setMemo (bodyBuilder .getMemo ());
705+ .setMemo (bodyBuilder .getMemo ())
706+ .addAllMaxCustomFees (bodyBuilder .getMaxCustomFeesList ());
672707
673708 onScheduled (schedulable );
674709
0 commit comments