Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Event Stream w/ Context for Coins #358

Draft
wants to merge 80 commits into
base: justin/event-stream
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
630e6ce
fix markdown format (#326)
ttsplit Mar 20, 2024
701749a
Fix typo: inset -> insert (#322)
julianbraha Mar 20, 2024
ca263e9
[rust] making signatures backward compatible (#289)
bowenyang007 Mar 20, 2024
48d7794
Merge v1.10 into main (#328)
bowenyang007 Mar 21, 2024
a11f0b6
Add support for using diesel async for migrations to avoid pq-sys dep…
banool Mar 21, 2024
f536b28
[rust] handle burn properly for partial burns (#327)
bowenyang007 Mar 21, 2024
e20ecb2
fix panic where coin type is too long (#330)
bowenyang007 Mar 24, 2024
ef28f51
update hasura metadata (#334)
bowenyang007 Mar 26, 2024
31d9564
Compatibility Check Workflow (#335)
larry-aptos Apr 2, 2024
3e2a25e
update hasura metadata [https://github.com/aptos-labs/aptos-indexer-p…
yuunlimm Apr 9, 2024
ca3f644
[rust] add fields in ans table to improve expiration detection for su…
bowenyang007 Apr 10, 2024
7d215b9
Join tables to get txn detail (#345)
rtso Apr 15, 2024
c30b075
Cleanup post processor (#346)
rtso Apr 16, 2024
073b0ee
Update to use 1.11 proto, update tonic and use Zstd for compression. …
grao1991 Apr 17, 2024
ead469a
make cargo build robust to network failure for git dependencies. (#349)
larry-aptos Apr 17, 2024
d475078
Use jemalloc. (#351)
grao1991 Apr 18, 2024
328210f
Skip versions that can't be deserialized (#352)
rtso Apr 19, 2024
be24fd0
chore: fix some typos in comments (#347)
deferdeter Apr 22, 2024
6fc343f
Add warnings for using typescript implementation (#356)
bowenyang007 Apr 22, 2024
b6a3035
Add CPU profiling support. (#336)
grao1991 Apr 22, 2024
c4c012c
coin_processor optimization: compile regex once (#333)
keyliaran Apr 24, 2024
41461d4
[EI-370] Timeout if grpc request takes too long (#362)
rtso May 2, 2024
07c6385
[EI-397] Separate fungible asset and token indexing (#354)
rtso May 3, 2024
c5bf970
Fix current inserts (#363)
rtso May 4, 2024
c61ec42
indexer remove weird chunk logic (#364)
lightmark May 6, 2024
8eb2c7a
Fix TPS calculation (#365)
larry-aptos May 6, 2024
2260208
[token] Add is_deleted to token datas (v2 nfts only) (#359)
bowenyang007 May 9, 2024
4b2db91
add grpc response item timeout. (#367)
larry-aptos May 14, 2024
11a1aa1
remove nft marketplace tables and add is_deleted_v2 (#370)
bowenyang007 May 14, 2024
52d2193
remove the python building. (#372)
larry-aptos May 14, 2024
328754c
fix it. (#373)
larry-aptos May 14, 2024
c370aad
Add prefix to release version
rtso May 14, 2024
2eab97f
Add prefix to release (#374)
rtso May 14, 2024
3551f40
[event_v2] indexer logic update to handle migration (#360)
lightmark May 16, 2024
b8d0385
add is_deleted_v2 to token_datas_v2 (#378)
bowenyang007 May 18, 2024
93ba1a2
[build] fix vars and rust only build release (#379)
rustielin May 20, 2024
c2cac93
[EI-428] Auto reconnect grpc if txn stream times out waiting for resp…
rtso May 20, 2024
6488e56
Update Cargo.toml for aptos-node-v1.12.1 (#380)
CapCap May 20, 2024
8c41d26
Revert "[event_v2] indexer logic update to handle migration (#360)"
larry-aptos May 22, 2024
ca60e51
fix the dockerhub copy. (#384)
larry-aptos May 22, 2024
b412cc8
Fix lints given new nightly (#387)
banool May 23, 2024
3f574b5
Use GraphQL rather than REST for indexer-metrics (#386)
banool May 28, 2024
5244b84
Add supply_v2, maximum_v2 to metadata (#391)
rtso May 31, 2024
f6c39c2
[index] current unified balances (#366)
lightmark May 31, 2024
196cfc5
Add ConcurrentFungibleAssetSupply and ConcurrentFungibleAssetBalance …
vusirikala Jun 4, 2024
539e974
add bigquery load script for parquet files (#395)
yuunlimm Jun 5, 2024
e7cefdb
[EI-463] Move coin supply to fa processor (#382)
rtso Jun 9, 2024
6255230
[EI-461] Index royalty in royalty tables (#381)
rtso Jun 10, 2024
98386c6
Refactor the code to make it easier to support multiple db backends i…
grao1991 Jun 11, 2024
a702488
[Fix] Move the schema to correct folder. (#399)
grao1991 Jun 11, 2024
65ac73e
[Fix] Update diesel.toml (#400)
grao1991 Jun 12, 2024
74c7839
[EI-468] Create v1 migration views (#385)
rtso Jun 12, 2024
0c26ee9
Update README.md (#402)
grao1991 Jun 12, 2024
469da8f
Move to new migration path (#403)
bowenyang007 Jun 12, 2024
51092e4
Remove unused deps (#404)
CapCap Jun 12, 2024
a79298a
skip writing deprecated tables in default processor (#394)
yuunlimm Jun 13, 2024
f7808ad
[release][aip-83][1.13] Add untransferable handling for FA and token …
bowenyang007 Jun 13, 2024
88b0dbe
Modify current_unified_fungible_asset_balances for smoother migration…
bowenyang007 Jun 13, 2024
c093d3d
maintain backward compatibility (#407)
bowenyang007 Jun 14, 2024
2397cd8
comment out expensive indices (#410)
bowenyang007 Jun 14, 2024
6cec6a5
[fix] override untransferrable upon update (#408)
bowenyang007 Jun 17, 2024
62fe29b
update readme (#414)
yuunlimm Jun 18, 2024
25d1e76
[metadata] migrate move_resources and add unified fa table (#415)
bowenyang007 Jun 18, 2024
a5db889
update opensource hasura metadata (#416)
yuunlimm Jun 20, 2024
96c2efa
processor proto update. (#411)
larry-aptos Jun 20, 2024
cd96639
fix a bug not returning entry function id for multisig (#417)
yuunlimm Jun 20, 2024
75901ed
Fix typo (#413)
grao1991 Jun 21, 2024
44cd72f
Run Rust tests in CI (#418)
banool Jun 21, 2024
41785eb
Add parquet processor (#390)
yuunlimm Jun 24, 2024
2158e17
Handle no payload (#421)
rtso Jun 24, 2024
d43d423
Handle no signature/entry function id in coin and fungible processor …
rtso Jun 24, 2024
c2a4250
add table_items to deprecated table flag (#424)
yuunlimm Jun 24, 2024
2bbf875
handle payload filtered txns for default processor (#423)
yuunlimm Jun 24, 2024
2f81232
fix token processor (#425)
yuunlimm Jun 25, 2024
e905538
fix gap detector to update status (#427)
yuunlimm Jun 25, 2024
67e9c46
add sql scripts for table items bq load (#412)
yuunlimm Jun 25, 2024
f9e9c30
yay
just-in-chang Jun 26, 2024
062bfe9
some
just-in-chang Jun 27, 2024
4f8eeff
notify one
just-in-chang Jun 27, 2024
6c7c311
>
just-in-chang Jun 28, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 59 additions & 0 deletions .github/actions/protobuf-compatibility-check/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: "Protobuf compatibility check"
description: |
"Runs a compatibility check for protobuf files."
inputs:
upstream_commit_version:
description: "Commit version of aptos-core that upstream is using"
required: true
default: "main"

runs:
using: composite
steps:
- name: Install the buf CLI
shell: bash
run: |
BIN="/usr/local/bin" && \
VERSION="1.30.0" && \
curl -sSL \
"https://github.com/bufbuild/buf/releases/download/v${VERSION}/buf-$(uname -s)-$(uname -m)" \
-o "${BIN}/buf" && \
chmod +x "${BIN}/buf"

# Checkout current repo with current commit
- name: Checkout current repo
uses: actions/checkout@v4
with:
path: "aptos-indexer-processors"

- name: Parse the toml in this repo
id: get_tag_output
shell: bash
run: |
set -ex
curl -sSLf "$(curl -sSLf https://api.github.com/repos/tomwright/dasel/releases/latest | grep browser_download_url | grep linux_amd64 | grep -v .gz | cut -d\" -f 4)" -L -o dasel && chmod +x dasel
mv ./dasel /usr/local/bin/dasel
cd aptos-indexer-processors
tag_output=$(dasel -r toml -f rust/Cargo.toml workspace.dependencies.aptos-protos.rev -w - )
echo "::set-output name=tag_output::$tag_output"

- name: Checkout aptos-core
uses: actions/checkout@v4
with:
repository: "aptos-labs/aptos-core"
path: "aptos-core"
ref: ${{ steps.get_tag_output.outputs.tag_output }}

- name: Check compatibility
shell: bash
run: |
set -ex
cd aptos-core/protos/proto
repo_url="https://github.com/aptos-labs/aptos-core.git#tag=${{ inputs.upstream_commit_version }},subdir=protos/proto"
if buf breaking --against "$repo_url" --verbose; then
echo "No breaking changes found"
else
echo "Breaking changes found"
echo "Did new oneof/enum fields get added?"
exit 1
fi
2 changes: 1 addition & 1 deletion .github/workflows/build-images.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
Build:
strategy:
matrix:
example: [python, rust]
example: [rust]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
Expand Down
27 changes: 27 additions & 0 deletions .github/workflows/check-protobuf-compatibility.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: "Check Protobuf Compatibility"
on:
workflow_dispatch:
inputs:
upstream_commit_version:
description: 'The commit version to check compatibility against'
required: false
default: 'main'
pull_request:

# cancel redundant builds
concurrency:
# for push and workflow_dispatch events we use `github.sha` in the concurrency group and don't really cancel each other out/limit concurrency
# for pull_request events newer jobs cancel earlier jobs to save on CI etc.
group: ${{ github.workflow }}-${{ github.event_name }}-${{ (github.event_name == 'push' || github.event_name == 'workflow_dispatch') && github.sha || github.head_ref || github.ref }}
cancel-in-progress: true


jobs:
CheckProtobufCompatibilityAgainstCurrentPR:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/protobuf-compatibility-check/
with:
# Either current PR or the latest commit on the branch
upstream_commit_version: ${{ github.event.inputs.upstream_commit_version || 'main' }}
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
copy-images-to-docker-hub:
strategy:
matrix:
language: ["rust", "python"]
language: ["rust"]
uses: ./.github/workflows/copy-processor-images-to-dockerhub.yaml
with:
processor_language: ${{ matrix.language }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/copy-processor-images-to-dockerhub.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,6 @@ jobs:
env:
FORCE_COLOR: 3 # Force color output as per https://github.com/google/zx#using-github-actions
GIT_SHA: ${{ inputs.GIT_SHA }}
GCP_DOCKER_ARTIFACT_PROCESSOR_REPO_US: ${{ secrets.GCP_DOCKER_ARTIFACT_REPO_US }}
GCP_DOCKER_ARTIFACT_REPO: ${{ vars.GCP_DOCKER_ARTIFACT_REPO }}
run: pnpm release-processor-images --language=${{ inputs.processor_language }} --version-tag=${{ inputs.version_tag }} --wait-for-image-seconds=3600
working-directory: scripts
9 changes: 9 additions & 0 deletions .github/workflows/lint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,19 @@ jobs:
- uses: actions/checkout@v3
- name: Install deps and run linter
run: |
sudo apt update && sudo apt install libdw-dev
cargo install cargo-sort
rustup update
rustup toolchain install nightly
rustup component add clippy --toolchain nightly
rustup component add rustfmt --toolchain nightly
scripts/rust_lint.sh --check
working-directory: rust
- run: bash scripts/check_banned_deps.sh
working-directory: rust
- name: Ensure the --no-default-features build passes too
run: cargo build --no-default-features
working-directory: rust
- name: Ensure tests pass
run: cargo test
working-directory: rust
39 changes: 39 additions & 0 deletions .github/workflows/nightly-check-protobuf-compatibility.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: "Nightly Check Protobuf Compatibility"
on:
workflow_dispatch:
schedule:
- cron: "0 9 * * *"

# cancel redundant builds
concurrency:
# for push and workflow_dispatch events we use `github.sha` in the concurrency group and don't really cancel each other out/limit concurrency
# for pull_request events newer jobs cancel earlier jobs to save on CI etc.
group: ${{ github.workflow }}-${{ github.event_name }}-${{ (github.event_name == 'push' || github.event_name == 'workflow_dispatch') && github.sha || github.head_ref || github.ref }}
cancel-in-progress: true

jobs:
CheckProtobufCompatibilityAgainstTestnet:
runs-on: ubuntu-latest
steps:
- name: Get current version
id: get_upstream_commit_version
run: |
echo "::set-output name=upstream_commit_version::$(curl -s https://api.testnet.aptoslabs.com/v1 | jq -r .git_hash)"

- uses: actions/checkout@v4
- uses: ./.github/actions/protobuf-compatibility-check/
with:
upstream_commit_version: ${{ steps.get_upstream_commit_version.outputs.upstream_commit_version }}

CheckProtobufCompatibilityAgainstMainnet:
runs-on: ubuntu-latest
steps:
- name: Get current version
id: get_upstream_commit_version
run: |
echo "::set-output name=upstream_commit_version::$(curl -s https://api.mainnet.aptoslabs.com/v1 | jq -r .git_hash)"

- uses: actions/checkout@v4
- uses: ./.github/actions/protobuf-compatibility-check/
with:
upstream_commit_version: ${{ steps.get_upstream_commit_version.outputs.upstream_commit_version }}
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,6 @@ This guide will get you started with creating an Aptos indexer with custom parsi

## [Aptos Indexer GRPC Release Notes](https://github.com/aptos-labs/aptos-core/blob/main/ecosystem/indexer-grpc/release_notes.md)


> [!WARNING]
> The typescript implementation is known to get stuck when there are lots of data to process. The issue is with the GRPC client and we haven't had a chance to optimize. Please proceed with caution.
Loading
Loading