not sure if one of these solves your issue but try to leave out the additional "void" and use ACTION instead of [[eosio::action]].
ACTION kjnjrwsyxszg::create(const name owner, const string name, const uint64_t attack)
using namespace eosio;
CONTRACT kjnjrwsyxszg : public ...
I'd suggest to take a look at this question about ref_block_num and ref_block_prefix and the linked documents to understand that these duplicate transaction-hashes are not a bug and how harmful replays are prevented through techniques implemented in eosio.