Policy
|
- |
correctly calculates the block reward and supply
|
- |
correctly computes initial supply
|
- |
reaches total supply after ~100 years
|
- |
correctly switches to tail emission
|
- |
correctly calculates supply
|
- |
Client
|
- |
test/specs/generic/api/Client.spec.js |
- |
can replace consensus at runtime (nano to light)
|
- |
can replace consensus at runtime (pico failure)
|
- |
TransactionDetails
|
- |
is self plain
|
- |
can be converted to plain and back
|
- |
Consensus
|
- |
can instantiate a nano consensus
|
- |
can instantiate a light consensus
|
- |
can instantiate a full consensus
|
- |
can instantiate a volatile nano consensus
|
- |
can instantiate a volatile light consensus
|
- |
can instantiate a volatile full consensus
|
- |
Genesis
|
- |
light Block is valid
|
- |
Block is valid
|
- |
Accounts matches Block hash
|
- |
matches initial supply
|
- |
Account
|
- |
must have a well defined value (8 bytes)
|
- |
Accounts
|
- |
cannot commit a wrong block
|
- |
can apply and revert a block
|
- |
cannot revert invalid blocks
|
- |
can apply and revert a block with multiple transaction per sender
|
- |
put and get an account
|
- |
correctly rewards miners
|
- |
can safely roll-back an invalid block
|
- |
can handle a large amount of block transactions
|
- |
rejects invalid transactions
|
- |
can initialize genesis accounts
|
- |
correctly identifies accounts that should be pruned (no pruning)
|
- |
correctly identifies accounts that should be pruned (single transaction)
|
- |
correctly identifies accounts that should be pruned (multiple transactions)
|
- |
correctly identifies accounts that should be pruned (multiple transactions/accounts)
|
- |
Address
|
- |
is 20 bytes long
|
- |
is serializable and unserializable
|
- |
has an equals method
|
- |
can create and parse user-friendly address
|
- |
can detect invalid user-friendly address
|
- |
iban check can verify actual valid iban
|
- |
BasicAccount
|
- |
can serialize and unserialize itself
|
- |
is self plain
|
- |
can be converted to plain and back
|
- |
can handle balance changes
|
- |
can accept incoming transactions
|
- |
can deny incoming transactions
|
- |
can apply incoming transactions
|
- |
can revert incoming transaction
|
- |
can falsify invalid outgoing transaction
|
- |
can verify valid outgoing transaction
|
- |
can apply outgoing transaction
|
- |
refuses to apply invalid outgoing transaction
|
- |
can revert outgoing transaction
|
- |
has toString method
|
- |
HashedTimeLockedContract
|
- |
can serialize and unserialize itself
|
- |
is self plain
|
- |
can be converted to plain and back
|
- |
will deny incoming transaction after creation
|
- |
can falsify invalid incoming transaction
|
- |
can falsify invalid outgoing transaction
|
- |
can verify valid outgoing transaction
|
- |
can redeem funds regularly before timeout
|
- |
can use sha256
|
- |
blocks regular redemption of too many funds
|
- |
correctly allows to resolve after timeout
|
- |
correctly allows to resolve before timeout
|
- |
can create contract from transaction
|
- |
can plain creation transaction
|
- |
can plain outgoing transaction
|
- |
has toString method
|
- |
VestingContract
|
- |
can serialize and unserialize itself
|
- |
is self plain
|
- |
can be converted to plain and back
|
- |
can handle balance changes
|
- |
will deny incoming transactions
|
- |
will fail incoming transactions
|
- |
can falsify invalid outgoing transaction
|
- |
can verify valid outgoing transaction
|
- |
can apply outgoing transaction
|
- |
refuses to apply invalid outgoing transaction
|
- |
can revert outgoing transaction
|
- |
can create vesting account via transaction and vest it
|
- |
can plain creation transaction
|
- |
can plain outgoing transaction
|
- |
has toString method
|
- |
can be pruned
|
- |
AccountsProof
|
- |
must have a well defined nodes array
|
- |
is serializable and unserializable
|
- |
must not return an account before verify() has been run
|
- |
must be able to correctly return an account after verify() has been run
|
- |
must not verify successfully neither return an account if it contains a tainted AccountTreeNode
|
- |
must not verify successfully if it contains any node before the Root Node
|
- |
must not verify successfully if it contains a node that is not part of the Tree at the end
|
- |
must not verify successfully neither return the account if it contains a node that is not part of the Tree
|
- |
must return the correct root hash
|
- |
must return the correct length
|
- |
must return the correct nodes array
|
- |
AccountsTree
|
- |
test/specs/generic/consensus/base/account/tree/AccountsTree.spec.js |
- |
test/specs/generic/consensus/base/account/tree/AccountsTree.spec.js |
- |
can update a Balance
|
- |
test/specs/generic/consensus/base/account/tree/AccountsTree.spec.js |
- |
test/specs/generic/consensus/base/account/tree/AccountsTree.spec.js |
- |
test/specs/generic/consensus/base/account/tree/AccountsTree.spec.js |
- |
test/specs/generic/consensus/base/account/tree/AccountsTree.spec.js |
- |
test/specs/generic/consensus/base/account/tree/AccountsTree.spec.js |
- |
test/specs/generic/consensus/base/account/tree/AccountsTree.spec.js |
- |
test/specs/generic/consensus/base/account/tree/AccountsTree.spec.js |
- |
test/specs/generic/consensus/base/account/tree/AccountsTree.spec.js |
- |
test/specs/generic/consensus/base/account/tree/AccountsTree.spec.js |
- |
test/specs/generic/consensus/base/account/tree/AccountsTree.spec.js |
- |
test/specs/generic/consensus/base/account/tree/AccountsTree.spec.js |
- |
AccountsTreeChunk
|
- |
is correctly created
|
- |
can be empty
|
- |
can be serialize and deserialized
|
- |
PartialAccountsTree
|
- |
can be used to recreate an existing accounts tree
|
- |
SynchronousAccountsTree
|
- |
test/specs/generic/consensus/base/account/tree/SynchronousAccountsTree.spec.js |
- |
test/specs/generic/consensus/base/account/tree/SynchronousAccountsTree.spec.js |
- |
can update a Balance
|
- |
test/specs/generic/consensus/base/account/tree/SynchronousAccountsTree.spec.js |
- |
test/specs/generic/consensus/base/account/tree/SynchronousAccountsTree.spec.js |
- |
test/specs/generic/consensus/base/account/tree/SynchronousAccountsTree.spec.js |
- |
test/specs/generic/consensus/base/account/tree/SynchronousAccountsTree.spec.js |
- |
test/specs/generic/consensus/base/account/tree/SynchronousAccountsTree.spec.js |
- |
test/specs/generic/consensus/base/account/tree/SynchronousAccountsTree.spec.js |
- |
test/specs/generic/consensus/base/account/tree/SynchronousAccountsTree.spec.js |
- |
test/specs/generic/consensus/base/account/tree/SynchronousAccountsTree.spec.js |
- |
test/specs/generic/consensus/base/account/tree/SynchronousAccountsTree.spec.js |
- |
test/specs/generic/consensus/base/account/tree/SynchronousAccountsTree.spec.js |
- |
test/specs/generic/consensus/base/account/tree/SynchronousAccountsTree.spec.js |
- |
Block
|
- |
must have a well defined header (116 bytes)
|
- |
must have a well defined interlink
|
- |
must have a well defined body (optional)
|
- |
is serializable and unserializable
|
- |
is self plain
|
- |
can be converted to plain and back
|
- |
can handle light blocks
|
- |
BlockBody
|
- |
is serializable and unserializable
|
- |
has well-defined transactions
|
- |
can verify well-formed transactions
|
- |
can verify well-formed pruned accounts
|
- |
rejects out-of-order transactions
|
- |
rejects duplicate transactions
|
- |
rejects out-of-order pruned accounts
|
- |
rejects duplicate pruned accounts
|
- |
BlockHeader
|
- |
is 146 bytes long
|
- |
has the correct size set in BlockHeader.SERIALIZED_SIZE
|
- |
must have a well defined prevHash (32 bytes)
|
- |
must have a well defined interlinkHash (32 bytes)
|
- |
must have a well defined bodyHash (32 bytes)
|
- |
must have a well defined accountsHash (32 bytes)
|
- |
must have a well defined nonce (4 bytes)
|
- |
must have a well defined difficulty (4 bytes)
|
- |
must have a well defined timestamp (4 bytes)
|
- |
is serializable and unserializable
|
- |
can falsify an invalid proof-of-work
|
- |
can verify a valid proof-of-work
|
- |
BlockInterlink
|
- |
must have a well defined blockHashes array
|
- |
is serializable and unserializable
|
- |
has the correct serialized size
|
- |
must return the correct root hash
|
- |
must return the correct hash array
|
- |
must return the correct length
|
- |
BlockUtils
|
- |
computes valid targets
|
- |
computes valid compacts
|
- |
computes correct compacts from difficulty
|
- |
correctly computes targets from compact
|
- |
computes correct targets from difficulty
|
- |
computes correct target depth
|
- |
BlockChain
|
- |
is serializable and unserializable
|
- |
can verify a valid chain
|
- |
can falsify an unordered chain
|
- |
can get successor blocks
|
- |
BlockProducer
|
- |
creates valid blocks
|
- |
Interlink
|
- |
next interlink is constructed correctly (same difficulty, level 0 block)
|
- |
next interlink is constructed correctly (same difficulty, level 2 block)
|
- |
next interlink is constructed correctly (difficulty / 2, level 0 block)
|
- |
next interlink is constructed correctly (difficulty / 2, level 2 block)
|
- |
next interlink is constructed correctly (difficulty * 2, level 0 block)
|
- |
next interlink is constructed correctly (difficulty * 2, level 2 block)
|
- |
next interlink is constructed correctly (difficulty / 4, level 0 block)
|
- |
next interlink is constructed correctly (difficulty / 4, level 2 block)
|
- |
next interlink is constructed correctly (difficulty * 4, level 0 block)
|
- |
next interlink is constructed correctly (difficulty * 4, level 2 block)
|
- |
Interlink Chain
|
- |
is constructed correctly (constant level, constant difficulty)
|
- |
is constructed correctly (increasing level, constant difficulty)
|
- |
is constructed correctly (alternating level, constant difficulty)
|
- |
is constructed correctly (constant level-0, increasing difficulty)
|
- |
is constructed correctly (constant level-1, increasing difficulty)
|
- |
is constructed correctly (constant depth-1, increasing difficulty)
|
- |
is constructed correctly (constant depth-2, increasing difficulty)
|
- |
is constructed correctly (alternating depth, increasing difficulty)
|
- |
is constructed correctly (alternating depth, increasing difficulty) [2]
|
- |
is constructed correctly (constant level-0, alternating difficulty)
|
- |
Mempool
|
- |
will not push the same transaction twice
|
- |
will always verify a transaction before accepting it
|
- |
can push and get a valid transaction
|
- |
can push 2 transactions from same user
|
- |
can get a list of its transactions and can evict them
|
- |
can evict mined transactions
|
- |
can evict non-mined transactions to restore validity
|
- |
prefers high fee transactions over low fee transactions
|
- |
rejects free transactions beyond the free transaction limit
|
- |
has a maximum size
|
- |
can evict by minFeePerByte
|
- |
MempoolTransactionSet
|
- |
can add/remove transactions
|
- |
correctly adds getter values
|
- |
correctly filters by fee/byte
|
- |
has toString method
|
- |
Commitment
|
- |
is serializable and unserializable
|
- |
has an equals method
|
- |
can sum up commitments
|
- |
correctly aggregates commitments
|
- |
ExtendedPrivateKey
|
- |
correctly derives keys
|
- |
Hash
|
- |
is 32 bytes long
|
- |
is serializable and unserializable
|
- |
has an equals method
|
- |
can hash data with blake2b
|
- |
can hash data with sha256
|
- |
can hash data with sha512
|
- |
KeyPair
|
- |
can serialize and unserialize
|
- |
can encrypt and decrypt after locked serialization
|
- |
can lock, unlock and relock
|
- |
errors when trying to unlock with wrong key
|
- |
can lock under different keys
|
- |
can create keys of proposed size
|
- |
can derive a functional key pair from private key
|
- |
can export and import an encrypted key pair
|
- |
Signature
|
- |
has an equals method
|
- |
is serializable and unserializable
|
- |
PrivateKey
|
- |
correctly derives the delinearized private key
|
- |
PublicKey
|
- |
is serializable and unserializable
|
- |
has an equals method
|
- |
can sum up public keys
|
- |
correctly derives the public key
|
- |
correctly computes public keys hash
|
- |
correctly derives the delinearized public key
|
- |
correctly aggregates and delinearizes public keys
|
- |
Secret
|
- |
can encrypt/decrypt private key
|
- |
can encrypt/decrypt entropy
|
- |
can decrypt ImageWallet payloads
|
- |
Serializable
|
- |
has an equals method
|
- |
has a toBase64 method
|
- |
Signature
|
- |
is 64 bytes long
|
- |
has an equals method
|
- |
is serializable and unserializable
|
- |
can be used to sign and verify with a given public key
|
- |
can serialize, unserialize keys and use them afterwards
|
- |
can verify RFC8032 test vectors
|
- |
can verify custom signature set
|
- |
can sign and verify data
|
- |
can verify serialized signature
|
- |
can detect wrong signatures
|
- |
correctly aggregates partial signatures
|
- |
correctly combines partial signatures
|
- |
can create valid delinearized multisignatures
|
- |
Subscription
|
- |
NONE subscription does not match anything
|
- |
ANY subscription does match anything
|
- |
ADDRESSES subscription does match only subscribed addresses
|
- |
MIN_FEE subscription does match transactions with matching min fee
|
- |
can serialize and unserialize
|
- |
has toString method
|
- |
does only allow valid types/addresses
|
- |
BasicTransaction
|
- |
is correctly created
|
- |
is serializable and unserializable
|
- |
is self plain
|
- |
can be converted to plain and back
|
- |
can falsify an invalid signature
|
- |
can falsify a transaction from a different network ID
|
- |
can verify a valid signature
|
- |
ExtendedTransaction
|
- |
is correctly created
|
- |
is serializable and unserializable
|
- |
is self plain
|
- |
can be converted to plain and back
|
- |
SignatureProof
|
- |
can create and verify a signature proof
|
- |
TransactionCache
|
- |
correctly finds transactions
|
- |
TransactionsProof
|
- |
is serializable and unserializable
|
- |
must have well defined arguments
|
- |
does accept different types of transactions
|
- |
can compute root hash
|
- |
has toString method
|
- |
TransactionReceipt
|
- |
is correctly constructed
|
- |
is serializable and unserializable
|
- |
is self plain
|
- |
can be converted to plain and back
|
- |
TransactionStore
|
- |
can store and remove transactions
|
- |
can retrieve transactions by senderAddress
|
- |
can retrieve transactions by recipientAddress
|
- |
can retrieve transactions by hash
|
- |
can rebranch
|
- |
TransactionStoreEntry
|
- |
correctly constructs transactions from block
|
- |
can convert to/from JSON
|
- |
Blockchain
|
- |
verifies block size limit
|
- |
rejects orphan blocks
|
- |
rejects blocks from the future
|
- |
rejects blocks with wrong difficulty
|
- |
verifies block body hash
|
- |
verifies accounts hash
|
- |
verifies transaction signatures
|
- |
verifies transaction signatures in large blocks
|
- |
verifies that sufficient funds are available
|
- |
verifies transaction validityStartHeight
|
- |
prevents transaction replay across blocks
|
- |
verifies proof of work
|
- |
ignores known blocks
|
- |
verifies that block timestamps are increasing
|
- |
verifies that the block height is increasing
|
- |
can push 10 blocks with constant difficulty, then increase the difficulty over 10 more blocks
|
- |
can push 20 blocks and keep difficulty increasing over each block
|
- |
can handle larger chains
|
- |
changes balance after transaction
|
- |
cannot push blocks with transactions to oneself
|
- |
can rebranch to a harder fork
|
- |
updates transactions cache on rebranch
|
- |
has getters that return correct values for its properties
|
- |
correctly creates TransactionsProofs by address
|
- |
correctly creates TransactionsReceipts by address
|
- |
correctly creates TransactionsProofs by hash
|
- |
correctly creates TransactionsReceipts by hashes
|
- |
LightConsensus
|
- |
will adopt the harder, but shorter chain (2 nodes)
|
- |
NanoMempool
|
- |
will not push the same transaction twice
|
- |
will always verify a transaction before accepting it
|
- |
can push and get a valid transaction
|
- |
can push 2 transactions from same user
|
- |
can get a list of its transactions and can evict them
|
- |
can evict mined transactions
|
- |
can evict transactions outside validity window
|
- |
can evict transactions by addresses
|
- |
Miner
|
- |
creates valid blocks
|
- |
can mine a block
|
- |
ConnectOutboundCheck
|
- |
should not be able to connect to an address, that is null, is banned, already connected or uses an unsupported protocol
|
- |
ConnectionPool
|
- |
immediately allows inbound connection if not connected/connecting to any peers
|
- |
should automatically recycle existing connections
|
- |
should recycle connections in exchange for inbound connections
|
- |
should reject duplicate connections to the same peer address
|
- |
correctly deals with simultaneous RTC connections
|
- |
correctly deals with simultaneous RTC connections (high latency)
|
- |
correctly deals with simultaneous WebSocket connections
|
- |
correctly deals with simultaneous WebSocket connections (inbound connections blocked)
|
- |
correctly deals with simultaneous WebSocket connections (high latency)
|
- |
correctly deals with simultaneous WebSocket connections (dropped verack)
|
- |
correctly deals with simultaneous WebSocket connections (dropped verack, inbound connections blocked)
|
- |
rejects connections to blocked IPs
|
- |
DataChannel
|
- |
can chunk large messages
|
- |
can set custom timeouts
|
- |
can set custom timeouts for multiple messages
|
- |
closes the connection on invalid chunks (too large)
|
- |
closes the connection on invalid chunks (too short)
|
- |
NetUtils
|
- |
can identify local IPv4 addresses
|
- |
can identify local IPv6 addresses
|
- |
can identify IPv4 subnets
|
- |
can identify private IP addresses
|
- |
rejects invalid private IP addresses
|
- |
rejects non-globally-connectable WS
|
- |
accepts valid hostnames
|
- |
correctly computes subnetted IPs
|
- |
PeerChannel
|
- |
can send a VersionMessage
|
- |
can send a InvMessage
|
- |
can send a MempoolMessage
|
- |
can send a NotFoundMessage
|
- |
can send a GetDataMessage
|
- |
can send a BlockMessage
|
- |
can send a TxMessage
|
- |
can receive a InvMessage
|
- |
can receive a MempoolMessage
|
- |
can receive a NotFoundMessage
|
- |
can receive a GetDataMessage
|
- |
can receive a BlockMessage
|
- |
can receive a TxMessage
|
- |
PeerLeft
|
- |
should be able to disconnect triggering peer-left
|
- |
should properly close RTCPeerConnections
|
- |
ThreeNodes
|
- |
should be able to connect and reach consensus
|
- |
TwoNodes
|
- |
should be able to connect and reach consensus through WebSocket
|
- |
should be able to connect and sync through WebRTC
|
- |
NetAddress
|
- |
rejects invalid IPv4 addresses
|
- |
rejects invalid IPv6 addresses
|
- |
canonicalizes IPv4 addresses
|
- |
canonicalizes IPv6 addresses
|
- |
lowercases IPv6 addresses
|
- |
PeerAddress
|
- |
can be parsed from string
|
- |
rejects invalid PeerAddresses
|
- |
SeedList
|
- |
can be parsed from string
|
- |
fails on missing signature
|
- |
fails on invalid signature
|
- |
AccountsProofMessage
|
- |
is correctly constructed
|
- |
is serializable and unserializable
|
- |
must have well defined arguments
|
- |
is allowed to have no proof
|
- |
AccountsTreeChunkMessage
|
- |
is correctly constructed
|
- |
is serializable and unserializable
|
- |
must have well defined arguments
|
- |
is allowed to have no chunk
|
- |
AddrMessage
|
- |
is correctly constructed
|
- |
is serializable and unserializable
|
- |
must have well defined arguments
|
- |
BlockMessage
|
- |
is correctly constructed
|
- |
is serializable and unserializable
|
- |
BlockProofMessage
|
- |
is correctly constructed
|
- |
is serializable and unserializable
|
- |
must have well defined arguments
|
- |
ChainProofMessage
|
- |
is correctly constructed
|
- |
is serializable and unserializable
|
- |
GetAccountsProofMessage
|
- |
is correctly constructed
|
- |
is serializable and unserializable
|
- |
must have well defined arguments
|
- |
GetAccountsTreeChunkMessage
|
- |
is correctly constructed
|
- |
is serializable and unserializable
|
- |
must have well defined arguments
|
- |
GetAddrMessage
|
- |
is correctly constructed
|
- |
is serializable and unserializable
|
- |
must have well defined arguments
|
- |
GetBlockProofMessage
|
- |
is correctly constructed
|
- |
is serializable and unserializable
|
- |
must have well defined arguments
|
- |
GetBlockProofAtMessage
|
- |
is correctly constructed
|
- |
is serializable and unserializable
|
- |
must have well defined arguments
|
- |
GetBlocksMessage
|
- |
is correctly constructed
|
- |
is serializable and unserializable
|
- |
must have well defined arguments
|
- |
GetChainProofMessage
|
- |
is serializable and unserializable
|
- |
GetDataMessage
|
- |
is serializable and unserializable
|
- |
must have well defined vectors
|
- |
GetTransactionReceiptsByAddressMessage
|
- |
is correctly constructed
|
- |
is serializable and unserializable
|
- |
must have well defined arguments
|
- |
GetTransactionReceiptsByHashesMessage
|
- |
is correctly constructed
|
- |
is serializable and unserializable
|
- |
must have well defined arguments
|
- |
GetTransactionsProofByAddressesMessage
|
- |
is serializable and unserializable
|
- |
must have well defined arguments
|
- |
GetTransactionsProofByHashesMessage
|
- |
is serializable and unserializable
|
- |
must have well defined arguments
|
- |
HeaderMessage
|
- |
is correctly constructed
|
- |
is serializable and unserializable
|
- |
InvMessage
|
- |
is serializable and unserializable
|
- |
must have well defined vectors
|
- |
must have a length <= 1000
|
- |
MempoolMessage
|
- |
is serializable and unserializable
|
- |
Message
|
- |
MessageFactory
|
- |
whitelists valid message types
|
- |
can peek the message type
|
- |
PingMessage
|
- |
is correctly constructed
|
- |
is serializable and unserializable
|
- |
must have well defined arguments
|
- |
PongMessage
|
- |
is correctly constructed
|
- |
is serializable and unserializable
|
- |
must have well defined arguments
|
- |
RejectMessage
|
- |
is correctly constructed
|
- |
is serializable and unserializable
|
- |
must have well defined arguments
|
- |
SignalMessage
|
- |
SubscribeMessage
|
- |
is serializable and unserializable
|
- |
TransactionReceiptsMessage
|
- |
is correctly constructed
|
- |
is serializable and unserializable
|
- |
must have well defined arguments
|
- |
TransactionsProofMessage
|
- |
is correctly constructed
|
- |
is serializable and unserializable
|
- |
must have well defined arguments
|
- |
TxMessage
|
- |
is correctly constructed
|
- |
is serializable and unserializable
|
- |
VersionMessage
|
- |
is correctly constructed
|
- |
is serializable and unserializable
|
- |
is serializable and unserializable (with user-agent)
|
- |
must have well defined arguments
|
- |
InvVector
|
- |
is 36 bytes long
|
- |
is serializable and unserializable
|
- |
IteratorUtils
|
- |
can alternate between iterators
|
- |
RateLimit
|
- |
correctly limits access
|
- |
correctly frees limit after time
|
- |
Services
|
- |
is initialized to NONE if no parameters are passed to the constructor
|
- |
is initialized correctly to the parameters that are passed to the constructor
|
- |
has working getter and setter for provided services
|
- |
has working getter and setter for accepted services
|
- |
correctly identifies Full Nodes
|
- |
correctly identifies Light Nodes
|
- |
correctly identifies Nano Nodes
|
- |
correctly identifies provided features
|
- |
Timers
|
- |
can set timeout
|
- |
can cancel timeout
|
- |
can set interval
|
- |
can cancel interval
|
- |
HashSet
|
- |
can clear itself
|
- |
can check whether a value is in the set
|
- |
can bulk remove
|
- |
InclusionHashSet
|
- |
can clear itself
|
- |
can check whether a value is in the set
|
- |
can be cloned
|
- |
can bulk remove
|
- |
LimitInclusionHashSet
|
- |
limits its contents
|
- |
cannot limit to 0
|
- |
is efficient
|
- |
LimitIterable
|
- |
correctly limits arrays
|
- |
correctly limits iterators
|
- |
Queue
|
- |
correctly dequeues elements
|
- |
can clear itself
|
- |
can peek
|
- |
can dequeueMulti
|
- |
SortedList
|
- |
correctly inserts elements
|
- |
can clear itself
|
- |
can indexOf
|
- |
can shift
|
- |
can pop
|
- |
can remove elements
|
- |
can be copied
|
- |
ThrottledQueue
|
- |
can enqueue and dequeue like a Queue
|
- |
can throttle output and call callback
|
- |
UniqueQueue
|
- |
correctly dequeues elements
|
- |
can clear itself
|
- |
can peek
|
- |
can dequeueMulti
|
- |
can enqueue unique
|
- |
can enqueueAll
|
- |
can enqueueAll (2)
|
- |
can enqueueAll (3)
|
- |
can enqueueAll (4)
|
- |
can enqueueAll (5)
|
- |
can remove
|
- |
BufferUtils
|
- |
has fromAscii and toAscii methods
|
- |
toAscii works with large buffers
|
- |
has fromBase64 and toBase64 methods
|
- |
has fromBase64Url and toBase64Url methods
|
- |
has fromBase32 and toBase32 methods
|
- |
toBase64/fromBase64 handle all code points like btoa/atob
|
- |
toBase64 fulfills RFC 4648 test vectors
|
- |
fromBase64 fulfills RFC 4648 test vectors
|
- |
toBase32 fulfills RFC 4648 test vectors
|
- |
fromBase32 fulfills RFC 4648 test vectors
|
- |
toBase32 fulfills RFC 4648 hex test vectors
|
- |
fromBase32 fulfills RFC 4648 hex test vectors
|
- |
toHex fulfills RFC 4648 test vectors
|
- |
fromHex fulfills RFC 4648 test vectors
|
- |
correctly implements fromUtf8
|
- |
has an equals method
|
- |
can concat two buffers
|
- |
SerialBuffer
|
- |
can writeUint8 and readUint8
|
- |
can writeUint16 and readUint16
|
- |
can writeUint32 and readUint32
|
- |
can writeUint64 and readUint64
|
- |
can writeVarUint and readVarUint
|
- |
can writeUint16 and readUint16 unaligned
|
- |
can writeUint32 and readUint32 unaligned
|
- |
can writeUint64 and readUint64 unaligned
|
- |
can read and write Uint8Arrays
|
- |
can read and write fixed length Strings
|
- |
throws an error on invalid writes/reads
|
- |
CRC32
|
- |
should calculate correct CRC values for Arrays
|
- |
should calculate correct CRC values for Uint8Arrays
|
- |
CryptoUtils
|
- |
can correctly compute hmacSha512
|
- |
can correctly compute computePBKDF2sha512
|
- |
can correctly compute legacy otpKdf
|
- |
can correctly compute Imagewallet otpKdf
|
- |
can correctly compute Imagewallet otpKdf (2)
|
- |
MerklePath
|
- |
correctly computes an empty proof
|
- |
correctly computes a simple proof
|
- |
correctly computes more complex proofs
|
- |
correctly serializes and unserializes proof
|
- |
MerkleProof
|
- |
correctly computes an empty proof
|
- |
correctly computes a simple proof
|
- |
correctly computes more complex proofs
|
- |
correctly computes absence proofs
|
- |
correctly serializes and unserializes proof
|
- |
correctly discards invalid proofs
|
- |
MerkleTree
|
- |
correctly computes an empty root hash
|
- |
correctly computes a simple root hash
|
- |
correctly computes a simple root hash for different encodings
|
- |
correctly computes a complex root hash
|
- |
MnemonicUtils
|
- |
correctly computes mnemonics
|
- |
correctly computes mnemonic type
|
- |
correctly detects collisions
|
- |
correctly computes legacy mnemonics
|
- |
MultiSigWallet
|
- |
rejects if own public key is missing
|
- |
order of public keys does not matter
|
- |
can create a signed transaction
|
- |
can reject invalid wallet seed
|
- |
can export & import a plaintext wallet
|
- |
can lock, unlock and relock itself
|
- |
can export an encrypted wallet and import it
|
- |
can export an encrypted wallet and import it from hex
|
- |
can detect wrong key on an encrypted wallet
|
- |
Wallet
|
- |
can create a signed transaction
|
- |
can create a valid SignatureProof
|
- |
can reject invalid wallet seed
|
- |
can export & import a plaintext wallet
|
- |
can lock, unlock and relock itself
|
- |
can export an encrypted wallet and import it
|
- |
can export an encrypted wallet and import it from hex
|
- |
can detect wrong key on an encrypted wallet
|
- |
WalletStore
|
- |
can store, retrieve and remove regular wallets
|
- |
can store, retrieve and remove encrypted wallets
|
- |
can store, retrieve and remove multisig wallets
|
- |
can store, retrieve and remove encrypted multisig wallets
|
- |
can store, retrieve and remove a default wallet
|
- |