Repository navigation
feat(types): define canonical GuildPass SDK V2 public domain types (closes #488) - #506
Merged
Lakes41 merged 1 commit intoSep 17, 2026
Conversation
Closes Adamantine-guild#488 - Define public SDK domain contracts for Guild, Member, Pass, AccessPolicy, AccessPolicyRule, ActivityEvent, StellarAccount, and Network. - Align public type shapes with Core contracts while maintaining clean consumer-facing interfaces without internal persistence leaks. - Ensure Stellar-first representation with zero EVM assumptions. - Export all public domain types from the package entry point. - Add Vitest test suite validating type conformity and contracts.
8 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR resolves #488 by establishing the canonical public domain types for GuildPass SDK V2, representing Guilds, Members, Passes, Access Policies, Activity Events, and Stellar accounts.
Changes
src/types/domain.ts:Guildinterface with Stellar owner account and optional SorobancontractId.Memberinterface andMemberRoleunion type ('owner' | 'admin' | 'moderator' | 'member').Passinterface andPassStatusunion type ('active' | 'expired' | 'revoked' | 'pending').AccessPolicyandAccessPolicyRuleinterfaces.ActivityEventinterface andActivityEventTypeunion type.NetworkandStellarAccounttypes.src/types/index.ts:tests/domainTypes.test.ts:Verification
pnpm typecheck(tsc --noEmit): Passed with 0 errorspnpm build(tsup): Clean ESM and type definitions outputpnpm test(vitest): 24 test files passed, 685 tests passed, 0 failuresCloses #488