mirror of
https://github.com/logos-blockchain/logos-execution-zone.git
synced 2026-07-25 23:23:11 +00:00
refactor: unify PDA AccountId construction via AccountId::for_{public,private}_pda
Addresses the following review comment: - "I think this should be a constructor `AccountId::for_private_pda`. Consider also removing the existing `impl From<(ProgramId, Seed)> for AccountId` for public pdas in favor of a `AccountId::for_public_pda` to have a unified way of constructing pdas" I replaced `impl From<(&ProgramId, &PdaSeed)> for AccountId` with `AccountId::for_public_pda(program_id: &ProgramId, seed: &PdaSeed) -> Self` and replaced the free function `private_pda_account_id(...)` with `AccountId::for_private_pda(program_id: &ProgramId, seed: &PdaSeed, npk: &NullifierPublicKey) -> Self`. Both live in an inherent `impl AccountId` block in nssa/core/src/program.rs next to the PDA derivation logic. Migrated all call sites across nssa/core, nssa/src/state.rs, nssa/src/validated_state_diff.rs, program_methods/guest/src/bin/privacy_preserving_circuit.rs, programs/amm/core, programs/associated_token_account/core, the example tail-call binary, and the ATA tutorial doc. Test function names that referenced the old free function were also renamed (private_pda_account_id_* to for_private_pda_*).
This commit is contained in:
@@ -135,10 +135,10 @@ pub fn compute_pool_pda(
|
||||
definition_token_a_id: AccountId,
|
||||
definition_token_b_id: AccountId,
|
||||
) -> AccountId {
|
||||
AccountId::from((
|
||||
AccountId::for_public_pda(
|
||||
&amm_program_id,
|
||||
&compute_pool_pda_seed(definition_token_a_id, definition_token_b_id),
|
||||
))
|
||||
)
|
||||
}
|
||||
|
||||
#[must_use]
|
||||
@@ -175,10 +175,10 @@ pub fn compute_vault_pda(
|
||||
pool_id: AccountId,
|
||||
definition_token_id: AccountId,
|
||||
) -> AccountId {
|
||||
AccountId::from((
|
||||
AccountId::for_public_pda(
|
||||
&amm_program_id,
|
||||
&compute_vault_pda_seed(pool_id, definition_token_id),
|
||||
))
|
||||
)
|
||||
}
|
||||
|
||||
#[must_use]
|
||||
@@ -199,7 +199,7 @@ pub fn compute_vault_pda_seed(pool_id: AccountId, definition_token_id: AccountId
|
||||
|
||||
#[must_use]
|
||||
pub fn compute_liquidity_token_pda(amm_program_id: ProgramId, pool_id: AccountId) -> AccountId {
|
||||
AccountId::from((&amm_program_id, &compute_liquidity_token_pda_seed(pool_id)))
|
||||
AccountId::for_public_pda(&amm_program_id, &compute_liquidity_token_pda_seed(pool_id))
|
||||
}
|
||||
|
||||
#[must_use]
|
||||
|
||||
@@ -61,7 +61,7 @@ pub fn compute_ata_seed(owner_id: AccountId, definition_id: AccountId) -> PdaSee
|
||||
}
|
||||
|
||||
pub fn get_associated_token_account_id(ata_program_id: &ProgramId, seed: &PdaSeed) -> AccountId {
|
||||
AccountId::from((ata_program_id, seed))
|
||||
AccountId::for_public_pda(ata_program_id, seed)
|
||||
}
|
||||
|
||||
/// Verify the ATA's address matches `(ata_program_id, owner, definition)` and return
|
||||
|
||||
Reference in New Issue
Block a user