Overview
Document the new vaultless field for order inputs/outputs in the YAML spec. This field enables direct wallet-based trading in V6 orderbook.
Parent issue: rainlanguage/raindex#2402
Spec Changes
Add vaultless field to order input/output configuration:
orders:
my-order:
inputs:
- token: token-a
vaultless: true # Funds received go directly to wallet
outputs:
- token: token-b
vault-id: 0x123 # Funds go from vault (existing behavior)
Field Definition
| Field |
Type |
Required |
Default |
Description |
vaultless |
boolean |
No |
false |
When true, uses wallet directly instead of vault. Contract uses vault_id = 0 internally. |
Validation Rules
| Scenario |
Result |
vaultless: true |
Valid - uses wallet directly |
vaultless: true + vault-id: X |
Error: "Using vault-id is not allowed in vaultless mode" |
vault-id: 0 |
Error: "Invalid vault-id value. For vaultless mode use vaultless: true" |
vaultless: false or omitted |
Uses vault-id if specified, otherwise generates random |
Behavior
- Vaultless inputs: Tokens received are sent directly to the owner's wallet
- Vaultless outputs: Tokens given are pulled directly from the owner's wallet (requires approval)
- Hybrid orders: Each input/output can independently be vaultless or vault-based
Overview
Document the new
vaultlessfield for order inputs/outputs in the YAML spec. This field enables direct wallet-based trading in V6 orderbook.Parent issue: rainlanguage/raindex#2402
Spec Changes
Add
vaultlessfield to order input/output configuration:Field Definition
vaultlessbooleanfalsetrue, uses wallet directly instead of vault. Contract usesvault_id = 0internally.Validation Rules
vaultless: truevaultless: true+vault-id: Xvault-id: 0vaultless: falseor omittedvault-idif specified, otherwise generates randomBehavior