27 Matching Annotations
  1. Feb 2024
    1. especially useful for use cases involving hardware wallets

      hardware wallet

    2. A Creator proposes a transaction; one or more Updaters supplement it; and one or more Signers authenticate it; before a Finalizer completes it; and an Extracter turns it into a transaction for the Bitcoin network. There may also be a Combiner who merges parallel PSBTs from different users.

      flow

  2. Oct 2023
    1. The message was successfully claimed by Alice

      create a general consumer to process expired messages?

  3. Aug 2023
    1. We expect specific pre-calculated amounts. And we can also check that these amounts were actually transferred to the pool:

      can use forge test -vv to get the error log

    1. If the next price range doesn’t exist, the trade ends up fulfilled partially-we’ll see how this works later in the boo

      partially?

    1. boundaries

      Why use index+1

    2. e.g. the oldest observation can come after the most recent one in the array

      the latest one goes to the first slot, then the oldest one will come after it.

    3. each point on the line will be a price at a specific timestamp between the two observations.

      no observations still can have prices now

    4. There’s no guarantee that an observation will be stored for every block because swaps don’t happen in every block. Thus, there will be blocks we don’t know prices at, and such periods of missing observations can be long. Of course, we don’t want to have gaps in the prices reported by the oracle, and this is why we’re using time-weighted average prices (TWAP)

      TWAP

    5. the trickiest part

      agree

    6. Notice that self is a storage variable, assigning values to its elements will update the array counter and write the values to contract’s storage.

      self

    7. the accumulated price: current tick gets multiplied by the number of the seconds since the last observation and gets added to the last accumulated price.

      tickCumulative = tickCumulative + tick * (delta seconds)

    8. This means that if there’s already an observation for the current block, a price is not recorded.

      immuted

    9. This is the price manipulation mitigation we discussed earlier: Uniswap tracks prices before the first trade in the block and after the last trade in the previous block.

      avoid flash loan

    10. To mitigate such attacks, Uniswap tracks prices at the end of a block, after the last trade of a block. This removes the possibility of in-block price manipulations.

      flash loan attack

  4. Jun 2023
    1. Summarize the meeting notes in a single paragraph. Then write a markdown list of the speakers and each of their key points. Finally, list the next steps or action items suggested by the speakers, if any.

      Meeting notes summarize

    2. Tactic: Include details in your query to get more relevant answers

      Clear instructions examples

    1. Below is an example function for counting tokens for messages passed to gpt-3.5-turbo-0301.

      count tokens

    1. gpt-4 also has a larger context window with a maximum size of 8,192 tokens compared to 4,096 tokens for gpt-3.5-turbo

      gpt-4 has 8k tokens than 4k tokens of gpt-3.5-turbo

    1. Assistant messages store previous assistant responses, but can also be written by a developer to give examples of desired behavior.

      Assistant is who answering questions?

    2. The user messages provide requests or comments for the assistant to respond to

      User is who asking questions?

    3. "You are a helpful assistant."

      Default system message.

    4. The system message helps set the behavior of the assistant.

      How to set up a good system message?

  5. Sep 2022
  6. Aug 2022
    1. They all want to build the best product in the shortest time possible.

      最短时间做最好的产品