- 1. Introduction
- 2. Valence Programs
- 2.1. Domains
- 2.2. Accounts
- 2.2.1. Base Accounts
- 2.2.2. Storage Accounts
- 2.2.3. Interchain Accounts
- 2.3. Libraries and Functions
- 2.4. Programs and Authorizations
- 2.5. Middleware
- 3. Valence zk-Coprocessor
- 3.1. Sparse Merkle Trees
- 4. Authorization & Processors
- 4.1. Assumptions
- 4.2. Authorization Contract
- 4.2.1. Instantiation
- 4.2.2. Owner Actions
- 4.2.3. User Actions
- 4.3. Processor Contract
- 4.3.1. Processor
- 4.3.2. Lite Processor
- 4.3.3. Execution Environment Differences
- 4.4. Callbacks
- 4.5. Connectors
- 4.6. Encoding
- 5. Libraries
- 5.1. CosmWasm
- 5.1.1. Astroport LPer
- 5.1.2. Astroport Withdrawer
- 5.1.3. Forwarder
- 5.1.4. Generic IBC Transfer
- 5.1.5. Neutron IBC Transfer
- 5.1.6. Osmosis CL LPer
- 5.1.7. Osmosis CL Withdrawer
- 5.1.8. Osmosis GAMM LPer
- 5.1.9. Osmosis GAMM Withdrawer
- 5.1.10. Reverse Splitter
- 5.1.11. Splitter
- 5.1.12. Neutron Interchain Querier
- 5.1.13. Drop Liquid Staker
- 5.1.14. Drop Liquid Unstaker
- 5.1.15. ICA CCTP Transfer
- 5.1.16. ICA IBC Transfer
- 5.2. EVM
- 5.2.1. Forwarder
- 5.2.2. CCTP Transfer
- 5.2.3. Stargate Transfer
- 6. Middleware
- 6.1. Broker
- 6.2. Type Registry
- 6.3. Valence Types
- 6.4. Valence Asserter
- 7. Examples
- 7.1. Token Swap
- 7.2. Crosschain Vaults
- 7.2.1. Vault Strategist
- 8. Testing
- 8.1. Initial Testing Set Up
- 8.2. Example without Program Manager
- 8.3. Example with Program Manager
- 9. Security
- 10. Deployment
- 10.1. Local Deployment