@typeberry/lib 0.5.10 → 0.5.11-1fbacf3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/bin/lib/examples/pvm-usage.test.js +2 -2
- package/package.json +1 -1
- package/packages/core/codec/descriptor.js +1 -1
- package/packages/core/codec/descriptors.js +7 -4
- package/packages/core/codec/encoder.d.ts +1 -1
- package/packages/core/codec/encoder.d.ts.map +1 -1
- package/packages/core/codec/encoder.js +3 -2
- package/packages/core/codec/index.test.js +1 -1
- package/packages/core/codec/skip.d.ts +2 -1
- package/packages/core/codec/skip.d.ts.map +1 -1
- package/packages/core/codec/skip.js +3 -0
- package/packages/core/codec/view.js +2 -2
- package/packages/core/collections/multi-map.d.ts +2 -1
- package/packages/core/collections/multi-map.d.ts.map +1 -1
- package/packages/core/collections/multi-map.js +3 -0
- package/packages/core/collections/multi-map.test.js +2 -2
- package/packages/core/concurrent/parent.js +4 -1
- package/packages/core/crypto/ed25519.d.ts +2 -5
- package/packages/core/crypto/ed25519.d.ts.map +1 -1
- package/packages/core/crypto/ed25519.js +4 -1
- package/packages/core/hash/hash.d.ts +4 -2
- package/packages/core/hash/hash.d.ts.map +1 -1
- package/packages/core/hash/hash.js +6 -1
- package/packages/core/networking/quic-network.d.ts +3 -2
- package/packages/core/networking/quic-network.d.ts.map +1 -1
- package/packages/core/networking/quic-network.js +3 -0
- package/packages/core/networking/quic-peer.d.ts +2 -1
- package/packages/core/networking/quic-peer.d.ts.map +1 -1
- package/packages/core/networking/quic-peer.js +5 -2
- package/packages/core/networking/quic-stream.d.ts +2 -1
- package/packages/core/networking/quic-stream.d.ts.map +1 -1
- package/packages/core/networking/quic-stream.js +3 -0
- package/packages/core/networking/setup.js +2 -2
- package/packages/core/pvm-host-calls/bin.js +2 -2
- package/packages/core/pvm-host-calls/ecalli-trace-logger.d.ts +5 -0
- package/packages/core/pvm-host-calls/ecalli-trace-logger.d.ts.map +1 -1
- package/packages/core/pvm-host-calls/ecalli-trace-logger.js +8 -1
- package/packages/core/pvm-host-calls/ecalli-trace-logger.test.js +1 -1
- package/packages/core/pvm-host-calls/host-call-memory.d.ts +2 -1
- package/packages/core/pvm-host-calls/host-call-memory.d.ts.map +1 -1
- package/packages/core/pvm-host-calls/host-call-memory.js +3 -0
- package/packages/core/pvm-host-calls/host-call-memory.test.js +1 -1
- package/packages/core/pvm-host-calls/host-call-registers.d.ts +5 -1
- package/packages/core/pvm-host-calls/host-call-registers.d.ts.map +1 -1
- package/packages/core/pvm-host-calls/host-call-registers.js +11 -1
- package/packages/core/pvm-host-calls/host-call-registers.test.js +2 -2
- package/packages/core/pvm-host-calls/host-calls-executor.d.ts +2 -1
- package/packages/core/pvm-host-calls/host-calls-executor.d.ts.map +1 -1
- package/packages/core/pvm-host-calls/host-calls-executor.js +5 -2
- package/packages/core/pvm-host-calls/host-calls.d.ts +4 -2
- package/packages/core/pvm-host-calls/host-calls.d.ts.map +1 -1
- package/packages/core/pvm-host-calls/host-calls.js +9 -4
- package/packages/core/pvm-host-calls/pvm-instance-manager.js +1 -1
- package/packages/core/pvm-interface/pvm.d.ts +2 -0
- package/packages/core/pvm-interface/pvm.d.ts.map +1 -1
- package/packages/core/pvm-interpreter/args-decoder/args-decoder.js +1 -1
- package/packages/core/pvm-interpreter/args-decoder/args-decoder.test.js +3 -3
- package/packages/core/pvm-interpreter/args-decoder/args-decoding-results.js +11 -11
- package/packages/core/pvm-interpreter/args-decoder/decoders/extended-with-immediate-decoder.d.ts +2 -1
- package/packages/core/pvm-interpreter/args-decoder/decoders/extended-with-immediate-decoder.d.ts.map +1 -1
- package/packages/core/pvm-interpreter/args-decoder/decoders/extended-with-immediate-decoder.js +3 -0
- package/packages/core/pvm-interpreter/args-decoder/decoders/extended-with-immediate-decoder.test.js +2 -2
- package/packages/core/pvm-interpreter/args-decoder/decoders/immediate-decoder.d.ts +2 -1
- package/packages/core/pvm-interpreter/args-decoder/decoders/immediate-decoder.d.ts.map +1 -1
- package/packages/core/pvm-interpreter/args-decoder/decoders/immediate-decoder.js +3 -0
- package/packages/core/pvm-interpreter/args-decoder/decoders/immediate-decoder.test.js +26 -26
- package/packages/core/pvm-interpreter/basic-blocks/basic-blocks.test.js +8 -8
- package/packages/core/pvm-interpreter/bin.js +1 -1
- package/packages/core/pvm-interpreter/debugger-adapter.d.ts +2 -1
- package/packages/core/pvm-interpreter/debugger-adapter.d.ts.map +1 -1
- package/packages/core/pvm-interpreter/debugger-adapter.js +6 -3
- package/packages/core/pvm-interpreter/gas.js +4 -1
- package/packages/core/pvm-interpreter/interpreter.d.ts +2 -1
- package/packages/core/pvm-interpreter/interpreter.d.ts.map +1 -1
- package/packages/core/pvm-interpreter/interpreter.js +19 -16
- package/packages/core/pvm-interpreter/memory/memory-builder.js +2 -2
- package/packages/core/pvm-interpreter/memory/memory-builder.test.js +7 -7
- package/packages/core/pvm-interpreter/memory/memory.d.ts +2 -1
- package/packages/core/pvm-interpreter/memory/memory.d.ts.map +1 -1
- package/packages/core/pvm-interpreter/memory/memory.js +4 -1
- package/packages/core/pvm-interpreter/memory/memory.test.js +31 -31
- package/packages/core/pvm-interpreter/memory/pages/readable-page.d.ts +2 -1
- package/packages/core/pvm-interpreter/memory/pages/readable-page.d.ts.map +1 -1
- package/packages/core/pvm-interpreter/memory/pages/readable-page.js +3 -0
- package/packages/core/pvm-interpreter/memory/pages/readable-page.test.js +3 -3
- package/packages/core/pvm-interpreter/memory/pages/writeable-page.d.ts +2 -1
- package/packages/core/pvm-interpreter/memory/pages/writeable-page.d.ts.map +1 -1
- package/packages/core/pvm-interpreter/memory/pages/writeable-page.js +3 -0
- package/packages/core/pvm-interpreter/memory/pages/writeable-page.test.js +4 -4
- package/packages/core/pvm-interpreter/ops/bit-ops.d.ts +2 -1
- package/packages/core/pvm-interpreter/ops/bit-ops.d.ts.map +1 -1
- package/packages/core/pvm-interpreter/ops/bit-ops.js +3 -0
- package/packages/core/pvm-interpreter/ops/bit-ops.test.js +3 -3
- package/packages/core/pvm-interpreter/ops/bit-rotation-ops.d.ts +2 -1
- package/packages/core/pvm-interpreter/ops/bit-rotation-ops.d.ts.map +1 -1
- package/packages/core/pvm-interpreter/ops/bit-rotation-ops.js +3 -0
- package/packages/core/pvm-interpreter/ops/bit-rotation-ops.test.js +5 -5
- package/packages/core/pvm-interpreter/ops/boolean-ops.d.ts +2 -1
- package/packages/core/pvm-interpreter/ops/boolean-ops.d.ts.map +1 -1
- package/packages/core/pvm-interpreter/ops/boolean-ops.js +3 -0
- package/packages/core/pvm-interpreter/ops/boolean-ops.test.js +3 -3
- package/packages/core/pvm-interpreter/ops/branch-ops.d.ts +2 -1
- package/packages/core/pvm-interpreter/ops/branch-ops.d.ts.map +1 -1
- package/packages/core/pvm-interpreter/ops/branch-ops.js +3 -0
- package/packages/core/pvm-interpreter/ops/branch-ops.test.js +4 -4
- package/packages/core/pvm-interpreter/ops/dynamic-jump-ops.d.ts +2 -1
- package/packages/core/pvm-interpreter/ops/dynamic-jump-ops.d.ts.map +1 -1
- package/packages/core/pvm-interpreter/ops/dynamic-jump-ops.js +3 -0
- package/packages/core/pvm-interpreter/ops/dynamic-jump-ops.test.js +5 -5
- package/packages/core/pvm-interpreter/ops/host-call-ops.d.ts +2 -1
- package/packages/core/pvm-interpreter/ops/host-call-ops.d.ts.map +1 -1
- package/packages/core/pvm-interpreter/ops/host-call-ops.js +3 -0
- package/packages/core/pvm-interpreter/ops/host-call-ops.test.js +2 -2
- package/packages/core/pvm-interpreter/ops/load-ops.d.ts +2 -1
- package/packages/core/pvm-interpreter/ops/load-ops.d.ts.map +1 -1
- package/packages/core/pvm-interpreter/ops/load-ops.js +3 -0
- package/packages/core/pvm-interpreter/ops/load-ops.test.js +10 -10
- package/packages/core/pvm-interpreter/ops/math-ops.d.ts +2 -1
- package/packages/core/pvm-interpreter/ops/math-ops.d.ts.map +1 -1
- package/packages/core/pvm-interpreter/ops/math-ops.js +3 -0
- package/packages/core/pvm-interpreter/ops/math-ops.test.js +3 -3
- package/packages/core/pvm-interpreter/ops/memory-ops.d.ts +2 -1
- package/packages/core/pvm-interpreter/ops/memory-ops.d.ts.map +1 -1
- package/packages/core/pvm-interpreter/ops/memory-ops.js +3 -0
- package/packages/core/pvm-interpreter/ops/memory-ops.test.js +3 -3
- package/packages/core/pvm-interpreter/ops/move-ops.d.ts +2 -1
- package/packages/core/pvm-interpreter/ops/move-ops.d.ts.map +1 -1
- package/packages/core/pvm-interpreter/ops/move-ops.js +3 -0
- package/packages/core/pvm-interpreter/ops/move-ops.test.js +3 -3
- package/packages/core/pvm-interpreter/ops/no-args-ops.d.ts +2 -1
- package/packages/core/pvm-interpreter/ops/no-args-ops.d.ts.map +1 -1
- package/packages/core/pvm-interpreter/ops/no-args-ops.js +3 -0
- package/packages/core/pvm-interpreter/ops/no-args-ops.test.js +2 -2
- package/packages/core/pvm-interpreter/ops/shift-ops.d.ts +2 -1
- package/packages/core/pvm-interpreter/ops/shift-ops.d.ts.map +1 -1
- package/packages/core/pvm-interpreter/ops/shift-ops.js +3 -0
- package/packages/core/pvm-interpreter/ops/shift-ops.test.js +3 -3
- package/packages/core/pvm-interpreter/ops/store-ops.d.ts +2 -1
- package/packages/core/pvm-interpreter/ops/store-ops.d.ts.map +1 -1
- package/packages/core/pvm-interpreter/ops/store-ops.js +3 -0
- package/packages/core/pvm-interpreter/ops/store-ops.test.js +7 -7
- package/packages/core/pvm-interpreter/ops-dispatchers/no-args-dispatcher.test.js +1 -1
- package/packages/core/pvm-interpreter/ops-dispatchers/one-imm-dispatcher.test.js +4 -4
- package/packages/core/pvm-interpreter/ops-dispatchers/one-offset-dispatcher.test.js +2 -2
- package/packages/core/pvm-interpreter/ops-dispatchers/one-reg-one-ext-imm-dispatcher.test.js +4 -4
- package/packages/core/pvm-interpreter/ops-dispatchers/one-reg-one-imm-dispatcher.test.js +7 -7
- package/packages/core/pvm-interpreter/ops-dispatchers/one-reg-one-imm-one-offset-dispatcher.test.js +10 -10
- package/packages/core/pvm-interpreter/ops-dispatchers/one-reg-two-imms-dispatcher.test.js +5 -5
- package/packages/core/pvm-interpreter/ops-dispatchers/three-regs-dispatcher.test.js +7 -7
- package/packages/core/pvm-interpreter/ops-dispatchers/two-imms-dispatcher.test.js +5 -5
- package/packages/core/pvm-interpreter/ops-dispatchers/two-regs-dispatcher.test.js +6 -6
- package/packages/core/pvm-interpreter/ops-dispatchers/two-regs-one-imm-dispatcher.test.js +11 -11
- package/packages/core/pvm-interpreter/ops-dispatchers/two-regs-one-offset-dispatcher.test.js +2 -2
- package/packages/core/pvm-interpreter/ops-dispatchers/two-regs-two-imms-dispatcher.test.js +14 -14
- package/packages/core/pvm-interpreter/program-decoder/jump-table.d.ts +5 -2
- package/packages/core/pvm-interpreter/program-decoder/jump-table.d.ts.map +1 -1
- package/packages/core/pvm-interpreter/program-decoder/jump-table.js +9 -4
- package/packages/core/pvm-interpreter/program-decoder/jump-table.test.js +6 -6
- package/packages/core/pvm-interpreter/program-decoder/mask.d.ts +2 -1
- package/packages/core/pvm-interpreter/program-decoder/mask.d.ts.map +1 -1
- package/packages/core/pvm-interpreter/program-decoder/mask.js +3 -0
- package/packages/core/pvm-interpreter/program-decoder/mask.test.js +10 -10
- package/packages/core/pvm-interpreter/program-decoder/program-decoder.d.ts +2 -1
- package/packages/core/pvm-interpreter/program-decoder/program-decoder.d.ts.map +1 -1
- package/packages/core/pvm-interpreter/program-decoder/program-decoder.js +6 -3
- package/packages/core/pvm-interpreter/program-decoder/program-decoder.test.js +5 -5
- package/packages/core/pvm-interpreter/program.js +3 -3
- package/packages/core/pvm-interpreter/registers.d.ts +5 -2
- package/packages/core/pvm-interpreter/registers.d.ts.map +1 -1
- package/packages/core/pvm-interpreter/registers.js +10 -6
- package/packages/core/pvm-interpreter/registers.test.js +10 -10
- package/packages/core/pvm-interpreter/spi-decoder/decode-standard-program.d.ts +6 -3
- package/packages/core/pvm-interpreter/spi-decoder/decode-standard-program.d.ts.map +1 -1
- package/packages/core/pvm-interpreter/spi-decoder/decode-standard-program.js +11 -2
- package/packages/core/pvm-interpreter-ananas/index.d.ts +6 -3
- package/packages/core/pvm-interpreter-ananas/index.d.ts.map +1 -1
- package/packages/core/pvm-interpreter-ananas/index.js +12 -3
- package/packages/core/trie/nodes.d.ts +7 -2
- package/packages/core/trie/nodes.d.ts.map +1 -1
- package/packages/core/trie/nodes.js +20 -11
- package/packages/core/trie/nodesDb.d.ts +3 -1
- package/packages/core/trie/nodesDb.d.ts.map +1 -1
- package/packages/core/trie/nodesDb.js +6 -0
- package/packages/core/trie/trie.js +2 -2
- package/packages/extensions/ipc/index.js +5 -2
- package/packages/extensions/ipc/jamnp/handler.d.ts +4 -2
- package/packages/extensions/ipc/jamnp/handler.d.ts.map +1 -1
- package/packages/extensions/ipc/jamnp/handler.js +9 -3
- package/packages/extensions/ipc/jamnp/server.js +3 -3
- package/packages/extensions/ipc/server.d.ts +2 -1
- package/packages/extensions/ipc/server.d.ts.map +1 -1
- package/packages/extensions/ipc/server.js +4 -1
- package/packages/jam/block/header.js +1 -1
- package/packages/jam/block/work-package.d.ts +7 -7
- package/packages/jam/block/work-package.d.ts.map +1 -1
- package/packages/jam/block/work-package.js +12 -12
- package/packages/jam/config/chain-spec.d.ts +2 -1
- package/packages/jam/config/chain-spec.d.ts.map +1 -1
- package/packages/jam/config/chain-spec.js +5 -2
- package/packages/jam/config/network.d.ts +2 -7
- package/packages/jam/config/network.d.ts.map +1 -1
- package/packages/jam/config/network.js +3 -0
- package/packages/jam/config-node/jip-chain-spec.js +1 -1
- package/packages/jam/database/blocks.test.js +1 -1
- package/packages/jam/database/states.d.ts +2 -1
- package/packages/jam/database/states.d.ts.map +1 -1
- package/packages/jam/database/states.js +3 -0
- package/packages/jam/database/states.test.js +1 -1
- package/packages/jam/database-lmdb/blocks.d.ts +2 -1
- package/packages/jam/database-lmdb/blocks.d.ts.map +1 -1
- package/packages/jam/database-lmdb/blocks.js +3 -0
- package/packages/jam/database-lmdb/root.d.ts +2 -1
- package/packages/jam/database-lmdb/root.d.ts.map +1 -1
- package/packages/jam/database-lmdb/root.js +3 -0
- package/packages/jam/database-lmdb/states.d.ts +2 -1
- package/packages/jam/database-lmdb/states.d.ts.map +1 -1
- package/packages/jam/database-lmdb/states.js +3 -0
- package/packages/jam/database-lmdb/states.test.js +9 -9
- package/packages/jam/executor/index.d.ts +1 -1
- package/packages/jam/executor/index.d.ts.map +1 -1
- package/packages/jam/executor/index.js +1 -1
- package/packages/jam/executor/pvm-executor.d.ts +9 -2
- package/packages/jam/executor/pvm-executor.d.ts.map +1 -1
- package/packages/jam/executor/pvm-executor.js +36 -21
- package/packages/jam/fuzz-proto/v1/handler.d.ts +2 -1
- package/packages/jam/fuzz-proto/v1/handler.d.ts.map +1 -1
- package/packages/jam/fuzz-proto/v1/handler.js +3 -0
- package/packages/jam/fuzz-proto/v1/handler.test.js +10 -10
- package/packages/jam/in-core/externalities/index.d.ts +4 -0
- package/packages/jam/in-core/externalities/index.d.ts.map +1 -0
- package/packages/jam/in-core/externalities/index.js +3 -0
- package/packages/jam/in-core/externalities/is-authorized-fetch.d.ts +20 -0
- package/packages/jam/in-core/externalities/is-authorized-fetch.d.ts.map +1 -0
- package/packages/jam/in-core/externalities/is-authorized-fetch.js +41 -0
- package/packages/jam/in-core/externalities/is-authorized-fetch.test.d.ts +2 -0
- package/packages/jam/in-core/externalities/is-authorized-fetch.test.d.ts.map +1 -0
- package/packages/jam/in-core/externalities/is-authorized-fetch.test.js +101 -0
- package/packages/jam/in-core/externalities/refine-fetch.d.ts +51 -0
- package/packages/jam/in-core/externalities/refine-fetch.d.ts.map +1 -0
- package/packages/jam/in-core/externalities/refine-fetch.js +80 -0
- package/packages/jam/in-core/externalities/refine-fetch.test.d.ts +2 -0
- package/packages/jam/in-core/externalities/refine-fetch.test.d.ts.map +1 -0
- package/packages/jam/in-core/externalities/refine-fetch.test.js +219 -0
- package/packages/jam/in-core/externalities/refine.d.ts +18 -8
- package/packages/jam/in-core/externalities/refine.d.ts.map +1 -1
- package/packages/jam/in-core/externalities/refine.js +86 -7
- package/packages/jam/in-core/externalities/refine.test.js +168 -3
- package/packages/jam/in-core/in-core.d.ts +9 -23
- package/packages/jam/in-core/in-core.d.ts.map +1 -1
- package/packages/jam/in-core/in-core.js +22 -187
- package/packages/jam/in-core/in-core.test.js +52 -20
- package/packages/jam/in-core/is-authorized.d.ts +34 -0
- package/packages/jam/in-core/is-authorized.d.ts.map +1 -0
- package/packages/jam/in-core/is-authorized.js +73 -0
- package/packages/jam/in-core/is-authorized.test.d.ts +2 -0
- package/packages/jam/in-core/is-authorized.test.d.ts.map +1 -0
- package/packages/jam/in-core/is-authorized.test.js +167 -0
- package/packages/jam/in-core/refine.d.ts +31 -0
- package/packages/jam/in-core/refine.d.ts.map +1 -0
- package/packages/jam/in-core/refine.js +182 -0
- package/packages/jam/in-core/refine.test.d.ts +2 -0
- package/packages/jam/in-core/refine.test.d.ts.map +1 -0
- package/packages/jam/in-core/refine.test.js +6 -0
- package/packages/jam/jam-host-calls/accumulate/assign.d.ts +2 -1
- package/packages/jam/jam-host-calls/accumulate/assign.d.ts.map +1 -1
- package/packages/jam/jam-host-calls/accumulate/assign.js +3 -0
- package/packages/jam/jam-host-calls/accumulate/assign.test.js +8 -9
- package/packages/jam/jam-host-calls/accumulate/bless.d.ts +2 -1
- package/packages/jam/jam-host-calls/accumulate/bless.d.ts.map +1 -1
- package/packages/jam/jam-host-calls/accumulate/bless.js +12 -9
- package/packages/jam/jam-host-calls/accumulate/bless.test.js +11 -12
- package/packages/jam/jam-host-calls/accumulate/checkpoint.d.ts +2 -1
- package/packages/jam/jam-host-calls/accumulate/checkpoint.d.ts.map +1 -1
- package/packages/jam/jam-host-calls/accumulate/checkpoint.js +4 -1
- package/packages/jam/jam-host-calls/accumulate/checkpoint.test.js +2 -3
- package/packages/jam/jam-host-calls/accumulate/designate.d.ts +2 -1
- package/packages/jam/jam-host-calls/accumulate/designate.d.ts.map +1 -1
- package/packages/jam/jam-host-calls/accumulate/designate.js +3 -0
- package/packages/jam/jam-host-calls/accumulate/designate.test.js +5 -6
- package/packages/jam/jam-host-calls/accumulate/eject.d.ts +2 -1
- package/packages/jam/jam-host-calls/accumulate/eject.d.ts.map +1 -1
- package/packages/jam/jam-host-calls/accumulate/eject.js +3 -0
- package/packages/jam/jam-host-calls/accumulate/eject.test.js +8 -9
- package/packages/jam/jam-host-calls/accumulate/forget.d.ts +2 -1
- package/packages/jam/jam-host-calls/accumulate/forget.d.ts.map +1 -1
- package/packages/jam/jam-host-calls/accumulate/forget.js +3 -0
- package/packages/jam/jam-host-calls/accumulate/forget.test.js +5 -6
- package/packages/jam/jam-host-calls/accumulate/new.d.ts +2 -1
- package/packages/jam/jam-host-calls/accumulate/new.d.ts.map +1 -1
- package/packages/jam/jam-host-calls/accumulate/new.js +3 -0
- package/packages/jam/jam-host-calls/accumulate/new.test.js +9 -10
- package/packages/jam/jam-host-calls/accumulate/provide.d.ts +2 -1
- package/packages/jam/jam-host-calls/accumulate/provide.d.ts.map +1 -1
- package/packages/jam/jam-host-calls/accumulate/provide.js +3 -0
- package/packages/jam/jam-host-calls/accumulate/provide.test.js +8 -9
- package/packages/jam/jam-host-calls/accumulate/query.d.ts +2 -1
- package/packages/jam/jam-host-calls/accumulate/query.d.ts.map +1 -1
- package/packages/jam/jam-host-calls/accumulate/query.js +3 -0
- package/packages/jam/jam-host-calls/accumulate/query.test.js +8 -9
- package/packages/jam/jam-host-calls/accumulate/solicit.d.ts +2 -1
- package/packages/jam/jam-host-calls/accumulate/solicit.d.ts.map +1 -1
- package/packages/jam/jam-host-calls/accumulate/solicit.js +3 -0
- package/packages/jam/jam-host-calls/accumulate/solicit.test.js +7 -8
- package/packages/jam/jam-host-calls/accumulate/transfer.d.ts +2 -1
- package/packages/jam/jam-host-calls/accumulate/transfer.d.ts.map +1 -1
- package/packages/jam/jam-host-calls/accumulate/transfer.js +3 -0
- package/packages/jam/jam-host-calls/accumulate/transfer.test.js +9 -10
- package/packages/jam/jam-host-calls/accumulate/upgrade.d.ts +2 -1
- package/packages/jam/jam-host-calls/accumulate/upgrade.d.ts.map +1 -1
- package/packages/jam/jam-host-calls/accumulate/upgrade.js +3 -0
- package/packages/jam/jam-host-calls/accumulate/upgrade.test.js +4 -5
- package/packages/jam/jam-host-calls/accumulate/yield.d.ts +2 -1
- package/packages/jam/jam-host-calls/accumulate/yield.d.ts.map +1 -1
- package/packages/jam/jam-host-calls/accumulate/yield.js +3 -0
- package/packages/jam/jam-host-calls/accumulate/yield.test.js +4 -5
- package/packages/jam/jam-host-calls/externalities/partial-state.d.ts +1 -1
- package/packages/jam/jam-host-calls/externalities/refine-externalities.d.ts +1 -1
- package/packages/jam/jam-host-calls/externalities/refine-externalities.d.ts.map +1 -1
- package/packages/jam/jam-host-calls/externalities/refine-externalities.test.js +9 -9
- package/packages/jam/jam-host-calls/externalities/state-update.d.ts +2 -3
- package/packages/jam/jam-host-calls/externalities/state-update.d.ts.map +1 -1
- package/packages/jam/jam-host-calls/externalities/state-update.js +5 -2
- package/packages/jam/jam-host-calls/externalities/test-accounts.js +2 -2
- package/packages/jam/jam-host-calls/general/fetch.d.ts +166 -104
- package/packages/jam/jam-host-calls/general/fetch.d.ts.map +1 -1
- package/packages/jam/jam-host-calls/general/fetch.js +120 -23
- package/packages/jam/jam-host-calls/general/fetch.test.js +125 -92
- package/packages/jam/jam-host-calls/general/gas.d.ts +2 -1
- package/packages/jam/jam-host-calls/general/gas.d.ts.map +1 -1
- package/packages/jam/jam-host-calls/general/gas.js +3 -0
- package/packages/jam/jam-host-calls/general/gas.test.js +4 -5
- package/packages/jam/jam-host-calls/general/info.d.ts +2 -1
- package/packages/jam/jam-host-calls/general/info.d.ts.map +1 -1
- package/packages/jam/jam-host-calls/general/info.js +3 -0
- package/packages/jam/jam-host-calls/general/info.test.js +6 -7
- package/packages/jam/jam-host-calls/general/log.d.ts +2 -1
- package/packages/jam/jam-host-calls/general/log.d.ts.map +1 -1
- package/packages/jam/jam-host-calls/general/log.js +3 -0
- package/packages/jam/jam-host-calls/general/lookup.d.ts +2 -1
- package/packages/jam/jam-host-calls/general/lookup.d.ts.map +1 -1
- package/packages/jam/jam-host-calls/general/lookup.js +3 -0
- package/packages/jam/jam-host-calls/general/lookup.test.js +8 -9
- package/packages/jam/jam-host-calls/general/read.d.ts +2 -1
- package/packages/jam/jam-host-calls/general/read.d.ts.map +1 -1
- package/packages/jam/jam-host-calls/general/read.js +3 -0
- package/packages/jam/jam-host-calls/general/read.test.js +11 -12
- package/packages/jam/jam-host-calls/general/write.d.ts +2 -1
- package/packages/jam/jam-host-calls/general/write.d.ts.map +1 -1
- package/packages/jam/jam-host-calls/general/write.js +3 -0
- package/packages/jam/jam-host-calls/general/write.test.js +10 -11
- package/packages/jam/jam-host-calls/refine/export.d.ts +2 -1
- package/packages/jam/jam-host-calls/refine/export.d.ts.map +1 -1
- package/packages/jam/jam-host-calls/refine/export.js +3 -0
- package/packages/jam/jam-host-calls/refine/export.test.js +6 -7
- package/packages/jam/jam-host-calls/refine/expunge.d.ts +2 -1
- package/packages/jam/jam-host-calls/refine/expunge.d.ts.map +1 -1
- package/packages/jam/jam-host-calls/refine/expunge.js +3 -0
- package/packages/jam/jam-host-calls/refine/expunge.test.js +3 -4
- package/packages/jam/jam-host-calls/refine/historical-lookup.d.ts +2 -1
- package/packages/jam/jam-host-calls/refine/historical-lookup.d.ts.map +1 -1
- package/packages/jam/jam-host-calls/refine/historical-lookup.js +3 -0
- package/packages/jam/jam-host-calls/refine/historical-lookup.test.js +11 -12
- package/packages/jam/jam-host-calls/refine/invoke.d.ts +2 -1
- package/packages/jam/jam-host-calls/refine/invoke.d.ts.map +1 -1
- package/packages/jam/jam-host-calls/refine/invoke.js +4 -1
- package/packages/jam/jam-host-calls/refine/invoke.test.js +10 -11
- package/packages/jam/jam-host-calls/refine/machine.d.ts +2 -1
- package/packages/jam/jam-host-calls/refine/machine.d.ts.map +1 -1
- package/packages/jam/jam-host-calls/refine/machine.js +3 -0
- package/packages/jam/jam-host-calls/refine/machine.test.js +6 -7
- package/packages/jam/jam-host-calls/refine/pages.d.ts +2 -1
- package/packages/jam/jam-host-calls/refine/pages.d.ts.map +1 -1
- package/packages/jam/jam-host-calls/refine/pages.js +3 -0
- package/packages/jam/jam-host-calls/refine/pages.test.js +3 -4
- package/packages/jam/jam-host-calls/refine/peek.d.ts +2 -1
- package/packages/jam/jam-host-calls/refine/peek.d.ts.map +1 -1
- package/packages/jam/jam-host-calls/refine/peek.js +3 -0
- package/packages/jam/jam-host-calls/refine/peek.test.js +3 -4
- package/packages/jam/jam-host-calls/refine/poke.d.ts +2 -1
- package/packages/jam/jam-host-calls/refine/poke.d.ts.map +1 -1
- package/packages/jam/jam-host-calls/refine/poke.js +3 -0
- package/packages/jam/jam-host-calls/refine/poke.test.js +3 -4
- package/packages/jam/jamnp-s/network.js +1 -1
- package/packages/jam/jamnp-s/peers.d.ts +2 -1
- package/packages/jam/jamnp-s/peers.d.ts.map +1 -1
- package/packages/jam/jamnp-s/peers.js +3 -0
- package/packages/jam/jamnp-s/protocol/ce-128-block-request.d.ts +4 -2
- package/packages/jam/jamnp-s/protocol/ce-128-block-request.d.ts.map +1 -1
- package/packages/jam/jamnp-s/protocol/ce-128-block-request.js +6 -0
- package/packages/jam/jamnp-s/protocol/ce-128-block-request.test.js +2 -2
- package/packages/jam/jamnp-s/protocol/ce-129-state-request.d.ts +4 -2
- package/packages/jam/jamnp-s/protocol/ce-129-state-request.d.ts.map +1 -1
- package/packages/jam/jamnp-s/protocol/ce-129-state-request.js +6 -0
- package/packages/jam/jamnp-s/protocol/ce-129-state-request.test.js +4 -4
- package/packages/jam/jamnp-s/protocol/ce-131-ce-132-safrole-ticket-distribution.d.ts +4 -2
- package/packages/jam/jamnp-s/protocol/ce-131-ce-132-safrole-ticket-distribution.d.ts.map +1 -1
- package/packages/jam/jamnp-s/protocol/ce-131-ce-132-safrole-ticket-distribution.js +6 -0
- package/packages/jam/jamnp-s/protocol/ce-131-ce-132-safrole-ticket-distribution.test.js +2 -2
- package/packages/jam/jamnp-s/protocol/ce-133-work-package-submission.d.ts +6 -3
- package/packages/jam/jamnp-s/protocol/ce-133-work-package-submission.d.ts.map +1 -1
- package/packages/jam/jamnp-s/protocol/ce-133-work-package-submission.js +7 -0
- package/packages/jam/jamnp-s/protocol/ce-133-work-package-submission.test.js +2 -2
- package/packages/jam/jamnp-s/protocol/ce-134-work-package-sharing.d.ts +5 -2
- package/packages/jam/jamnp-s/protocol/ce-134-work-package-sharing.d.ts.map +1 -1
- package/packages/jam/jamnp-s/protocol/ce-134-work-package-sharing.js +7 -0
- package/packages/jam/jamnp-s/protocol/ce-134-work-package-sharing.test.js +2 -2
- package/packages/jam/jamnp-s/protocol/ce-135-work-report-distribution.d.ts +4 -2
- package/packages/jam/jamnp-s/protocol/ce-135-work-report-distribution.d.ts.map +1 -1
- package/packages/jam/jamnp-s/protocol/ce-135-work-report-distribution.js +6 -0
- package/packages/jam/jamnp-s/protocol/ce-135-work-report-distribution.test.js +2 -2
- package/packages/jam/jamnp-s/protocol/up-0-block-announcement.d.ts +2 -1
- package/packages/jam/jamnp-s/protocol/up-0-block-announcement.d.ts.map +1 -1
- package/packages/jam/jamnp-s/protocol/up-0-block-announcement.js +3 -0
- package/packages/jam/jamnp-s/stream-manager.d.ts +2 -1
- package/packages/jam/jamnp-s/stream-manager.d.ts.map +1 -1
- package/packages/jam/jamnp-s/stream-manager.js +4 -1
- package/packages/jam/jamnp-s/tasks/sync.js +4 -4
- package/packages/jam/jamnp-s/tasks/sync.test.js +4 -4
- package/packages/jam/jamnp-s/tasks/ticket-distribution.js +2 -2
- package/packages/jam/jamnp-s/tasks/ticket-distribution.test.js +1 -1
- package/packages/jam/node/common.d.ts.map +1 -1
- package/packages/jam/node/common.js +3 -3
- package/packages/jam/rpc-client/index.d.ts +4 -2
- package/packages/jam/rpc-client/index.d.ts.map +1 -1
- package/packages/jam/rpc-client/index.js +7 -1
- package/packages/jam/state/in-memory-state-view.d.ts +2 -1
- package/packages/jam/state/in-memory-state-view.d.ts.map +1 -1
- package/packages/jam/state/in-memory-state-view.js +3 -0
- package/packages/jam/state/in-memory-state.d.ts +16 -21
- package/packages/jam/state/in-memory-state.d.ts.map +1 -1
- package/packages/jam/state/in-memory-state.js +10 -6
- package/packages/jam/state/in-memory-state.test.js +2 -2
- package/packages/jam/state/service.d.ts +2 -6
- package/packages/jam/state/service.d.ts.map +1 -1
- package/packages/jam/state/service.js +3 -0
- package/packages/jam/state/test.utils.js +3 -3
- package/packages/jam/state-json/accounts.js +5 -5
- package/packages/jam/state-merkleization/in-memory-state-codec.d.ts +3 -34
- package/packages/jam/state-merkleization/in-memory-state-codec.d.ts.map +1 -1
- package/packages/jam/state-merkleization/in-memory-state-codec.js +1 -1
- package/packages/jam/state-merkleization/serialized-state-view.d.ts +8 -3
- package/packages/jam/state-merkleization/serialized-state-view.d.ts.map +1 -1
- package/packages/jam/state-merkleization/serialized-state-view.js +6 -3
- package/packages/jam/state-merkleization/serialized-state.d.ts +2 -3
- package/packages/jam/state-merkleization/serialized-state.d.ts.map +1 -1
- package/packages/jam/state-merkleization/serialized-state.js +10 -2
- package/packages/jam/state-merkleization/serialized-state.test.js +1 -1
- package/packages/jam/transition/accumulate/accumulate.d.ts.map +1 -1
- package/packages/jam/transition/accumulate/accumulate.js +20 -8
- package/packages/jam/transition/accumulate/accumulate.test.js +1 -1
- package/packages/jam/transition/accumulate/accumulation-result-merge-utils.js +48 -39
- package/packages/jam/transition/block-verifier.d.ts +2 -1
- package/packages/jam/transition/block-verifier.d.ts.map +1 -1
- package/packages/jam/transition/block-verifier.js +3 -0
- package/packages/jam/transition/block-verifier.test.js +8 -8
- package/packages/jam/transition/chain-stf.d.ts +12 -4
- package/packages/jam/transition/chain-stf.d.ts.map +1 -1
- package/packages/jam/transition/chain-stf.js +7 -3
- package/packages/jam/transition/externalities/accumulate-externalities.d.ts +22 -8
- package/packages/jam/transition/externalities/accumulate-externalities.d.ts.map +1 -1
- package/packages/jam/transition/externalities/accumulate-externalities.js +49 -29
- package/packages/jam/transition/externalities/accumulate-externalities.test.js +661 -101
- package/packages/jam/transition/externalities/accumulate-fetch-externalities.d.ts +19 -0
- package/packages/jam/transition/externalities/accumulate-fetch-externalities.d.ts.map +1 -0
- package/packages/jam/transition/externalities/accumulate-fetch-externalities.js +45 -0
- package/packages/jam/transition/externalities/accumulate-fetch-externalities.test.d.ts +2 -0
- package/packages/jam/transition/externalities/accumulate-fetch-externalities.test.d.ts.map +1 -0
- package/packages/jam/transition/externalities/accumulate-fetch-externalities.test.js +192 -0
- package/packages/jam/transition/externalities/fetch-externalities.d.ts +54 -37
- package/packages/jam/transition/externalities/fetch-externalities.d.ts.map +1 -1
- package/packages/jam/transition/externalities/fetch-externalities.js +45 -89
- package/packages/jam/transition/externalities/index.d.ts +1 -0
- package/packages/jam/transition/externalities/index.d.ts.map +1 -1
- package/packages/jam/transition/externalities/index.js +1 -0
- package/packages/jam/transition/hasher.d.ts +2 -1
- package/packages/jam/transition/hasher.d.ts.map +1 -1
- package/packages/jam/transition/hasher.js +5 -2
- package/packages/jam/transition/hasher.test.js +1 -1
- package/packages/jam/transition/preimages.test.js +4 -4
- package/packages/jam/transition/reports/test.utils.js +1 -1
- package/packages/workers/api-node/config.js +4 -4
- package/packages/workers/api-node/port.d.ts +2 -1
- package/packages/workers/api-node/port.d.ts.map +1 -1
- package/packages/workers/api-node/port.js +4 -1
- package/packages/workers/api-node/port.test.js +2 -2
- package/packages/workers/api-node/protocol.js +2 -2
- package/packages/workers/block-authorship/generator.d.ts +13 -2
- package/packages/workers/block-authorship/generator.d.ts.map +1 -1
- package/packages/workers/block-authorship/generator.js +13 -9
- package/packages/workers/block-authorship/generator.test.js +16 -2
- package/packages/workers/block-authorship/main.d.ts.map +1 -1
- package/packages/workers/block-authorship/main.js +8 -1
- package/packages/workers/importer/finality.test.js +1 -1
- package/packages/workers/importer/importer.d.ts +23 -6
- package/packages/workers/importer/importer.d.ts.map +1 -1
- package/packages/workers/importer/importer.js +34 -19
- package/packages/workers/importer/main.d.ts.map +1 -1
- package/packages/workers/importer/main.js +13 -5
- package/packages/jam/transition/externalities/fetch-externalities.test.d.ts +0 -2
- package/packages/jam/transition/externalities/fetch-externalities.test.d.ts.map +0 -1
- package/packages/jam/transition/externalities/fetch-externalities.test.js +0 -254
package/README.md
CHANGED
|
@@ -243,7 +243,7 @@ const programHex = "0x0000213308013309012803009577ff51070c648ac8980864a928f36487
|
|
|
243
243
|
const program = BytesBlob.parseBlob(programHex);
|
|
244
244
|
|
|
245
245
|
// Create interpreter and initialize with program
|
|
246
|
-
const pvm = new
|
|
246
|
+
const pvm = Interpreter.new();
|
|
247
247
|
pvm.resetGeneric(program.raw, 0, tryAsGas(1000));
|
|
248
248
|
|
|
249
249
|
// dump the program data
|
|
@@ -269,7 +269,7 @@ import { BytesBlob } from "@typeberry/lib/bytes";
|
|
|
269
269
|
const programHex = "0x0000210408010409010503000277ff07070c528a08980852a905f3528704080409111300499352d500";
|
|
270
270
|
const program = BytesBlob.parseBlob(programHex);
|
|
271
271
|
|
|
272
|
-
const pvm = new
|
|
272
|
+
const pvm = Interpreter.new();
|
|
273
273
|
pvm.resetGeneric(program.raw, 0, tryAsGas(1000));
|
|
274
274
|
pvm.runProgram();
|
|
275
275
|
|
|
@@ -11,7 +11,7 @@ describe("PVM Examples", () => {
|
|
|
11
11
|
const programHex = "0x0000213308013309012803009577ff51070c648ac8980864a928f3648733083309013200499352d500";
|
|
12
12
|
const program = BytesBlob.parseBlob(programHex);
|
|
13
13
|
// Create interpreter and initialize with program
|
|
14
|
-
const pvm = new
|
|
14
|
+
const pvm = Interpreter.new();
|
|
15
15
|
pvm.resetGeneric(program.raw, 0, tryAsGas(1000));
|
|
16
16
|
// dump the program data
|
|
17
17
|
console.table(pvm.dumpProgram());
|
|
@@ -29,7 +29,7 @@ describe("PVM Examples", () => {
|
|
|
29
29
|
const { BytesBlob } = await import("@typeberry/lib/bytes");
|
|
30
30
|
const programHex = "0x0000210408010409010503000277ff07070c528a08980852a905f3528704080409111300499352d500";
|
|
31
31
|
const program = BytesBlob.parseBlob(programHex);
|
|
32
|
-
const pvm = new
|
|
32
|
+
const pvm = Interpreter.new();
|
|
33
33
|
pvm.resetGeneric(program.raw, 0, tryAsGas(1000));
|
|
34
34
|
pvm.runProgram();
|
|
35
35
|
// Access register values after execution
|
package/package.json
CHANGED
|
@@ -54,7 +54,7 @@ export class Descriptor {
|
|
|
54
54
|
*/
|
|
55
55
|
skipEncoded(decoder) {
|
|
56
56
|
const initBytes = decoder.bytesRead();
|
|
57
|
-
this.skip(new
|
|
57
|
+
this.skip(Skipper.new(decoder));
|
|
58
58
|
const endBytes = decoder.bytesRead();
|
|
59
59
|
return BytesBlob.blobFrom(decoder.source.subarray(initBytes, endBytes));
|
|
60
60
|
}
|
|
@@ -311,6 +311,9 @@ function hasUniqueView(a) {
|
|
|
311
311
|
function objectView(Class, descriptors, sizeHint, skipper) {
|
|
312
312
|
// Create a View, based on the `AbstractView`.
|
|
313
313
|
class ClassView extends ObjectView {
|
|
314
|
+
static new(d) {
|
|
315
|
+
return new ClassView(d);
|
|
316
|
+
}
|
|
314
317
|
constructor(d) {
|
|
315
318
|
super(d, Class, descriptors);
|
|
316
319
|
}
|
|
@@ -330,8 +333,8 @@ function objectView(Class, descriptors, sizeHint, skipper) {
|
|
|
330
333
|
const encoded = t.encoded();
|
|
331
334
|
e.bytes(Bytes.fromBlob(encoded.raw, encoded.length));
|
|
332
335
|
}, (d) => {
|
|
333
|
-
const view = new
|
|
334
|
-
skipper(new
|
|
336
|
+
const view = ClassView.new(d.clone());
|
|
337
|
+
skipper(Skipper.new(d));
|
|
335
338
|
return view;
|
|
336
339
|
}, skipper);
|
|
337
340
|
}
|
|
@@ -351,7 +354,7 @@ function sequenceViewVarLen(type, options) {
|
|
|
351
354
|
e.bytes(Bytes.fromBlob(encoded.raw, encoded.length));
|
|
352
355
|
}, (d) => {
|
|
353
356
|
const view = new SequenceView(d.clone(), type);
|
|
354
|
-
skipper(new
|
|
357
|
+
skipper(Skipper.new(d));
|
|
355
358
|
return view;
|
|
356
359
|
}, skipper);
|
|
357
360
|
}
|
|
@@ -366,7 +369,7 @@ function sequenceViewFixLen(type, { fixedLength }) {
|
|
|
366
369
|
e.bytes(Bytes.fromBlob(encoded.raw, encoded.length));
|
|
367
370
|
}, (d) => {
|
|
368
371
|
const view = new SequenceView(d.clone(), type, fixedLength);
|
|
369
|
-
skipper(new
|
|
372
|
+
skipper(Skipper.new(d));
|
|
370
373
|
return view;
|
|
371
374
|
}, skipper);
|
|
372
375
|
}
|
|
@@ -125,7 +125,7 @@ export declare class Encoder {
|
|
|
125
125
|
*/
|
|
126
126
|
i8(num: number): void;
|
|
127
127
|
/**
|
|
128
|
-
* Encode a single boolean discriminator using
|
|
128
|
+
* Encode a single boolean discriminator using 1-byte encoding.
|
|
129
129
|
*
|
|
130
130
|
* https://graypaper.fluffylabs.dev/#/579bd12/375300375300
|
|
131
131
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../../../../packages/core/codec/encoder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAY,KAAK,GAAG,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../../../../packages/core/codec/encoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Bytes, BytesBlob } from "#@typeberry/bytes";
|
|
2
2
|
import { tryAsU32 } from "#@typeberry/numbers";
|
|
3
3
|
import { check } from "#@typeberry/utils";
|
|
4
|
+
import { tryAsU8 } from "../numbers/index.js";
|
|
4
5
|
export function tryAsExactBytes(a) {
|
|
5
6
|
check `${a.isExact} The value is not exact size estimation!`;
|
|
6
7
|
return a.bytes;
|
|
@@ -150,12 +151,12 @@ export class Encoder {
|
|
|
150
151
|
this.offset += 1;
|
|
151
152
|
}
|
|
152
153
|
/**
|
|
153
|
-
* Encode a single boolean discriminator using
|
|
154
|
+
* Encode a single boolean discriminator using 1-byte encoding.
|
|
154
155
|
*
|
|
155
156
|
* https://graypaper.fluffylabs.dev/#/579bd12/375300375300
|
|
156
157
|
*/
|
|
157
158
|
bool(bool) {
|
|
158
|
-
this.
|
|
159
|
+
this.i8(tryAsU8(bool ? 1 : 0));
|
|
159
160
|
}
|
|
160
161
|
/**
|
|
161
162
|
* Prepare for encoding of a fixed-bytes number.
|
|
@@ -67,7 +67,7 @@ describe("JAM encoder / decoder", () => {
|
|
|
67
67
|
const encoded = encoder.viewResult();
|
|
68
68
|
const decoder = Decoder.fromBytesBlob(encoded);
|
|
69
69
|
// skipping
|
|
70
|
-
const skip = new
|
|
70
|
+
const skip = Skipper.new(decoder.clone());
|
|
71
71
|
g.descriptor.skip(skip);
|
|
72
72
|
skip.decoder.finish();
|
|
73
73
|
// decoding
|
|
@@ -7,7 +7,8 @@ export type Skip = {
|
|
|
7
7
|
/** Wrapper for `Decoder` that can skip bytes of fields in the data buffer instead of decoding them. */
|
|
8
8
|
export declare class Skipper {
|
|
9
9
|
readonly decoder: Decoder;
|
|
10
|
-
|
|
10
|
+
static new(decoder: Decoder): Skipper;
|
|
11
|
+
private constructor();
|
|
11
12
|
/** Skip U64/I64. */
|
|
12
13
|
u64: () => void;
|
|
13
14
|
/** Skip U32/I32. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skip.d.ts","sourceRoot":"","sources":["../../../../../packages/core/codec/skip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAkC,MAAM,cAAc,CAAC;AAE5E,yDAAyD;AACzD,MAAM,MAAM,IAAI,GAAG;IACjB,4CAA4C;IAC5C,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5B,CAAC;AAEF,uGAAuG;AACvG,qBAAa,OAAO;
|
|
1
|
+
{"version":3,"file":"skip.d.ts","sourceRoot":"","sources":["../../../../../packages/core/codec/skip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAkC,MAAM,cAAc,CAAC;AAE5E,yDAAyD;AACzD,MAAM,MAAM,IAAI,GAAG;IACjB,4CAA4C;IAC5C,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5B,CAAC;AAEF,uGAAuG;AACvG,qBAAa,OAAO;aAKkB,OAAO,EAAE,OAAO;IAJpD,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO;IAI3B,OAAO;IACP,oBAAoB;IACpB,GAAG,aAA8B;IACjC,oBAAoB;IACpB,GAAG,aAA8B;IACjC,oBAAoB;IACpB,GAAG,aAA8B;IACjC,oBAAoB;IACpB,GAAG,aAA8B;IACjC,kBAAkB;IAClB,EAAE,aAA8B;IAChC,oBAAoB;IACpB,IAAI,aAA8B;IAClC,gCAAgC;IAChC,MAAM,aAAuB;IAC7B,gCAAgC;IAChC,MAAM;IAKN,+BAA+B;IAC/B,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC;IAG9B,uCAAuC;IACvC,SAAS;IAIT,oCAAoC;IACpC,YAAY,CAAC,SAAS,EAAE,MAAM;IAG9B,uCAAuC;IACvC,YAAY;IAIZ,+BAA+B;IAC/B,MAAM,CAAC,MAAM,EAAE,IAAI;IAGnB,yCAAyC;IACzC,QAAQ,CAAC,MAAM,EAAE,IAAI;IAMrB,kCAAkC;IAClC,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM;IAKxC,qCAAqC;IACrC,cAAc,CAAC,MAAM,EAAE,IAAI;CAI5B"}
|
|
@@ -2,6 +2,9 @@ import { decodeVariableLengthExtraBytes } from "./decoder.js";
|
|
|
2
2
|
/** Wrapper for `Decoder` that can skip bytes of fields in the data buffer instead of decoding them. */
|
|
3
3
|
export class Skipper {
|
|
4
4
|
decoder;
|
|
5
|
+
static new(decoder) {
|
|
6
|
+
return new Skipper(decoder);
|
|
7
|
+
}
|
|
5
8
|
constructor(decoder) {
|
|
6
9
|
this.decoder = decoder;
|
|
7
10
|
}
|
|
@@ -107,7 +107,7 @@ export class ObjectView {
|
|
|
107
107
|
is already decoded (${this.lastDecodedFieldIdx}, ${String(lastField)}).
|
|
108
108
|
`;
|
|
109
109
|
let lastItem = this.cache.get(lastField);
|
|
110
|
-
const skipper = new
|
|
110
|
+
const skipper = Skipper.new(this.decoder);
|
|
111
111
|
// now skip all of the fields and further populate the cache.
|
|
112
112
|
for (let i = this.lastDecodedFieldIdx + 1; i <= index; i++) {
|
|
113
113
|
// create new cached prop
|
|
@@ -214,7 +214,7 @@ export class SequenceView {
|
|
|
214
214
|
Unjustified call to 'decodeUpTo' - the index (${index}) is already decoded (${this.lastDecodedIdx}).
|
|
215
215
|
`;
|
|
216
216
|
let lastItem = this.cache.get(this.lastDecodedIdx);
|
|
217
|
-
const skipper = new
|
|
217
|
+
const skipper = Skipper.new(this.decoder);
|
|
218
218
|
// now skip all of the fields and further populate the cache.
|
|
219
219
|
for (let i = this.lastDecodedIdx + 1; i <= index; i++) {
|
|
220
220
|
// create new cached prop
|
|
@@ -18,7 +18,8 @@ export declare class MultiMap<TKeys extends readonly unknown[], TValue> {
|
|
|
18
18
|
* Pass the number of keys and optionally mappers from keys to primitive types
|
|
19
19
|
* if needed.
|
|
20
20
|
*/
|
|
21
|
-
|
|
21
|
+
static new<TKeys extends readonly unknown[], TValue>(keysLength: TKeys["length"], keyMappers?: KeyMappers<TKeys>): MultiMap<TKeys, TValue>;
|
|
22
|
+
private constructor();
|
|
22
23
|
/** Convert input keys into primitive types. */
|
|
23
24
|
private primitiveKeys;
|
|
24
25
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi-map.d.ts","sourceRoot":"","sources":["../../../../../packages/core/collections/multi-map.ts"],"names":[],"mappings":"AAEA,KAAK,UAAU,CAAC,KAAK,SAAS,SAAS,OAAO,EAAE,EAAE,MAAM,IAAI,KAAK,SAAS,CAAC,MAAM,KAAK,EAAE,GAAG,MAAM,KAAK,CAAC,GACnG,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,GACrC,MAAM,CAAC;AAEX,KAAK,UAAU,CAAC,KAAK,SAAS,SAAS,OAAO,EAAE,IAAI,KAAK,SAAS,CAAC,MAAM,KAAK,EAAE,GAAG,MAAM,KAAK,CAAC,GAC3F,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,GAC/C,EAAE,CAAC;AAEP,sDAAsD;AACtD,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEzE;;;;;;;;GAQG;AACH,qBAAa,QAAQ,CAAC,KAAK,SAAS,SAAS,OAAO,EAAE,EAAE,MAAM;IAC5D,SAAgB,IAAI,EAAE,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAE/C;;;OAGG;
|
|
1
|
+
{"version":3,"file":"multi-map.d.ts","sourceRoot":"","sources":["../../../../../packages/core/collections/multi-map.ts"],"names":[],"mappings":"AAEA,KAAK,UAAU,CAAC,KAAK,SAAS,SAAS,OAAO,EAAE,EAAE,MAAM,IAAI,KAAK,SAAS,CAAC,MAAM,KAAK,EAAE,GAAG,MAAM,KAAK,CAAC,GACnG,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,GACrC,MAAM,CAAC;AAEX,KAAK,UAAU,CAAC,KAAK,SAAS,SAAS,OAAO,EAAE,IAAI,KAAK,SAAS,CAAC,MAAM,KAAK,EAAE,GAAG,MAAM,KAAK,CAAC,GAC3F,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,GAC/C,EAAE,CAAC;AAEP,sDAAsD;AACtD,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEzE;;;;;;;;GAQG;AACH,qBAAa,QAAQ,CAAC,KAAK,SAAS,SAAS,OAAO,EAAE,EAAE,MAAM;IAC5D,SAAgB,IAAI,EAAE,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAE/C;;;OAGG;IACH,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,SAAS,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC;IAIhH,OAAO;IAOP,+CAA+C;IAC/C,OAAO,CAAC,aAAa;IAOrB;;;;OAIG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,KAAK;IAsBnC;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,MAAM,EAAE,KAAK,GAAG,OAAO;IAKjC,kDAAkD;IAClD,GAAG,CAAC,GAAG,MAAM,EAAE,KAAK,GAAG,OAAO;IAK9B,kEAAkE;IAClE,GAAG,CAAC,GAAG,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS;IAKzC;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;CA0B1B"}
|
|
@@ -15,6 +15,9 @@ export class MultiMap {
|
|
|
15
15
|
* Pass the number of keys and optionally mappers from keys to primitive types
|
|
16
16
|
* if needed.
|
|
17
17
|
*/
|
|
18
|
+
static new(keysLength, keyMappers) {
|
|
19
|
+
return new MultiMap(keysLength, keyMappers);
|
|
20
|
+
}
|
|
18
21
|
constructor(keysLength, keyMappers) {
|
|
19
22
|
check `${keysLength > 0} Keys cannot be empty.`;
|
|
20
23
|
check `${keyMappers === undefined || keyMappers.length === keysLength} Incorrect number of key mappers given!`;
|
|
@@ -18,7 +18,7 @@ describe("Multi Map", () => {
|
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
// given
|
|
21
|
-
const map = new
|
|
21
|
+
const map = MultiMap.new(3, [null, (obj) => obj.val, null]);
|
|
22
22
|
map
|
|
23
23
|
.set("hello", "a", new MyObject(5), 10)
|
|
24
24
|
.set("world", "b", new MyObject(10), 10)
|
|
@@ -37,7 +37,7 @@ describe("Multi Map", () => {
|
|
|
37
37
|
});
|
|
38
38
|
it("should check existence and remove elements", () => {
|
|
39
39
|
// given
|
|
40
|
-
const map = new
|
|
40
|
+
const map = MultiMap.new(2);
|
|
41
41
|
map.set("hello", "a", 10).set("world", "b", 10).set("frens", "a", 11);
|
|
42
42
|
// when
|
|
43
43
|
const has_a = map.has("a", 10);
|
|
@@ -113,11 +113,14 @@ async function initWorker(workerPath) {
|
|
|
113
113
|
});
|
|
114
114
|
// make sure the threads don't prevent the program from stopping.
|
|
115
115
|
workerThread.unref();
|
|
116
|
-
return new
|
|
116
|
+
return WorkerChannel.new(workerThread, port2);
|
|
117
117
|
}
|
|
118
118
|
class WorkerChannel {
|
|
119
119
|
worker;
|
|
120
120
|
port;
|
|
121
|
+
static new(worker, port) {
|
|
122
|
+
return new WorkerChannel(worker, port);
|
|
123
|
+
}
|
|
121
124
|
constructor(worker, port) {
|
|
122
125
|
this.worker = worker;
|
|
123
126
|
this.port = port;
|
|
@@ -31,11 +31,8 @@ export declare class Ed25519Pair {
|
|
|
31
31
|
readonly pubKey: Ed25519Key;
|
|
32
32
|
/** Private key. NOTE: Avoid using directly. */
|
|
33
33
|
readonly _privKey: Bytes<ED25519_PRIV_KEY_BYTES>;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
pubKey: Ed25519Key,
|
|
37
|
-
/** Private key. NOTE: Avoid using directly. */
|
|
38
|
-
_privKey: Bytes<ED25519_PRIV_KEY_BYTES>);
|
|
34
|
+
static new(pubKey: Ed25519Key, _privKey: Bytes<ED25519_PRIV_KEY_BYTES>): Ed25519Pair;
|
|
35
|
+
private constructor();
|
|
39
36
|
}
|
|
40
37
|
/** Create a private key from given raw bytes. */
|
|
41
38
|
export declare function privateKey(privKey: Bytes<ED25519_PRIV_KEY_BYTES>): Promise<Ed25519Pair>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ed25519.d.ts","sourceRoot":"","sources":["../../../../../packages/core/crypto/ed25519.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAS,KAAK,MAAM,EAAuB,MAAM,kBAAkB,CAAC;AAE3E,gCAAgC;AAChC,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,KAAK,sBAAsB,GAAG,OAAO,sBAAsB,CAAC;AAE5D,+BAA+B;AAC/B,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC;AAEzD,8BAA8B;AAC9B,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAC;AAErE;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,YAAY,CAAC,CAAC;AAExE;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,kBAAkB,CAAC,CAAC;AAE1F;;;;GAIG;AACH,qBAAa,WAAW;
|
|
1
|
+
{"version":3,"file":"ed25519.d.ts","sourceRoot":"","sources":["../../../../../packages/core/crypto/ed25519.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAS,KAAK,MAAM,EAAuB,MAAM,kBAAkB,CAAC;AAE3E,gCAAgC;AAChC,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,KAAK,sBAAsB,GAAG,OAAO,sBAAsB,CAAC;AAE5D,+BAA+B;AAC/B,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC;AAEzD,8BAA8B;AAC9B,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAC;AAErE;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,YAAY,CAAC,CAAC;AAExE;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,kBAAkB,CAAC,CAAC;AAE1F;;;;GAIG;AACH,qBAAa,WAAW;IAMpB,iBAAiB;aACD,MAAM,EAAE,UAAU;IAClC,+CAA+C;aAC/B,QAAQ,EAAE,KAAK,CAAC,sBAAsB,CAAC;IARzD,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,sBAAsB,CAAC;IAItE,OAAO;CAMR;AAED,iDAAiD;AACjD,wBAAsB,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAG7F;AAED,wDAAwD;AACxD,wBAAsB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAGvG;AAED,oCAAoC;AACpC,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI;IACnD,iBAAiB;IACjB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,kBAAkB;IAClB,GAAG,EAAE,UAAU,CAAC;IAChB,yBAAyB;IACzB,OAAO,EAAE,CAAC,CAAC;CACZ,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,MAAM,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CA2BvF;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAa1F"}
|
|
@@ -16,6 +16,9 @@ export const ED25519_SIGNATURE_BYTES = 64;
|
|
|
16
16
|
export class Ed25519Pair {
|
|
17
17
|
pubKey;
|
|
18
18
|
_privKey;
|
|
19
|
+
static new(pubKey, _privKey) {
|
|
20
|
+
return new Ed25519Pair(pubKey, _privKey);
|
|
21
|
+
}
|
|
19
22
|
constructor(
|
|
20
23
|
/** Public key */
|
|
21
24
|
pubKey,
|
|
@@ -28,7 +31,7 @@ export class Ed25519Pair {
|
|
|
28
31
|
/** Create a private key from given raw bytes. */
|
|
29
32
|
export async function privateKey(privKey) {
|
|
30
33
|
const pubKey = await ed.getPublicKeyAsync(privKey.raw);
|
|
31
|
-
return new
|
|
34
|
+
return Ed25519Pair.new(Bytes.fromBlob(pubKey, ED25519_KEY_BYTES).asOpaque(), privKey.asOpaque());
|
|
32
35
|
}
|
|
33
36
|
/** Sign given piece of data using provided key pair. */
|
|
34
37
|
export async function sign(key, message) {
|
|
@@ -29,13 +29,15 @@ export declare const ZERO_HASH: Bytes<32>;
|
|
|
29
29
|
export declare class WithHash<THash extends OpaqueHash, TData> extends WithDebug {
|
|
30
30
|
readonly hash: THash;
|
|
31
31
|
readonly data: TData;
|
|
32
|
-
|
|
32
|
+
static new<THash extends OpaqueHash, TData>(hash: THash, data: TData): WithHash<THash, TData>;
|
|
33
|
+
protected constructor(hash: THash, data: TData);
|
|
33
34
|
}
|
|
34
35
|
/**
|
|
35
36
|
* Extension of [`WithHash`] additionally containing an encoded version of the object.
|
|
36
37
|
*/
|
|
37
38
|
export declare class WithHashAndBytes<THash extends OpaqueHash, TData> extends WithHash<THash, TData> {
|
|
38
39
|
readonly encoded: BytesBlob;
|
|
39
|
-
|
|
40
|
+
static create<THash extends OpaqueHash, TData>(hash: THash, data: TData, encoded: BytesBlob): WithHashAndBytes<THash, TData>;
|
|
41
|
+
protected constructor(hash: THash, data: TData, encoded: BytesBlob);
|
|
40
42
|
}
|
|
41
43
|
//# sourceMappingURL=hash.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../../../../packages/core/hash/hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,SAAS,KAAK,CAAC;AAC5B,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC;AAEzC,iEAAiE;AACjE,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAC;AAE7D,4BAA4B;AAC5B,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;AAE1C,sBAAsB;AACtB,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;AAE3C,yBAAyB;AACzB,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;AAE1C,sBAAsB;AACtB,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,mBAAmB,CAAC,CAAC;AAEvD,eAAO,MAAM,SAAS,WAAwB,CAAC;AAE/C;;;;;GAKG;AACH,qBAAa,QAAQ,CAAC,KAAK,SAAS,UAAU,EAAE,KAAK,CAAE,SAAQ,SAAS;
|
|
1
|
+
{"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../../../../packages/core/hash/hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,SAAS,KAAK,CAAC;AAC5B,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC;AAEzC,iEAAiE;AACjE,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAC;AAE7D,4BAA4B;AAC5B,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;AAE1C,sBAAsB;AACtB,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;AAE3C,yBAAyB;AACzB,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;AAE1C,sBAAsB;AACtB,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,mBAAmB,CAAC,CAAC;AAEvD,eAAO,MAAM,SAAS,WAAwB,CAAC;AAE/C;;;;;GAKG;AACH,qBAAa,QAAQ,CAAC,KAAK,SAAS,UAAU,EAAE,KAAK,CAAE,SAAQ,SAAS;aAMpD,IAAI,EAAE,KAAK;aACX,IAAI,EAAE,KAAK;IAN7B,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;IAIpE,SAAS,aACS,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,KAAK;CAI9B;AAED;;GAEG;AACH,qBAAa,gBAAgB,CAAC,KAAK,SAAS,UAAU,EAAE,KAAK,CAAE,SAAQ,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;aAQzE,OAAO,EAAE,SAAS;IAPpC,MAAM,CAAC,MAAM,CAAC,KAAK,SAAS,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS;IAI3F,SAAS,aACP,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,KAAK,EACK,OAAO,EAAE,SAAS;CAIrC"}
|
|
@@ -19,7 +19,9 @@ export const ZERO_HASH = Bytes.zero(HASH_SIZE);
|
|
|
19
19
|
export class WithHash extends WithDebug {
|
|
20
20
|
hash;
|
|
21
21
|
data;
|
|
22
|
-
|
|
22
|
+
static new(hash, data) {
|
|
23
|
+
return new WithHash(hash, data);
|
|
24
|
+
}
|
|
23
25
|
constructor(hash, data) {
|
|
24
26
|
super();
|
|
25
27
|
this.hash = hash;
|
|
@@ -31,6 +33,9 @@ export class WithHash extends WithDebug {
|
|
|
31
33
|
*/
|
|
32
34
|
export class WithHashAndBytes extends WithHash {
|
|
33
35
|
encoded;
|
|
36
|
+
static create(hash, data, encoded) {
|
|
37
|
+
return new WithHashAndBytes(hash, data, encoded);
|
|
38
|
+
}
|
|
34
39
|
constructor(hash, data, encoded) {
|
|
35
40
|
super(hash, data);
|
|
36
41
|
this.encoded = encoded;
|
|
@@ -9,10 +9,11 @@ export declare class QuicNetwork implements Network<QuicPeer> {
|
|
|
9
9
|
private readonly _peers;
|
|
10
10
|
private readonly listen;
|
|
11
11
|
private started;
|
|
12
|
-
|
|
12
|
+
static new(socket: QUICSocket, server: QUICServer, _dial: (peer: PeerAddress, options: DialOptions) => Promise<QuicPeer>, _peers: PeersManagement<QuicPeer>, listen: {
|
|
13
13
|
host: string;
|
|
14
14
|
port: number;
|
|
15
|
-
});
|
|
15
|
+
}): QuicNetwork;
|
|
16
|
+
private constructor();
|
|
16
17
|
get isRunning(): boolean;
|
|
17
18
|
start(): Promise<void>;
|
|
18
19
|
stop(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quic-network.d.ts","sourceRoot":"","sources":["../../../../../packages/core/networking/quic-network.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE7D,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAI/C,qBAAa,WAAY,YAAW,OAAO,CAAC,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"quic-network.d.ts","sourceRoot":"","sources":["../../../../../packages/core/networking/quic-network.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE7D,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAI/C,qBAAa,WAAY,YAAW,OAAO,CAAC,QAAQ,CAAC;IAcjD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAjBzB,OAAO,CAAC,OAAO,CAAS;IAExB,MAAM,CAAC,GAAG,CACR,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,EACrE,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,EACjC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;IAKxC,OAAO;IAQP,IAAI,SAAS,YAEZ;IAEK,KAAK;IAYL,IAAI;IAYV,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,CAE3B;IAEK,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;CAG5E"}
|
|
@@ -7,6 +7,9 @@ export class QuicNetwork {
|
|
|
7
7
|
_peers;
|
|
8
8
|
listen;
|
|
9
9
|
started = false;
|
|
10
|
+
static new(socket, server, _dial, _peers, listen) {
|
|
11
|
+
return new QuicNetwork(socket, server, _dial, _peers, listen);
|
|
12
|
+
}
|
|
10
13
|
constructor(socket, server, _dial, _peers, listen) {
|
|
11
14
|
this.socket = socket;
|
|
12
15
|
this.server = server;
|
|
@@ -10,7 +10,8 @@ export declare class QuicPeer implements Peer {
|
|
|
10
10
|
readonly id: PeerId;
|
|
11
11
|
readonly key: Ed25519Key;
|
|
12
12
|
private readonly streamEvents;
|
|
13
|
-
|
|
13
|
+
static new(conn: QUICConnection, peerInfo: PeerInfo): QuicPeer;
|
|
14
|
+
private constructor();
|
|
14
15
|
addOnIncomingStream(streamCallback: StreamCallback<QuicStream>): void;
|
|
15
16
|
openStream(): QuicStream;
|
|
16
17
|
disconnect(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quic-peer.d.ts","sourceRoot":"","sources":["../../../../../packages/core/networking/quic-peer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAK9C,qBAAa,QAAS,YAAW,IAAI;
|
|
1
|
+
{"version":3,"file":"quic-peer.d.ts","sourceRoot":"","sources":["../../../../../packages/core/networking/quic-peer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAK9C,qBAAa,QAAS,YAAW,IAAI;aAYjB,IAAI,EAAE,cAAc;IAXtC,SAAgB,YAAY,EAAE,MAAM,CAAC;IACrC,SAAgB,OAAO,EAAE,WAAW,CAAC;IACrC,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,GAAG,EAAE,UAAU,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;IAEnD,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ;IAInD,OAAO;IAyBP,mBAAmB,CAAC,cAAc,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI;IAIrE,UAAU,IAAI,UAAU;IAMlB,UAAU;CAIjB"}
|
|
@@ -11,6 +11,9 @@ export class QuicPeer {
|
|
|
11
11
|
id;
|
|
12
12
|
key;
|
|
13
13
|
streamEvents = new EventEmitter();
|
|
14
|
+
static new(conn, peerInfo) {
|
|
15
|
+
return new QuicPeer(conn, peerInfo);
|
|
16
|
+
}
|
|
14
17
|
constructor(conn, peerInfo) {
|
|
15
18
|
this.conn = conn;
|
|
16
19
|
logger.log `👥 [${peerInfo.id}] peer connected ${conn.remoteHost}:${conn.remotePort}`;
|
|
@@ -24,7 +27,7 @@ export class QuicPeer {
|
|
|
24
27
|
addEventListener(conn, events.EventQUICConnectionStream, (ev) => {
|
|
25
28
|
const stream = ev.detail;
|
|
26
29
|
logger.log `🚰 [${this.id}] new stream: [${stream.streamId}]`;
|
|
27
|
-
this.streamEvents.emit("stream", new
|
|
30
|
+
this.streamEvents.emit("stream", QuicStream.new(stream));
|
|
28
31
|
});
|
|
29
32
|
addEventListener(conn, events.EventQUICConnectionError, (err) => {
|
|
30
33
|
logger.error `❌ [${this.id}] connection failed: ${err.detail}`;
|
|
@@ -36,7 +39,7 @@ export class QuicPeer {
|
|
|
36
39
|
openStream() {
|
|
37
40
|
const stream = this.conn.newStream("bidi");
|
|
38
41
|
logger.log `🚰 [${this.id}] opening stream: [${stream.streamId}]`;
|
|
39
|
-
return new
|
|
42
|
+
return QuicStream.new(stream);
|
|
40
43
|
}
|
|
41
44
|
async disconnect() {
|
|
42
45
|
logger.log `👋 [${this.id}] disconnecting`;
|
|
@@ -3,7 +3,8 @@ import { type Stream, type StreamErrorCallback } from "./peers.js";
|
|
|
3
3
|
/** `QUICStream` adapter for our `Stream` API. */
|
|
4
4
|
export declare class QuicStream implements Stream {
|
|
5
5
|
readonly stream: QUICStream;
|
|
6
|
-
|
|
6
|
+
static new(stream: QUICStream): QuicStream;
|
|
7
|
+
private constructor();
|
|
7
8
|
get streamId(): import("@matrixai/quic").StreamId;
|
|
8
9
|
get readable(): import("stream/web").ReadableStream<Uint8Array<ArrayBufferLike>>;
|
|
9
10
|
get writable(): import("stream/web").WritableStream<Uint8Array<ArrayBufferLike>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quic-stream.d.ts","sourceRoot":"","sources":["../../../../../packages/core/networking/quic-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,mBAAmB,EAAmB,MAAM,YAAY,CAAC;AAGpF,iDAAiD;AACjD,qBAAa,UAAW,YAAW,MAAM;
|
|
1
|
+
{"version":3,"file":"quic-stream.d.ts","sourceRoot":"","sources":["../../../../../packages/core/networking/quic-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,mBAAmB,EAAmB,MAAM,YAAY,CAAC;AAGpF,iDAAiD;AACjD,qBAAa,UAAW,YAAW,MAAM;aAKH,MAAM,EAAE,UAAU;IAJtD,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU;IAI7B,OAAO;IAEP,IAAI,QAAQ,sCAEX;IAED,IAAI,QAAQ,qEAEX;IAED,IAAI,QAAQ,qEAEX;IAED,UAAU,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAmB9C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAGzB"}
|
|
@@ -144,7 +144,7 @@ export class Quic {
|
|
|
144
144
|
}
|
|
145
145
|
}
|
|
146
146
|
function newPeer(conn, peerInfo, side) {
|
|
147
|
-
const peer = new
|
|
147
|
+
const peer = QuicPeer.new(conn, peerInfo);
|
|
148
148
|
const connectionStartTime = now();
|
|
149
149
|
addEventListener(peer.conn, events.EventQUICConnectionClose, (ev) => {
|
|
150
150
|
const duration = now() - connectionStartTime;
|
|
@@ -155,6 +155,6 @@ export class Quic {
|
|
|
155
155
|
peers.peerConnected(peer);
|
|
156
156
|
return peer;
|
|
157
157
|
}
|
|
158
|
-
return new
|
|
158
|
+
return QuicNetwork.new(socket, server, dial, peers, { host, port });
|
|
159
159
|
}
|
|
160
160
|
}
|
|
@@ -3,9 +3,9 @@ import { tryAsGas } from "#@typeberry/pvm-interface";
|
|
|
3
3
|
import { HostCalls, NoopMissing } from "./host-calls.js";
|
|
4
4
|
import { HostCallsExecutor } from "./host-calls-executor.js";
|
|
5
5
|
import { PvmInstanceManager } from "./pvm-instance-manager.js";
|
|
6
|
-
const hostCalls = new
|
|
6
|
+
const hostCalls = HostCalls.new({ missing: new NoopMissing(), handlers: [] });
|
|
7
7
|
const pvmInstanceManager = await PvmInstanceManager.new(PvmBackend.BuiltIn);
|
|
8
|
-
const pvmHostCallExtension = new
|
|
8
|
+
const pvmHostCallExtension = HostCallsExecutor.new(pvmInstanceManager, hostCalls);
|
|
9
9
|
const program = new Uint8Array([
|
|
10
10
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x1, 0x0, 0x0, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xd9, 0x5, 0x12,
|
|
11
11
|
0x0, 0x0, 0x0, 0x5, 0x11, 0x0, 0x0, 0x0, 0x5, 0xa3, 0x0, 0x0, 0x0, 0x5, 0xc6, 0x0, 0x4, 0x7, 0x13, 0x0, 0x2, 0x11,
|
|
@@ -23,6 +23,11 @@ export declare class EcalliTraceLogger {
|
|
|
23
23
|
private readonly output;
|
|
24
24
|
/** Returns a tracker for IO operations. */
|
|
25
25
|
tracker(): IoTraceTracker | null;
|
|
26
|
+
/**
|
|
27
|
+
* Returns `true` if the `ecalli` module logger is configured for at least TRACE level.
|
|
28
|
+
* Enable with: `JAM_LOG=ecalli=trace` or `JAM_LOG=trace`
|
|
29
|
+
*/
|
|
30
|
+
static isTraceEnabled(): boolean;
|
|
26
31
|
/**
|
|
27
32
|
* Create an IoTraceLogger that outputs to the `ecalli` module logger.
|
|
28
33
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ecalli-trace-logger.d.ts","sourceRoot":"","sources":["../../../../../packages/core/pvm-host-calls/ecalli-trace-logger.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAIlE;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAOnD;;;;;;;;;;GAUG;AACH,qBAAa,iBAAiB;
|
|
1
|
+
{"version":3,"file":"ecalli-trace-logger.d.ts","sourceRoot":"","sources":["../../../../../packages/core/pvm-host-calls/ecalli-trace-logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,13 @@ export class EcalliTraceLogger {
|
|
|
22
22
|
tracker() {
|
|
23
23
|
return this.output === emptyOutput ? null : new IoTraceTracker();
|
|
24
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Returns `true` if the `ecalli` module logger is configured for at least TRACE level.
|
|
27
|
+
* Enable with: `JAM_LOG=ecalli=trace` or `JAM_LOG=trace`
|
|
28
|
+
*/
|
|
29
|
+
static isTraceEnabled() {
|
|
30
|
+
return ecalliLogger.getLevel() <= Level.TRACE;
|
|
31
|
+
}
|
|
25
32
|
/**
|
|
26
33
|
* Create an IoTraceLogger that outputs to the `ecalli` module logger.
|
|
27
34
|
*
|
|
@@ -29,7 +36,7 @@ export class EcalliTraceLogger {
|
|
|
29
36
|
* Enable with: `JAM_LOG=ecalli=trace` or `JAM_LOG=trace`
|
|
30
37
|
*/
|
|
31
38
|
static create() {
|
|
32
|
-
if (
|
|
39
|
+
if (!EcalliTraceLogger.isTraceEnabled()) {
|
|
33
40
|
return null;
|
|
34
41
|
}
|
|
35
42
|
return EcalliTraceLogger.new(defaultOutput);
|
|
@@ -12,7 +12,7 @@ function createRegisters(values) {
|
|
|
12
12
|
for (const [idx, value] of values) {
|
|
13
13
|
view.setBigUint64(idx * REGISTER_BYTE_SIZE, value, true);
|
|
14
14
|
}
|
|
15
|
-
return
|
|
15
|
+
return HostCallRegisters.fromRaw(bytes);
|
|
16
16
|
}
|
|
17
17
|
describe("IoTraceLogger", () => {
|
|
18
18
|
describe("logProgram", () => {
|
|
@@ -5,7 +5,8 @@ import type { IoTracker } from "./ecalli-io-tracker.js";
|
|
|
5
5
|
export declare class HostCallMemory {
|
|
6
6
|
private readonly memory;
|
|
7
7
|
ioTracker: IoTracker | null;
|
|
8
|
-
|
|
8
|
+
static new(memory: IMemory): HostCallMemory;
|
|
9
|
+
private constructor();
|
|
9
10
|
/**
|
|
10
11
|
* Save some bytes into memory under given address.
|
|
11
12
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-call-memory.d.ts","sourceRoot":"","sources":["../../../../../packages/core/pvm-host-calls/host-call-memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,qBAAa,cAAc;
|
|
1
|
+
{"version":3,"file":"host-call-memory.d.ts","sourceRoot":"","sources":["../../../../../packages/core/pvm-host-calls/host-call-memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,qBAAa,cAAc;IAQL,OAAO,CAAC,QAAQ,CAAC,MAAM;IANpC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAQ;IAE1C,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO;IAI1B,OAAO;IAEP;;;;;OAKG;IACH,SAAS,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC;IAgBpE;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,GAAG,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC;CAerE"}
|
|
@@ -18,7 +18,7 @@ describe("HostCallMemory", () => {
|
|
|
18
18
|
let hostCallMemory;
|
|
19
19
|
beforeEach(() => {
|
|
20
20
|
memory = new FakeMemory();
|
|
21
|
-
hostCallMemory = new
|
|
21
|
+
hostCallMemory = HostCallMemory.new(memory);
|
|
22
22
|
});
|
|
23
23
|
describe("storeFrom", () => {
|
|
24
24
|
it("should always allow 0-length bytes", () => {
|