def delete(key)
      raise ArgumentError, "key must be string" unless key.instance_of?(String)
      raise ArgumentError, "max key size is 32" if key.size > 32

      @root_node = delete_and_delete_storage(
        @root_node,
        NibbleKey.from_string(key)
      )

      update_root_hash
    end
def delete(key)
      raise ArgumentError, "key must be string" unless key.instance_of?(String)
      raise ArgumentError, "max key size is 32" if key.size > 32

      @root_node = delete_and_delete_storage(
        @root_node,
        NibbleKey.from_string(key)
      )

      update_root_hash
    end
Delete value at key.

 @param key [String] a string with length of [0,32]