getMinimumReserve()utility to calculate the minimum XLM balance required for an account based on signers, offers, and trustlines (src/accounts/keypair.ts)Percentagebranded type: compile-time guarantee that a number is validated to [0, 100] (src/types/escrow.ts)asPercentage()runtime guard: validates and casts a number toPercentage, throwsRangeErroron NaN, Infinity, or out-of-range values (src/types/escrow.ts)Distributiontype:recipient: string,percentage: Percentage(src/types/escrow.ts)ReleaseParamstype:escrowAccountId: string,distribution: Distribution[](src/types/escrow.ts)ReleasedPaymenttype:recipient: string,amount: string(src/types/escrow.ts)ReleaseResulttype:successful,txHash,ledger,payments: ReleasedPayment[](src/types/escrow.ts)- Unit tests for all escrow release types in
tests/unit/types/escrow.test.ts BuildParamstype:sourceAccount,operations, optionalmemo,fee,timeoutSeconds(src/types/transaction.ts)Operationunion type:PaymentOp | CreateAccountOp | SetOptionsOp | AccountMergeOp | ManageDataOp(src/types/transaction.ts)SubmitResulttype:successful,hash,ledger,resultXdr(src/types/transaction.ts)TransactionStatustype:confirmed,confirmations,ledger,hash,successful(src/types/transaction.ts)- Re-exported all transaction types from
src/types/index.ts
- Initial project scaffold
- Logger class in src/utils/logger.ts with redaction, log levels, and JSON output
- Unit tests for logger redaction and log level filtering
- GitHub Actions CI workflow: lint, unit tests, build, security audit, npm publish on tag