Skip to content

Instantly share code, notes, and snippets.

Notes on Naxxramas from a caster perspective

Short descriptions of each fight, with actions you must take in bold.

Anub'Rekhan

Two adds and Anub. Keep your distance from everything at all times. Focus down the adds while the tank holds Anub, then switch to Anub.

The tank and Anub will start to move around the perimeter of the room, and a new add will spawn. Switch focus to the add, but keep your distance from it and Anub. The add can root you with a web, and if Anub gets close enough to you, he'll silence you. We'll probably wipe if that happens to the healers. Anub will send out waves of little critters. AOE them down.

split(FwdIt first, FwdIt last, Char delim)
{
Result result;
using string = typename Result::value_type;
FwdIt iter = first;
string word;
bool need_space = false;
while (iter != last)
{
Char c = *iter++;
GROUP_ORDER = 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141'
// Divide by two and round up = shift right 1 bit and add 1.
HALF_GROUP_ORDER = '7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A1'
function isFullyCanonical(signatureDer) {
s = signatureDer.slice(-32)
// A lexicographical compare between big-endian hex strings yields the same ordering
// as a comparision of the unsigned integers they represent.
return s < HALF_GROUP_ORDER
}
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/jfreeman/code/xpring-py/xpring/client.py", line 108, in send
self.submit(signed_transaction)
File "/home/jfreeman/code/xpring-py/xpring/client.py", line 88, in submit
self.grpc_client.SubmitSignedTransaction(request)
File "/home/jfreeman/code/xpring-py/.venv/lib/python3.7/site-packages/grpc/_channel.py", line 826, in __call__
return _end_unary_response_blocking(state, call, False, None)
File "/home/jfreeman/code/xpring-py/.venv/lib/python3.7/site-packages/grpc/_channel.py", line 729, in _end_unary_response_blocking
raise _InactiveRpcError(state)
secp256k1 is just one popular curve for the Elliptic Curve Digital Signature algorithm (ECDSA).
An ECDSA key is a 256-bit value.
ECDSA will sign a 256-bit value.
If you want to sign a message of arbitrary length, it is customary to first hash the message to a 256-bit value.
One popular hash is SHA-256, but the one XRPL uses is "SHA-512 Half" (SHA-512 truncated to the first half, which is 256 bits).
ECDSA returns a point on a plane, whose coordinates are commonly named `r` and `s`.
Distinguished Encoding Rules (DER) is a popular encoding of a structure called Abstract Syntax Notation One (ASN.1).
ASN.1 can represent types like integers, sequences, and sets.
DER encodes these values to tag-length-value byte sequences.
[100%] Linking CXX executable rippled
/usr/include/google/protobuf/arenastring.h:272: error: undefined reference to 'google::protobuf::internal::fixed_address_empty_string[abi:cxx11]'
/usr/include/google/protobuf/arenastring.h:272: error: undefined reference to 'google::protobuf::internal::fixed_address_empty_string[abi:cxx11]'
/usr/include/google/protobuf/arenastring.h:272: error: undefined reference to 'google::protobuf::internal::fixed_address_empty_string[abi:cxx11]'
/usr/include/google/protobuf/arenastring.h:272: error: undefined reference to 'google::protobuf::internal::fixed_address_empty_string[abi:cxx11]'
/usr/include/google/protobuf/arena.h:532: error: undefined reference to 'google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanup(unsigned long, void (*)(void*))'
/usr/include/google/protobuf/arena.h:515: error: undefined reference to 'google::protobuf::Arena::OnArenaAllocation(std::type_info const*, unsigned long) const'
/usr/include/google/protobuf/arena.h:532: error: undefined referenc
// Objects.ts
type ObjectOf<T> = {
[key: string]: T;
};
function map<A, B>(
input: ObjectOf<A>,
f: (a: A, key: string) => B
): ObjectOf<B> {
In file included from ../../.nih_c/ninja/GNU_7.4.0/Debug/src/soci/include/soci/into-type.h:13:0,
from ../../.nih_c/ninja/GNU_7.4.0/Debug/src/soci/include/soci/blob-exchange.h:12,
from ../../.nih_c/ninja/GNU_7.4.0/Debug/src/soci/include/soci/soci.h:15,
from ../../src/ripple/core/SociDB.h:39,
from ../../src/ripple/core/DatabaseCon.h:24,
from ../../src/ripple/overlay/PeerReservationTable.h:24,
from ../../src/ripple/overlay/impl/PeerReservationTable.cpp:20:
../../.nih_c/ninja/GNU_7.4.0/Debug/src/soci/include/soci/exchange-traits.h: In instantiation of ‘struct soci::details::exchange_traits<ripple::PublicKey>’:
../../.nih_c/ninja/GNU_7.4.0/Debug/src/soci/include/soci/bind-values.h:111:76: required from ‘void soci::details::use_type_vector::exchange_(const soci::details::use_container<const T, void>&, ...) [with T = ripple::PublicKey]’
../../.nih_c/ninja/GNU_7.4.0/Debug/src/soci/include/soci/bind-values.h:40:9:
cmake_minimum_required(VERSION 3.7)
project(codegen LANGUAGES CXX)
add_custom_command(
OUTPUT output.h
COMMAND bash -c "echo copying...\; cp input.h output.h\; echo done!"
DEPENDS input.h
)
add_custom_target(my_header DEPENDS output.h)