com.google.common.primitives.UnsignedLong#ZERO源码实例Demo

下面列出了com.google.common.primitives.UnsignedLong#ZERO 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: teku   文件: Generator.java
String getCommittees(BeaconState state) {
  UnsignedLong cnt = get_committee_count_at_slot(state, state.getSlot());
  List<List<Integer>> committees = new ArrayList<>();
  for (UnsignedLong index = UnsignedLong.ZERO;
      index.compareTo(cnt) < 0;
      index = index.plus(UnsignedLong.ONE)) {

    committees.add(get_beacon_committee(state, state.getSlot(), index));
  }

  return "["
      + committees.stream()
          .map(com -> com.stream().map(i -> "" + i).collect(Collectors.joining(",")))
          .collect(Collectors.joining("],["))
      + "]";
}
 
源代码2 项目: teku   文件: PostDutiesTest.java
@Test
public void shouldHandleMissingResultForFinalizedEpoch() throws Exception {
  final UnsignedLong epoch = UnsignedLong.ZERO;
  final String body =
      String.format("{\"epoch\":%s, \"pubkeys\":[\"%s\"]}", epoch, pubKeys.get(0));

  PostDuties handler = new PostDuties(provider, jsonProvider);
  when(provider.isStoreAvailable()).thenReturn(true);
  when(context.body()).thenReturn(body);
  when(provider.isEpochFinalized(epoch)).thenReturn(true);
  when(provider.getValidatorDutiesByRequest(any()))
      .thenReturn(SafeFuture.completedFuture(Optional.empty()));
  handler.handle(context);

  verify(context).result(args.capture());
  verify(context).header(Header.CACHE_CONTROL, CACHE_NONE);
  verify(context).status(SC_GONE);
  SafeFuture<String> data = args.getValue();
  assertThat(data.get()).isNull();
}
 
源代码3 项目: teku   文件: SimpleOffsetSerializer.java
public static Bytes serializeVariableCompositeList(
    SSZList<? extends SimpleOffsetSerializable> values) {
  List<Bytes> parts =
      values.stream().map(SimpleOffsetSerializer::serialize).collect(Collectors.toList());
  List<UnsignedLong> fixed_lengths = Collections.nCopies(values.size(), BYTES_PER_LENGTH_OFFSET);
  List<Bytes> variable_parts = new ArrayList<>();
  List<Bytes> fixed_parts = new ArrayList<>();
  UnsignedLong offset = UnsignedLong.ZERO;
  for (UnsignedLong length : fixed_lengths) {
    offset = offset.plus(length);
  }
  for (Bytes part : parts) {
    fixed_parts.add(SSZ.encodeUInt32(offset.longValue()));
    variable_parts.add(part);
    offset = offset.plus(UnsignedLong.valueOf(part.size()));
  }
  return Bytes.wrap(
      Bytes.concatenate(fixed_parts.toArray(new Bytes[0])),
      Bytes.concatenate(variable_parts.toArray(new Bytes[0])));
}
 
源代码4 项目: teku   文件: CommitteeAssignmentUtil.java
/**
 * Return the committee assignment in the ``epoch`` for ``validator_index``. ``assignment``
 * returned is a tuple of the following form: ``assignment[0]`` is the list of validators in the
 * committee ``assignment[1]`` is the index to which the committee is assigned ``assignment[2]``
 * is the slot at which the committee is assigned Return None if no assignment.
 *
 * @param state the BeaconState.
 * @param epoch either on or between previous or current epoch.
 * @param validator_index the validator that is calling this function.
 * @return Optional.of(CommitteeAssignment).
 */
public static Optional<CommitteeAssignment> get_committee_assignment(
    BeaconState state, UnsignedLong epoch, int validator_index) {
  UnsignedLong next_epoch = get_current_epoch(state).plus(UnsignedLong.ONE);
  checkArgument(
      epoch.compareTo(next_epoch) <= 0, "get_committee_assignment: Epoch number too high");

  UnsignedLong start_slot = compute_start_slot_at_epoch(epoch);

  for (UnsignedLong slot = start_slot;
      slot.compareTo(start_slot.plus(UnsignedLong.valueOf(SLOTS_PER_EPOCH))) < 0;
      slot = slot.plus(UnsignedLong.ONE)) {

    final UnsignedLong committeeCountAtSlot = get_committee_count_at_slot(state, slot);
    for (UnsignedLong index = UnsignedLong.ZERO;
        index.compareTo(committeeCountAtSlot) < 0;
        index = index.plus(UnsignedLong.ONE)) {
      final List<Integer> committee = get_beacon_committee(state, slot, index);
      if (committee.contains(validator_index)) {
        return Optional.of(new CommitteeAssignment(committee, index, slot));
      }
    }
  }
  return Optional.empty();
}
 
源代码5 项目: teku   文件: AttestationTest.java
@Test
public void shouldBeDependentOnSingleBlockWhenTargetBlockAndBeaconBlockRootAreEqual() {
  final Bytes32 root = Bytes32.fromHexString("0x01");

  final Attestation attestation =
      new Attestation(
          aggregationBitfield,
          new AttestationData(
              UnsignedLong.valueOf(1),
              UnsignedLong.ZERO,
              root,
              new Checkpoint(UnsignedLong.ONE, Bytes32.ZERO),
              new Checkpoint(UnsignedLong.valueOf(10), root)),
          BLSSignature.empty());

  assertThat(attestation.getDependentBlockRoots()).containsExactlyInAnyOrder(root);
}
 
源代码6 项目: teku   文件: UnsignedLongSerializerTest.java
@Test
public void roundTrip_zero() {
  final UnsignedLong value = UnsignedLong.ZERO;
  final byte[] bytes = serializer.serialize(value);
  final UnsignedLong deserialized = serializer.deserialize(bytes);
  assertThat(deserialized).isEqualTo(value);
}
 
源代码7 项目: teku   文件: StatusMessage.java
public static StatusMessage createPreGenesisStatus() {
  return new StatusMessage(
      createPreGenesisForkDigest(),
      Bytes32.ZERO,
      UnsignedLong.ZERO,
      Bytes32.ZERO,
      UnsignedLong.ZERO);
}
 
源代码8 项目: teku   文件: DiscoveryNetworkTest.java
@Test
@SuppressWarnings("unchecked")
public void setForkInfoShouldAddPredicateToConnectionManager() {
  final ForkInfo currentForkInfo = dataStructureUtil.randomForkInfo();
  discoveryNetwork.setForkInfo(currentForkInfo, Optional.empty());

  final EnrForkId expectedEnrForkId =
      new EnrForkId(
          currentForkInfo.getForkDigest(),
          currentForkInfo.getFork().getCurrent_version(),
          FAR_FUTURE_EPOCH);
  Bytes encodedForkId = SimpleOffsetSerializer.serialize(expectedEnrForkId);
  verify(discoveryService).updateCustomENRField("eth2", encodedForkId);
  ArgumentCaptor<Predicate<DiscoveryPeer>> peerPredicateArgumentCaptor =
      ArgumentCaptor.forClass(Predicate.class);
  verify(connectionManager).addPeerPredicate(peerPredicateArgumentCaptor.capture());

  DiscoveryPeer peer1 = createDiscoveryPeer(Optional.of(encodedForkId));
  assertThat(peerPredicateArgumentCaptor.getValue().test(peer1)).isTrue();

  final EnrForkId newEnrForkId1 =
      new EnrForkId(
          currentForkInfo.getForkDigest(), Bytes4.fromHexString("0xdeadbeef"), UnsignedLong.ZERO);
  Bytes newEncodedForkId1 = SimpleOffsetSerializer.serialize(newEnrForkId1);
  DiscoveryPeer peer2 = createDiscoveryPeer(Optional.of(newEncodedForkId1));
  assertThat(peerPredicateArgumentCaptor.getValue().test(peer2)).isTrue();

  final EnrForkId newEnrForkId2 =
      new EnrForkId(
          Bytes4.fromHexString("0xdeadbeef"),
          Bytes4.fromHexString("0xdeadbeef"),
          UnsignedLong.ZERO);
  Bytes newEncodedForkId2 = SimpleOffsetSerializer.serialize(newEnrForkId2);
  DiscoveryPeer peer3 = createDiscoveryPeer(Optional.of(newEncodedForkId2));
  assertThat(peerPredicateArgumentCaptor.getValue().test(peer3)).isFalse();
}
 
源代码9 项目: teku   文件: PeerSync.java
private UnsignedLong calculateNumberOfBlocksToRequest(
    final UnsignedLong nextSlot, final PeerStatus status) {
  if (nextSlot.compareTo(status.getHeadSlot()) > 0) {
    // We've synced the advertised head, nothing left to request
    return UnsignedLong.ZERO;
  }

  final UnsignedLong diff = status.getHeadSlot().minus(nextSlot).plus(UnsignedLong.ONE);
  return diff.compareTo(MAX_BLOCK_BY_RANGE_REQUEST_SIZE) > 0
      ? MAX_BLOCK_BY_RANGE_REQUEST_SIZE
      : diff;
}
 
源代码10 项目: quilt   文件: FixedReceiverAmountPaymentTracker.java
/**
 * Required-args Constructor.
 *
 * @param amountToDeliver An {@link UnsignedLong} representing the amount to send, in the receiver's units.
 * @param rateCalculator  An {@link ExchangeRateCalculator} that informs this tracker which amounts to use is
 *                        subsequent operations, depending on market exchange rates, observed path rates, and possibly
 *                        other data.
 */
public FixedReceiverAmountPaymentTracker(
    final UnsignedLong amountToDeliver, final ExchangeRateCalculator rateCalculator
) {
  this.amountToDeliver = Objects.requireNonNull(amountToDeliver);
  this.rateCalculator = Objects.requireNonNull(rateCalculator);

  amountLeftToDeliver = new AtomicReference<>(amountToDeliver);
  sentAmount = new AtomicReference<>(UnsignedLong.ZERO);
  deliveredAmount = new AtomicReference<>(UnsignedLong.ZERO);
}
 
源代码11 项目: teku   文件: AttestationDataTest.java
@Test
void shouldNotBeProcessableBeforeFirstSlotOfTargetEpoch() {
  final Checkpoint target = new Checkpoint(UnsignedLong.valueOf(10), Bytes32.ZERO);
  final AttestationData data =
      new AttestationData(
          UnsignedLong.valueOf(1),
          UnsignedLong.ZERO,
          Bytes32.ZERO,
          new Checkpoint(ONE, Bytes32.ZERO),
          target);

  assertThat(data.getEarliestSlotForForkChoice()).isEqualTo(target.getEpochStartSlot());
}
 
源代码12 项目: teku   文件: RecentChainData.java
public UnsignedLong getBestJustifiedEpoch() {
  return store == null ? UnsignedLong.ZERO : store.getBestJustifiedCheckpoint().getEpoch();
}
 
源代码13 项目: teku   文件: MetadataMessage.java
public MetadataMessage() {
  this(UnsignedLong.ZERO, new Bitvector(Constants.ATTESTATION_SUBNET_COUNT));
}
 
源代码14 项目: quilt   文件: IldcpRequestPacket.java
/**
 * The destination of an ILP packet for IL-DCP is {@code 0} by default, but can be adjusted.
 */
@Override
default UnsignedLong getAmount() {
  return UnsignedLong.ZERO;
}
 
源代码15 项目: teku   文件: PostBlockTest.java
private SyncingStatus buildSyncStatus(final boolean isSyncing) {
  return new SyncingStatus(
      isSyncing, new SyncStatus(UnsignedLong.ZERO, UnsignedLong.ONE, UnsignedLong.MAX_VALUE));
}
 
源代码16 项目: teku   文件: SimpleOffsetSerializer.java
public static Bytes serialize(SimpleOffsetSerializable value) {
  // TODO assert sum(fixed_lengths + variable_lengths) < 2**(BYTES_PER_LENGTH_OFFSET *
  // BITS_PER_BYTE)
  // List<UnsignedLong> variable_lengths = new ArrayList<>();
  List<UnsignedLong> variable_offsets = new ArrayList<>();
  List<Bytes> interleaved_values = new ArrayList<>();
  UnsignedLong fixedLengthSum = UnsignedLong.ZERO;
  UnsignedLong varLengthSum = UnsignedLong.ZERO;

  // System.out.println("Fixed Part Size: " + value.get_fixed_parts().size());
  // System.out.println("Var Part Size: " + value.get_variable_parts().size());
  for (Bytes fixedPart : value.get_fixed_parts()) {
    UnsignedLong fixedPartSize = UnsignedLong.valueOf(fixedPart.size());
    if (fixedPartSize.equals(UnsignedLong.ZERO)) {
      fixedPartSize = UnsignedLong.valueOf(4L);
    }
    fixedLengthSum = fixedLengthSum.plus(fixedPartSize);
  }

  variable_offsets.add(fixedLengthSum);
  for (Bytes varPart : value.get_variable_parts()) {
    UnsignedLong varPartSize = UnsignedLong.valueOf(varPart.size());
    varLengthSum = varLengthSum.plus(varPartSize);
    variable_offsets.add(fixedLengthSum.plus(varLengthSum));
  }

  int interleavingIndex = 0;
  for (Bytes element : value.get_fixed_parts()) {
    if (!element.equals(Bytes.EMPTY)) {
      interleaved_values.add(element);
    } else {
      interleaved_values.add(
          SSZ.encodeUInt32(variable_offsets.get(interleavingIndex).longValue()));
    }
    ++interleavingIndex;
  }

  return Bytes.wrap(
      Bytes.concatenate(interleaved_values.toArray(new Bytes[0])),
      Bytes.concatenate(value.get_variable_parts().toArray(new Bytes[0])));
}
 
源代码17 项目: teku   文件: ValidatorsUtil.java
/**
 * Decrease validator balance by ``delta`` with underflow protection.
 *
 * @param state
 * @param index
 * @param delta
 * @see
 *     <a>https://github.com/ethereum/eth2.0-specs/blob/v0.8.0/specs/core/0_beacon-chain.md#decrease_balance</a>
 */
public static void decrease_balance(MutableBeaconState state, int index, UnsignedLong delta) {
  UnsignedLong newBalance =
      delta.compareTo(state.getBalances().get(index)) > 0
          ? UnsignedLong.ZERO
          : state.getBalances().get(index).minus(delta);
  state.getBalances().set(index, newBalance);
}
 
源代码18 项目: teku   文件: BeaconStateUtil.java
/**
 * Return the combined effective balance of the ``indices``. (EFFECTIVE_BALANCE_INCREMENT Gwei
 * minimum to avoid divisions by zero.)
 *
 * @param state
 * @param indices
 * @return
 * @see
 *     <a>https://github.com/ethereum/eth2.0-specs/blob/v0.8.0/specs/core/0_beacon-chain.md#get_total_balance</a>
 */
public static UnsignedLong get_total_balance(BeaconState state, Collection<Integer> indices) {
  UnsignedLong sum = UnsignedLong.ZERO;
  SSZList<Validator> validator_registry = state.getValidators();
  for (Integer index : indices) {
    sum = sum.plus(validator_registry.get(index).getEffective_balance());
  }
  return max(sum, EFFECTIVE_BALANCE_INCREMENT);
}
 
源代码19 项目: quilt   文件: StreamMoneyBlockedFrame.java
/**
 * Total amount, denominated in the units of the endpoint sending this frame, that the endpoint has sent already.
 *
 * @return An {@link UnsignedLong} containing the total amount sent on this stream.
 */
@Value.Default
default UnsignedLong totalSent() {
  return UnsignedLong.ZERO;
}
 
源代码20 项目: quilt   文件: IldcpRequest.java
/**
 * The destination of an ILP packet for IL-DCP is {@code 0} by default, but can be adjusted.
 *
 * @return An {@link UnsignedLong} value containing the amount in the {@link IldcpRequest}
 *         if an amount value exists, else default at {@code UnsignedLong.ZERO}.
 */
default UnsignedLong getAmount() {
  return UnsignedLong.ZERO;
}