All notable changes to this project will be documented in this file.
Verified against sails @ 1.0.0. Promotes the pack baseline from sails-rs 0.10.3 to sails-rs 1.0.0 and adds two new ethexe skills.
sails-ethexe-architecture— ethexe feature planning and boundary isolation skillsails-ethexe-implementer— ethexe-specific Rust implementation skill (Syscall gating,#[export(ethabi|payable)],emit_eth_event)
- Skill pack baseline bumped to
sails-rs 1.0.0throughout (sails-rs-imports.md,sails-cheatsheet.md,ship-sails-app/SKILL.md) - New references:
sails-syscall-mapping.md,sails-idl-v2-syntax.md,sails-header-wire-format.md,sails-ethexe-patterns.md sails-gtest-and-local-validation.mdEvent Listener Pattern updated: service client now implementsListenerdirectlysails-rust-implementer: mandatesSyscall::*for all runtime accessors; adds#[sails_type]guidance; adds ethexe hand-off guardrailgear-sails-production-patterns.md: converted toSyscall::*throughout
@entry-idannotation (hyphen) corrected to@entry_id(underscore) insails-idl-v2-syntax.mdandsails-header-wire-format.md— parser only accepts underscore formSyscall::*inconsistency in Sails service code:sails-cheatsheet.md,awesome-sails-token-patterns.md,ship-sails-app/SKILL.mdall updated (gstd-level references kept onexec::*/msg::*)- Five broken
../../docs/relative links across four files replaced with upstream GitHub URLs (or local reference paths) - Skill count updated to 23 in
plugin.json,marketplace.json, andCLAUDE.md
vara-wallet 0.15.0 was the first npm publish since 0.10.0; 0.16.0 followed five days later with the agent-UX hardening pass. This release captures both surfaces in one cut. Skipping a separate 2.1.x for the 0.13-0.15 work because none of those versions reached npm.
- IDL Resolution: documented the on-chain WASM extraction path for v2 programs (
gearProgram.originalCodeStorage), local cache at~/.vara-wallet/idl-cache/, and bundled VFT/Rivr DEX IDLs. v2 programs no longer need--idlafter first call. - Quick Reference: added
discoverintrospection,--dry-runpayload encoding (no signing/submit),--args-file(with stdin support),idl importfor seeding the cache,subscribe messagesIDL-aware decoding, andwatchevent streaming. - Workflow examples: dry-run preview, stdin args-file for nested JSON, IDL-aware event monitoring.
- Error Recovery: added
AMBIGUOUS_EVENT,INVALID_ARGS_SOURCE,STDIN_IS_TTY,CONFLICTING_OPTIONS,PROGRAM_ERROR(then refreshed in the 0.16 pass below).
- Units vocabulary unified to
human/rawacrosstransfer,vft, anddex. Legacyvara/tokenliterals retired and now error withINVALID_UNITS. --dry-runand--estimatecompose oncall(account required); previously mutually exclusive.subscribe messages --typerenamed to--eventfor consistency withwatch.metaStorageUrlconfig key andVARA_META_STORAGEenv var removed; meta-storage IDL fallback dropped.
- New "Structured Errors (0.16+)" section:
reason+programMessageJSON shape,Result::unwrapstrip, jq case-switch with pre-0.16 fallback. - Error Recovery: added
INVALID_ARGS_FORMATandINVALID_ADDRESSrows; refreshedPROGRAM_ERRORandIDL_NOT_FOUNDrows for the new structured fields and the "This is a v1 contract" diagnostic. - IDL Resolution: framed v1 path as the expected route for stable Sails 0.10.x builders, not as a v2 fallback.
- Setup: minimum vara-wallet version pinned to 0.16.0.
- Guardrails:
calculateGasfailures now classified asPROGRAM_ERRORinstead of opaque gas errors.
vara-walletskill updated for v0.9.0:--networkshorthand,configCLI,--estimate, connection timeout,--idl/--init/--argsconstructor encoding, faucet command, program list default limit, SS58 outputsails-local-smokeskill updated with--network localandconfig set network localalternativessails-gtest-and-local-validationreference updated with--network local, IDL-based deploy, multi-constructor--initflag
- Baseline reverted to
sails-rs 0.10.2(stable) on main branch. The 1.0.0-beta.2 content is preserved on thesails-betabranch. - Reason: beta.2 ecosystem has unresolved blockers (unpublished npm packages, vara-wallet v2 IDL incompatibility, no delayed message header helper). Stable builders should not hit these issues.
- All beta-specific patterns (ReflectHash, binary header protocol, IDL V2, edition 2024) moved to
sails-betabranch - Build.rs: reverted to standalone
sails_rs::build_wasm()pattern - Troubleshooting table kept but trimmed to stable-relevant errors only
cargo sails newremains the default bootstrap command
sails-betabranch created as the home for all 1.0.0-beta.2 content, including friction fixes (troubleshooting, constructor payload, delayed message versioning, JS ecosystem status)- Cross-version notes in references pointing to
sails-betabranch for beta patterns - Post-deploy verification guidance in local-smoke skill and reference
- BTreeMap key types pitfall in sails-idl-client skill
- Troubleshooting table for top 3 stable compile errors in sails-cheatsheet
- Sails 1.0.0-beta baseline: ReflectHash derive pattern, Sails Header Protocol reference, IDL V2 format guide, new
#[export]options (overrides,entry_id,throws) sails-new-app: Troubleshooting section for broken scaffold recovery with fallback manual bootstrap sequencesails-idl-client: Generated Client Pitfalls section coveringno_stddouble-injection in hand-assembled workspaces and customBTreeMapkey type decoding issuessails-gtest: Common Pitfalls section covering program balance accounting with existential deposit- IDL V2 Format section in
sails-idl-client-pipeline.mdwith syntax overview (version header, Rust-like types, service-scoped types,@query,throws,@partial) cargo sails client-jsCLI andcargo sails idl -nflag documented- 0.10.x legacy notes in reference files where patterns differ from 1.0.0-beta (build.rs, ReflectHash, header protocol)
- Test assertions for new skill sections (Troubleshooting, Generated Client Pitfalls, Common Pitfalls, ReflectHash)
- Scaffold command updated from
cargo sails programtocargo sails newacross all skills, references, README, and tests (9 content locations + 3 test assertions) - Version baseline updated from
sails-rs 0.10.2tosails-rs 1.0.0-beta.1across all references and skills - Install command pinned to
cargo install sails-cli@1.0.0-beta.1 --lockedinsails-dev-env - Root program
build.rspattern updated to chainedbuild_wasm()+ClientBuilder::from_wasm_path().build_idl() - Canonical workspace layout updated with new
src/lib.rswasm re-export pattern
references/voucher-and-signless-flows.md— procedural-first reference covering voucher lifecycle, signless sessions, EZ-transactions, JS API surface, on-chain extrinsics, testing guidance, and failure modes- Builder recipes for voucher-only, signless session, and full gasless+signless flows
- Cross-references to voucher doc from ship-sails-app, sails-feature-workflow, sails-frontend, sails-local-smoke, and vara-wallet skills
- Test assertions for voucher reference content, cross-references, and wiki URL leakage prevention
- Demoted inline voucher prose in ship-sails-app and sails-feature-workflow to one-line pointers to the canonical reference
- Corrected
api.voucher.existssignature to(accountId, programId)andapi.voucher.issuereturn type documentation - Added backend sponsor service as explicit prerequisite for EZ-Transactions
- Duplicate
## Environment Contractheading in sails-frontend-and-gear-js.md
- Auto-update check that runs on each skill invocation via preamble in entry-point skills
bin/vara-skills-update-checkscript with cache TTL, snooze system, and graceful degradationskills/vara-skills-upgrade/skill for inline and standalone upgrade flowsVERSIONfile as single source of truth for version, kept in sync withmarketplace.json- 15 new tests for update check script covering all code paths
make test-updatetarget and VERSION tag verification in release workflow