An aggregate is spec-defined, for a receiver:
- the signature is received aggregated from the network
- the attesters public key must be aggregated (on BLS G1)
- only attestations are aggregated
## From https://forum.nim-lang.org/t/2856 | |
import macros | |
macro chaining(code: untyped): untyped = | |
const chainIdent = "chain" | |
const combineIdent = "combine" | |
proc inspect(depth: int, n: NimNode): NimNode = | |
case(n.kind) | |
of nnkIdent, nnkStrLit: |
# Constantine | |
# Copyright (c) 2018-2019 Status Research & Development GmbH | |
# Copyright (c) 2020-Present Mamy André-Ratsimbazafy | |
# Licensed and distributed under either of | |
# * MIT license (license terms in the root directory or at http://opensource.org/licenses/MIT). | |
# * Apache v2 license (license terms in the root directory or at http://www.apache.org/licenses/LICENSE-2.0). | |
# at your option. This file may not be copied, modified, or distributed except according to those terms. | |
import | |
../config/common, |
# Deleted pointer arithmetic routines | |
# Original data structure with pointer: | |
type Tensor*[B: static[Backend]; T] = object | |
# Size of the datastructure is 32 bytes - perfect ! | |
dimensions: seq[int] | |
strides: seq[int] | |
offset: ptr T | |
data: seq[T] # Perf note: seq are always deep copied on assignement. |
# Constantine | |
# Copyright (c) 2018-2019 Status Research & Development GmbH | |
# Copyright (c) 2020-Present Mamy André-Ratsimbazafy | |
# Licensed and distributed under either of | |
# * MIT license (license terms in the root directory or at http://opensource.org/licenses/MIT). | |
# * Apache v2 license (license terms in the root directory or at http://www.apache.org/licenses/LICENSE-2.0). | |
# at your option. This file may not be copied, modified, or distributed except according to those terms. | |
import | |
# Standard library |
# Nim-Taskpools | |
# Copyright (c) 2021 Status Research & Development GmbH | |
# Licensed and distributed under either of | |
# * MIT license (license terms in the root directory or at http://opensource.org/licenses/MIT). | |
# * Apache v2 license (license terms in the root directory or at http://www.apache.org/licenses/LICENSE-2.0). | |
# at your option. This file may not be copied, modified, or distributed except according to those terms. | |
# chase_lev_deques.nim | |
# -------------------- | |
# This file implements a Chase-Lev deque |
# | |
# /etc/makepkg.conf | |
# | |
######################################################################### | |
# SOURCE ACQUISITION | |
######################################################################### | |
# | |
#-- The download utilities that makepkg should use to acquire sources | |
# Format: 'protocol::agent' |
$ ./bin/bls12_test.exe -m gmp_mont | |
JIT 1 | |
ctest:module=size | |
ctest:module=naive | |
i=0 curve=BLS12_381 | |
G1 | |
G2 | |
GT | |
G1::mulCT 656.335Kclk | |
G1::mul 584.777Kclk |
import benchy, random, streams | |
import jsony, jason | |
import eminim | |
#import packedjson, packedjson/deserialiser | |
import json | |
import serialization | |
import json_serialization except Json, toJson | |
type Node = ref object | |
active: bool |