Liquidity Party adapter

This commit is contained in:
tim
2025-12-10 15:53:45 -04:00
parent f0f2f20c3c
commit f1e602d414
21 changed files with 1589 additions and 321 deletions

View File

@@ -1,69 +1,40 @@
# Name of the substreams config file in your substreams module. Usually "./substreams.yaml"
substreams_yaml_path: ./substreams.yaml
# Name of the adapter contract, usually: ProtocolSwapAdapter"
adapter_contract: "SwapAdapter"
# Constructor signature of the Adapter contract"
adapter_build_signature: "constructor(address)"
# A comma separated list of args to be passed to the contructor of the Adapter contract"
adapter_build_args: "0x0000000000000000000000000000000000000000"
# Whether the testing script should skip checking balances of the protocol components.
# If set to `true` please always add a reason why it's skipped.
skip_balance_check: false
# Accounts that will be automatically initialized at test start
# IMPORTANT: These are TEST FIXTURES ONLY. Your actual code must still properly
# initialize these accounts. This configuration only eliminates the need to include
# historical blocks containing the initialization events in your test data.
#
# Example use case:
# - Your substream would normally initialize account XYZ at block 10000
# - Your test only includes blocks 20000-21000 for efficiency
# - You list XYZ here so the test environment will automatically initialize the account XYZ with the state it had at block 20000
# - Your actual substream code MUST STILL contain the initialization and state tracking logic for this contract
#
# Without this, you would need to include block 10000 in your test data or your
# test would fail because the account appears uninitialized to your code.
initialized_accounts:
- "0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84" # Needed for ....
# A list of protocol types names created by your Substreams module.
substreams_yaml_path: ./sepolia-liquidityparty.yaml
adapter_contract: "LiquidityPartySwapAdapter"
adapter_build_signature: "constructor(address,address)"
# PartyPlanner, PartyInfo
adapter_build_args: "0x42977f565971F6D288a05ddEbC87A17276F71A29,0x605F803cD27F5c1fa01440B2cbd5D3E4Cf7EE850"
# Liquidity Party protocol fees are retained in the pool until collection, so the pool balance does not match the TVL.
skip_balance_check: true
protocol_type_names:
- "type_name_1"
- "type_name_2"
# A list of tests.
# The name of the protocol system
protocol_system: "protocol_name"
- "liquidityparty_pool"
protocol_system: "vm:liquidityparty"
initialized_accounts: [
"0x42977f565971F6D288a05ddEbC87A17276F71A29", # PartyPlanner
"0x605F803cD27F5c1fa01440B2cbd5D3E4Cf7EE850", # PartyInfo
"0xA0375403921e9B357E1BeD57bef3fA3FCE80acd0", # PartyPoolMintImpl
"0x6aA001e87F86E83bc4D569883332882cb47E2A13", # PartyPoolSwapImpl
]
tests:
# Name of the test
- name: test_pool_creation
# Indexed block range
start_block: 123
stop_block: 456
# Same as global `initialized_accounts` but only scoped to this test.
initialized_accounts:
- "0x0c0e5f2fF0ff18a3be9b835635039256dC4B4963" # Needed for ....
# A list of expected component indexed in the block range. Each component must match perfectly the `ProtocolComponent` indexed by your subtreams module.
start_block: 23978797
stop_block: 23978798
initialized_accounts: []
expected_components:
- id: "0xbebc44782c7db0a1a60cb6fe97d0b483032ff1c7"
- id: "0x2A804e94500AE379ee0CcC423a67B07cc0aF548C"
tokens:
- "0xdac17f958d2ee523a2206206994597c13d831ec7"
- "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
- "0x6b175474e89094c44da98b954eedeac495271d0f"
static_attributes: { }
creation_tx: "0x20793bbf260912aae189d5d261ff003c9b9166da8191d8f9d63ff1c7722f3ac6"
# Whether the script should skip trying to simulate a swap on this component.
# If set to `true` please always add a reason why it's skipped.
# Does this test whether the tokens are in the correct order?
- "0xdAC17F958D2ee523a2206206994597C13D831ec7" # USDT
- "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" # USDC
- "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599" # WBTC
- "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" # WETH
- "0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984" # UNI
- "0xD31a59c85aE9D8edEFeC411D448f90841571b89c" # SOL
- "0x50327c6c5a14DCaDE707ABad2E27eB517df87AB5" # TRX
- "0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9" # AAVE
- "0x6982508145454Ce325dDbE47a25d4ec3d2311933" # PEPE
- "0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE" # SHIB
static_attributes: {}
creation_tx: "0x5c8b1e1e6ec10143a1252799d14df09c7e84f6a99ccde95fc11295a61c20060e"
skip_simulation: false
# Whether the script should skip trying to simulate execution of a swap on this component.
# If set to `true` please always add a reason why it's skipped.
skip_execution: false
- name: test_something_else
start_block: 123
stop_block: 456
expected_components:
- id: "0xdc24316b9ae028f1497c275eb9192a3ea0f67022"
tokens:
- "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"
- "0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84"
static_attributes: { }
creation_tx: "0xfac67ecbd423a5b915deff06045ec9343568edaec34ae95c43d35f2c018afdaa"
skip_simulation: true # If true, always add a reason
skip_execution: true # If true, always add a reason