[X] Transaction - [ ] from_bytes() - [ ] to_bytes() - [ ] from_scheduled_transaction() - [ ] schedule() - [ ] get_transaction_hash() - [ ] get_transaction_hash_per_node() - [ ] regenerate_transaction_id - [ ] sign() (weirdly, signers is present, but doesn't do anything?) - [ ] sign_with() - [ ] sign_with_operator() - [ ] add_signature() - [ ] get_signatures() - [ ] freeze() - [ ] freeze_with() - [ ] min/max backoff - [ ] max attempts - [ ] request/response listener [X] AccountAllowanceApproveTransaction [X] AccountAllowanceDeleteTransaction [X] AccountBalanceQuery [X] AccountCreateTransaction - [ ] Alias key? [X] AccountDeleteTransaction [X] AccountId - [X] checksum support - [ ] When serialized, aliasKey should NOT be the raw bytes of the key, instead should be bytes of the serialized key _protobuf_ (yes, it's confusing). - [ ] aliasEvmAddress - [X] to_bytes() - [X] from_bytes() [ ] AccountInfoFlow - [ ] verifySignature() - [ ] verifyTransactionSignature() [X] AccountInfoQuery - [X] ledger_id [X] AccountRecordsQuery [X] AccountStakersQuery [X] AccountUpdateTransaction [X] AddressBookQuery [X] Client (present, but almost nothing of the public interface that exists in other SDKs is present) - [ ] The whole dang public interface: https://github.com/hashgraph/hedera-sdk-reference/blob/main/reference/core/Client.md - [ ] autoValidateChecksums: https://github.com/hashgraph/hedera-sdk-java/blob/main/examples/src/main/java/ValidateChecksumExample.java - [ ] min/max backoff - [ ] max attempts [X] ContractByteCodeQuery [X] ContractCallQuery [ ] ContractCreateFlow [X] ContractCreateTransaction [X] ContractDeleteTransaction [X] ContractExecuteTransaction [ ] ContractFunctionParameters [X] ContractFunctionResult [ ] ContractFunctionSelector [X] ContractId - [X] checksum support - [X] to_bytes() - [X] from_bytes() [X] ContractInfo - [X] ledger_id - [X] staking_info [X] ContractUpdateTransaction [X] EthereumTransaction [ ] EthereumFlow [X] FileAppendTransaction - [ ] Automatic chunking for larger contents [X] FileContentsQuery [X] FileCreateTransaction - [X] expiration_time is named inconsistently [X] FileDeleteTransaction [X] FileId - [X] checksum support - [X] to_bytes() - [X] from_bytes() [X] FileInfoQuery - [X] ledger_id - [ ] keys [X] FileUpdateTransaction - [X] expiration_time is named inconsistently [X] FreezeTransaction [X] Hbar [X] Key - [ ] keylist - [ ] threshold key [ ] KeyList [X] PrivateKey - [X] from_bytes_der() (from_bytes_pkcs8_der() exists, but is not public) - [X] from_string() (implements FromStr, but doesn't have the specific variants listed below) - [X] from_string_der() - [X] from_string_ed25519() - [X] from_string_ecdsa() - [X] from_mnemonic() - [X] from_pem() - [X] derive() (ed25519 only so far. Ecdsa doesn't exist in Java though) - [X] legacy_derive() (ed25519 only so far. Ecdsa doesn't exist in Java though) - [X] sign(message) - [ ] sign_transaction() - [X] to_bytes() - [X] to_bytes_der() - [X] to_bytes_raw() - [X] to_string() - [X] to_string_der() - [X] to_string_raw() - [X] to_account_id() - [X] is_ed35519() - [X] is_ecdsa() [X] PublicKey - [X] from_bytes_der() (from_bytes_pkcs8_der() exists, but is not public) - [X] from_string() (implements FromStr, but doesn't have the specific variants listed below) - [X] from_string_der() - [X] from_string_ed25519() - [X] from_string_ecdsa() - [X] verify(message) - [ ] verify_transaction() - [X] to_string() (implements Display, but doesn't have the specific variants listed below) - [X] to_string_der() - [X] to_string_raw() - [X] to_account_id() [X] LedgerId - [X] from_string() - [X] from_bytes() - [X] to_string() (implements Display, but does not sugar ledger IDs with known names) [X] Mnemonic [X] NetworkVersionInfoQuery [X] NftId - [X] checksum support - [X] to_bytes() - [X] from_bytes() [ ] Pem [ ] PrngTransaction [X] Query - [ ] min/max backoff - [ ] max attempts - [ ] request/response listener [X] ScheduleCreateTransaction [X] ScheduleDeleteTransaction [X] ScheduleId - [X] checksum support - [X] to_bytes() - [X] from_bytes() [X] ScheduleInfoQuery - [X] ledger_id - [ ] scheduled_transaction [X] ScheduleSignTransaction [X] SystemDeleteTransaction [X] SystemUndeleteTransaction [X] TokenAssociateTransaction [X] TokenBurnTransaction [X] TokenCreateTransaction - [X] expiration_time is named inconsistently [X] TokenDeleteTransaction [X] TokenDissociateTransaction [X] TokenFeeScheduleUpdateTransaction [X] TokenFreezeTransaction [X] TokenGrantKycTransaction [X] TokenId - [X] checksum support - [X] to_bytes() - [X] from_bytes() [X] TokenInfoQuery - [X] ledger_id [X] TokenPauseTransaction [X] TokenRevokeKycTransaction [X] TokenUnfreezeTransaction [X] TokenUnpauseTransaction [X] TokenUpdateTransaction - [X] expiration_time is named inconsistently [X] TokenWipeTransaction [X] TopicCreateTransaction [X] TopicDeleteTransaction [X] TopicId - [X] checksum support - [X] to_bytes() - [X] from_bytes() [X] TopicInfoQuery - [X] ledger_id [X] TopicMessageQuery [X] TopicMessageSubmitTransaction - [ ] Automatic chunking for larger contents [X] TopicUpdateTransaction - [X] expiration_time is named inconsistently [X] TransactionId - [X] to_bytes() - [X] from_bytes() [X] TransactionReceiptQuery - [ ] exchange_rate [X] TransactionRecordQuery - [ ] bunch of missing fields (refer to TODOs) [X] TransferTransaction - [ ] transfers must be sorted on serialization