You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Built lez-authority — a standalone, program-agnostic authority library already
integrated into the LEZ token program as part of LP-0013. The authority pattern
used for freeze authority (set, transfer, revoke) is the same primitive.
Deep familiarity with LEZ account model — AccountId, AccountWithMetadata,
is_authorized, program-owned accounts, PDA derivation.
LP-0012 winner with code reviewed and merged by the Logos team.
RFP-001 proposal in review — freeze authority naturally extends the same codebase.
Proposed Solution
Architecture
The freeze authority library builds directly on top of lez-authority and adds
two new state primitives:
// lez-freeze/src/lib.rspubstructFreezeState{/// The freeze authority. Controlled by admin authority./// None = freeze authority revoked by admin.pubauthority:AuthoritySlot,/// Whether the entire program is frozen./// When true, all non-freeze interactions are rejected.pubprogram_frozen:bool,/// Set of frozen account IDs./// Accounts in this set cannot interact with the program.pubfrozen_accounts:HashSet<AccountId>,}implFreezeState{/// Freeze the entire program. Only freeze authority can call this.pubfnfreeze_program(&mutself,signer:[u8;32]) -> Result<(),FreezeError>/// Unfreeze the entire program. Only freeze authority can call this.pubfnunfreeze_program(&mutself,signer:[u8;32]) -> Result<(),FreezeError>/// Freeze a specific account. Only freeze authority can call this.pubfnfreeze_account(&mutself,signer:[u8;32],account:AccountId) -> Result<(),FreezeError>/// Unfreeze a specific account. Only freeze authority can call this.pubfnunfreeze_account(&mutself,signer:[u8;32],account:AccountId) -> Result<(),FreezeError>/// Check if an interaction should be allowed./// Returns Err if program is frozen OR the specific account is frozen.pubfncheck_interaction(&self,account:AccountId) -> Result<(),FreezeError>/// Change freeze authority. Only admin authority can call this.pubfnset_freeze_authority(&mutself,admin_signer:[u8;32],new_authority:Option<[u8;32]>) -> Result<(),FreezeError>}
Integration with Admin Authority
Freeze authority is subordinate to admin authority:
Admin sets the freeze authority at init
Admin can change or revoke freeze authority at any time
Freeze authority cannot modify itself — only admin can
This creates a clean two-level hierarchy:
lez-freeze crate with FreezeState implementing all 7 hard requirements
Unit tests for every requirement:
freeze/unfreeze program
freeze/unfreeze specific account
set/revoke freeze authority via admin
check_interaction rejects frozen program
check_interaction rejects frozen account while program is live
CI green
Week 2 — Sample program + integration tests
Standalone LEZ guest program using lez-freeze
Deployed on LEZ devnet via logos-scaffold
Integration tests against live sequencer
Weeks 3-4 — SPEL integration + documentation
#[freeze_check] annotation for SPEL programs
README: step-by-step integration guide
Transaction overhead measurement and documentation
End-to-end usage example
Tech Stack
Rust (lez-freeze crate + LEZ guest program)
lez-authority from LP-0013 (admin authority layer)
logos-scaffold for local development and devnet deployment
SPEL framework for annotation integration
LEZ wallet CLI for integration testing
Why Choose This Proposal
Builds on proven foundation — lez-authority is already production-tested
in LP-0013 and reviewed by the Logos team. The freeze authority pattern
is a natural extension of the same codebase.
RFP-001 + RFP-002 together — delivering both admin authority and freeze
authority from the same codebase reduces integration effort for consumer
programs and ensures consistent API design.
Established credibility — LP-0012 winner, LP-0013 submitted and validated,
RFP-001 proposal in review. danisharora099 has already reviewed this authority code.
Concrete milestone pricing — $5,000 with clear deliverables per milestone.
Applicant
GitHub: https://github.com/bristinWild
Track record:
Relevant Experience
lez-authority— a standalone, program-agnostic authority library alreadyintegrated into the LEZ token program as part of LP-0013. The authority pattern
used for freeze authority (set, transfer, revoke) is the same primitive.
is_authorized, program-owned accounts, PDA derivation.
Proposed Solution
Architecture
The freeze authority library builds directly on top of
lez-authorityand addstwo new state primitives:
Integration with Admin Authority
Freeze authority is subordinate to admin authority:
This creates a clean two-level hierarchy:
Crate Structure
Milestone Breakdown
lez-freezecore library — all 7 functionality requirements, unit tests, CI greenfreeze-authority-programdeployed on devnet, integration testsTotal: $5,000 USD over 4 weeks
Implementation Plan
Week 1 — Core library
lez-freezecrate withFreezeStateimplementing all 7 hard requirementsWeek 2 — Sample program + integration tests
lez-freezeWeeks 3-4 — SPEL integration + documentation
#[freeze_check]annotation for SPEL programsTech Stack
lez-freezecrate + LEZ guest program)lez-authorityfrom LP-0013 (admin authority layer)Why Choose This Proposal
lez-authorityis already production-testedin LP-0013 and reviewed by the Logos team. The freeze authority pattern
is a natural extension of the same codebase.
authority from the same codebase reduces integration effort for consumer
programs and ensures consistent API design.
RFP-001 proposal in review. danisharora099 has already reviewed this authority code.
Timeline
4 weeks
Budget
$5,000 USD
Milestone 1: $2,000
Milestone 2: $1,500
Milestone 3: $1,500
License
MIT + Apache-2.0
Open Source
Yes, fully open source on GitHub.