AerePasskeyAccountFactory -> AerePasskeyAccountFactory_v1_DEPRECATED
AerePasskeyAccountFactoryV2 -> AerePasskeyAccountFactoryV2_DEPRECATED_FLAWED
Redenumirea cheii, nu doar o nota in comentariu: asa un consumator care inca
citeste numele vechi NU mai compileaza, in loc sa desfasoare in tacere un
portofel falsificabil. Plus @deprecated in JSDoc, ca editorul si typescript-eslint
no-deprecated sa il taie cu linie.
Constatarea 63 e despre fabrica V2 0x5FFa9a...4fdA, cea ale carei conturi accept
un cuvant de proprietar address(0) si o semnatura care recupereaza adresa zero.
Intrarea V1 0xfB0e...0739 era marcata CANONICAL si, mai rau, trimitea explicit
portofelele noi catre exact fabrica defecta. Ambele reparate.
MASURAT 2026-08-02, dovada pozitiva din bytecode, prin plimbarea codului viu ca
instructiuni si strangerea selectorilor PUSH4, niciodata dintr-o revenire goala:
0xfB0e...0739 5.547 octeti, 17 selectori, createAccount(uint256,uint256,uint256)
0x4c1ed7f5 PREZENT
0x5FFa9a...4fdA 9.722 octeti, 35 selectori, createAccount(bytes[],uint256)
0x3ffba36f PREZENT
Control negativ pe acelasi drum: un selector inventat iese absent pe toate trei.
CE NU S-A FACUT, spus ca sa nu fie confundat cu verde: niciuna dintre cele doua
fabrici nu are proprietar sau pauza, deci NU pot fi oprite pe lant. Retragerea
de aici e o poarta de documentatie, atat. Nu s-a trimis nicio tranzactie.
tsc --noEmit iese 0 dupa redenumire; nimic din sdk nu mai citea cheile vechi,
codul de portofel folosea deja AerePasskeyAccountFactoryV2Fixed.
NOTA DE ONESTITATE: fisierul asta astepta necomis din 2026-06-01 si ajunsese la
mine purtand deja 400 si ceva de linii de lucru al altor sesiuni pe cartea de
adrese. Acest commit le duce si pe acelea. Ale mele sunt strict cele doua intrari
passkey.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
||
|---|---|---|
| examples | ||
| src | ||
| .gitignore | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
@aere/sdk
Official AERE Network TypeScript SDK. Wraps ethers v6 with typed contract clients for every deployed AERE L1 contract.
SDK version: 0.3.0 Last updated: 2026-05-31 Network state at this release: 16 contracts live on chain ID 2800.
Network parameters
| Chain name | AERE Network |
| Chain ID | 2800 (0xAF0) |
| Consensus | Hyperledger Besu QBFT, 1-second blocks, sub-second finality, 3 validators |
| Native token | AERE (18 decimals) |
| Max supply | 2,800,000,000 AERE (capped at genesis-v2, 2026-05-07) |
| HTTP RPC | https://rpc.aere.network |
| WebSocket RPC | wss://wss.aere.network |
| Explorer (Blockscout) | https://explorer.aere.network |
| Indexer REST | https://api.aere.network |
Genesis allocation (2,800,000,000 AERE)
| Wallet | Allocation | Address |
|---|---|---|
| Strategic Investor | 100,000,000 | 0xaee2f3989f0AB23296Fa3b92247fe67587141311 |
| Foundation (chain admin) | 180,000,000 | 0x0243A4f47D44b40b65D33f20329dE20D00c6f3C3 |
| Mining Reserve | 1,400,000,000 | 0x038f59A40ceeCd599A4588E4B0ff4642a0fbfFB8 |
| Ecosystem Reserve | 560,000,000 | 0xB6a364F47d21DC2CbEB803565c111c1026e11C75 |
| Team Reserve | 420,000,000 | 0x7968C438204a78B4e032fcFFd9A56Edb15fdCCdf |
| Airdrop Reserve | 140,000,000 | 0x261913fA73D6F109382F1aE98Ff6822ff03628B1 |
Deployed contracts (16 — all owned by Foundation)
| Contract | Address | Purpose |
|---|---|---|
| WAERE | 0x7e84d7d66d5da4cfE46Da67CDEeB05B323e1f5e8 |
Wrapped AERE (WETH9-style ERC-20) |
| AereTreasury | 0x687933AE7ea4927867AC227F1b60d476003e6119 |
Timelocked foundation treasury |
| AereOracle | 0xf0A13823A4bFa86358Fe30aaf1f44A36AcbCf399 |
Multi-reporter median price feed (BTC/USD + ETH/USD live) |
| AereIdentity | 0x658dD2CD1F798AAb19fEc8FF69A270B2d192CaD1 |
DID registry, revocable attestor claims (Sumsub-backed KYC) |
| AereFaucet | 0xDdBe942aD9eB0F3E7C541BdCF7CC2cfA29d35aE4 |
0.05 AERE drip per 24h |
| AereCardEscrow | 0xD1f7f12830AdCFd1B7676C8460B9e30602b1f059 |
Bank28 card-settlement escrow |
| AereSecurity | 0xaD305e4D91e0a9160Bd338Fd1ecb2Ee1645daC44 |
Sanctions / pause module |
| AereStaking | 0xAbDb01d9A4f41792129b2654Fb6DDB9689360DEc |
Delegated staking · 8% APY · 7-day unbonding |
| AereConsensus | 0xF8bDDad4aDACF9d38711e8f9aFC8a2697aBF0d47 |
QBFT validator bookkeeping |
| AereSwapFactory | 0xf0a8df7BDc25721892475B21271e52D77B0e84DC |
V2 AMM factory · 0.3% fee (router pending) |
| AereBridge | 0x7eDa66cd93baAE19530839Bbb28ee36aC8aFAd68 |
Federated lock-and-release bridge (relayer pending) |
| AereMiningSubscription | 0xDad25d2163187DF8AAEcf9EA31b6355315Bb69f1 |
4-tier mining subscriptions (10/50/200/100 AERE per 30 days) |
| AereNFT | 0x3f9A9D9CAB005327869396C69bE226ef98039f1c |
ERC-721 + EIP-2981 royalties |
| AereNFTMarketplace | 0x852e07F2619F7F4aD10d9f2aC681310301d99528 |
On-chain NFT marketplace · 2.5% protocol fee |
| AereGovernanceStaked | 0x8D77C888e439C4fADb2e23F1567a0A1965F80bCb |
Stake-weighted governance (reads voting power from AereStaking) |
| AereLockedStaking | 0x21108c28A849b05aE6b7a3a5bc435C9Bc897E7Ad |
Fixed-term locks: 30d/10%, 90d/15%, 180d/22%, 365d/30% APY |
Install
npm i @aere/sdk ethers
Quickstart
import { AERE_MAINNET } from '@aere/sdk/addresses';
import { ethers } from 'ethers';
const provider = new ethers.JsonRpcProvider(AERE_MAINNET.rpc);
// Read a balance
const bal = await provider.getBalance(AERE_MAINNET.Foundation);
console.log(ethers.formatEther(bal), 'AERE');
// Subscribe to incoming WAERE transfers for an address
const waere = new ethers.Contract(
AERE_MAINNET.WAERE,
['event Transfer(address indexed from, address indexed to, uint256 value)'],
provider,
);
waere.on('Transfer', (from, to, value) => {
if (to.toLowerCase() === '0xMyHotWallet'.toLowerCase()) {
console.log(`got ${ethers.formatEther(value)} WAERE from ${from}`);
}
});
// Stake 100 AERE in the 90-day locked staking tier (15% APY)
const signer = new ethers.Wallet(process.env.PRIVATE_KEY!, provider);
const locked = new ethers.Contract(
AERE_MAINNET.AereLockedStaking,
['function stake(uint8 tier) payable returns (uint256)'],
signer,
);
const tx = await locked.stake(1, { value: ethers.parseEther('100') });
await tx.wait();
Roadmap (not in this release)
These are referenced in the AERE whitepaper but NOT yet deployed on chain 2800:
- DEX:
AereSwapRouter+ bridged stablecoin + initial WAERE liquidity pool - Bridge: cross-chain relayer + counterparty contracts on Ethereum / BSC / Polygon
- Lending market (collateralised AERE / WAERE)
- Yield farm (LP rewards)
- AereVesting (on-chain vesting schedules for Team / Strategic allocations)
- AereInsurancePool, AereLaunchpad, AereAirdrop, AereSubscriptions
- AereNameService (
.aereregistry) - ERC-4337 account abstraction stack (EntryPoint, SmartAccountFactory, Paymaster)
- Payment channels, Lightning channels, HTLC
- ZK rollups, Plasma child chains
- AereTravelRule (MiCA-compliant VASP transfer disclosures)
Each of these has an existing front-end shell on aere.network displaying a "coming soon" notice until the underlying contract ships.
Architectural notes
- Non-custodial. End users hold their own keys. Consumer apps (e.g. Bank28) can use Privy / Magic / Web3Auth to provision wallets via email/social, then pass that signer into the SDK.
- Fiat rails are out of scope. AERE is the on-chain settlement layer; fiat IBANs / cards / SEPA come from a BaaS partner (Striga, Baanx, Kulipa, etc.).
- Oracle is single-reporter today. BTC/USD and ETH/USD feeds are pushed every 90s by a single reporter container. A second reporter is on the roadmap for redundancy.
- 3 validators today. QBFT fault tolerance is
f=0at this validator count — single failure halts the chain until the validator returns. A path to 5 validators (f=1) is staged. - AereBridge is 1-of-1 signer. Multi-sig threshold expansion happens before any value flows.
Source
- SDK source: https://git.aere.network/aere-network/sdk-js
- Contract source: https://git.aere.network/aere-network/aerenew
- Website source: https://git.aere.network/aere-network/blocky-chain-forge
License
MIT