Skip to content

Conversation

@alpergundogdu
Copy link

  • Documented BRC2.0 indexing params in README.brc20.md

  • Extended ApiTxEvent enum to include new event types.

  • Implemented conversion from BRC20Receipt to ApiTxEvent for new events.

  • Created new event structures for InscribeWithdraw, Withdraw, InscribeProgDeploy, InscribeProgCall, InscribeProgTransact, ProgDeploy, ProgCall, and ProgTransact.

  • Implemented execution logic for InscribeProgCall, InscribeProgDeploy, InscribeProgTransact, and Withdraw operations.

  • Added serialization and deserialization for new operation types.

  • Enhanced error handling and validation for new operations.

  • Developed BRC20BlockEventHash to handle event receipt and hash generation. It validates against OPI if the --opi-validation is set, and panics if there's any mismatch if --opi-validation-strict is set.

  • Fixed PR !61 by counting erroneous self_mint values as "false" instead

alpergundogdu and others added 30 commits October 17, 2025 11:47
- Added support for BRC20 predeploy operations, including new data structures and serialization logic.
- Introduced `BRC20Predeploy` struct to store predeploy information such as hash, predeployer address, and block height.
- Updated `BRC20Operation` enum to include `Predeploy` variant.
- Enhanced `TableContext` to manage predeploy records in the database.
- Implemented validation logic for predeploy operations, ensuring correct hash and age checks.
- Updated ticker validation to support 6-byte tickers for predeploys.
- Added tests for predeploy serialization, validation, and integration with existing BRC20 operations.
- Modified API event structures to include predeploy events for external communication.
…InscribeProgDeploy, InscribeProgCall, InscribeProgTransact, ProgDeploy, ProgCall, and ProgTransact

- Documented BRC2.0 indexing params in README.brc20.md
- Extended ApiTxEvent enum to include new event types.
- Implemented conversion from BRC20Receipt to ApiTxEvent for new events.
- Created new event structures for InscribeWithdraw, Withdraw, InscribeProgDeploy, InscribeProgCall, InscribeProgTransact, ProgDeploy, ProgCall, and ProgTransact.
- Implemented execution logic for InscribeProgCall, InscribeProgDeploy, InscribeProgTransact, and Withdraw operations.
- Added serialization and deserialization for new operation types.
- Enhanced error handling and validation for new operations.

- Developed BRC20BlockEventHash to handle event receipt and hash generation. It validates against OPI if the --opi-validation is set, and panics if there's any mismatch if --opi-validation-strict is set.

- Fixed PR !61 by counting erroneous self_mint values as "false" instead
- Add customization of OPI_API_URL via env for debugging
- Refactor OkxUpdater with Brc20IndexingConfig
- Add BRC20 prog reorg handling in reorg module
- Rename ToEvmHash to ToB256ED
- Improve code organization in BRC20 executors
…and adjust amount calculation based on decimals
…il the check if OPI doesn't have an event hash stored (not yet indexed)
alpergundogdu and others added 19 commits December 3, 2025 16:00
… if it's a non-strict check

Context: This happened during mainnet testing and there were no hashes for previous blocks in the database, hence breaking the checks (to avoid re-indexing, this can be cleaned up afterwards). It also allows non-strict checks, if one block has a wrong hash, we don't halt completely, and continue from the next block
…ures and related functions (to record invalid hashes as events)
… compare the hash to OPI (even if it's missing)
- in strict mode, we never reach here
- in relaxed mode, it logs an error and returns Ok(..) as intended
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants