/ components / alpha / A002-alphavm_arch.component.cspec
A002-alphavm_arch.component.cspec
 1  # A002-alphavm_arch.component.cspec
 2  
 3  metadata:
 4    id: A002
 5    name: alphavm_arch
 6    version: 1.0.0
 7    domain: alpha
 8    stability: high_change
 9    updated: 2026-01-07
10    cascade_priority: 20
11    roles:
12      primary: [Dev]
13      review: [Security]
14    expertise:
15      required: [rust, vm_design, zk_proofs]
16      helpful: [aleo, snarkvm]
17    context_tags: [alphavm, instructions, types, whitelist]
18  
19  dependencies:
20    upstream: []
21    downstream: [A003]
22  
23  interface:
24    types_ref: _registry/types.cspec
25    types:
26      ALPHA: privacy_chain, vm:alphavm, state:record_sparse_merkle, program:credits.alpha_only, block:15s, port_p2p:4130, port_api:3030
27      address: 256bit, ownership
28      u64: 64bit, amounts_timestamps
29      u32: 32bit, counters_indices
30      u8: 8bit, flags
31      boolean: 1bit, conditionals
32    functions:
33      deployment_rejection: Transaction::Deploy -> Error::DeploymentDisabled
34    events:
35      - deployment_rejected
36  
37  spec:
38    instruction_whitelist:
39      arithmetic: [add, sub]
40      comparison: [gte, gt, lte, lt, is.eq, is.neq]
41      logic: [and, or, nor]
42      control: [ternary, async, cast]
43  
44    type_whitelist:
45      address: 256bit, ownership
46      u64: 64bit, amounts_timestamps
47      u32: 32bit, counters_indices
48      u8: 8bit, flags
49      boolean: 1bit, conditionals
50  
51    disabled_features:
52      - program_deployment
53      - program_imports
54      - package_management
55      - file_operations
56      - complex_structs
57      - arbitrary_mappings
58      - ~60_unused_instructions
59  
60    deployment_rejection:
61      location: verify.rs
62      behavior: Transaction::Deploy -> Error::DeploymentDisabled
63  
64  changelog:
65    - version: 1.0.0
66      date: 2026-01-07
67      type: initial
68      description: "Migrated from alpha_chain.cspec"
69      breaking: false