mirror of
https://github.com/luxfi/mpc.git
synced 2026-09-24 00:26:24 +00:00
- pkg/infra: Add abstract KV interface, ConsensusKV (dual-cert BFT with Ed25519 + ML-DSA-65), NatsKV, ConsulKVAdapter, HybridKV, SQLiteMeta with full test coverage - pkg/hsm: Add Provider interface and implementations for AWS KMS, GCP Cloud KMS, Azure Key Vault, Zymbit HSM, Hanzo KMS, and file-based providers with registry and tests. Rename existing FileProvider to FilePasswordProvider to avoid collision with new Provider interface - pkg/policy: Add transaction governance engine with signers, roles, spending limits, whitelist/blacklist, time windows, rate limiting, approval workflow, audit log, and FHE private policy evaluation - contracts: Add ThresholdPolicy.sol for on-chain policy enforcement - cmd: Rename lux-mpc-cli to mpc-cli - Makefile: Update build targets for mpc-cli
64 lines
1.5 KiB
Makefile
64 lines
1.5 KiB
Makefile
.PHONY: all build clean mpcd mpc-cli test test-verbose test-coverage e2e-test e2e-clean cleanup-test-env test-all clean-all up down logs
|
|
|
|
# Go 1.26 experimental features:
|
|
# runtimesecret - zeroes stack/register state after secret.Do() for forward secrecy
|
|
# simd - SIMD intrinsics (amd64/arm64)
|
|
GOEXPERIMENT ?= runtimesecret,simd
|
|
|
|
all: build
|
|
|
|
build: mpcd mpc-cli
|
|
|
|
mpcd:
|
|
GOWORK=off GOEXPERIMENT=$(GOEXPERIMENT) go build -o mpcd ./cmd/mpcd
|
|
|
|
mpc-cli:
|
|
GOWORK=off GOEXPERIMENT=$(GOEXPERIMENT) go build -o mpc-cli ./cmd/mpc-cli
|
|
|
|
# Run all tests (json1 enables SQLite JSON functions for ORM JSONB queries)
|
|
test:
|
|
CGO_ENABLED=1 GOEXPERIMENT=$(GOEXPERIMENT) go test -tags json1 ./...
|
|
|
|
test-verbose:
|
|
CGO_ENABLED=1 GOEXPERIMENT=$(GOEXPERIMENT) go test -tags json1 -v ./...
|
|
|
|
test-coverage:
|
|
CGO_ENABLED=1 GOEXPERIMENT=$(GOEXPERIMENT) go test -tags json1 -v -coverprofile=coverage.out ./...
|
|
go tool cover -html=coverage.out -o coverage.html
|
|
|
|
# E2E
|
|
e2e-test: build
|
|
@echo "Running E2E integration tests..."
|
|
cd e2e && make test
|
|
|
|
e2e-test-coverage: build
|
|
@echo "Running E2E integration tests with coverage..."
|
|
cd e2e && make test-coverage
|
|
|
|
e2e-clean:
|
|
@echo "Cleaning up E2E test artifacts..."
|
|
cd e2e && make clean
|
|
|
|
cleanup-test-env:
|
|
@echo "Performing comprehensive test environment cleanup..."
|
|
cd e2e && ./cleanup_test_env.sh
|
|
|
|
test-all: test e2e-test
|
|
|
|
# Local dev environment (compose.yml)
|
|
up:
|
|
docker compose up -d
|
|
|
|
down:
|
|
docker compose down
|
|
|
|
logs:
|
|
docker compose logs -f
|
|
|
|
# Clean
|
|
clean:
|
|
rm -f mpcd mpc-cli
|
|
rm -f coverage.out coverage.html
|
|
|
|
clean-all: clean e2e-clean
|