2024-07-05 22:20:13 -04:00
// Code generated by protoc-gen-go-pulsar. DO NOT EDIT.
package didv1
import (
_ "cosmossdk.io/api/cosmos/orm/v1"
fmt "fmt"
runtime "github.com/cosmos/cosmos-proto/runtime"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoiface "google.golang.org/protobuf/runtime/protoiface"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
io "io"
reflect "reflect"
sync "sync"
)
2024-07-06 03:02:45 -04:00
var (
2024-09-19 02:04:22 -04:00
md_Alias protoreflect . MessageDescriptor
fd_Alias_id protoreflect . FieldDescriptor
fd_Alias_subject protoreflect . FieldDescriptor
fd_Alias_origin protoreflect . FieldDescriptor
2024-07-06 03:02:45 -04:00
)
func init ( ) {
file_did_v1_state_proto_init ( )
2024-09-18 17:27:30 -04:00
md_Alias = File_did_v1_state_proto . Messages ( ) . ByName ( "Alias" )
fd_Alias_id = md_Alias . Fields ( ) . ByName ( "id" )
2024-09-19 02:04:22 -04:00
fd_Alias_subject = md_Alias . Fields ( ) . ByName ( "subject" )
2024-09-18 17:27:30 -04:00
fd_Alias_origin = md_Alias . Fields ( ) . ByName ( "origin" )
2024-07-06 03:02:45 -04:00
}
2024-09-18 17:27:30 -04:00
var _ protoreflect . Message = ( * fastReflection_Alias ) ( nil )
2024-07-06 03:02:45 -04:00
2024-09-18 17:27:30 -04:00
type fastReflection_Alias Alias
2024-07-06 03:02:45 -04:00
2024-09-18 17:27:30 -04:00
func ( x * Alias ) ProtoReflect ( ) protoreflect . Message {
return ( * fastReflection_Alias ) ( x )
2024-07-06 03:02:45 -04:00
}
2024-09-18 17:27:30 -04:00
func ( x * Alias ) slowProtoReflect ( ) protoreflect . Message {
2024-08-31 16:54:16 -04:00
mi := & file_did_v1_state_proto_msgTypes [ 0 ]
2024-07-06 03:02:45 -04:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
}
2024-09-18 17:27:30 -04:00
var _fastReflection_Alias_messageType fastReflection_Alias_messageType
var _ protoreflect . MessageType = fastReflection_Alias_messageType { }
2024-07-06 03:02:45 -04:00
2024-09-18 17:27:30 -04:00
type fastReflection_Alias_messageType struct { }
2024-07-06 03:02:45 -04:00
2024-09-18 17:27:30 -04:00
func ( x fastReflection_Alias_messageType ) Zero ( ) protoreflect . Message {
return ( * fastReflection_Alias ) ( nil )
2024-07-06 03:02:45 -04:00
}
2024-09-18 17:27:30 -04:00
func ( x fastReflection_Alias_messageType ) New ( ) protoreflect . Message {
return new ( fastReflection_Alias )
2024-07-06 03:02:45 -04:00
}
2024-09-18 17:27:30 -04:00
func ( x fastReflection_Alias_messageType ) Descriptor ( ) protoreflect . MessageDescriptor {
return md_Alias
2024-07-06 03:02:45 -04:00
}
// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
2024-09-18 17:27:30 -04:00
func ( x * fastReflection_Alias ) Descriptor ( ) protoreflect . MessageDescriptor {
return md_Alias
2024-07-06 03:02:45 -04:00
}
// Type returns the message type, which encapsulates both Go and protobuf
// type information. If the Go type information is not needed,
// it is recommended that the message descriptor be used instead.
2024-09-18 17:27:30 -04:00
func ( x * fastReflection_Alias ) Type ( ) protoreflect . MessageType {
return _fastReflection_Alias_messageType
2024-07-06 03:02:45 -04:00
}
// New returns a newly allocated and mutable empty message.
2024-09-18 17:27:30 -04:00
func ( x * fastReflection_Alias ) New ( ) protoreflect . Message {
return new ( fastReflection_Alias )
2024-07-06 03:02:45 -04:00
}
// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
2024-09-18 17:27:30 -04:00
func ( x * fastReflection_Alias ) Interface ( ) protoreflect . ProtoMessage {
return ( * Alias ) ( x )
2024-07-06 03:02:45 -04:00
}
// Range iterates over every populated field in an undefined order,
// calling f for each field descriptor and value encountered.
// Range returns immediately if f returns false.
// While iterating, mutating operations may only be performed
// on the current field descriptor.
2024-09-18 17:27:30 -04:00
func ( x * fastReflection_Alias ) Range ( f func ( protoreflect . FieldDescriptor , protoreflect . Value ) bool ) {
2024-07-06 03:02:45 -04:00
if x . Id != "" {
value := protoreflect . ValueOfString ( x . Id )
2024-09-18 17:27:30 -04:00
if ! f ( fd_Alias_id , value ) {
2024-07-23 14:18:15 -04:00
return
}
}
2024-09-19 02:04:22 -04:00
if x . Subject != "" {
value := protoreflect . ValueOfString ( x . Subject )
if ! f ( fd_Alias_subject , value ) {
2024-07-06 03:02:45 -04:00
return
}
}
2024-09-18 17:27:30 -04:00
if x . Origin != "" {
value := protoreflect . ValueOfString ( x . Origin )
if ! f ( fd_Alias_origin , value ) {
Feature/update dockerfile (#6)
* chore: remove unused new.Dockerfile
* feat: add DID model definitions
* fix: Fix EncodePublicKey method in KeyInfo struct
* feat: Update `EncodePublicKey` to be the inverse of `DecodePublicKey`
* refactor: update AssetInfo protobuf definition
* fix: update default assets with correct asset types
* fix: Initialize IPFS client and check for mounted directories
* feat: Improve IPFS client initialization and mount checking
* feat: Add local filesystem check for IPFS and IPNS
* fix: Use Unixfs().Get() instead of Cat() for IPFS and IPNS content retrieval
* feat: Update GetCID and GetIPNS functions to read data from IPFS node
* fix: Ensure IPFS client is initialized before pinning CID
* feat: Add AddFile and AddFolder methods
* feat: add IPFS file system abstraction
* feat: Implement IPFS file, location, and filesystem abstractions
* refactor: remove unused functions and types
* refactor: remove unused FileSystem interface
* feat: add initial wasm entrypoint
* feat: add basic vault command operations
* docs: add vault module features
* test: remove test for MsgUpdateParams
* refactor: Replace PrimaryKey with Property struct in zkprop.go
* feat: Update the `CreateWitness` and `CreateAccumulator` and `VerifyWitness` and `UpdateAccumulator` to Use the new `Accumulator` and `Witness` types. Then Clean up the code in the file and refactor the marshalling methods
* <no value>
* feat: add KeyCurve and KeyType to KeyInfo in genesis
* feat: add WASM build step to devbox.json
* feat: Add zkgate.go file
* feat: Uncomment and modify zkgate code to work with Property struct
* feat: Merge zkgate.go and zkprop.go logic
* feat: implement API endpoints for profile management
* refactor: remove unused template file
* feat(orm): remove unused ORM models
* feat: add persistent SQLite database support in WASM
* fix: Update module names in protobuf files
* feat: Add method to initialize SQLite database
* fix: update go-sqlite3 dependency to version 1.14.23
* feat: introduce database layer
* feat: Implement database layer for Vault node
* feature/update-dockerfile
* feat: Add keyshares table
* fix: Reorder the SQL statements in the tables.go file
* feat: Update the `createCredentialsTable` method to match the proper Credential struct
* feat: Update createProfilesTable and add createPropertiesTable
* feat: Add constant SQL queries to queries.go and use prepared statements in db.go
* feat: Add createKeysharesTable to internal/db/db.go
* feat: Update `createPermissionsTable` to match Permissions struct
* feat: Add database enum types
* feat: Add DIDNamespace and PermissionScope enums
* feat: Add DBConfig and DBOption types
* feat: Update the db implementation to use the provided go library
* fix: update db implementation to use go-sqlite3 v0.18.2
* fix: Refactor database connection and statement handling
* feat: Simplify db.go implementation
* feat: Convert constant SQL queries to functions in queries.go and update db.go to use prepared statements
* feat: Add models.go file with database table structs
* fix: Remove unused statement map and prepare statements
diff --git a/internal/db/db.go b/internal/db/db.go
index 201d09b..d4d4d4e 100644
--- a/internal/db/db.go
+++ b/internal/db/db.go
@@ -32,11 +32,6 @@ func Open(config *DBConfig) (*DB, error) {
Conn: conn,
}
- if err := createTables(db); err != nil {
- conn.Close()
- return nil, fmt.Errorf("failed to create tables: %w", err)
- }
-
return db, nil
}
@@ -61,114 +56,3 @@ func createTables(db *DB) error {
return nil
}
-// AddAccount adds a new account to the database
-func (db *DB) AddAccount(name, address string) error {
- return db.Exec(insertAccountQuery(name, address))
-}
-
-// AddAsset adds a new asset to the database
-func (db *DB) AddAsset(name, symbol string, decimals int, chainID int64) error {
- return db.Exec(insertAssetQuery(name, symbol, decimals, chainID))
-}
-
-// AddChain adds a new chain to the database
-func (db *DB) AddChain(name, networkID string) error {
- return db.Exec(insertChainQuery(name, networkID))
-}
-
-// AddCredential adds a new credential to the database
-func (db *DB) AddCredential(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) error {
- return db.Exec(insertCredentialQuery(
- handle,
- controller,
- attestationType,
- origin,
- credentialID,
- publicKey,
- transport,
- signCount,
- userPresent,
- userVerified,
- backupEligible,
- backupState,
- cloneWarning,
- ))
-}
-
-// AddProfile adds a new profile to the database
-func (db *DB) AddProfile(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) error {
- return db.statements["insertProfile"].Exec(
- id, subject, controller, originURI, publicMetadata, privateMetadata,
- )
-}
-
-// AddProperty adds a new property to the database
-func (db *DB) AddProperty(
- profileID, key, accumulator, propertyKey string,
-) error {
- return db.statements["insertProperty"].Exec(
- profileID, key, accumulator, propertyKey,
- )
-}
-
-// AddPermission adds a new permission to the database
-func (db *DB) AddPermission(
- serviceID string,
- grants []DIDNamespace,
- scopes []PermissionScope,
-) error {
- grantsJSON, err := json.Marshal(grants)
- if err != nil {
- return fmt.Errorf("failed to marshal grants: %w", err)
- }
-
- scopesJSON, err := json.Marshal(scopes)
- if err != nil {
- return fmt.Errorf("failed to marshal scopes: %w", err)
- }
-
- return db.statements["insertPermission"].Exec(
- serviceID, string(grantsJSON), string(scopesJSON),
- )
-}
-
-// GetPermission retrieves the permission for the given service ID
-func (db *DB) GetPermission(serviceID string) ([]DIDNamespace, []PermissionScope, error) {
- row := db.statements["getPermission"].QueryRow(serviceID)
-
- var grantsJSON, scopesJSON string
- if err := row.Scan(&grantsJSON, &scopesJSON); err != nil {
- return nil, nil, fmt.Errorf("failed to get permission: %w", err)
- }
-
- var grants []DIDNamespace
- if err := json.Unmarshal([]byte(grantsJSON), &grants); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal grants: %w", err)
- }
-
- var scopes []PermissionScope
- if err := json.Unmarshal([]byte(scopesJSON), &scopes); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal scopes: %w", err)
- }
-
- return grants, scopes, nil
-}
-
-// Close closes the database connection and finalizes all prepared statements
-func (db *DB) Close() error {
- for _, stmt := range db.statements {
- stmt.Finalize()
- }
- return db.Conn.Close()
-}
diff --git a/internal/db/queries.go b/internal/db/queries.go
index 807d701..e69de29 100644
--- a/internal/db/queries.go
+++ b/internal/db/queries.go
@@ -1,79 +0,0 @@
-package db
-
-import "fmt"
-
-// Account queries
-func insertAccountQuery(name, address string) string {
- return fmt.Sprintf(`INSERT INTO accounts (name, address) VALUES (%s, %s)`, name, address)
-}
-
-// Asset queries
-func insertAssetQuery(name, symbol string, decimals int, chainID int64) string {
- return fmt.Sprintf(
- `INSERT INTO assets (name, symbol, decimals, chain_id) VALUES (%s, %s, %d, %d)`,
- name,
- symbol,
- decimals,
- chainID,
- )
-}
-
-// Chain queries
-func insertChainQuery(name string, networkID string) string {
- return fmt.Sprintf(`INSERT INTO chains (name, network_id) VALUES (%s, %d)`, name, networkID)
-}
-
-// Credential queries
-func insertCredentialQuery(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) string {
- return fmt.Sprintf(`INSERT INTO credentials (
- handle, controller, attestation_type, origin,
- credential_id, public_key, transport, sign_count,
- user_present, user_verified, backup_eligible,
- backup_state, clone_warning
- ) VALUES (%s, %s, %s, %s, %s, %s, %s, %d, %t, %t, %t, %t, %t)`,
- handle, controller, attestationType, origin,
- credentialID, publicKey, transport, signCount,
- userPresent, userVerified, backupEligible,
- backupState, cloneWarning)
-}
-
-// Profile queries
-func insertProfileQuery(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) string {
- return fmt.Sprintf(`INSERT INTO profiles (
- id, subject, controller, origin_uri,
- public_metadata, private_metadata
- ) VALUES (%s, %s, %s, %s, %s, %s)`,
- id, subject, controller, originURI,
- publicMetadata, privateMetadata)
-}
-
-// Property queries
-func insertPropertyQuery(profileID, key, accumulator, propertyKey string) string {
- return fmt.Sprintf(`INSERT INTO properties (
- profile_id, key, accumulator, property_key
- ) VALUES (%s, %s, %s, %s)`,
- profileID, key, accumulator, propertyKey)
-}
-
-// Permission queries
-func insertPermissionQuery(serviceID, grants, scopes string) string {
- return fmt.Sprintf(
- `INSERT INTO permissions (service_id, grants, scopes) VALUES (%s, %s, %s)`,
- serviceID,
- grants,
- scopes,
- )
-}
-
-// GetPermission query
-func getPermissionQuery(serviceID string) string {
- return fmt.Sprintf(`SELECT grants, scopes FROM permissions WHERE service_id = %s`, serviceID)
-}
* fix: update Makefile to use sonrd instead of wasmd
* feat: Add targets for templ and vault in Makefile and use only make in devbox.json
* feat: add SQLite database support
* bump: version 0.6.0 → 0.7.0
* refactor: upgrade actions to latest versions
2024-09-05 01:24:57 -04:00
return
}
}
2024-07-06 03:02:45 -04:00
}
// Has reports whether a field is populated.
//
// Some fields have the property of nullability where it is possible to
// distinguish between the default value of a field and whether the field
// was explicitly populated with the default value. Singular message fields,
// member fields of a oneof, and proto2 scalar fields are nullable. Such
// fields are populated only if explicitly set.
//
// In other cases (aside from the nullable cases above),
// a proto3 scalar field is populated if it contains a non-zero value, and
// a repeated field is populated if it is non-empty.
2024-09-18 17:27:30 -04:00
func ( x * fastReflection_Alias ) Has ( fd protoreflect . FieldDescriptor ) bool {
2024-07-06 03:02:45 -04:00
switch fd . FullName ( ) {
2024-09-18 17:27:30 -04:00
case "did.v1.Alias.id" :
2024-07-06 03:02:45 -04:00
return x . Id != ""
2024-09-19 02:04:22 -04:00
case "did.v1.Alias.subject" :
return x . Subject != ""
2024-09-18 17:27:30 -04:00
case "did.v1.Alias.origin" :
return x . Origin != ""
2024-07-06 03:02:45 -04:00
default :
if fd . IsExtension ( ) {
2024-09-18 17:27:30 -04:00
panic ( fmt . Errorf ( "proto3 declared messages do not support extensions: did.v1.Alias" ) )
2024-07-06 03:02:45 -04:00
}
2024-09-18 17:27:30 -04:00
panic ( fmt . Errorf ( "message did.v1.Alias does not contain field %s" , fd . FullName ( ) ) )
2024-07-06 03:02:45 -04:00
}
}
// Clear clears the field such that a subsequent Has call reports false.
//
// Clearing an extension field clears both the extension type and value
// associated with the given field number.
//
// Clear is a mutating operation and unsafe for concurrent use.
2024-09-18 17:27:30 -04:00
func ( x * fastReflection_Alias ) Clear ( fd protoreflect . FieldDescriptor ) {
2024-07-06 03:02:45 -04:00
switch fd . FullName ( ) {
2024-09-18 17:27:30 -04:00
case "did.v1.Alias.id" :
2024-07-06 03:02:45 -04:00
x . Id = ""
2024-09-19 02:04:22 -04:00
case "did.v1.Alias.subject" :
x . Subject = ""
2024-09-18 17:27:30 -04:00
case "did.v1.Alias.origin" :
x . Origin = ""
2024-07-06 03:02:45 -04:00
default :
if fd . IsExtension ( ) {
2024-09-18 17:27:30 -04:00
panic ( fmt . Errorf ( "proto3 declared messages do not support extensions: did.v1.Alias" ) )
2024-07-06 03:02:45 -04:00
}
2024-09-18 17:27:30 -04:00
panic ( fmt . Errorf ( "message did.v1.Alias does not contain field %s" , fd . FullName ( ) ) )
2024-07-06 03:02:45 -04:00
}
}
// Get retrieves the value for a field.
//
// For unpopulated scalars, it returns the default value, where
// the default value of a bytes scalar is guaranteed to be a copy.
// For unpopulated composite types, it returns an empty, read-only view
// of the value; to obtain a mutable reference, use Mutable.
2024-09-18 17:27:30 -04:00
func ( x * fastReflection_Alias ) Get ( descriptor protoreflect . FieldDescriptor ) protoreflect . Value {
2024-07-06 03:02:45 -04:00
switch descriptor . FullName ( ) {
2024-09-18 17:27:30 -04:00
case "did.v1.Alias.id" :
2024-07-06 03:02:45 -04:00
value := x . Id
return protoreflect . ValueOfString ( value )
2024-09-19 02:04:22 -04:00
case "did.v1.Alias.subject" :
value := x . Subject
2024-09-14 14:59:10 -04:00
return protoreflect . ValueOfString ( value )
2024-09-18 17:27:30 -04:00
case "did.v1.Alias.origin" :
value := x . Origin
2024-09-14 14:59:10 -04:00
return protoreflect . ValueOfString ( value )
2024-07-06 03:02:45 -04:00
default :
if descriptor . IsExtension ( ) {
2024-09-18 17:27:30 -04:00
panic ( fmt . Errorf ( "proto3 declared messages do not support extensions: did.v1.Alias" ) )
2024-07-06 03:02:45 -04:00
}
2024-09-18 17:27:30 -04:00
panic ( fmt . Errorf ( "message did.v1.Alias does not contain field %s" , descriptor . FullName ( ) ) )
2024-07-06 03:02:45 -04:00
}
}
// Set stores the value for a field.
//
// For a field belonging to a oneof, it implicitly clears any other field
// that may be currently set within the same oneof.
// For extension fields, it implicitly stores the provided ExtensionType.
// When setting a composite type, it is unspecified whether the stored value
// aliases the source's memory in any way. If the composite value is an
// empty, read-only value, then it panics.
//
// Set is a mutating operation and unsafe for concurrent use.
2024-09-18 17:27:30 -04:00
func ( x * fastReflection_Alias ) Set ( fd protoreflect . FieldDescriptor , value protoreflect . Value ) {
2024-07-06 03:02:45 -04:00
switch fd . FullName ( ) {
2024-09-18 17:27:30 -04:00
case "did.v1.Alias.id" :
2024-07-06 03:02:45 -04:00
x . Id = value . Interface ( ) . ( string )
2024-09-19 02:04:22 -04:00
case "did.v1.Alias.subject" :
x . Subject = value . Interface ( ) . ( string )
2024-09-18 17:27:30 -04:00
case "did.v1.Alias.origin" :
x . Origin = value . Interface ( ) . ( string )
2024-07-06 03:02:45 -04:00
default :
if fd . IsExtension ( ) {
2024-09-18 17:27:30 -04:00
panic ( fmt . Errorf ( "proto3 declared messages do not support extensions: did.v1.Alias" ) )
2024-07-06 03:02:45 -04:00
}
2024-09-18 17:27:30 -04:00
panic ( fmt . Errorf ( "message did.v1.Alias does not contain field %s" , fd . FullName ( ) ) )
2024-07-06 03:02:45 -04:00
}
}
// Mutable returns a mutable reference to a composite type.
//
// If the field is unpopulated, it may allocate a composite value.
// For a field belonging to a oneof, it implicitly clears any other field
// that may be currently set within the same oneof.
// For extension fields, it implicitly stores the provided ExtensionType
// if not already stored.
// It panics if the field does not contain a composite type.
//
// Mutable is a mutating operation and unsafe for concurrent use.
2024-09-18 17:27:30 -04:00
func ( x * fastReflection_Alias ) Mutable ( fd protoreflect . FieldDescriptor ) protoreflect . Value {
2024-07-06 03:02:45 -04:00
switch fd . FullName ( ) {
2024-09-18 17:27:30 -04:00
case "did.v1.Alias.id" :
panic ( fmt . Errorf ( "field id of message did.v1.Alias is not mutable" ) )
2024-09-19 02:04:22 -04:00
case "did.v1.Alias.subject" :
panic ( fmt . Errorf ( "field subject of message did.v1.Alias is not mutable" ) )
2024-09-18 17:27:30 -04:00
case "did.v1.Alias.origin" :
panic ( fmt . Errorf ( "field origin of message did.v1.Alias is not mutable" ) )
2024-07-06 03:02:45 -04:00
default :
if fd . IsExtension ( ) {
2024-09-18 17:27:30 -04:00
panic ( fmt . Errorf ( "proto3 declared messages do not support extensions: did.v1.Alias" ) )
2024-07-06 03:02:45 -04:00
}
2024-09-18 17:27:30 -04:00
panic ( fmt . Errorf ( "message did.v1.Alias does not contain field %s" , fd . FullName ( ) ) )
2024-07-06 03:02:45 -04:00
}
}
// NewField returns a new value that is assignable to the field
// for the given descriptor. For scalars, this returns the default value.
// For lists, maps, and messages, this returns a new, empty, mutable value.
2024-09-18 17:27:30 -04:00
func ( x * fastReflection_Alias ) NewField ( fd protoreflect . FieldDescriptor ) protoreflect . Value {
2024-07-06 03:02:45 -04:00
switch fd . FullName ( ) {
2024-09-18 17:27:30 -04:00
case "did.v1.Alias.id" :
2024-07-06 03:02:45 -04:00
return protoreflect . ValueOfString ( "" )
2024-09-19 02:04:22 -04:00
case "did.v1.Alias.subject" :
Feature/update dockerfile (#6)
* chore: remove unused new.Dockerfile
* feat: add DID model definitions
* fix: Fix EncodePublicKey method in KeyInfo struct
* feat: Update `EncodePublicKey` to be the inverse of `DecodePublicKey`
* refactor: update AssetInfo protobuf definition
* fix: update default assets with correct asset types
* fix: Initialize IPFS client and check for mounted directories
* feat: Improve IPFS client initialization and mount checking
* feat: Add local filesystem check for IPFS and IPNS
* fix: Use Unixfs().Get() instead of Cat() for IPFS and IPNS content retrieval
* feat: Update GetCID and GetIPNS functions to read data from IPFS node
* fix: Ensure IPFS client is initialized before pinning CID
* feat: Add AddFile and AddFolder methods
* feat: add IPFS file system abstraction
* feat: Implement IPFS file, location, and filesystem abstractions
* refactor: remove unused functions and types
* refactor: remove unused FileSystem interface
* feat: add initial wasm entrypoint
* feat: add basic vault command operations
* docs: add vault module features
* test: remove test for MsgUpdateParams
* refactor: Replace PrimaryKey with Property struct in zkprop.go
* feat: Update the `CreateWitness` and `CreateAccumulator` and `VerifyWitness` and `UpdateAccumulator` to Use the new `Accumulator` and `Witness` types. Then Clean up the code in the file and refactor the marshalling methods
* <no value>
* feat: add KeyCurve and KeyType to KeyInfo in genesis
* feat: add WASM build step to devbox.json
* feat: Add zkgate.go file
* feat: Uncomment and modify zkgate code to work with Property struct
* feat: Merge zkgate.go and zkprop.go logic
* feat: implement API endpoints for profile management
* refactor: remove unused template file
* feat(orm): remove unused ORM models
* feat: add persistent SQLite database support in WASM
* fix: Update module names in protobuf files
* feat: Add method to initialize SQLite database
* fix: update go-sqlite3 dependency to version 1.14.23
* feat: introduce database layer
* feat: Implement database layer for Vault node
* feature/update-dockerfile
* feat: Add keyshares table
* fix: Reorder the SQL statements in the tables.go file
* feat: Update the `createCredentialsTable` method to match the proper Credential struct
* feat: Update createProfilesTable and add createPropertiesTable
* feat: Add constant SQL queries to queries.go and use prepared statements in db.go
* feat: Add createKeysharesTable to internal/db/db.go
* feat: Update `createPermissionsTable` to match Permissions struct
* feat: Add database enum types
* feat: Add DIDNamespace and PermissionScope enums
* feat: Add DBConfig and DBOption types
* feat: Update the db implementation to use the provided go library
* fix: update db implementation to use go-sqlite3 v0.18.2
* fix: Refactor database connection and statement handling
* feat: Simplify db.go implementation
* feat: Convert constant SQL queries to functions in queries.go and update db.go to use prepared statements
* feat: Add models.go file with database table structs
* fix: Remove unused statement map and prepare statements
diff --git a/internal/db/db.go b/internal/db/db.go
index 201d09b..d4d4d4e 100644
--- a/internal/db/db.go
+++ b/internal/db/db.go
@@ -32,11 +32,6 @@ func Open(config *DBConfig) (*DB, error) {
Conn: conn,
}
- if err := createTables(db); err != nil {
- conn.Close()
- return nil, fmt.Errorf("failed to create tables: %w", err)
- }
-
return db, nil
}
@@ -61,114 +56,3 @@ func createTables(db *DB) error {
return nil
}
-// AddAccount adds a new account to the database
-func (db *DB) AddAccount(name, address string) error {
- return db.Exec(insertAccountQuery(name, address))
-}
-
-// AddAsset adds a new asset to the database
-func (db *DB) AddAsset(name, symbol string, decimals int, chainID int64) error {
- return db.Exec(insertAssetQuery(name, symbol, decimals, chainID))
-}
-
-// AddChain adds a new chain to the database
-func (db *DB) AddChain(name, networkID string) error {
- return db.Exec(insertChainQuery(name, networkID))
-}
-
-// AddCredential adds a new credential to the database
-func (db *DB) AddCredential(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) error {
- return db.Exec(insertCredentialQuery(
- handle,
- controller,
- attestationType,
- origin,
- credentialID,
- publicKey,
- transport,
- signCount,
- userPresent,
- userVerified,
- backupEligible,
- backupState,
- cloneWarning,
- ))
-}
-
-// AddProfile adds a new profile to the database
-func (db *DB) AddProfile(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) error {
- return db.statements["insertProfile"].Exec(
- id, subject, controller, originURI, publicMetadata, privateMetadata,
- )
-}
-
-// AddProperty adds a new property to the database
-func (db *DB) AddProperty(
- profileID, key, accumulator, propertyKey string,
-) error {
- return db.statements["insertProperty"].Exec(
- profileID, key, accumulator, propertyKey,
- )
-}
-
-// AddPermission adds a new permission to the database
-func (db *DB) AddPermission(
- serviceID string,
- grants []DIDNamespace,
- scopes []PermissionScope,
-) error {
- grantsJSON, err := json.Marshal(grants)
- if err != nil {
- return fmt.Errorf("failed to marshal grants: %w", err)
- }
-
- scopesJSON, err := json.Marshal(scopes)
- if err != nil {
- return fmt.Errorf("failed to marshal scopes: %w", err)
- }
-
- return db.statements["insertPermission"].Exec(
- serviceID, string(grantsJSON), string(scopesJSON),
- )
-}
-
-// GetPermission retrieves the permission for the given service ID
-func (db *DB) GetPermission(serviceID string) ([]DIDNamespace, []PermissionScope, error) {
- row := db.statements["getPermission"].QueryRow(serviceID)
-
- var grantsJSON, scopesJSON string
- if err := row.Scan(&grantsJSON, &scopesJSON); err != nil {
- return nil, nil, fmt.Errorf("failed to get permission: %w", err)
- }
-
- var grants []DIDNamespace
- if err := json.Unmarshal([]byte(grantsJSON), &grants); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal grants: %w", err)
- }
-
- var scopes []PermissionScope
- if err := json.Unmarshal([]byte(scopesJSON), &scopes); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal scopes: %w", err)
- }
-
- return grants, scopes, nil
-}
-
-// Close closes the database connection and finalizes all prepared statements
-func (db *DB) Close() error {
- for _, stmt := range db.statements {
- stmt.Finalize()
- }
- return db.Conn.Close()
-}
diff --git a/internal/db/queries.go b/internal/db/queries.go
index 807d701..e69de29 100644
--- a/internal/db/queries.go
+++ b/internal/db/queries.go
@@ -1,79 +0,0 @@
-package db
-
-import "fmt"
-
-// Account queries
-func insertAccountQuery(name, address string) string {
- return fmt.Sprintf(`INSERT INTO accounts (name, address) VALUES (%s, %s)`, name, address)
-}
-
-// Asset queries
-func insertAssetQuery(name, symbol string, decimals int, chainID int64) string {
- return fmt.Sprintf(
- `INSERT INTO assets (name, symbol, decimals, chain_id) VALUES (%s, %s, %d, %d)`,
- name,
- symbol,
- decimals,
- chainID,
- )
-}
-
-// Chain queries
-func insertChainQuery(name string, networkID string) string {
- return fmt.Sprintf(`INSERT INTO chains (name, network_id) VALUES (%s, %d)`, name, networkID)
-}
-
-// Credential queries
-func insertCredentialQuery(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) string {
- return fmt.Sprintf(`INSERT INTO credentials (
- handle, controller, attestation_type, origin,
- credential_id, public_key, transport, sign_count,
- user_present, user_verified, backup_eligible,
- backup_state, clone_warning
- ) VALUES (%s, %s, %s, %s, %s, %s, %s, %d, %t, %t, %t, %t, %t)`,
- handle, controller, attestationType, origin,
- credentialID, publicKey, transport, signCount,
- userPresent, userVerified, backupEligible,
- backupState, cloneWarning)
-}
-
-// Profile queries
-func insertProfileQuery(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) string {
- return fmt.Sprintf(`INSERT INTO profiles (
- id, subject, controller, origin_uri,
- public_metadata, private_metadata
- ) VALUES (%s, %s, %s, %s, %s, %s)`,
- id, subject, controller, originURI,
- publicMetadata, privateMetadata)
-}
-
-// Property queries
-func insertPropertyQuery(profileID, key, accumulator, propertyKey string) string {
- return fmt.Sprintf(`INSERT INTO properties (
- profile_id, key, accumulator, property_key
- ) VALUES (%s, %s, %s, %s)`,
- profileID, key, accumulator, propertyKey)
-}
-
-// Permission queries
-func insertPermissionQuery(serviceID, grants, scopes string) string {
- return fmt.Sprintf(
- `INSERT INTO permissions (service_id, grants, scopes) VALUES (%s, %s, %s)`,
- serviceID,
- grants,
- scopes,
- )
-}
-
-// GetPermission query
-func getPermissionQuery(serviceID string) string {
- return fmt.Sprintf(`SELECT grants, scopes FROM permissions WHERE service_id = %s`, serviceID)
-}
* fix: update Makefile to use sonrd instead of wasmd
* feat: Add targets for templ and vault in Makefile and use only make in devbox.json
* feat: add SQLite database support
* bump: version 0.6.0 → 0.7.0
* refactor: upgrade actions to latest versions
2024-09-05 01:24:57 -04:00
return protoreflect . ValueOfString ( "" )
2024-09-18 17:27:30 -04:00
case "did.v1.Alias.origin" :
2024-09-14 14:59:10 -04:00
return protoreflect . ValueOfString ( "" )
2024-07-06 03:02:45 -04:00
default :
if fd . IsExtension ( ) {
2024-09-18 17:27:30 -04:00
panic ( fmt . Errorf ( "proto3 declared messages do not support extensions: did.v1.Alias" ) )
2024-07-06 03:02:45 -04:00
}
2024-09-18 17:27:30 -04:00
panic ( fmt . Errorf ( "message did.v1.Alias does not contain field %s" , fd . FullName ( ) ) )
2024-07-06 03:02:45 -04:00
}
}
// WhichOneof reports which field within the oneof is populated,
// returning nil if none are populated.
// It panics if the oneof descriptor does not belong to this message.
2024-09-18 17:27:30 -04:00
func ( x * fastReflection_Alias ) WhichOneof ( d protoreflect . OneofDescriptor ) protoreflect . FieldDescriptor {
2024-07-06 03:02:45 -04:00
switch d . FullName ( ) {
default :
2024-09-18 17:27:30 -04:00
panic ( fmt . Errorf ( "%s is not a oneof field in did.v1.Alias" , d . FullName ( ) ) )
2024-07-06 03:02:45 -04:00
}
panic ( "unreachable" )
}
// GetUnknown retrieves the entire list of unknown fields.
// The caller may only mutate the contents of the RawFields
// if the mutated bytes are stored back into the message with SetUnknown.
2024-09-18 17:27:30 -04:00
func ( x * fastReflection_Alias ) GetUnknown ( ) protoreflect . RawFields {
2024-07-06 03:02:45 -04:00
return x . unknownFields
}
// SetUnknown stores an entire list of unknown fields.
// The raw fields must be syntactically valid according to the wire format.
// An implementation may panic if this is not the case.
// Once stored, the caller must not mutate the content of the RawFields.
// An empty RawFields may be passed to clear the fields.
//
// SetUnknown is a mutating operation and unsafe for concurrent use.
2024-09-18 17:27:30 -04:00
func ( x * fastReflection_Alias ) SetUnknown ( fields protoreflect . RawFields ) {
2024-07-06 03:02:45 -04:00
x . unknownFields = fields
}
// IsValid reports whether the message is valid.
//
// An invalid message is an empty, read-only value.
//
// An invalid message often corresponds to a nil pointer of the concrete
// message type, but the details are implementation dependent.
// Validity is not part of the protobuf data model, and may not
// be preserved in marshaling or other operations.
2024-09-18 17:27:30 -04:00
func ( x * fastReflection_Alias ) IsValid ( ) bool {
2024-07-06 03:02:45 -04:00
return x != nil
}
// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
// This method may return nil.
//
// The returned methods type is identical to
// "google.golang.org/protobuf/runtime/protoiface".Methods.
// Consult the protoiface package documentation for details.
2024-09-18 17:27:30 -04:00
func ( x * fastReflection_Alias ) ProtoMethods ( ) * protoiface . Methods {
2024-07-06 03:02:45 -04:00
size := func ( input protoiface . SizeInput ) protoiface . SizeOutput {
2024-09-18 17:27:30 -04:00
x := input . Message . Interface ( ) . ( * Alias )
2024-07-06 03:02:45 -04:00
if x == nil {
return protoiface . SizeOutput {
NoUnkeyedLiterals : input . NoUnkeyedLiterals ,
Size : 0 ,
}
}
options := runtime . SizeInputToOptions ( input )
_ = options
var n int
var l int
_ = l
l = len ( x . Id )
if l > 0 {
n += 1 + l + runtime . Sov ( uint64 ( l ) )
}
2024-09-19 02:04:22 -04:00
l = len ( x . Subject )
2024-07-06 03:02:45 -04:00
if l > 0 {
n += 1 + l + runtime . Sov ( uint64 ( l ) )
}
2024-09-18 17:27:30 -04:00
l = len ( x . Origin )
Feature/update dockerfile (#6)
* chore: remove unused new.Dockerfile
* feat: add DID model definitions
* fix: Fix EncodePublicKey method in KeyInfo struct
* feat: Update `EncodePublicKey` to be the inverse of `DecodePublicKey`
* refactor: update AssetInfo protobuf definition
* fix: update default assets with correct asset types
* fix: Initialize IPFS client and check for mounted directories
* feat: Improve IPFS client initialization and mount checking
* feat: Add local filesystem check for IPFS and IPNS
* fix: Use Unixfs().Get() instead of Cat() for IPFS and IPNS content retrieval
* feat: Update GetCID and GetIPNS functions to read data from IPFS node
* fix: Ensure IPFS client is initialized before pinning CID
* feat: Add AddFile and AddFolder methods
* feat: add IPFS file system abstraction
* feat: Implement IPFS file, location, and filesystem abstractions
* refactor: remove unused functions and types
* refactor: remove unused FileSystem interface
* feat: add initial wasm entrypoint
* feat: add basic vault command operations
* docs: add vault module features
* test: remove test for MsgUpdateParams
* refactor: Replace PrimaryKey with Property struct in zkprop.go
* feat: Update the `CreateWitness` and `CreateAccumulator` and `VerifyWitness` and `UpdateAccumulator` to Use the new `Accumulator` and `Witness` types. Then Clean up the code in the file and refactor the marshalling methods
* <no value>
* feat: add KeyCurve and KeyType to KeyInfo in genesis
* feat: add WASM build step to devbox.json
* feat: Add zkgate.go file
* feat: Uncomment and modify zkgate code to work with Property struct
* feat: Merge zkgate.go and zkprop.go logic
* feat: implement API endpoints for profile management
* refactor: remove unused template file
* feat(orm): remove unused ORM models
* feat: add persistent SQLite database support in WASM
* fix: Update module names in protobuf files
* feat: Add method to initialize SQLite database
* fix: update go-sqlite3 dependency to version 1.14.23
* feat: introduce database layer
* feat: Implement database layer for Vault node
* feature/update-dockerfile
* feat: Add keyshares table
* fix: Reorder the SQL statements in the tables.go file
* feat: Update the `createCredentialsTable` method to match the proper Credential struct
* feat: Update createProfilesTable and add createPropertiesTable
* feat: Add constant SQL queries to queries.go and use prepared statements in db.go
* feat: Add createKeysharesTable to internal/db/db.go
* feat: Update `createPermissionsTable` to match Permissions struct
* feat: Add database enum types
* feat: Add DIDNamespace and PermissionScope enums
* feat: Add DBConfig and DBOption types
* feat: Update the db implementation to use the provided go library
* fix: update db implementation to use go-sqlite3 v0.18.2
* fix: Refactor database connection and statement handling
* feat: Simplify db.go implementation
* feat: Convert constant SQL queries to functions in queries.go and update db.go to use prepared statements
* feat: Add models.go file with database table structs
* fix: Remove unused statement map and prepare statements
diff --git a/internal/db/db.go b/internal/db/db.go
index 201d09b..d4d4d4e 100644
--- a/internal/db/db.go
+++ b/internal/db/db.go
@@ -32,11 +32,6 @@ func Open(config *DBConfig) (*DB, error) {
Conn: conn,
}
- if err := createTables(db); err != nil {
- conn.Close()
- return nil, fmt.Errorf("failed to create tables: %w", err)
- }
-
return db, nil
}
@@ -61,114 +56,3 @@ func createTables(db *DB) error {
return nil
}
-// AddAccount adds a new account to the database
-func (db *DB) AddAccount(name, address string) error {
- return db.Exec(insertAccountQuery(name, address))
-}
-
-// AddAsset adds a new asset to the database
-func (db *DB) AddAsset(name, symbol string, decimals int, chainID int64) error {
- return db.Exec(insertAssetQuery(name, symbol, decimals, chainID))
-}
-
-// AddChain adds a new chain to the database
-func (db *DB) AddChain(name, networkID string) error {
- return db.Exec(insertChainQuery(name, networkID))
-}
-
-// AddCredential adds a new credential to the database
-func (db *DB) AddCredential(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) error {
- return db.Exec(insertCredentialQuery(
- handle,
- controller,
- attestationType,
- origin,
- credentialID,
- publicKey,
- transport,
- signCount,
- userPresent,
- userVerified,
- backupEligible,
- backupState,
- cloneWarning,
- ))
-}
-
-// AddProfile adds a new profile to the database
-func (db *DB) AddProfile(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) error {
- return db.statements["insertProfile"].Exec(
- id, subject, controller, originURI, publicMetadata, privateMetadata,
- )
-}
-
-// AddProperty adds a new property to the database
-func (db *DB) AddProperty(
- profileID, key, accumulator, propertyKey string,
-) error {
- return db.statements["insertProperty"].Exec(
- profileID, key, accumulator, propertyKey,
- )
-}
-
-// AddPermission adds a new permission to the database
-func (db *DB) AddPermission(
- serviceID string,
- grants []DIDNamespace,
- scopes []PermissionScope,
-) error {
- grantsJSON, err := json.Marshal(grants)
- if err != nil {
- return fmt.Errorf("failed to marshal grants: %w", err)
- }
-
- scopesJSON, err := json.Marshal(scopes)
- if err != nil {
- return fmt.Errorf("failed to marshal scopes: %w", err)
- }
-
- return db.statements["insertPermission"].Exec(
- serviceID, string(grantsJSON), string(scopesJSON),
- )
-}
-
-// GetPermission retrieves the permission for the given service ID
-func (db *DB) GetPermission(serviceID string) ([]DIDNamespace, []PermissionScope, error) {
- row := db.statements["getPermission"].QueryRow(serviceID)
-
- var grantsJSON, scopesJSON string
- if err := row.Scan(&grantsJSON, &scopesJSON); err != nil {
- return nil, nil, fmt.Errorf("failed to get permission: %w", err)
- }
-
- var grants []DIDNamespace
- if err := json.Unmarshal([]byte(grantsJSON), &grants); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal grants: %w", err)
- }
-
- var scopes []PermissionScope
- if err := json.Unmarshal([]byte(scopesJSON), &scopes); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal scopes: %w", err)
- }
-
- return grants, scopes, nil
-}
-
-// Close closes the database connection and finalizes all prepared statements
-func (db *DB) Close() error {
- for _, stmt := range db.statements {
- stmt.Finalize()
- }
- return db.Conn.Close()
-}
diff --git a/internal/db/queries.go b/internal/db/queries.go
index 807d701..e69de29 100644
--- a/internal/db/queries.go
+++ b/internal/db/queries.go
@@ -1,79 +0,0 @@
-package db
-
-import "fmt"
-
-// Account queries
-func insertAccountQuery(name, address string) string {
- return fmt.Sprintf(`INSERT INTO accounts (name, address) VALUES (%s, %s)`, name, address)
-}
-
-// Asset queries
-func insertAssetQuery(name, symbol string, decimals int, chainID int64) string {
- return fmt.Sprintf(
- `INSERT INTO assets (name, symbol, decimals, chain_id) VALUES (%s, %s, %d, %d)`,
- name,
- symbol,
- decimals,
- chainID,
- )
-}
-
-// Chain queries
-func insertChainQuery(name string, networkID string) string {
- return fmt.Sprintf(`INSERT INTO chains (name, network_id) VALUES (%s, %d)`, name, networkID)
-}
-
-// Credential queries
-func insertCredentialQuery(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) string {
- return fmt.Sprintf(`INSERT INTO credentials (
- handle, controller, attestation_type, origin,
- credential_id, public_key, transport, sign_count,
- user_present, user_verified, backup_eligible,
- backup_state, clone_warning
- ) VALUES (%s, %s, %s, %s, %s, %s, %s, %d, %t, %t, %t, %t, %t)`,
- handle, controller, attestationType, origin,
- credentialID, publicKey, transport, signCount,
- userPresent, userVerified, backupEligible,
- backupState, cloneWarning)
-}
-
-// Profile queries
-func insertProfileQuery(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) string {
- return fmt.Sprintf(`INSERT INTO profiles (
- id, subject, controller, origin_uri,
- public_metadata, private_metadata
- ) VALUES (%s, %s, %s, %s, %s, %s)`,
- id, subject, controller, originURI,
- publicMetadata, privateMetadata)
-}
-
-// Property queries
-func insertPropertyQuery(profileID, key, accumulator, propertyKey string) string {
- return fmt.Sprintf(`INSERT INTO properties (
- profile_id, key, accumulator, property_key
- ) VALUES (%s, %s, %s, %s)`,
- profileID, key, accumulator, propertyKey)
-}
-
-// Permission queries
-func insertPermissionQuery(serviceID, grants, scopes string) string {
- return fmt.Sprintf(
- `INSERT INTO permissions (service_id, grants, scopes) VALUES (%s, %s, %s)`,
- serviceID,
- grants,
- scopes,
- )
-}
-
-// GetPermission query
-func getPermissionQuery(serviceID string) string {
- return fmt.Sprintf(`SELECT grants, scopes FROM permissions WHERE service_id = %s`, serviceID)
-}
* fix: update Makefile to use sonrd instead of wasmd
* feat: Add targets for templ and vault in Makefile and use only make in devbox.json
* feat: add SQLite database support
* bump: version 0.6.0 → 0.7.0
* refactor: upgrade actions to latest versions
2024-09-05 01:24:57 -04:00
if l > 0 {
n += 1 + l + runtime . Sov ( uint64 ( l ) )
}
2024-07-06 03:02:45 -04:00
if x . unknownFields != nil {
n += len ( x . unknownFields )
}
return protoiface . SizeOutput {
NoUnkeyedLiterals : input . NoUnkeyedLiterals ,
Size : n ,
}
}
marshal := func ( input protoiface . MarshalInput ) ( protoiface . MarshalOutput , error ) {
2024-09-18 17:27:30 -04:00
x := input . Message . Interface ( ) . ( * Alias )
2024-07-06 03:02:45 -04:00
if x == nil {
return protoiface . MarshalOutput {
NoUnkeyedLiterals : input . NoUnkeyedLiterals ,
Buf : input . Buf ,
} , nil
}
options := runtime . MarshalInputToOptions ( input )
_ = options
size := options . Size ( x )
dAtA := make ( [ ] byte , size )
i := len ( dAtA )
_ = i
var l int
_ = l
if x . unknownFields != nil {
i -= len ( x . unknownFields )
copy ( dAtA [ i : ] , x . unknownFields )
}
2024-09-18 17:27:30 -04:00
if len ( x . Origin ) > 0 {
i -= len ( x . Origin )
copy ( dAtA [ i : ] , x . Origin )
i = runtime . EncodeVarint ( dAtA , i , uint64 ( len ( x . Origin ) ) )
2024-07-06 03:02:45 -04:00
i --
2024-07-23 14:18:15 -04:00
dAtA [ i ] = 0x1a
}
2024-09-19 02:04:22 -04:00
if len ( x . Subject ) > 0 {
i -= len ( x . Subject )
copy ( dAtA [ i : ] , x . Subject )
i = runtime . EncodeVarint ( dAtA , i , uint64 ( len ( x . Subject ) ) )
2024-07-23 14:18:15 -04:00
i --
2024-07-06 03:02:45 -04:00
dAtA [ i ] = 0x12
}
if len ( x . Id ) > 0 {
i -= len ( x . Id )
copy ( dAtA [ i : ] , x . Id )
i = runtime . EncodeVarint ( dAtA , i , uint64 ( len ( x . Id ) ) )
i --
dAtA [ i ] = 0xa
}
if input . Buf != nil {
input . Buf = append ( input . Buf , dAtA ... )
} else {
input . Buf = dAtA
}
return protoiface . MarshalOutput {
NoUnkeyedLiterals : input . NoUnkeyedLiterals ,
Buf : input . Buf ,
} , nil
}
unmarshal := func ( input protoiface . UnmarshalInput ) ( protoiface . UnmarshalOutput , error ) {
2024-09-18 17:27:30 -04:00
x := input . Message . Interface ( ) . ( * Alias )
2024-07-06 03:02:45 -04:00
if x == nil {
return protoiface . UnmarshalOutput {
NoUnkeyedLiterals : input . NoUnkeyedLiterals ,
Flags : input . Flags ,
} , nil
}
options := runtime . UnmarshalInputToOptions ( input )
_ = options
dAtA := input . Buf
l := len ( dAtA )
iNdEx := 0
for iNdEx < l {
preIndex := iNdEx
var wire uint64
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrIntOverflow
}
if iNdEx >= l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
wire |= uint64 ( b & 0x7F ) << shift
if b < 0x80 {
break
}
}
fieldNum := int32 ( wire >> 3 )
wireType := int ( wire & 0x7 )
if wireType == 4 {
2024-09-18 17:27:30 -04:00
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , fmt . Errorf ( "proto: Alias: wiretype end group for non-group" )
2024-07-06 03:02:45 -04:00
}
if fieldNum <= 0 {
2024-09-18 17:27:30 -04:00
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , fmt . Errorf ( "proto: Alias: illegal tag %d (wire type %d)" , fieldNum , wire )
2024-07-06 03:02:45 -04:00
}
switch fieldNum {
case 1 :
if wireType != 2 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , fmt . Errorf ( "proto: wrong wireType = %d for field Id" , wireType )
}
var stringLen uint64
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrIntOverflow
}
if iNdEx >= l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
stringLen |= uint64 ( b & 0x7F ) << shift
if b < 0x80 {
break
}
}
intStringLen := int ( stringLen )
if intStringLen < 0 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
if postIndex > l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
x . Id = string ( dAtA [ iNdEx : postIndex ] )
iNdEx = postIndex
case 2 :
2024-07-23 14:18:15 -04:00
if wireType != 2 {
2024-09-19 02:04:22 -04:00
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , fmt . Errorf ( "proto: wrong wireType = %d for field Subject" , wireType )
2024-07-23 14:18:15 -04:00
}
var stringLen uint64
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrIntOverflow
}
if iNdEx >= l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
stringLen |= uint64 ( b & 0x7F ) << shift
if b < 0x80 {
break
}
}
intStringLen := int ( stringLen )
if intStringLen < 0 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
if postIndex > l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
2024-09-19 02:04:22 -04:00
x . Subject = string ( dAtA [ iNdEx : postIndex ] )
2024-07-23 14:18:15 -04:00
iNdEx = postIndex
case 3 :
2024-07-06 03:02:45 -04:00
if wireType != 2 {
2024-09-18 17:27:30 -04:00
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , fmt . Errorf ( "proto: wrong wireType = %d for field Origin" , wireType )
2024-07-06 03:02:45 -04:00
}
var stringLen uint64
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrIntOverflow
}
if iNdEx >= l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
stringLen |= uint64 ( b & 0x7F ) << shift
if b < 0x80 {
break
}
}
intStringLen := int ( stringLen )
if intStringLen < 0 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
if postIndex > l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
2024-09-18 17:27:30 -04:00
x . Origin = string ( dAtA [ iNdEx : postIndex ] )
2024-07-06 03:02:45 -04:00
iNdEx = postIndex
default :
iNdEx = preIndex
skippy , err := runtime . Skip ( dAtA [ iNdEx : ] )
if err != nil {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , err
}
if ( skippy < 0 ) || ( iNdEx + skippy ) < 0 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
if ( iNdEx + skippy ) > l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
if ! options . DiscardUnknown {
x . unknownFields = append ( x . unknownFields , dAtA [ iNdEx : iNdEx + skippy ] ... )
}
iNdEx += skippy
}
}
if iNdEx > l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , nil
}
return & protoiface . Methods {
NoUnkeyedLiterals : struct { } { } ,
Flags : protoiface . SupportMarshalDeterministic | protoiface . SupportUnmarshalDiscardUnknown ,
Size : size ,
Marshal : marshal ,
Unmarshal : unmarshal ,
Merge : nil ,
CheckInitialized : nil ,
}
}
2024-07-05 22:20:13 -04:00
var (
2024-09-25 19:45:28 -04:00
md_Controller protoreflect . MessageDescriptor
fd_Controller_number protoreflect . FieldDescriptor
fd_Controller_did protoreflect . FieldDescriptor
fd_Controller_sonr_address protoreflect . FieldDescriptor
fd_Controller_eth_address protoreflect . FieldDescriptor
fd_Controller_btc_address protoreflect . FieldDescriptor
fd_Controller_public_key protoreflect . FieldDescriptor
fd_Controller_ks_val protoreflect . FieldDescriptor
fd_Controller_claimed protoreflect . FieldDescriptor
2024-07-05 22:20:13 -04:00
)
func init ( ) {
file_did_v1_state_proto_init ( )
2024-09-11 15:10:54 -04:00
md_Controller = File_did_v1_state_proto . Messages ( ) . ByName ( "Controller" )
2024-09-25 19:45:28 -04:00
fd_Controller_number = md_Controller . Fields ( ) . ByName ( "number" )
fd_Controller_did = md_Controller . Fields ( ) . ByName ( "did" )
2024-09-19 02:04:22 -04:00
fd_Controller_sonr_address = md_Controller . Fields ( ) . ByName ( "sonr_address" )
fd_Controller_eth_address = md_Controller . Fields ( ) . ByName ( "eth_address" )
fd_Controller_btc_address = md_Controller . Fields ( ) . ByName ( "btc_address" )
2024-09-11 15:10:54 -04:00
fd_Controller_public_key = md_Controller . Fields ( ) . ByName ( "public_key" )
2024-09-25 19:45:28 -04:00
fd_Controller_ks_val = md_Controller . Fields ( ) . ByName ( "ks_val" )
fd_Controller_claimed = md_Controller . Fields ( ) . ByName ( "claimed" )
2024-07-05 22:20:13 -04:00
}
2024-09-11 15:10:54 -04:00
var _ protoreflect . Message = ( * fastReflection_Controller ) ( nil )
2024-07-05 22:20:13 -04:00
2024-09-11 15:10:54 -04:00
type fastReflection_Controller Controller
2024-07-05 22:20:13 -04:00
2024-09-11 15:10:54 -04:00
func ( x * Controller ) ProtoReflect ( ) protoreflect . Message {
return ( * fastReflection_Controller ) ( x )
2024-07-05 22:20:13 -04:00
}
2024-09-11 15:10:54 -04:00
func ( x * Controller ) slowProtoReflect ( ) protoreflect . Message {
2024-08-31 16:54:16 -04:00
mi := & file_did_v1_state_proto_msgTypes [ 1 ]
2024-07-05 22:20:13 -04:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
}
2024-09-11 15:10:54 -04:00
var _fastReflection_Controller_messageType fastReflection_Controller_messageType
var _ protoreflect . MessageType = fastReflection_Controller_messageType { }
2024-07-05 22:20:13 -04:00
2024-09-11 15:10:54 -04:00
type fastReflection_Controller_messageType struct { }
2024-07-05 22:20:13 -04:00
2024-09-11 15:10:54 -04:00
func ( x fastReflection_Controller_messageType ) Zero ( ) protoreflect . Message {
return ( * fastReflection_Controller ) ( nil )
2024-07-05 22:20:13 -04:00
}
2024-09-11 15:10:54 -04:00
func ( x fastReflection_Controller_messageType ) New ( ) protoreflect . Message {
return new ( fastReflection_Controller )
2024-07-05 22:20:13 -04:00
}
2024-09-11 15:10:54 -04:00
func ( x fastReflection_Controller_messageType ) Descriptor ( ) protoreflect . MessageDescriptor {
return md_Controller
2024-07-05 22:20:13 -04:00
}
// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
2024-09-11 15:10:54 -04:00
func ( x * fastReflection_Controller ) Descriptor ( ) protoreflect . MessageDescriptor {
return md_Controller
2024-07-05 22:20:13 -04:00
}
// Type returns the message type, which encapsulates both Go and protobuf
// type information. If the Go type information is not needed,
// it is recommended that the message descriptor be used instead.
2024-09-11 15:10:54 -04:00
func ( x * fastReflection_Controller ) Type ( ) protoreflect . MessageType {
return _fastReflection_Controller_messageType
2024-07-05 22:20:13 -04:00
}
// New returns a newly allocated and mutable empty message.
2024-09-11 15:10:54 -04:00
func ( x * fastReflection_Controller ) New ( ) protoreflect . Message {
return new ( fastReflection_Controller )
2024-07-05 22:20:13 -04:00
}
// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
2024-09-11 15:10:54 -04:00
func ( x * fastReflection_Controller ) Interface ( ) protoreflect . ProtoMessage {
return ( * Controller ) ( x )
2024-07-05 22:20:13 -04:00
}
// Range iterates over every populated field in an undefined order,
// calling f for each field descriptor and value encountered.
// Range returns immediately if f returns false.
// While iterating, mutating operations may only be performed
// on the current field descriptor.
2024-09-11 15:10:54 -04:00
func ( x * fastReflection_Controller ) Range ( f func ( protoreflect . FieldDescriptor , protoreflect . Value ) bool ) {
2024-09-25 19:45:28 -04:00
if x . Number != uint64 ( 0 ) {
value := protoreflect . ValueOfUint64 ( x . Number )
if ! f ( fd_Controller_number , value ) {
return
}
}
if x . Did != "" {
value := protoreflect . ValueOfString ( x . Did )
if ! f ( fd_Controller_did , value ) {
2024-07-05 22:20:13 -04:00
return
}
}
2024-09-19 02:04:22 -04:00
if x . SonrAddress != "" {
value := protoreflect . ValueOfString ( x . SonrAddress )
if ! f ( fd_Controller_sonr_address , value ) {
return
}
}
if x . EthAddress != "" {
value := protoreflect . ValueOfString ( x . EthAddress )
if ! f ( fd_Controller_eth_address , value ) {
return
}
}
if x . BtcAddress != "" {
value := protoreflect . ValueOfString ( x . BtcAddress )
if ! f ( fd_Controller_btc_address , value ) {
2024-07-05 22:20:13 -04:00
return
}
}
2024-09-25 19:45:28 -04:00
if len ( x . PublicKey ) != 0 {
value := protoreflect . ValueOfBytes ( x . PublicKey )
2024-09-11 15:10:54 -04:00
if ! f ( fd_Controller_public_key , value ) {
2024-08-31 16:54:16 -04:00
return
}
}
2024-09-25 19:45:28 -04:00
if x . KsVal != "" {
value := protoreflect . ValueOfString ( x . KsVal )
if ! f ( fd_Controller_ks_val , value ) {
2024-07-05 22:20:13 -04:00
return
}
}
2024-09-25 19:45:28 -04:00
if x . Claimed != false {
value := protoreflect . ValueOfBool ( x . Claimed )
if ! f ( fd_Controller_claimed , value ) {
2024-09-18 17:27:30 -04:00
return
}
}
2024-07-05 22:20:13 -04:00
}
// Has reports whether a field is populated.
//
// Some fields have the property of nullability where it is possible to
// distinguish between the default value of a field and whether the field
// was explicitly populated with the default value. Singular message fields,
// member fields of a oneof, and proto2 scalar fields are nullable. Such
// fields are populated only if explicitly set.
//
// In other cases (aside from the nullable cases above),
// a proto3 scalar field is populated if it contains a non-zero value, and
// a repeated field is populated if it is non-empty.
2024-09-11 15:10:54 -04:00
func ( x * fastReflection_Controller ) Has ( fd protoreflect . FieldDescriptor ) bool {
2024-07-05 22:20:13 -04:00
switch fd . FullName ( ) {
2024-09-25 19:45:28 -04:00
case "did.v1.Controller.number" :
return x . Number != uint64 ( 0 )
case "did.v1.Controller.did" :
return x . Did != ""
2024-09-19 02:04:22 -04:00
case "did.v1.Controller.sonr_address" :
return x . SonrAddress != ""
case "did.v1.Controller.eth_address" :
return x . EthAddress != ""
case "did.v1.Controller.btc_address" :
return x . BtcAddress != ""
2024-09-11 15:10:54 -04:00
case "did.v1.Controller.public_key" :
2024-09-25 19:45:28 -04:00
return len ( x . PublicKey ) != 0
case "did.v1.Controller.ks_val" :
return x . KsVal != ""
case "did.v1.Controller.claimed" :
return x . Claimed != false
2024-07-05 22:20:13 -04:00
default :
if fd . IsExtension ( ) {
2024-09-11 15:10:54 -04:00
panic ( fmt . Errorf ( "proto3 declared messages do not support extensions: did.v1.Controller" ) )
2024-07-05 22:20:13 -04:00
}
2024-09-11 15:10:54 -04:00
panic ( fmt . Errorf ( "message did.v1.Controller does not contain field %s" , fd . FullName ( ) ) )
2024-07-05 22:20:13 -04:00
}
}
// Clear clears the field such that a subsequent Has call reports false.
//
// Clearing an extension field clears both the extension type and value
// associated with the given field number.
//
// Clear is a mutating operation and unsafe for concurrent use.
2024-09-11 15:10:54 -04:00
func ( x * fastReflection_Controller ) Clear ( fd protoreflect . FieldDescriptor ) {
2024-07-05 22:20:13 -04:00
switch fd . FullName ( ) {
2024-09-25 19:45:28 -04:00
case "did.v1.Controller.number" :
x . Number = uint64 ( 0 )
case "did.v1.Controller.did" :
x . Did = ""
2024-09-19 02:04:22 -04:00
case "did.v1.Controller.sonr_address" :
x . SonrAddress = ""
case "did.v1.Controller.eth_address" :
x . EthAddress = ""
case "did.v1.Controller.btc_address" :
x . BtcAddress = ""
2024-09-11 15:10:54 -04:00
case "did.v1.Controller.public_key" :
2024-08-31 12:49:44 -04:00
x . PublicKey = nil
2024-09-25 19:45:28 -04:00
case "did.v1.Controller.ks_val" :
x . KsVal = ""
case "did.v1.Controller.claimed" :
x . Claimed = false
2024-07-05 22:20:13 -04:00
default :
if fd . IsExtension ( ) {
2024-09-11 15:10:54 -04:00
panic ( fmt . Errorf ( "proto3 declared messages do not support extensions: did.v1.Controller" ) )
2024-07-05 22:20:13 -04:00
}
2024-09-11 15:10:54 -04:00
panic ( fmt . Errorf ( "message did.v1.Controller does not contain field %s" , fd . FullName ( ) ) )
2024-07-05 22:20:13 -04:00
}
}
// Get retrieves the value for a field.
//
// For unpopulated scalars, it returns the default value, where
// the default value of a bytes scalar is guaranteed to be a copy.
// For unpopulated composite types, it returns an empty, read-only view
// of the value; to obtain a mutable reference, use Mutable.
2024-09-11 15:10:54 -04:00
func ( x * fastReflection_Controller ) Get ( descriptor protoreflect . FieldDescriptor ) protoreflect . Value {
2024-07-05 22:20:13 -04:00
switch descriptor . FullName ( ) {
2024-09-25 19:45:28 -04:00
case "did.v1.Controller.number" :
value := x . Number
return protoreflect . ValueOfUint64 ( value )
case "did.v1.Controller.did" :
value := x . Did
2024-07-05 22:20:13 -04:00
return protoreflect . ValueOfString ( value )
2024-09-19 02:04:22 -04:00
case "did.v1.Controller.sonr_address" :
value := x . SonrAddress
return protoreflect . ValueOfString ( value )
case "did.v1.Controller.eth_address" :
value := x . EthAddress
return protoreflect . ValueOfString ( value )
case "did.v1.Controller.btc_address" :
value := x . BtcAddress
2024-07-05 22:20:13 -04:00
return protoreflect . ValueOfString ( value )
2024-09-11 15:10:54 -04:00
case "did.v1.Controller.public_key" :
2024-08-31 12:49:44 -04:00
value := x . PublicKey
2024-09-25 19:45:28 -04:00
return protoreflect . ValueOfBytes ( value )
case "did.v1.Controller.ks_val" :
value := x . KsVal
2024-09-18 17:27:30 -04:00
return protoreflect . ValueOfString ( value )
2024-09-25 19:45:28 -04:00
case "did.v1.Controller.claimed" :
value := x . Claimed
return protoreflect . ValueOfBool ( value )
2024-07-05 22:20:13 -04:00
default :
if descriptor . IsExtension ( ) {
2024-09-11 15:10:54 -04:00
panic ( fmt . Errorf ( "proto3 declared messages do not support extensions: did.v1.Controller" ) )
2024-07-05 22:20:13 -04:00
}
2024-09-11 15:10:54 -04:00
panic ( fmt . Errorf ( "message did.v1.Controller does not contain field %s" , descriptor . FullName ( ) ) )
2024-07-05 22:20:13 -04:00
}
}
// Set stores the value for a field.
//
// For a field belonging to a oneof, it implicitly clears any other field
// that may be currently set within the same oneof.
// For extension fields, it implicitly stores the provided ExtensionType.
// When setting a composite type, it is unspecified whether the stored value
// aliases the source's memory in any way. If the composite value is an
// empty, read-only value, then it panics.
//
// Set is a mutating operation and unsafe for concurrent use.
2024-09-11 15:10:54 -04:00
func ( x * fastReflection_Controller ) Set ( fd protoreflect . FieldDescriptor , value protoreflect . Value ) {
2024-07-05 22:20:13 -04:00
switch fd . FullName ( ) {
2024-09-25 19:45:28 -04:00
case "did.v1.Controller.number" :
x . Number = value . Uint ( )
case "did.v1.Controller.did" :
x . Did = value . Interface ( ) . ( string )
2024-09-19 02:04:22 -04:00
case "did.v1.Controller.sonr_address" :
x . SonrAddress = value . Interface ( ) . ( string )
case "did.v1.Controller.eth_address" :
x . EthAddress = value . Interface ( ) . ( string )
case "did.v1.Controller.btc_address" :
x . BtcAddress = value . Interface ( ) . ( string )
2024-09-11 15:10:54 -04:00
case "did.v1.Controller.public_key" :
2024-09-25 19:45:28 -04:00
x . PublicKey = value . Bytes ( )
case "did.v1.Controller.ks_val" :
x . KsVal = value . Interface ( ) . ( string )
case "did.v1.Controller.claimed" :
x . Claimed = value . Bool ( )
2024-07-05 22:20:13 -04:00
default :
if fd . IsExtension ( ) {
2024-09-11 15:10:54 -04:00
panic ( fmt . Errorf ( "proto3 declared messages do not support extensions: did.v1.Controller" ) )
2024-07-05 22:20:13 -04:00
}
2024-09-11 15:10:54 -04:00
panic ( fmt . Errorf ( "message did.v1.Controller does not contain field %s" , fd . FullName ( ) ) )
2024-07-05 22:20:13 -04:00
}
}
// Mutable returns a mutable reference to a composite type.
//
// If the field is unpopulated, it may allocate a composite value.
// For a field belonging to a oneof, it implicitly clears any other field
// that may be currently set within the same oneof.
// For extension fields, it implicitly stores the provided ExtensionType
// if not already stored.
// It panics if the field does not contain a composite type.
//
// Mutable is a mutating operation and unsafe for concurrent use.
2024-09-11 15:10:54 -04:00
func ( x * fastReflection_Controller ) Mutable ( fd protoreflect . FieldDescriptor ) protoreflect . Value {
2024-07-05 22:20:13 -04:00
switch fd . FullName ( ) {
2024-09-25 19:45:28 -04:00
case "did.v1.Controller.number" :
panic ( fmt . Errorf ( "field number of message did.v1.Controller is not mutable" ) )
case "did.v1.Controller.did" :
panic ( fmt . Errorf ( "field did of message did.v1.Controller is not mutable" ) )
2024-09-19 02:04:22 -04:00
case "did.v1.Controller.sonr_address" :
panic ( fmt . Errorf ( "field sonr_address of message did.v1.Controller is not mutable" ) )
case "did.v1.Controller.eth_address" :
panic ( fmt . Errorf ( "field eth_address of message did.v1.Controller is not mutable" ) )
case "did.v1.Controller.btc_address" :
panic ( fmt . Errorf ( "field btc_address of message did.v1.Controller is not mutable" ) )
2024-09-25 19:45:28 -04:00
case "did.v1.Controller.public_key" :
panic ( fmt . Errorf ( "field public_key of message did.v1.Controller is not mutable" ) )
case "did.v1.Controller.ks_val" :
panic ( fmt . Errorf ( "field ks_val of message did.v1.Controller is not mutable" ) )
case "did.v1.Controller.claimed" :
panic ( fmt . Errorf ( "field claimed of message did.v1.Controller is not mutable" ) )
2024-07-05 22:20:13 -04:00
default :
if fd . IsExtension ( ) {
2024-09-11 15:10:54 -04:00
panic ( fmt . Errorf ( "proto3 declared messages do not support extensions: did.v1.Controller" ) )
2024-07-05 22:20:13 -04:00
}
2024-09-11 15:10:54 -04:00
panic ( fmt . Errorf ( "message did.v1.Controller does not contain field %s" , fd . FullName ( ) ) )
2024-07-05 22:20:13 -04:00
}
}
// NewField returns a new value that is assignable to the field
// for the given descriptor. For scalars, this returns the default value.
// For lists, maps, and messages, this returns a new, empty, mutable value.
2024-09-11 15:10:54 -04:00
func ( x * fastReflection_Controller ) NewField ( fd protoreflect . FieldDescriptor ) protoreflect . Value {
2024-07-05 22:20:13 -04:00
switch fd . FullName ( ) {
2024-09-25 19:45:28 -04:00
case "did.v1.Controller.number" :
return protoreflect . ValueOfUint64 ( uint64 ( 0 ) )
case "did.v1.Controller.did" :
2024-07-05 22:20:13 -04:00
return protoreflect . ValueOfString ( "" )
2024-09-19 02:04:22 -04:00
case "did.v1.Controller.sonr_address" :
return protoreflect . ValueOfString ( "" )
case "did.v1.Controller.eth_address" :
return protoreflect . ValueOfString ( "" )
case "did.v1.Controller.btc_address" :
2024-07-05 22:20:13 -04:00
return protoreflect . ValueOfString ( "" )
2024-09-11 15:10:54 -04:00
case "did.v1.Controller.public_key" :
2024-09-25 19:45:28 -04:00
return protoreflect . ValueOfBytes ( nil )
case "did.v1.Controller.ks_val" :
2024-09-18 17:27:30 -04:00
return protoreflect . ValueOfString ( "" )
2024-09-25 19:45:28 -04:00
case "did.v1.Controller.claimed" :
return protoreflect . ValueOfBool ( false )
2024-07-05 22:20:13 -04:00
default :
if fd . IsExtension ( ) {
2024-09-11 15:10:54 -04:00
panic ( fmt . Errorf ( "proto3 declared messages do not support extensions: did.v1.Controller" ) )
2024-07-05 22:20:13 -04:00
}
2024-09-11 15:10:54 -04:00
panic ( fmt . Errorf ( "message did.v1.Controller does not contain field %s" , fd . FullName ( ) ) )
2024-07-05 22:20:13 -04:00
}
}
// WhichOneof reports which field within the oneof is populated,
// returning nil if none are populated.
// It panics if the oneof descriptor does not belong to this message.
2024-09-11 15:10:54 -04:00
func ( x * fastReflection_Controller ) WhichOneof ( d protoreflect . OneofDescriptor ) protoreflect . FieldDescriptor {
2024-07-05 22:20:13 -04:00
switch d . FullName ( ) {
default :
2024-09-11 15:10:54 -04:00
panic ( fmt . Errorf ( "%s is not a oneof field in did.v1.Controller" , d . FullName ( ) ) )
2024-07-05 22:20:13 -04:00
}
panic ( "unreachable" )
}
// GetUnknown retrieves the entire list of unknown fields.
// The caller may only mutate the contents of the RawFields
// if the mutated bytes are stored back into the message with SetUnknown.
2024-09-11 15:10:54 -04:00
func ( x * fastReflection_Controller ) GetUnknown ( ) protoreflect . RawFields {
2024-07-05 22:20:13 -04:00
return x . unknownFields
}
// SetUnknown stores an entire list of unknown fields.
// The raw fields must be syntactically valid according to the wire format.
// An implementation may panic if this is not the case.
// Once stored, the caller must not mutate the content of the RawFields.
// An empty RawFields may be passed to clear the fields.
//
// SetUnknown is a mutating operation and unsafe for concurrent use.
2024-09-11 15:10:54 -04:00
func ( x * fastReflection_Controller ) SetUnknown ( fields protoreflect . RawFields ) {
2024-07-05 22:20:13 -04:00
x . unknownFields = fields
}
// IsValid reports whether the message is valid.
//
// An invalid message is an empty, read-only value.
//
// An invalid message often corresponds to a nil pointer of the concrete
// message type, but the details are implementation dependent.
// Validity is not part of the protobuf data model, and may not
// be preserved in marshaling or other operations.
2024-09-11 15:10:54 -04:00
func ( x * fastReflection_Controller ) IsValid ( ) bool {
2024-07-05 22:20:13 -04:00
return x != nil
}
// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
// This method may return nil.
//
// The returned methods type is identical to
// "google.golang.org/protobuf/runtime/protoiface".Methods.
// Consult the protoiface package documentation for details.
2024-09-11 15:10:54 -04:00
func ( x * fastReflection_Controller ) ProtoMethods ( ) * protoiface . Methods {
2024-07-05 22:20:13 -04:00
size := func ( input protoiface . SizeInput ) protoiface . SizeOutput {
2024-09-11 15:10:54 -04:00
x := input . Message . Interface ( ) . ( * Controller )
2024-07-05 22:20:13 -04:00
if x == nil {
return protoiface . SizeOutput {
NoUnkeyedLiterals : input . NoUnkeyedLiterals ,
Size : 0 ,
}
}
options := runtime . SizeInputToOptions ( input )
_ = options
var n int
var l int
_ = l
2024-09-25 19:45:28 -04:00
if x . Number != 0 {
n += 1 + runtime . Sov ( uint64 ( x . Number ) )
}
l = len ( x . Did )
2024-07-05 22:20:13 -04:00
if l > 0 {
n += 1 + l + runtime . Sov ( uint64 ( l ) )
}
2024-09-19 02:04:22 -04:00
l = len ( x . SonrAddress )
if l > 0 {
n += 1 + l + runtime . Sov ( uint64 ( l ) )
}
l = len ( x . EthAddress )
if l > 0 {
n += 1 + l + runtime . Sov ( uint64 ( l ) )
}
l = len ( x . BtcAddress )
2024-07-05 22:20:13 -04:00
if l > 0 {
n += 1 + l + runtime . Sov ( uint64 ( l ) )
}
2024-09-25 19:45:28 -04:00
l = len ( x . PublicKey )
2024-08-31 16:54:16 -04:00
if l > 0 {
n += 1 + l + runtime . Sov ( uint64 ( l ) )
}
2024-09-25 19:45:28 -04:00
l = len ( x . KsVal )
2024-09-18 17:27:30 -04:00
if l > 0 {
n += 1 + l + runtime . Sov ( uint64 ( l ) )
}
2024-09-25 19:45:28 -04:00
if x . Claimed {
n += 2
}
2024-07-05 22:20:13 -04:00
if x . unknownFields != nil {
n += len ( x . unknownFields )
}
return protoiface . SizeOutput {
NoUnkeyedLiterals : input . NoUnkeyedLiterals ,
Size : n ,
}
}
marshal := func ( input protoiface . MarshalInput ) ( protoiface . MarshalOutput , error ) {
2024-09-11 15:10:54 -04:00
x := input . Message . Interface ( ) . ( * Controller )
2024-07-05 22:20:13 -04:00
if x == nil {
return protoiface . MarshalOutput {
NoUnkeyedLiterals : input . NoUnkeyedLiterals ,
Buf : input . Buf ,
} , nil
}
options := runtime . MarshalInputToOptions ( input )
_ = options
size := options . Size ( x )
dAtA := make ( [ ] byte , size )
i := len ( dAtA )
_ = i
var l int
_ = l
if x . unknownFields != nil {
i -= len ( x . unknownFields )
copy ( dAtA [ i : ] , x . unknownFields )
}
2024-09-25 19:45:28 -04:00
if x . Claimed {
2024-09-18 17:27:30 -04:00
i --
2024-09-25 19:45:28 -04:00
if x . Claimed {
dAtA [ i ] = 1
} else {
dAtA [ i ] = 0
2024-08-31 12:49:44 -04:00
}
2024-09-25 19:45:28 -04:00
i --
dAtA [ i ] = 0x40
2024-08-31 16:54:16 -04:00
}
2024-09-25 19:45:28 -04:00
if len ( x . KsVal ) > 0 {
i -= len ( x . KsVal )
copy ( dAtA [ i : ] , x . KsVal )
i = runtime . EncodeVarint ( dAtA , i , uint64 ( len ( x . KsVal ) ) )
2024-08-31 16:54:16 -04:00
i --
2024-09-19 02:04:22 -04:00
dAtA [ i ] = 0x3a
2024-08-31 16:54:16 -04:00
}
2024-09-25 19:45:28 -04:00
if len ( x . PublicKey ) > 0 {
i -= len ( x . PublicKey )
copy ( dAtA [ i : ] , x . PublicKey )
i = runtime . EncodeVarint ( dAtA , i , uint64 ( len ( x . PublicKey ) ) )
2024-07-05 22:20:13 -04:00
i --
2024-09-19 02:04:22 -04:00
dAtA [ i ] = 0x32
2024-07-05 22:20:13 -04:00
}
2024-09-19 02:04:22 -04:00
if len ( x . BtcAddress ) > 0 {
i -= len ( x . BtcAddress )
copy ( dAtA [ i : ] , x . BtcAddress )
i = runtime . EncodeVarint ( dAtA , i , uint64 ( len ( x . BtcAddress ) ) )
i --
2024-09-25 19:45:28 -04:00
dAtA [ i ] = 0x2a
2024-09-19 02:04:22 -04:00
}
if len ( x . EthAddress ) > 0 {
i -= len ( x . EthAddress )
copy ( dAtA [ i : ] , x . EthAddress )
i = runtime . EncodeVarint ( dAtA , i , uint64 ( len ( x . EthAddress ) ) )
i --
2024-09-25 19:45:28 -04:00
dAtA [ i ] = 0x22
2024-09-19 02:04:22 -04:00
}
if len ( x . SonrAddress ) > 0 {
i -= len ( x . SonrAddress )
copy ( dAtA [ i : ] , x . SonrAddress )
i = runtime . EncodeVarint ( dAtA , i , uint64 ( len ( x . SonrAddress ) ) )
2024-07-05 22:20:13 -04:00
i --
2024-09-25 19:45:28 -04:00
dAtA [ i ] = 0x1a
}
if len ( x . Did ) > 0 {
i -= len ( x . Did )
copy ( dAtA [ i : ] , x . Did )
i = runtime . EncodeVarint ( dAtA , i , uint64 ( len ( x . Did ) ) )
i --
2024-07-05 22:20:13 -04:00
dAtA [ i ] = 0x12
}
2024-09-25 19:45:28 -04:00
if x . Number != 0 {
i = runtime . EncodeVarint ( dAtA , i , uint64 ( x . Number ) )
2024-07-05 22:20:13 -04:00
i --
2024-09-25 19:45:28 -04:00
dAtA [ i ] = 0x8
2024-07-05 22:20:13 -04:00
}
if input . Buf != nil {
input . Buf = append ( input . Buf , dAtA ... )
} else {
input . Buf = dAtA
}
return protoiface . MarshalOutput {
NoUnkeyedLiterals : input . NoUnkeyedLiterals ,
Buf : input . Buf ,
} , nil
}
unmarshal := func ( input protoiface . UnmarshalInput ) ( protoiface . UnmarshalOutput , error ) {
2024-09-11 15:10:54 -04:00
x := input . Message . Interface ( ) . ( * Controller )
2024-07-05 22:20:13 -04:00
if x == nil {
return protoiface . UnmarshalOutput {
NoUnkeyedLiterals : input . NoUnkeyedLiterals ,
Flags : input . Flags ,
} , nil
}
options := runtime . UnmarshalInputToOptions ( input )
_ = options
dAtA := input . Buf
l := len ( dAtA )
iNdEx := 0
for iNdEx < l {
preIndex := iNdEx
var wire uint64
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrIntOverflow
}
if iNdEx >= l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
wire |= uint64 ( b & 0x7F ) << shift
if b < 0x80 {
break
}
}
fieldNum := int32 ( wire >> 3 )
wireType := int ( wire & 0x7 )
if wireType == 4 {
2024-09-11 15:10:54 -04:00
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , fmt . Errorf ( "proto: Controller: wiretype end group for non-group" )
2024-07-05 22:20:13 -04:00
}
if fieldNum <= 0 {
2024-09-11 15:10:54 -04:00
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , fmt . Errorf ( "proto: Controller: illegal tag %d (wire type %d)" , fieldNum , wire )
2024-07-05 22:20:13 -04:00
}
switch fieldNum {
case 1 :
2024-09-25 19:45:28 -04:00
if wireType != 0 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , fmt . Errorf ( "proto: wrong wireType = %d for field Number" , wireType )
2024-07-05 22:20:13 -04:00
}
2024-09-25 19:45:28 -04:00
x . Number = 0
2024-07-05 22:20:13 -04:00
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrIntOverflow
}
if iNdEx >= l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
2024-09-25 19:45:28 -04:00
x . Number |= uint64 ( b & 0x7F ) << shift
2024-07-05 22:20:13 -04:00
if b < 0x80 {
break
}
}
case 2 :
if wireType != 2 {
2024-09-25 19:45:28 -04:00
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , fmt . Errorf ( "proto: wrong wireType = %d for field Did" , wireType )
2024-07-05 22:20:13 -04:00
}
var stringLen uint64
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrIntOverflow
}
if iNdEx >= l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
stringLen |= uint64 ( b & 0x7F ) << shift
if b < 0x80 {
break
}
}
intStringLen := int ( stringLen )
if intStringLen < 0 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
if postIndex > l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
2024-09-25 19:45:28 -04:00
x . Did = string ( dAtA [ iNdEx : postIndex ] )
2024-07-05 22:20:13 -04:00
iNdEx = postIndex
case 3 :
if wireType != 2 {
2024-09-25 19:45:28 -04:00
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , fmt . Errorf ( "proto: wrong wireType = %d for field SonrAddress" , wireType )
2024-07-05 22:20:13 -04:00
}
2024-09-19 02:04:22 -04:00
var stringLen uint64
2024-07-05 22:20:13 -04:00
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrIntOverflow
}
if iNdEx >= l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
2024-09-19 02:04:22 -04:00
stringLen |= uint64 ( b & 0x7F ) << shift
2024-07-05 22:20:13 -04:00
if b < 0x80 {
break
}
}
2024-09-19 02:04:22 -04:00
intStringLen := int ( stringLen )
if intStringLen < 0 {
2024-07-05 22:20:13 -04:00
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
2024-09-19 02:04:22 -04:00
postIndex := iNdEx + intStringLen
2024-07-05 22:20:13 -04:00
if postIndex < 0 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
if postIndex > l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
2024-09-25 19:45:28 -04:00
x . SonrAddress = string ( dAtA [ iNdEx : postIndex ] )
2024-07-05 22:20:13 -04:00
iNdEx = postIndex
case 4 :
2024-09-19 02:04:22 -04:00
if wireType != 2 {
2024-09-25 19:45:28 -04:00
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , fmt . Errorf ( "proto: wrong wireType = %d for field EthAddress" , wireType )
2024-09-19 02:04:22 -04:00
}
var stringLen uint64
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrIntOverflow
}
if iNdEx >= l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
stringLen |= uint64 ( b & 0x7F ) << shift
if b < 0x80 {
break
}
}
intStringLen := int ( stringLen )
if intStringLen < 0 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
if postIndex > l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
2024-09-25 19:45:28 -04:00
x . EthAddress = string ( dAtA [ iNdEx : postIndex ] )
2024-09-19 02:04:22 -04:00
iNdEx = postIndex
case 5 :
if wireType != 2 {
2024-09-25 19:45:28 -04:00
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , fmt . Errorf ( "proto: wrong wireType = %d for field BtcAddress" , wireType )
2024-09-19 02:04:22 -04:00
}
var stringLen uint64
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrIntOverflow
}
if iNdEx >= l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
stringLen |= uint64 ( b & 0x7F ) << shift
if b < 0x80 {
break
}
}
intStringLen := int ( stringLen )
if intStringLen < 0 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
if postIndex > l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
2024-09-25 19:45:28 -04:00
x . BtcAddress = string ( dAtA [ iNdEx : postIndex ] )
2024-09-19 02:04:22 -04:00
iNdEx = postIndex
case 6 :
2024-08-31 16:54:16 -04:00
if wireType != 2 {
2024-09-11 15:10:54 -04:00
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , fmt . Errorf ( "proto: wrong wireType = %d for field PublicKey" , wireType )
2024-08-31 16:54:16 -04:00
}
2024-09-25 19:45:28 -04:00
var byteLen int
2024-08-31 16:54:16 -04:00
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrIntOverflow
}
if iNdEx >= l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
2024-09-25 19:45:28 -04:00
byteLen |= int ( b & 0x7F ) << shift
2024-08-31 16:54:16 -04:00
if b < 0x80 {
break
}
}
2024-09-25 19:45:28 -04:00
if byteLen < 0 {
2024-08-31 16:54:16 -04:00
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
2024-09-25 19:45:28 -04:00
postIndex := iNdEx + byteLen
2024-08-31 16:54:16 -04:00
if postIndex < 0 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
if postIndex > l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
2024-09-25 19:45:28 -04:00
x . PublicKey = append ( x . PublicKey [ : 0 ] , dAtA [ iNdEx : postIndex ] ... )
2024-09-11 15:10:54 -04:00
if x . PublicKey == nil {
2024-09-25 19:45:28 -04:00
x . PublicKey = [ ] byte { }
2024-09-11 15:10:54 -04:00
}
2024-08-31 16:54:16 -04:00
iNdEx = postIndex
2024-09-19 02:04:22 -04:00
case 7 :
2024-08-31 16:54:16 -04:00
if wireType != 2 {
2024-09-25 19:45:28 -04:00
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , fmt . Errorf ( "proto: wrong wireType = %d for field KsVal" , wireType )
2024-08-31 16:54:16 -04:00
}
var stringLen uint64
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrIntOverflow
}
if iNdEx >= l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
stringLen |= uint64 ( b & 0x7F ) << shift
if b < 0x80 {
break
}
}
intStringLen := int ( stringLen )
if intStringLen < 0 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
if postIndex > l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
2024-09-25 19:45:28 -04:00
x . KsVal = string ( dAtA [ iNdEx : postIndex ] )
2024-08-31 16:54:16 -04:00
iNdEx = postIndex
2024-09-19 02:04:22 -04:00
case 8 :
2024-09-25 19:45:28 -04:00
if wireType != 0 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , fmt . Errorf ( "proto: wrong wireType = %d for field Claimed" , wireType )
2024-09-18 17:27:30 -04:00
}
2024-09-25 19:45:28 -04:00
var v int
2024-09-18 17:27:30 -04:00
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrIntOverflow
}
if iNdEx >= l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
2024-09-25 19:45:28 -04:00
v |= int ( b & 0x7F ) << shift
2024-09-18 17:27:30 -04:00
if b < 0x80 {
break
}
}
2024-09-25 19:45:28 -04:00
x . Claimed = bool ( v != 0 )
2024-07-05 22:20:13 -04:00
default :
iNdEx = preIndex
skippy , err := runtime . Skip ( dAtA [ iNdEx : ] )
if err != nil {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , err
}
if ( skippy < 0 ) || ( iNdEx + skippy ) < 0 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
if ( iNdEx + skippy ) > l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
if ! options . DiscardUnknown {
x . unknownFields = append ( x . unknownFields , dAtA [ iNdEx : iNdEx + skippy ] ... )
}
iNdEx += skippy
}
}
if iNdEx > l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , nil
}
return & protoiface . Methods {
NoUnkeyedLiterals : struct { } { } ,
Flags : protoiface . SupportMarshalDeterministic | protoiface . SupportUnmarshalDiscardUnknown ,
Size : size ,
Marshal : marshal ,
Unmarshal : unmarshal ,
Merge : nil ,
CheckInitialized : nil ,
}
}
2024-09-11 15:10:54 -04:00
var (
2024-09-19 02:04:22 -04:00
md_Verification protoreflect . MessageDescriptor
2024-09-25 19:45:28 -04:00
fd_Verification_did protoreflect . FieldDescriptor
2024-09-19 02:04:22 -04:00
fd_Verification_controller protoreflect . FieldDescriptor
fd_Verification_did_method protoreflect . FieldDescriptor
fd_Verification_issuer protoreflect . FieldDescriptor
fd_Verification_subject protoreflect . FieldDescriptor
fd_Verification_public_key protoreflect . FieldDescriptor
fd_Verification_verification_type protoreflect . FieldDescriptor
2024-09-11 15:10:54 -04:00
)
Feature/update dockerfile (#6)
* chore: remove unused new.Dockerfile
* feat: add DID model definitions
* fix: Fix EncodePublicKey method in KeyInfo struct
* feat: Update `EncodePublicKey` to be the inverse of `DecodePublicKey`
* refactor: update AssetInfo protobuf definition
* fix: update default assets with correct asset types
* fix: Initialize IPFS client and check for mounted directories
* feat: Improve IPFS client initialization and mount checking
* feat: Add local filesystem check for IPFS and IPNS
* fix: Use Unixfs().Get() instead of Cat() for IPFS and IPNS content retrieval
* feat: Update GetCID and GetIPNS functions to read data from IPFS node
* fix: Ensure IPFS client is initialized before pinning CID
* feat: Add AddFile and AddFolder methods
* feat: add IPFS file system abstraction
* feat: Implement IPFS file, location, and filesystem abstractions
* refactor: remove unused functions and types
* refactor: remove unused FileSystem interface
* feat: add initial wasm entrypoint
* feat: add basic vault command operations
* docs: add vault module features
* test: remove test for MsgUpdateParams
* refactor: Replace PrimaryKey with Property struct in zkprop.go
* feat: Update the `CreateWitness` and `CreateAccumulator` and `VerifyWitness` and `UpdateAccumulator` to Use the new `Accumulator` and `Witness` types. Then Clean up the code in the file and refactor the marshalling methods
* <no value>
* feat: add KeyCurve and KeyType to KeyInfo in genesis
* feat: add WASM build step to devbox.json
* feat: Add zkgate.go file
* feat: Uncomment and modify zkgate code to work with Property struct
* feat: Merge zkgate.go and zkprop.go logic
* feat: implement API endpoints for profile management
* refactor: remove unused template file
* feat(orm): remove unused ORM models
* feat: add persistent SQLite database support in WASM
* fix: Update module names in protobuf files
* feat: Add method to initialize SQLite database
* fix: update go-sqlite3 dependency to version 1.14.23
* feat: introduce database layer
* feat: Implement database layer for Vault node
* feature/update-dockerfile
* feat: Add keyshares table
* fix: Reorder the SQL statements in the tables.go file
* feat: Update the `createCredentialsTable` method to match the proper Credential struct
* feat: Update createProfilesTable and add createPropertiesTable
* feat: Add constant SQL queries to queries.go and use prepared statements in db.go
* feat: Add createKeysharesTable to internal/db/db.go
* feat: Update `createPermissionsTable` to match Permissions struct
* feat: Add database enum types
* feat: Add DIDNamespace and PermissionScope enums
* feat: Add DBConfig and DBOption types
* feat: Update the db implementation to use the provided go library
* fix: update db implementation to use go-sqlite3 v0.18.2
* fix: Refactor database connection and statement handling
* feat: Simplify db.go implementation
* feat: Convert constant SQL queries to functions in queries.go and update db.go to use prepared statements
* feat: Add models.go file with database table structs
* fix: Remove unused statement map and prepare statements
diff --git a/internal/db/db.go b/internal/db/db.go
index 201d09b..d4d4d4e 100644
--- a/internal/db/db.go
+++ b/internal/db/db.go
@@ -32,11 +32,6 @@ func Open(config *DBConfig) (*DB, error) {
Conn: conn,
}
- if err := createTables(db); err != nil {
- conn.Close()
- return nil, fmt.Errorf("failed to create tables: %w", err)
- }
-
return db, nil
}
@@ -61,114 +56,3 @@ func createTables(db *DB) error {
return nil
}
-// AddAccount adds a new account to the database
-func (db *DB) AddAccount(name, address string) error {
- return db.Exec(insertAccountQuery(name, address))
-}
-
-// AddAsset adds a new asset to the database
-func (db *DB) AddAsset(name, symbol string, decimals int, chainID int64) error {
- return db.Exec(insertAssetQuery(name, symbol, decimals, chainID))
-}
-
-// AddChain adds a new chain to the database
-func (db *DB) AddChain(name, networkID string) error {
- return db.Exec(insertChainQuery(name, networkID))
-}
-
-// AddCredential adds a new credential to the database
-func (db *DB) AddCredential(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) error {
- return db.Exec(insertCredentialQuery(
- handle,
- controller,
- attestationType,
- origin,
- credentialID,
- publicKey,
- transport,
- signCount,
- userPresent,
- userVerified,
- backupEligible,
- backupState,
- cloneWarning,
- ))
-}
-
-// AddProfile adds a new profile to the database
-func (db *DB) AddProfile(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) error {
- return db.statements["insertProfile"].Exec(
- id, subject, controller, originURI, publicMetadata, privateMetadata,
- )
-}
-
-// AddProperty adds a new property to the database
-func (db *DB) AddProperty(
- profileID, key, accumulator, propertyKey string,
-) error {
- return db.statements["insertProperty"].Exec(
- profileID, key, accumulator, propertyKey,
- )
-}
-
-// AddPermission adds a new permission to the database
-func (db *DB) AddPermission(
- serviceID string,
- grants []DIDNamespace,
- scopes []PermissionScope,
-) error {
- grantsJSON, err := json.Marshal(grants)
- if err != nil {
- return fmt.Errorf("failed to marshal grants: %w", err)
- }
-
- scopesJSON, err := json.Marshal(scopes)
- if err != nil {
- return fmt.Errorf("failed to marshal scopes: %w", err)
- }
-
- return db.statements["insertPermission"].Exec(
- serviceID, string(grantsJSON), string(scopesJSON),
- )
-}
-
-// GetPermission retrieves the permission for the given service ID
-func (db *DB) GetPermission(serviceID string) ([]DIDNamespace, []PermissionScope, error) {
- row := db.statements["getPermission"].QueryRow(serviceID)
-
- var grantsJSON, scopesJSON string
- if err := row.Scan(&grantsJSON, &scopesJSON); err != nil {
- return nil, nil, fmt.Errorf("failed to get permission: %w", err)
- }
-
- var grants []DIDNamespace
- if err := json.Unmarshal([]byte(grantsJSON), &grants); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal grants: %w", err)
- }
-
- var scopes []PermissionScope
- if err := json.Unmarshal([]byte(scopesJSON), &scopes); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal scopes: %w", err)
- }
-
- return grants, scopes, nil
-}
-
-// Close closes the database connection and finalizes all prepared statements
-func (db *DB) Close() error {
- for _, stmt := range db.statements {
- stmt.Finalize()
- }
- return db.Conn.Close()
-}
diff --git a/internal/db/queries.go b/internal/db/queries.go
index 807d701..e69de29 100644
--- a/internal/db/queries.go
+++ b/internal/db/queries.go
@@ -1,79 +0,0 @@
-package db
-
-import "fmt"
-
-// Account queries
-func insertAccountQuery(name, address string) string {
- return fmt.Sprintf(`INSERT INTO accounts (name, address) VALUES (%s, %s)`, name, address)
-}
-
-// Asset queries
-func insertAssetQuery(name, symbol string, decimals int, chainID int64) string {
- return fmt.Sprintf(
- `INSERT INTO assets (name, symbol, decimals, chain_id) VALUES (%s, %s, %d, %d)`,
- name,
- symbol,
- decimals,
- chainID,
- )
-}
-
-// Chain queries
-func insertChainQuery(name string, networkID string) string {
- return fmt.Sprintf(`INSERT INTO chains (name, network_id) VALUES (%s, %d)`, name, networkID)
-}
-
-// Credential queries
-func insertCredentialQuery(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) string {
- return fmt.Sprintf(`INSERT INTO credentials (
- handle, controller, attestation_type, origin,
- credential_id, public_key, transport, sign_count,
- user_present, user_verified, backup_eligible,
- backup_state, clone_warning
- ) VALUES (%s, %s, %s, %s, %s, %s, %s, %d, %t, %t, %t, %t, %t)`,
- handle, controller, attestationType, origin,
- credentialID, publicKey, transport, signCount,
- userPresent, userVerified, backupEligible,
- backupState, cloneWarning)
-}
-
-// Profile queries
-func insertProfileQuery(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) string {
- return fmt.Sprintf(`INSERT INTO profiles (
- id, subject, controller, origin_uri,
- public_metadata, private_metadata
- ) VALUES (%s, %s, %s, %s, %s, %s)`,
- id, subject, controller, originURI,
- publicMetadata, privateMetadata)
-}
-
-// Property queries
-func insertPropertyQuery(profileID, key, accumulator, propertyKey string) string {
- return fmt.Sprintf(`INSERT INTO properties (
- profile_id, key, accumulator, property_key
- ) VALUES (%s, %s, %s, %s)`,
- profileID, key, accumulator, propertyKey)
-}
-
-// Permission queries
-func insertPermissionQuery(serviceID, grants, scopes string) string {
- return fmt.Sprintf(
- `INSERT INTO permissions (service_id, grants, scopes) VALUES (%s, %s, %s)`,
- serviceID,
- grants,
- scopes,
- )
-}
-
-// GetPermission query
-func getPermissionQuery(serviceID string) string {
- return fmt.Sprintf(`SELECT grants, scopes FROM permissions WHERE service_id = %s`, serviceID)
-}
* fix: update Makefile to use sonrd instead of wasmd
* feat: Add targets for templ and vault in Makefile and use only make in devbox.json
* feat: add SQLite database support
* bump: version 0.6.0 → 0.7.0
* refactor: upgrade actions to latest versions
2024-09-05 01:24:57 -04:00
2024-09-11 15:10:54 -04:00
func init ( ) {
file_did_v1_state_proto_init ( )
2024-09-18 17:27:30 -04:00
md_Verification = File_did_v1_state_proto . Messages ( ) . ByName ( "Verification" )
2024-09-25 19:45:28 -04:00
fd_Verification_did = md_Verification . Fields ( ) . ByName ( "did" )
2024-09-18 17:27:30 -04:00
fd_Verification_controller = md_Verification . Fields ( ) . ByName ( "controller" )
2024-09-19 02:04:22 -04:00
fd_Verification_did_method = md_Verification . Fields ( ) . ByName ( "did_method" )
2024-09-18 17:27:30 -04:00
fd_Verification_issuer = md_Verification . Fields ( ) . ByName ( "issuer" )
fd_Verification_subject = md_Verification . Fields ( ) . ByName ( "subject" )
fd_Verification_public_key = md_Verification . Fields ( ) . ByName ( "public_key" )
2024-09-19 02:04:22 -04:00
fd_Verification_verification_type = md_Verification . Fields ( ) . ByName ( "verification_type" )
Feature/update dockerfile (#6)
* chore: remove unused new.Dockerfile
* feat: add DID model definitions
* fix: Fix EncodePublicKey method in KeyInfo struct
* feat: Update `EncodePublicKey` to be the inverse of `DecodePublicKey`
* refactor: update AssetInfo protobuf definition
* fix: update default assets with correct asset types
* fix: Initialize IPFS client and check for mounted directories
* feat: Improve IPFS client initialization and mount checking
* feat: Add local filesystem check for IPFS and IPNS
* fix: Use Unixfs().Get() instead of Cat() for IPFS and IPNS content retrieval
* feat: Update GetCID and GetIPNS functions to read data from IPFS node
* fix: Ensure IPFS client is initialized before pinning CID
* feat: Add AddFile and AddFolder methods
* feat: add IPFS file system abstraction
* feat: Implement IPFS file, location, and filesystem abstractions
* refactor: remove unused functions and types
* refactor: remove unused FileSystem interface
* feat: add initial wasm entrypoint
* feat: add basic vault command operations
* docs: add vault module features
* test: remove test for MsgUpdateParams
* refactor: Replace PrimaryKey with Property struct in zkprop.go
* feat: Update the `CreateWitness` and `CreateAccumulator` and `VerifyWitness` and `UpdateAccumulator` to Use the new `Accumulator` and `Witness` types. Then Clean up the code in the file and refactor the marshalling methods
* <no value>
* feat: add KeyCurve and KeyType to KeyInfo in genesis
* feat: add WASM build step to devbox.json
* feat: Add zkgate.go file
* feat: Uncomment and modify zkgate code to work with Property struct
* feat: Merge zkgate.go and zkprop.go logic
* feat: implement API endpoints for profile management
* refactor: remove unused template file
* feat(orm): remove unused ORM models
* feat: add persistent SQLite database support in WASM
* fix: Update module names in protobuf files
* feat: Add method to initialize SQLite database
* fix: update go-sqlite3 dependency to version 1.14.23
* feat: introduce database layer
* feat: Implement database layer for Vault node
* feature/update-dockerfile
* feat: Add keyshares table
* fix: Reorder the SQL statements in the tables.go file
* feat: Update the `createCredentialsTable` method to match the proper Credential struct
* feat: Update createProfilesTable and add createPropertiesTable
* feat: Add constant SQL queries to queries.go and use prepared statements in db.go
* feat: Add createKeysharesTable to internal/db/db.go
* feat: Update `createPermissionsTable` to match Permissions struct
* feat: Add database enum types
* feat: Add DIDNamespace and PermissionScope enums
* feat: Add DBConfig and DBOption types
* feat: Update the db implementation to use the provided go library
* fix: update db implementation to use go-sqlite3 v0.18.2
* fix: Refactor database connection and statement handling
* feat: Simplify db.go implementation
* feat: Convert constant SQL queries to functions in queries.go and update db.go to use prepared statements
* feat: Add models.go file with database table structs
* fix: Remove unused statement map and prepare statements
diff --git a/internal/db/db.go b/internal/db/db.go
index 201d09b..d4d4d4e 100644
--- a/internal/db/db.go
+++ b/internal/db/db.go
@@ -32,11 +32,6 @@ func Open(config *DBConfig) (*DB, error) {
Conn: conn,
}
- if err := createTables(db); err != nil {
- conn.Close()
- return nil, fmt.Errorf("failed to create tables: %w", err)
- }
-
return db, nil
}
@@ -61,114 +56,3 @@ func createTables(db *DB) error {
return nil
}
-// AddAccount adds a new account to the database
-func (db *DB) AddAccount(name, address string) error {
- return db.Exec(insertAccountQuery(name, address))
-}
-
-// AddAsset adds a new asset to the database
-func (db *DB) AddAsset(name, symbol string, decimals int, chainID int64) error {
- return db.Exec(insertAssetQuery(name, symbol, decimals, chainID))
-}
-
-// AddChain adds a new chain to the database
-func (db *DB) AddChain(name, networkID string) error {
- return db.Exec(insertChainQuery(name, networkID))
-}
-
-// AddCredential adds a new credential to the database
-func (db *DB) AddCredential(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) error {
- return db.Exec(insertCredentialQuery(
- handle,
- controller,
- attestationType,
- origin,
- credentialID,
- publicKey,
- transport,
- signCount,
- userPresent,
- userVerified,
- backupEligible,
- backupState,
- cloneWarning,
- ))
-}
-
-// AddProfile adds a new profile to the database
-func (db *DB) AddProfile(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) error {
- return db.statements["insertProfile"].Exec(
- id, subject, controller, originURI, publicMetadata, privateMetadata,
- )
-}
-
-// AddProperty adds a new property to the database
-func (db *DB) AddProperty(
- profileID, key, accumulator, propertyKey string,
-) error {
- return db.statements["insertProperty"].Exec(
- profileID, key, accumulator, propertyKey,
- )
-}
-
-// AddPermission adds a new permission to the database
-func (db *DB) AddPermission(
- serviceID string,
- grants []DIDNamespace,
- scopes []PermissionScope,
-) error {
- grantsJSON, err := json.Marshal(grants)
- if err != nil {
- return fmt.Errorf("failed to marshal grants: %w", err)
- }
-
- scopesJSON, err := json.Marshal(scopes)
- if err != nil {
- return fmt.Errorf("failed to marshal scopes: %w", err)
- }
-
- return db.statements["insertPermission"].Exec(
- serviceID, string(grantsJSON), string(scopesJSON),
- )
-}
-
-// GetPermission retrieves the permission for the given service ID
-func (db *DB) GetPermission(serviceID string) ([]DIDNamespace, []PermissionScope, error) {
- row := db.statements["getPermission"].QueryRow(serviceID)
-
- var grantsJSON, scopesJSON string
- if err := row.Scan(&grantsJSON, &scopesJSON); err != nil {
- return nil, nil, fmt.Errorf("failed to get permission: %w", err)
- }
-
- var grants []DIDNamespace
- if err := json.Unmarshal([]byte(grantsJSON), &grants); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal grants: %w", err)
- }
-
- var scopes []PermissionScope
- if err := json.Unmarshal([]byte(scopesJSON), &scopes); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal scopes: %w", err)
- }
-
- return grants, scopes, nil
-}
-
-// Close closes the database connection and finalizes all prepared statements
-func (db *DB) Close() error {
- for _, stmt := range db.statements {
- stmt.Finalize()
- }
- return db.Conn.Close()
-}
diff --git a/internal/db/queries.go b/internal/db/queries.go
index 807d701..e69de29 100644
--- a/internal/db/queries.go
+++ b/internal/db/queries.go
@@ -1,79 +0,0 @@
-package db
-
-import "fmt"
-
-// Account queries
-func insertAccountQuery(name, address string) string {
- return fmt.Sprintf(`INSERT INTO accounts (name, address) VALUES (%s, %s)`, name, address)
-}
-
-// Asset queries
-func insertAssetQuery(name, symbol string, decimals int, chainID int64) string {
- return fmt.Sprintf(
- `INSERT INTO assets (name, symbol, decimals, chain_id) VALUES (%s, %s, %d, %d)`,
- name,
- symbol,
- decimals,
- chainID,
- )
-}
-
-// Chain queries
-func insertChainQuery(name string, networkID string) string {
- return fmt.Sprintf(`INSERT INTO chains (name, network_id) VALUES (%s, %d)`, name, networkID)
-}
-
-// Credential queries
-func insertCredentialQuery(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) string {
- return fmt.Sprintf(`INSERT INTO credentials (
- handle, controller, attestation_type, origin,
- credential_id, public_key, transport, sign_count,
- user_present, user_verified, backup_eligible,
- backup_state, clone_warning
- ) VALUES (%s, %s, %s, %s, %s, %s, %s, %d, %t, %t, %t, %t, %t)`,
- handle, controller, attestationType, origin,
- credentialID, publicKey, transport, signCount,
- userPresent, userVerified, backupEligible,
- backupState, cloneWarning)
-}
-
-// Profile queries
-func insertProfileQuery(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) string {
- return fmt.Sprintf(`INSERT INTO profiles (
- id, subject, controller, origin_uri,
- public_metadata, private_metadata
- ) VALUES (%s, %s, %s, %s, %s, %s)`,
- id, subject, controller, originURI,
- publicMetadata, privateMetadata)
-}
-
-// Property queries
-func insertPropertyQuery(profileID, key, accumulator, propertyKey string) string {
- return fmt.Sprintf(`INSERT INTO properties (
- profile_id, key, accumulator, property_key
- ) VALUES (%s, %s, %s, %s)`,
- profileID, key, accumulator, propertyKey)
-}
-
-// Permission queries
-func insertPermissionQuery(serviceID, grants, scopes string) string {
- return fmt.Sprintf(
- `INSERT INTO permissions (service_id, grants, scopes) VALUES (%s, %s, %s)`,
- serviceID,
- grants,
- scopes,
- )
-}
-
-// GetPermission query
-func getPermissionQuery(serviceID string) string {
- return fmt.Sprintf(`SELECT grants, scopes FROM permissions WHERE service_id = %s`, serviceID)
-}
* fix: update Makefile to use sonrd instead of wasmd
* feat: Add targets for templ and vault in Makefile and use only make in devbox.json
* feat: add SQLite database support
* bump: version 0.6.0 → 0.7.0
* refactor: upgrade actions to latest versions
2024-09-05 01:24:57 -04:00
}
2024-09-18 17:27:30 -04:00
var _ protoreflect . Message = ( * fastReflection_Verification ) ( nil )
Feature/update dockerfile (#6)
* chore: remove unused new.Dockerfile
* feat: add DID model definitions
* fix: Fix EncodePublicKey method in KeyInfo struct
* feat: Update `EncodePublicKey` to be the inverse of `DecodePublicKey`
* refactor: update AssetInfo protobuf definition
* fix: update default assets with correct asset types
* fix: Initialize IPFS client and check for mounted directories
* feat: Improve IPFS client initialization and mount checking
* feat: Add local filesystem check for IPFS and IPNS
* fix: Use Unixfs().Get() instead of Cat() for IPFS and IPNS content retrieval
* feat: Update GetCID and GetIPNS functions to read data from IPFS node
* fix: Ensure IPFS client is initialized before pinning CID
* feat: Add AddFile and AddFolder methods
* feat: add IPFS file system abstraction
* feat: Implement IPFS file, location, and filesystem abstractions
* refactor: remove unused functions and types
* refactor: remove unused FileSystem interface
* feat: add initial wasm entrypoint
* feat: add basic vault command operations
* docs: add vault module features
* test: remove test for MsgUpdateParams
* refactor: Replace PrimaryKey with Property struct in zkprop.go
* feat: Update the `CreateWitness` and `CreateAccumulator` and `VerifyWitness` and `UpdateAccumulator` to Use the new `Accumulator` and `Witness` types. Then Clean up the code in the file and refactor the marshalling methods
* <no value>
* feat: add KeyCurve and KeyType to KeyInfo in genesis
* feat: add WASM build step to devbox.json
* feat: Add zkgate.go file
* feat: Uncomment and modify zkgate code to work with Property struct
* feat: Merge zkgate.go and zkprop.go logic
* feat: implement API endpoints for profile management
* refactor: remove unused template file
* feat(orm): remove unused ORM models
* feat: add persistent SQLite database support in WASM
* fix: Update module names in protobuf files
* feat: Add method to initialize SQLite database
* fix: update go-sqlite3 dependency to version 1.14.23
* feat: introduce database layer
* feat: Implement database layer for Vault node
* feature/update-dockerfile
* feat: Add keyshares table
* fix: Reorder the SQL statements in the tables.go file
* feat: Update the `createCredentialsTable` method to match the proper Credential struct
* feat: Update createProfilesTable and add createPropertiesTable
* feat: Add constant SQL queries to queries.go and use prepared statements in db.go
* feat: Add createKeysharesTable to internal/db/db.go
* feat: Update `createPermissionsTable` to match Permissions struct
* feat: Add database enum types
* feat: Add DIDNamespace and PermissionScope enums
* feat: Add DBConfig and DBOption types
* feat: Update the db implementation to use the provided go library
* fix: update db implementation to use go-sqlite3 v0.18.2
* fix: Refactor database connection and statement handling
* feat: Simplify db.go implementation
* feat: Convert constant SQL queries to functions in queries.go and update db.go to use prepared statements
* feat: Add models.go file with database table structs
* fix: Remove unused statement map and prepare statements
diff --git a/internal/db/db.go b/internal/db/db.go
index 201d09b..d4d4d4e 100644
--- a/internal/db/db.go
+++ b/internal/db/db.go
@@ -32,11 +32,6 @@ func Open(config *DBConfig) (*DB, error) {
Conn: conn,
}
- if err := createTables(db); err != nil {
- conn.Close()
- return nil, fmt.Errorf("failed to create tables: %w", err)
- }
-
return db, nil
}
@@ -61,114 +56,3 @@ func createTables(db *DB) error {
return nil
}
-// AddAccount adds a new account to the database
-func (db *DB) AddAccount(name, address string) error {
- return db.Exec(insertAccountQuery(name, address))
-}
-
-// AddAsset adds a new asset to the database
-func (db *DB) AddAsset(name, symbol string, decimals int, chainID int64) error {
- return db.Exec(insertAssetQuery(name, symbol, decimals, chainID))
-}
-
-// AddChain adds a new chain to the database
-func (db *DB) AddChain(name, networkID string) error {
- return db.Exec(insertChainQuery(name, networkID))
-}
-
-// AddCredential adds a new credential to the database
-func (db *DB) AddCredential(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) error {
- return db.Exec(insertCredentialQuery(
- handle,
- controller,
- attestationType,
- origin,
- credentialID,
- publicKey,
- transport,
- signCount,
- userPresent,
- userVerified,
- backupEligible,
- backupState,
- cloneWarning,
- ))
-}
-
-// AddProfile adds a new profile to the database
-func (db *DB) AddProfile(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) error {
- return db.statements["insertProfile"].Exec(
- id, subject, controller, originURI, publicMetadata, privateMetadata,
- )
-}
-
-// AddProperty adds a new property to the database
-func (db *DB) AddProperty(
- profileID, key, accumulator, propertyKey string,
-) error {
- return db.statements["insertProperty"].Exec(
- profileID, key, accumulator, propertyKey,
- )
-}
-
-// AddPermission adds a new permission to the database
-func (db *DB) AddPermission(
- serviceID string,
- grants []DIDNamespace,
- scopes []PermissionScope,
-) error {
- grantsJSON, err := json.Marshal(grants)
- if err != nil {
- return fmt.Errorf("failed to marshal grants: %w", err)
- }
-
- scopesJSON, err := json.Marshal(scopes)
- if err != nil {
- return fmt.Errorf("failed to marshal scopes: %w", err)
- }
-
- return db.statements["insertPermission"].Exec(
- serviceID, string(grantsJSON), string(scopesJSON),
- )
-}
-
-// GetPermission retrieves the permission for the given service ID
-func (db *DB) GetPermission(serviceID string) ([]DIDNamespace, []PermissionScope, error) {
- row := db.statements["getPermission"].QueryRow(serviceID)
-
- var grantsJSON, scopesJSON string
- if err := row.Scan(&grantsJSON, &scopesJSON); err != nil {
- return nil, nil, fmt.Errorf("failed to get permission: %w", err)
- }
-
- var grants []DIDNamespace
- if err := json.Unmarshal([]byte(grantsJSON), &grants); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal grants: %w", err)
- }
-
- var scopes []PermissionScope
- if err := json.Unmarshal([]byte(scopesJSON), &scopes); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal scopes: %w", err)
- }
-
- return grants, scopes, nil
-}
-
-// Close closes the database connection and finalizes all prepared statements
-func (db *DB) Close() error {
- for _, stmt := range db.statements {
- stmt.Finalize()
- }
- return db.Conn.Close()
-}
diff --git a/internal/db/queries.go b/internal/db/queries.go
index 807d701..e69de29 100644
--- a/internal/db/queries.go
+++ b/internal/db/queries.go
@@ -1,79 +0,0 @@
-package db
-
-import "fmt"
-
-// Account queries
-func insertAccountQuery(name, address string) string {
- return fmt.Sprintf(`INSERT INTO accounts (name, address) VALUES (%s, %s)`, name, address)
-}
-
-// Asset queries
-func insertAssetQuery(name, symbol string, decimals int, chainID int64) string {
- return fmt.Sprintf(
- `INSERT INTO assets (name, symbol, decimals, chain_id) VALUES (%s, %s, %d, %d)`,
- name,
- symbol,
- decimals,
- chainID,
- )
-}
-
-// Chain queries
-func insertChainQuery(name string, networkID string) string {
- return fmt.Sprintf(`INSERT INTO chains (name, network_id) VALUES (%s, %d)`, name, networkID)
-}
-
-// Credential queries
-func insertCredentialQuery(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) string {
- return fmt.Sprintf(`INSERT INTO credentials (
- handle, controller, attestation_type, origin,
- credential_id, public_key, transport, sign_count,
- user_present, user_verified, backup_eligible,
- backup_state, clone_warning
- ) VALUES (%s, %s, %s, %s, %s, %s, %s, %d, %t, %t, %t, %t, %t)`,
- handle, controller, attestationType, origin,
- credentialID, publicKey, transport, signCount,
- userPresent, userVerified, backupEligible,
- backupState, cloneWarning)
-}
-
-// Profile queries
-func insertProfileQuery(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) string {
- return fmt.Sprintf(`INSERT INTO profiles (
- id, subject, controller, origin_uri,
- public_metadata, private_metadata
- ) VALUES (%s, %s, %s, %s, %s, %s)`,
- id, subject, controller, originURI,
- publicMetadata, privateMetadata)
-}
-
-// Property queries
-func insertPropertyQuery(profileID, key, accumulator, propertyKey string) string {
- return fmt.Sprintf(`INSERT INTO properties (
- profile_id, key, accumulator, property_key
- ) VALUES (%s, %s, %s, %s)`,
- profileID, key, accumulator, propertyKey)
-}
-
-// Permission queries
-func insertPermissionQuery(serviceID, grants, scopes string) string {
- return fmt.Sprintf(
- `INSERT INTO permissions (service_id, grants, scopes) VALUES (%s, %s, %s)`,
- serviceID,
- grants,
- scopes,
- )
-}
-
-// GetPermission query
-func getPermissionQuery(serviceID string) string {
- return fmt.Sprintf(`SELECT grants, scopes FROM permissions WHERE service_id = %s`, serviceID)
-}
* fix: update Makefile to use sonrd instead of wasmd
* feat: Add targets for templ and vault in Makefile and use only make in devbox.json
* feat: add SQLite database support
* bump: version 0.6.0 → 0.7.0
* refactor: upgrade actions to latest versions
2024-09-05 01:24:57 -04:00
2024-09-18 17:27:30 -04:00
type fastReflection_Verification Verification
2024-09-11 15:10:54 -04:00
2024-09-18 17:27:30 -04:00
func ( x * Verification ) ProtoReflect ( ) protoreflect . Message {
return ( * fastReflection_Verification ) ( x )
Feature/update dockerfile (#6)
* chore: remove unused new.Dockerfile
* feat: add DID model definitions
* fix: Fix EncodePublicKey method in KeyInfo struct
* feat: Update `EncodePublicKey` to be the inverse of `DecodePublicKey`
* refactor: update AssetInfo protobuf definition
* fix: update default assets with correct asset types
* fix: Initialize IPFS client and check for mounted directories
* feat: Improve IPFS client initialization and mount checking
* feat: Add local filesystem check for IPFS and IPNS
* fix: Use Unixfs().Get() instead of Cat() for IPFS and IPNS content retrieval
* feat: Update GetCID and GetIPNS functions to read data from IPFS node
* fix: Ensure IPFS client is initialized before pinning CID
* feat: Add AddFile and AddFolder methods
* feat: add IPFS file system abstraction
* feat: Implement IPFS file, location, and filesystem abstractions
* refactor: remove unused functions and types
* refactor: remove unused FileSystem interface
* feat: add initial wasm entrypoint
* feat: add basic vault command operations
* docs: add vault module features
* test: remove test for MsgUpdateParams
* refactor: Replace PrimaryKey with Property struct in zkprop.go
* feat: Update the `CreateWitness` and `CreateAccumulator` and `VerifyWitness` and `UpdateAccumulator` to Use the new `Accumulator` and `Witness` types. Then Clean up the code in the file and refactor the marshalling methods
* <no value>
* feat: add KeyCurve and KeyType to KeyInfo in genesis
* feat: add WASM build step to devbox.json
* feat: Add zkgate.go file
* feat: Uncomment and modify zkgate code to work with Property struct
* feat: Merge zkgate.go and zkprop.go logic
* feat: implement API endpoints for profile management
* refactor: remove unused template file
* feat(orm): remove unused ORM models
* feat: add persistent SQLite database support in WASM
* fix: Update module names in protobuf files
* feat: Add method to initialize SQLite database
* fix: update go-sqlite3 dependency to version 1.14.23
* feat: introduce database layer
* feat: Implement database layer for Vault node
* feature/update-dockerfile
* feat: Add keyshares table
* fix: Reorder the SQL statements in the tables.go file
* feat: Update the `createCredentialsTable` method to match the proper Credential struct
* feat: Update createProfilesTable and add createPropertiesTable
* feat: Add constant SQL queries to queries.go and use prepared statements in db.go
* feat: Add createKeysharesTable to internal/db/db.go
* feat: Update `createPermissionsTable` to match Permissions struct
* feat: Add database enum types
* feat: Add DIDNamespace and PermissionScope enums
* feat: Add DBConfig and DBOption types
* feat: Update the db implementation to use the provided go library
* fix: update db implementation to use go-sqlite3 v0.18.2
* fix: Refactor database connection and statement handling
* feat: Simplify db.go implementation
* feat: Convert constant SQL queries to functions in queries.go and update db.go to use prepared statements
* feat: Add models.go file with database table structs
* fix: Remove unused statement map and prepare statements
diff --git a/internal/db/db.go b/internal/db/db.go
index 201d09b..d4d4d4e 100644
--- a/internal/db/db.go
+++ b/internal/db/db.go
@@ -32,11 +32,6 @@ func Open(config *DBConfig) (*DB, error) {
Conn: conn,
}
- if err := createTables(db); err != nil {
- conn.Close()
- return nil, fmt.Errorf("failed to create tables: %w", err)
- }
-
return db, nil
}
@@ -61,114 +56,3 @@ func createTables(db *DB) error {
return nil
}
-// AddAccount adds a new account to the database
-func (db *DB) AddAccount(name, address string) error {
- return db.Exec(insertAccountQuery(name, address))
-}
-
-// AddAsset adds a new asset to the database
-func (db *DB) AddAsset(name, symbol string, decimals int, chainID int64) error {
- return db.Exec(insertAssetQuery(name, symbol, decimals, chainID))
-}
-
-// AddChain adds a new chain to the database
-func (db *DB) AddChain(name, networkID string) error {
- return db.Exec(insertChainQuery(name, networkID))
-}
-
-// AddCredential adds a new credential to the database
-func (db *DB) AddCredential(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) error {
- return db.Exec(insertCredentialQuery(
- handle,
- controller,
- attestationType,
- origin,
- credentialID,
- publicKey,
- transport,
- signCount,
- userPresent,
- userVerified,
- backupEligible,
- backupState,
- cloneWarning,
- ))
-}
-
-// AddProfile adds a new profile to the database
-func (db *DB) AddProfile(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) error {
- return db.statements["insertProfile"].Exec(
- id, subject, controller, originURI, publicMetadata, privateMetadata,
- )
-}
-
-// AddProperty adds a new property to the database
-func (db *DB) AddProperty(
- profileID, key, accumulator, propertyKey string,
-) error {
- return db.statements["insertProperty"].Exec(
- profileID, key, accumulator, propertyKey,
- )
-}
-
-// AddPermission adds a new permission to the database
-func (db *DB) AddPermission(
- serviceID string,
- grants []DIDNamespace,
- scopes []PermissionScope,
-) error {
- grantsJSON, err := json.Marshal(grants)
- if err != nil {
- return fmt.Errorf("failed to marshal grants: %w", err)
- }
-
- scopesJSON, err := json.Marshal(scopes)
- if err != nil {
- return fmt.Errorf("failed to marshal scopes: %w", err)
- }
-
- return db.statements["insertPermission"].Exec(
- serviceID, string(grantsJSON), string(scopesJSON),
- )
-}
-
-// GetPermission retrieves the permission for the given service ID
-func (db *DB) GetPermission(serviceID string) ([]DIDNamespace, []PermissionScope, error) {
- row := db.statements["getPermission"].QueryRow(serviceID)
-
- var grantsJSON, scopesJSON string
- if err := row.Scan(&grantsJSON, &scopesJSON); err != nil {
- return nil, nil, fmt.Errorf("failed to get permission: %w", err)
- }
-
- var grants []DIDNamespace
- if err := json.Unmarshal([]byte(grantsJSON), &grants); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal grants: %w", err)
- }
-
- var scopes []PermissionScope
- if err := json.Unmarshal([]byte(scopesJSON), &scopes); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal scopes: %w", err)
- }
-
- return grants, scopes, nil
-}
-
-// Close closes the database connection and finalizes all prepared statements
-func (db *DB) Close() error {
- for _, stmt := range db.statements {
- stmt.Finalize()
- }
- return db.Conn.Close()
-}
diff --git a/internal/db/queries.go b/internal/db/queries.go
index 807d701..e69de29 100644
--- a/internal/db/queries.go
+++ b/internal/db/queries.go
@@ -1,79 +0,0 @@
-package db
-
-import "fmt"
-
-// Account queries
-func insertAccountQuery(name, address string) string {
- return fmt.Sprintf(`INSERT INTO accounts (name, address) VALUES (%s, %s)`, name, address)
-}
-
-// Asset queries
-func insertAssetQuery(name, symbol string, decimals int, chainID int64) string {
- return fmt.Sprintf(
- `INSERT INTO assets (name, symbol, decimals, chain_id) VALUES (%s, %s, %d, %d)`,
- name,
- symbol,
- decimals,
- chainID,
- )
-}
-
-// Chain queries
-func insertChainQuery(name string, networkID string) string {
- return fmt.Sprintf(`INSERT INTO chains (name, network_id) VALUES (%s, %d)`, name, networkID)
-}
-
-// Credential queries
-func insertCredentialQuery(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) string {
- return fmt.Sprintf(`INSERT INTO credentials (
- handle, controller, attestation_type, origin,
- credential_id, public_key, transport, sign_count,
- user_present, user_verified, backup_eligible,
- backup_state, clone_warning
- ) VALUES (%s, %s, %s, %s, %s, %s, %s, %d, %t, %t, %t, %t, %t)`,
- handle, controller, attestationType, origin,
- credentialID, publicKey, transport, signCount,
- userPresent, userVerified, backupEligible,
- backupState, cloneWarning)
-}
-
-// Profile queries
-func insertProfileQuery(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) string {
- return fmt.Sprintf(`INSERT INTO profiles (
- id, subject, controller, origin_uri,
- public_metadata, private_metadata
- ) VALUES (%s, %s, %s, %s, %s, %s)`,
- id, subject, controller, originURI,
- publicMetadata, privateMetadata)
-}
-
-// Property queries
-func insertPropertyQuery(profileID, key, accumulator, propertyKey string) string {
- return fmt.Sprintf(`INSERT INTO properties (
- profile_id, key, accumulator, property_key
- ) VALUES (%s, %s, %s, %s)`,
- profileID, key, accumulator, propertyKey)
-}
-
-// Permission queries
-func insertPermissionQuery(serviceID, grants, scopes string) string {
- return fmt.Sprintf(
- `INSERT INTO permissions (service_id, grants, scopes) VALUES (%s, %s, %s)`,
- serviceID,
- grants,
- scopes,
- )
-}
-
-// GetPermission query
-func getPermissionQuery(serviceID string) string {
- return fmt.Sprintf(`SELECT grants, scopes FROM permissions WHERE service_id = %s`, serviceID)
-}
* fix: update Makefile to use sonrd instead of wasmd
* feat: Add targets for templ and vault in Makefile and use only make in devbox.json
* feat: add SQLite database support
* bump: version 0.6.0 → 0.7.0
* refactor: upgrade actions to latest versions
2024-09-05 01:24:57 -04:00
}
2024-09-18 17:27:30 -04:00
func ( x * Verification ) slowProtoReflect ( ) protoreflect . Message {
2024-09-11 15:10:54 -04:00
mi := & file_did_v1_state_proto_msgTypes [ 2 ]
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
Feature/update dockerfile (#6)
* chore: remove unused new.Dockerfile
* feat: add DID model definitions
* fix: Fix EncodePublicKey method in KeyInfo struct
* feat: Update `EncodePublicKey` to be the inverse of `DecodePublicKey`
* refactor: update AssetInfo protobuf definition
* fix: update default assets with correct asset types
* fix: Initialize IPFS client and check for mounted directories
* feat: Improve IPFS client initialization and mount checking
* feat: Add local filesystem check for IPFS and IPNS
* fix: Use Unixfs().Get() instead of Cat() for IPFS and IPNS content retrieval
* feat: Update GetCID and GetIPNS functions to read data from IPFS node
* fix: Ensure IPFS client is initialized before pinning CID
* feat: Add AddFile and AddFolder methods
* feat: add IPFS file system abstraction
* feat: Implement IPFS file, location, and filesystem abstractions
* refactor: remove unused functions and types
* refactor: remove unused FileSystem interface
* feat: add initial wasm entrypoint
* feat: add basic vault command operations
* docs: add vault module features
* test: remove test for MsgUpdateParams
* refactor: Replace PrimaryKey with Property struct in zkprop.go
* feat: Update the `CreateWitness` and `CreateAccumulator` and `VerifyWitness` and `UpdateAccumulator` to Use the new `Accumulator` and `Witness` types. Then Clean up the code in the file and refactor the marshalling methods
* <no value>
* feat: add KeyCurve and KeyType to KeyInfo in genesis
* feat: add WASM build step to devbox.json
* feat: Add zkgate.go file
* feat: Uncomment and modify zkgate code to work with Property struct
* feat: Merge zkgate.go and zkprop.go logic
* feat: implement API endpoints for profile management
* refactor: remove unused template file
* feat(orm): remove unused ORM models
* feat: add persistent SQLite database support in WASM
* fix: Update module names in protobuf files
* feat: Add method to initialize SQLite database
* fix: update go-sqlite3 dependency to version 1.14.23
* feat: introduce database layer
* feat: Implement database layer for Vault node
* feature/update-dockerfile
* feat: Add keyshares table
* fix: Reorder the SQL statements in the tables.go file
* feat: Update the `createCredentialsTable` method to match the proper Credential struct
* feat: Update createProfilesTable and add createPropertiesTable
* feat: Add constant SQL queries to queries.go and use prepared statements in db.go
* feat: Add createKeysharesTable to internal/db/db.go
* feat: Update `createPermissionsTable` to match Permissions struct
* feat: Add database enum types
* feat: Add DIDNamespace and PermissionScope enums
* feat: Add DBConfig and DBOption types
* feat: Update the db implementation to use the provided go library
* fix: update db implementation to use go-sqlite3 v0.18.2
* fix: Refactor database connection and statement handling
* feat: Simplify db.go implementation
* feat: Convert constant SQL queries to functions in queries.go and update db.go to use prepared statements
* feat: Add models.go file with database table structs
* fix: Remove unused statement map and prepare statements
diff --git a/internal/db/db.go b/internal/db/db.go
index 201d09b..d4d4d4e 100644
--- a/internal/db/db.go
+++ b/internal/db/db.go
@@ -32,11 +32,6 @@ func Open(config *DBConfig) (*DB, error) {
Conn: conn,
}
- if err := createTables(db); err != nil {
- conn.Close()
- return nil, fmt.Errorf("failed to create tables: %w", err)
- }
-
return db, nil
}
@@ -61,114 +56,3 @@ func createTables(db *DB) error {
return nil
}
-// AddAccount adds a new account to the database
-func (db *DB) AddAccount(name, address string) error {
- return db.Exec(insertAccountQuery(name, address))
-}
-
-// AddAsset adds a new asset to the database
-func (db *DB) AddAsset(name, symbol string, decimals int, chainID int64) error {
- return db.Exec(insertAssetQuery(name, symbol, decimals, chainID))
-}
-
-// AddChain adds a new chain to the database
-func (db *DB) AddChain(name, networkID string) error {
- return db.Exec(insertChainQuery(name, networkID))
-}
-
-// AddCredential adds a new credential to the database
-func (db *DB) AddCredential(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) error {
- return db.Exec(insertCredentialQuery(
- handle,
- controller,
- attestationType,
- origin,
- credentialID,
- publicKey,
- transport,
- signCount,
- userPresent,
- userVerified,
- backupEligible,
- backupState,
- cloneWarning,
- ))
-}
-
-// AddProfile adds a new profile to the database
-func (db *DB) AddProfile(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) error {
- return db.statements["insertProfile"].Exec(
- id, subject, controller, originURI, publicMetadata, privateMetadata,
- )
-}
-
-// AddProperty adds a new property to the database
-func (db *DB) AddProperty(
- profileID, key, accumulator, propertyKey string,
-) error {
- return db.statements["insertProperty"].Exec(
- profileID, key, accumulator, propertyKey,
- )
-}
-
-// AddPermission adds a new permission to the database
-func (db *DB) AddPermission(
- serviceID string,
- grants []DIDNamespace,
- scopes []PermissionScope,
-) error {
- grantsJSON, err := json.Marshal(grants)
- if err != nil {
- return fmt.Errorf("failed to marshal grants: %w", err)
- }
-
- scopesJSON, err := json.Marshal(scopes)
- if err != nil {
- return fmt.Errorf("failed to marshal scopes: %w", err)
- }
-
- return db.statements["insertPermission"].Exec(
- serviceID, string(grantsJSON), string(scopesJSON),
- )
-}
-
-// GetPermission retrieves the permission for the given service ID
-func (db *DB) GetPermission(serviceID string) ([]DIDNamespace, []PermissionScope, error) {
- row := db.statements["getPermission"].QueryRow(serviceID)
-
- var grantsJSON, scopesJSON string
- if err := row.Scan(&grantsJSON, &scopesJSON); err != nil {
- return nil, nil, fmt.Errorf("failed to get permission: %w", err)
- }
-
- var grants []DIDNamespace
- if err := json.Unmarshal([]byte(grantsJSON), &grants); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal grants: %w", err)
- }
-
- var scopes []PermissionScope
- if err := json.Unmarshal([]byte(scopesJSON), &scopes); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal scopes: %w", err)
- }
-
- return grants, scopes, nil
-}
-
-// Close closes the database connection and finalizes all prepared statements
-func (db *DB) Close() error {
- for _, stmt := range db.statements {
- stmt.Finalize()
- }
- return db.Conn.Close()
-}
diff --git a/internal/db/queries.go b/internal/db/queries.go
index 807d701..e69de29 100644
--- a/internal/db/queries.go
+++ b/internal/db/queries.go
@@ -1,79 +0,0 @@
-package db
-
-import "fmt"
-
-// Account queries
-func insertAccountQuery(name, address string) string {
- return fmt.Sprintf(`INSERT INTO accounts (name, address) VALUES (%s, %s)`, name, address)
-}
-
-// Asset queries
-func insertAssetQuery(name, symbol string, decimals int, chainID int64) string {
- return fmt.Sprintf(
- `INSERT INTO assets (name, symbol, decimals, chain_id) VALUES (%s, %s, %d, %d)`,
- name,
- symbol,
- decimals,
- chainID,
- )
-}
-
-// Chain queries
-func insertChainQuery(name string, networkID string) string {
- return fmt.Sprintf(`INSERT INTO chains (name, network_id) VALUES (%s, %d)`, name, networkID)
-}
-
-// Credential queries
-func insertCredentialQuery(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) string {
- return fmt.Sprintf(`INSERT INTO credentials (
- handle, controller, attestation_type, origin,
- credential_id, public_key, transport, sign_count,
- user_present, user_verified, backup_eligible,
- backup_state, clone_warning
- ) VALUES (%s, %s, %s, %s, %s, %s, %s, %d, %t, %t, %t, %t, %t)`,
- handle, controller, attestationType, origin,
- credentialID, publicKey, transport, signCount,
- userPresent, userVerified, backupEligible,
- backupState, cloneWarning)
-}
-
-// Profile queries
-func insertProfileQuery(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) string {
- return fmt.Sprintf(`INSERT INTO profiles (
- id, subject, controller, origin_uri,
- public_metadata, private_metadata
- ) VALUES (%s, %s, %s, %s, %s, %s)`,
- id, subject, controller, originURI,
- publicMetadata, privateMetadata)
-}
-
-// Property queries
-func insertPropertyQuery(profileID, key, accumulator, propertyKey string) string {
- return fmt.Sprintf(`INSERT INTO properties (
- profile_id, key, accumulator, property_key
- ) VALUES (%s, %s, %s, %s)`,
- profileID, key, accumulator, propertyKey)
-}
-
-// Permission queries
-func insertPermissionQuery(serviceID, grants, scopes string) string {
- return fmt.Sprintf(
- `INSERT INTO permissions (service_id, grants, scopes) VALUES (%s, %s, %s)`,
- serviceID,
- grants,
- scopes,
- )
-}
-
-// GetPermission query
-func getPermissionQuery(serviceID string) string {
- return fmt.Sprintf(`SELECT grants, scopes FROM permissions WHERE service_id = %s`, serviceID)
-}
* fix: update Makefile to use sonrd instead of wasmd
* feat: Add targets for templ and vault in Makefile and use only make in devbox.json
* feat: add SQLite database support
* bump: version 0.6.0 → 0.7.0
* refactor: upgrade actions to latest versions
2024-09-05 01:24:57 -04:00
}
2024-09-18 17:27:30 -04:00
var _fastReflection_Verification_messageType fastReflection_Verification_messageType
var _ protoreflect . MessageType = fastReflection_Verification_messageType { }
2024-07-05 22:20:13 -04:00
2024-09-18 17:27:30 -04:00
type fastReflection_Verification_messageType struct { }
2024-07-05 22:20:13 -04:00
2024-09-18 17:27:30 -04:00
func ( x fastReflection_Verification_messageType ) Zero ( ) protoreflect . Message {
return ( * fastReflection_Verification ) ( nil )
2024-07-05 22:20:13 -04:00
}
2024-09-18 17:27:30 -04:00
func ( x fastReflection_Verification_messageType ) New ( ) protoreflect . Message {
return new ( fastReflection_Verification )
2024-07-05 22:20:13 -04:00
}
2024-09-18 17:27:30 -04:00
func ( x fastReflection_Verification_messageType ) Descriptor ( ) protoreflect . MessageDescriptor {
return md_Verification
2024-07-05 22:20:13 -04:00
}
// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
2024-09-18 17:27:30 -04:00
func ( x * fastReflection_Verification ) Descriptor ( ) protoreflect . MessageDescriptor {
return md_Verification
2024-07-05 22:20:13 -04:00
}
// Type returns the message type, which encapsulates both Go and protobuf
// type information. If the Go type information is not needed,
// it is recommended that the message descriptor be used instead.
2024-09-18 17:27:30 -04:00
func ( x * fastReflection_Verification ) Type ( ) protoreflect . MessageType {
return _fastReflection_Verification_messageType
2024-07-05 22:20:13 -04:00
}
// New returns a newly allocated and mutable empty message.
2024-09-18 17:27:30 -04:00
func ( x * fastReflection_Verification ) New ( ) protoreflect . Message {
return new ( fastReflection_Verification )
2024-07-05 22:20:13 -04:00
}
// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
2024-09-18 17:27:30 -04:00
func ( x * fastReflection_Verification ) Interface ( ) protoreflect . ProtoMessage {
return ( * Verification ) ( x )
2024-07-05 22:20:13 -04:00
}
// Range iterates over every populated field in an undefined order,
// calling f for each field descriptor and value encountered.
// Range returns immediately if f returns false.
// While iterating, mutating operations may only be performed
// on the current field descriptor.
2024-09-18 17:27:30 -04:00
func ( x * fastReflection_Verification ) Range ( f func ( protoreflect . FieldDescriptor , protoreflect . Value ) bool ) {
2024-09-25 19:45:28 -04:00
if x . Did != "" {
value := protoreflect . ValueOfString ( x . Did )
if ! f ( fd_Verification_did , value ) {
2024-07-05 22:20:13 -04:00
return
}
}
2024-09-11 15:10:54 -04:00
if x . Controller != "" {
value := protoreflect . ValueOfString ( x . Controller )
2024-09-18 17:27:30 -04:00
if ! f ( fd_Verification_controller , value ) {
return
}
}
2024-09-19 02:04:22 -04:00
if x . DidMethod != "" {
value := protoreflect . ValueOfString ( x . DidMethod )
if ! f ( fd_Verification_did_method , value ) {
2024-07-05 22:20:13 -04:00
return
}
}
2024-09-11 15:10:54 -04:00
if x . Issuer != "" {
value := protoreflect . ValueOfString ( x . Issuer )
2024-09-18 17:27:30 -04:00
if ! f ( fd_Verification_issuer , value ) {
Feature/update dockerfile (#6)
* chore: remove unused new.Dockerfile
* feat: add DID model definitions
* fix: Fix EncodePublicKey method in KeyInfo struct
* feat: Update `EncodePublicKey` to be the inverse of `DecodePublicKey`
* refactor: update AssetInfo protobuf definition
* fix: update default assets with correct asset types
* fix: Initialize IPFS client and check for mounted directories
* feat: Improve IPFS client initialization and mount checking
* feat: Add local filesystem check for IPFS and IPNS
* fix: Use Unixfs().Get() instead of Cat() for IPFS and IPNS content retrieval
* feat: Update GetCID and GetIPNS functions to read data from IPFS node
* fix: Ensure IPFS client is initialized before pinning CID
* feat: Add AddFile and AddFolder methods
* feat: add IPFS file system abstraction
* feat: Implement IPFS file, location, and filesystem abstractions
* refactor: remove unused functions and types
* refactor: remove unused FileSystem interface
* feat: add initial wasm entrypoint
* feat: add basic vault command operations
* docs: add vault module features
* test: remove test for MsgUpdateParams
* refactor: Replace PrimaryKey with Property struct in zkprop.go
* feat: Update the `CreateWitness` and `CreateAccumulator` and `VerifyWitness` and `UpdateAccumulator` to Use the new `Accumulator` and `Witness` types. Then Clean up the code in the file and refactor the marshalling methods
* <no value>
* feat: add KeyCurve and KeyType to KeyInfo in genesis
* feat: add WASM build step to devbox.json
* feat: Add zkgate.go file
* feat: Uncomment and modify zkgate code to work with Property struct
* feat: Merge zkgate.go and zkprop.go logic
* feat: implement API endpoints for profile management
* refactor: remove unused template file
* feat(orm): remove unused ORM models
* feat: add persistent SQLite database support in WASM
* fix: Update module names in protobuf files
* feat: Add method to initialize SQLite database
* fix: update go-sqlite3 dependency to version 1.14.23
* feat: introduce database layer
* feat: Implement database layer for Vault node
* feature/update-dockerfile
* feat: Add keyshares table
* fix: Reorder the SQL statements in the tables.go file
* feat: Update the `createCredentialsTable` method to match the proper Credential struct
* feat: Update createProfilesTable and add createPropertiesTable
* feat: Add constant SQL queries to queries.go and use prepared statements in db.go
* feat: Add createKeysharesTable to internal/db/db.go
* feat: Update `createPermissionsTable` to match Permissions struct
* feat: Add database enum types
* feat: Add DIDNamespace and PermissionScope enums
* feat: Add DBConfig and DBOption types
* feat: Update the db implementation to use the provided go library
* fix: update db implementation to use go-sqlite3 v0.18.2
* fix: Refactor database connection and statement handling
* feat: Simplify db.go implementation
* feat: Convert constant SQL queries to functions in queries.go and update db.go to use prepared statements
* feat: Add models.go file with database table structs
* fix: Remove unused statement map and prepare statements
diff --git a/internal/db/db.go b/internal/db/db.go
index 201d09b..d4d4d4e 100644
--- a/internal/db/db.go
+++ b/internal/db/db.go
@@ -32,11 +32,6 @@ func Open(config *DBConfig) (*DB, error) {
Conn: conn,
}
- if err := createTables(db); err != nil {
- conn.Close()
- return nil, fmt.Errorf("failed to create tables: %w", err)
- }
-
return db, nil
}
@@ -61,114 +56,3 @@ func createTables(db *DB) error {
return nil
}
-// AddAccount adds a new account to the database
-func (db *DB) AddAccount(name, address string) error {
- return db.Exec(insertAccountQuery(name, address))
-}
-
-// AddAsset adds a new asset to the database
-func (db *DB) AddAsset(name, symbol string, decimals int, chainID int64) error {
- return db.Exec(insertAssetQuery(name, symbol, decimals, chainID))
-}
-
-// AddChain adds a new chain to the database
-func (db *DB) AddChain(name, networkID string) error {
- return db.Exec(insertChainQuery(name, networkID))
-}
-
-// AddCredential adds a new credential to the database
-func (db *DB) AddCredential(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) error {
- return db.Exec(insertCredentialQuery(
- handle,
- controller,
- attestationType,
- origin,
- credentialID,
- publicKey,
- transport,
- signCount,
- userPresent,
- userVerified,
- backupEligible,
- backupState,
- cloneWarning,
- ))
-}
-
-// AddProfile adds a new profile to the database
-func (db *DB) AddProfile(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) error {
- return db.statements["insertProfile"].Exec(
- id, subject, controller, originURI, publicMetadata, privateMetadata,
- )
-}
-
-// AddProperty adds a new property to the database
-func (db *DB) AddProperty(
- profileID, key, accumulator, propertyKey string,
-) error {
- return db.statements["insertProperty"].Exec(
- profileID, key, accumulator, propertyKey,
- )
-}
-
-// AddPermission adds a new permission to the database
-func (db *DB) AddPermission(
- serviceID string,
- grants []DIDNamespace,
- scopes []PermissionScope,
-) error {
- grantsJSON, err := json.Marshal(grants)
- if err != nil {
- return fmt.Errorf("failed to marshal grants: %w", err)
- }
-
- scopesJSON, err := json.Marshal(scopes)
- if err != nil {
- return fmt.Errorf("failed to marshal scopes: %w", err)
- }
-
- return db.statements["insertPermission"].Exec(
- serviceID, string(grantsJSON), string(scopesJSON),
- )
-}
-
-// GetPermission retrieves the permission for the given service ID
-func (db *DB) GetPermission(serviceID string) ([]DIDNamespace, []PermissionScope, error) {
- row := db.statements["getPermission"].QueryRow(serviceID)
-
- var grantsJSON, scopesJSON string
- if err := row.Scan(&grantsJSON, &scopesJSON); err != nil {
- return nil, nil, fmt.Errorf("failed to get permission: %w", err)
- }
-
- var grants []DIDNamespace
- if err := json.Unmarshal([]byte(grantsJSON), &grants); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal grants: %w", err)
- }
-
- var scopes []PermissionScope
- if err := json.Unmarshal([]byte(scopesJSON), &scopes); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal scopes: %w", err)
- }
-
- return grants, scopes, nil
-}
-
-// Close closes the database connection and finalizes all prepared statements
-func (db *DB) Close() error {
- for _, stmt := range db.statements {
- stmt.Finalize()
- }
- return db.Conn.Close()
-}
diff --git a/internal/db/queries.go b/internal/db/queries.go
index 807d701..e69de29 100644
--- a/internal/db/queries.go
+++ b/internal/db/queries.go
@@ -1,79 +0,0 @@
-package db
-
-import "fmt"
-
-// Account queries
-func insertAccountQuery(name, address string) string {
- return fmt.Sprintf(`INSERT INTO accounts (name, address) VALUES (%s, %s)`, name, address)
-}
-
-// Asset queries
-func insertAssetQuery(name, symbol string, decimals int, chainID int64) string {
- return fmt.Sprintf(
- `INSERT INTO assets (name, symbol, decimals, chain_id) VALUES (%s, %s, %d, %d)`,
- name,
- symbol,
- decimals,
- chainID,
- )
-}
-
-// Chain queries
-func insertChainQuery(name string, networkID string) string {
- return fmt.Sprintf(`INSERT INTO chains (name, network_id) VALUES (%s, %d)`, name, networkID)
-}
-
-// Credential queries
-func insertCredentialQuery(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) string {
- return fmt.Sprintf(`INSERT INTO credentials (
- handle, controller, attestation_type, origin,
- credential_id, public_key, transport, sign_count,
- user_present, user_verified, backup_eligible,
- backup_state, clone_warning
- ) VALUES (%s, %s, %s, %s, %s, %s, %s, %d, %t, %t, %t, %t, %t)`,
- handle, controller, attestationType, origin,
- credentialID, publicKey, transport, signCount,
- userPresent, userVerified, backupEligible,
- backupState, cloneWarning)
-}
-
-// Profile queries
-func insertProfileQuery(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) string {
- return fmt.Sprintf(`INSERT INTO profiles (
- id, subject, controller, origin_uri,
- public_metadata, private_metadata
- ) VALUES (%s, %s, %s, %s, %s, %s)`,
- id, subject, controller, originURI,
- publicMetadata, privateMetadata)
-}
-
-// Property queries
-func insertPropertyQuery(profileID, key, accumulator, propertyKey string) string {
- return fmt.Sprintf(`INSERT INTO properties (
- profile_id, key, accumulator, property_key
- ) VALUES (%s, %s, %s, %s)`,
- profileID, key, accumulator, propertyKey)
-}
-
-// Permission queries
-func insertPermissionQuery(serviceID, grants, scopes string) string {
- return fmt.Sprintf(
- `INSERT INTO permissions (service_id, grants, scopes) VALUES (%s, %s, %s)`,
- serviceID,
- grants,
- scopes,
- )
-}
-
-// GetPermission query
-func getPermissionQuery(serviceID string) string {
- return fmt.Sprintf(`SELECT grants, scopes FROM permissions WHERE service_id = %s`, serviceID)
-}
* fix: update Makefile to use sonrd instead of wasmd
* feat: Add targets for templ and vault in Makefile and use only make in devbox.json
* feat: add SQLite database support
* bump: version 0.6.0 → 0.7.0
* refactor: upgrade actions to latest versions
2024-09-05 01:24:57 -04:00
return
}
}
2024-09-18 17:27:30 -04:00
if x . Subject != "" {
value := protoreflect . ValueOfString ( x . Subject )
if ! f ( fd_Verification_subject , value ) {
2024-07-05 22:20:13 -04:00
return
}
}
2024-09-18 17:27:30 -04:00
if x . PublicKey != nil {
value := protoreflect . ValueOfMessage ( x . PublicKey . ProtoReflect ( ) )
if ! f ( fd_Verification_public_key , value ) {
2024-09-11 15:10:54 -04:00
return
}
}
2024-09-19 02:04:22 -04:00
if x . VerificationType != "" {
value := protoreflect . ValueOfString ( x . VerificationType )
if ! f ( fd_Verification_verification_type , value ) {
2024-07-05 22:20:13 -04:00
return
}
}
}
// Has reports whether a field is populated.
//
// Some fields have the property of nullability where it is possible to
// distinguish between the default value of a field and whether the field
// was explicitly populated with the default value. Singular message fields,
// member fields of a oneof, and proto2 scalar fields are nullable. Such
// fields are populated only if explicitly set.
//
// In other cases (aside from the nullable cases above),
// a proto3 scalar field is populated if it contains a non-zero value, and
// a repeated field is populated if it is non-empty.
2024-09-18 17:27:30 -04:00
func ( x * fastReflection_Verification ) Has ( fd protoreflect . FieldDescriptor ) bool {
2024-07-05 22:20:13 -04:00
switch fd . FullName ( ) {
2024-09-25 19:45:28 -04:00
case "did.v1.Verification.did" :
return x . Did != ""
2024-09-18 17:27:30 -04:00
case "did.v1.Verification.controller" :
2024-09-11 15:10:54 -04:00
return x . Controller != ""
2024-09-19 02:04:22 -04:00
case "did.v1.Verification.did_method" :
return x . DidMethod != ""
2024-09-18 17:27:30 -04:00
case "did.v1.Verification.issuer" :
2024-09-11 15:10:54 -04:00
return x . Issuer != ""
2024-09-18 17:27:30 -04:00
case "did.v1.Verification.subject" :
return x . Subject != ""
case "did.v1.Verification.public_key" :
return x . PublicKey != nil
2024-09-19 02:04:22 -04:00
case "did.v1.Verification.verification_type" :
return x . VerificationType != ""
2024-07-05 22:20:13 -04:00
default :
if fd . IsExtension ( ) {
2024-09-18 17:27:30 -04:00
panic ( fmt . Errorf ( "proto3 declared messages do not support extensions: did.v1.Verification" ) )
2024-07-05 22:20:13 -04:00
}
2024-09-18 17:27:30 -04:00
panic ( fmt . Errorf ( "message did.v1.Verification does not contain field %s" , fd . FullName ( ) ) )
2024-07-05 22:20:13 -04:00
}
}
// Clear clears the field such that a subsequent Has call reports false.
//
// Clearing an extension field clears both the extension type and value
// associated with the given field number.
//
// Clear is a mutating operation and unsafe for concurrent use.
2024-09-18 17:27:30 -04:00
func ( x * fastReflection_Verification ) Clear ( fd protoreflect . FieldDescriptor ) {
2024-07-05 22:20:13 -04:00
switch fd . FullName ( ) {
2024-09-25 19:45:28 -04:00
case "did.v1.Verification.did" :
x . Did = ""
2024-09-18 17:27:30 -04:00
case "did.v1.Verification.controller" :
2024-09-11 15:10:54 -04:00
x . Controller = ""
2024-09-19 02:04:22 -04:00
case "did.v1.Verification.did_method" :
x . DidMethod = ""
2024-09-18 17:27:30 -04:00
case "did.v1.Verification.issuer" :
2024-09-11 15:10:54 -04:00
x . Issuer = ""
2024-09-18 17:27:30 -04:00
case "did.v1.Verification.subject" :
x . Subject = ""
case "did.v1.Verification.public_key" :
x . PublicKey = nil
2024-09-19 02:04:22 -04:00
case "did.v1.Verification.verification_type" :
x . VerificationType = ""
2024-07-05 22:20:13 -04:00
default :
if fd . IsExtension ( ) {
2024-09-18 17:27:30 -04:00
panic ( fmt . Errorf ( "proto3 declared messages do not support extensions: did.v1.Verification" ) )
2024-07-05 22:20:13 -04:00
}
2024-09-18 17:27:30 -04:00
panic ( fmt . Errorf ( "message did.v1.Verification does not contain field %s" , fd . FullName ( ) ) )
2024-07-05 22:20:13 -04:00
}
}
// Get retrieves the value for a field.
//
// For unpopulated scalars, it returns the default value, where
// the default value of a bytes scalar is guaranteed to be a copy.
// For unpopulated composite types, it returns an empty, read-only view
// of the value; to obtain a mutable reference, use Mutable.
2024-09-18 17:27:30 -04:00
func ( x * fastReflection_Verification ) Get ( descriptor protoreflect . FieldDescriptor ) protoreflect . Value {
2024-07-05 22:20:13 -04:00
switch descriptor . FullName ( ) {
2024-09-25 19:45:28 -04:00
case "did.v1.Verification.did" :
value := x . Did
2024-07-05 22:20:13 -04:00
return protoreflect . ValueOfString ( value )
2024-09-18 17:27:30 -04:00
case "did.v1.Verification.controller" :
2024-09-11 15:10:54 -04:00
value := x . Controller
2024-07-06 03:02:45 -04:00
return protoreflect . ValueOfString ( value )
2024-09-19 02:04:22 -04:00
case "did.v1.Verification.did_method" :
value := x . DidMethod
return protoreflect . ValueOfString ( value )
2024-09-18 17:27:30 -04:00
case "did.v1.Verification.issuer" :
2024-09-11 15:10:54 -04:00
value := x . Issuer
return protoreflect . ValueOfString ( value )
2024-09-18 17:27:30 -04:00
case "did.v1.Verification.subject" :
value := x . Subject
return protoreflect . ValueOfString ( value )
case "did.v1.Verification.public_key" :
value := x . PublicKey
return protoreflect . ValueOfMessage ( value . ProtoReflect ( ) )
2024-09-19 02:04:22 -04:00
case "did.v1.Verification.verification_type" :
value := x . VerificationType
2024-07-05 22:20:13 -04:00
return protoreflect . ValueOfString ( value )
default :
if descriptor . IsExtension ( ) {
2024-09-18 17:27:30 -04:00
panic ( fmt . Errorf ( "proto3 declared messages do not support extensions: did.v1.Verification" ) )
2024-07-05 22:20:13 -04:00
}
2024-09-18 17:27:30 -04:00
panic ( fmt . Errorf ( "message did.v1.Verification does not contain field %s" , descriptor . FullName ( ) ) )
2024-07-05 22:20:13 -04:00
}
}
// Set stores the value for a field.
//
// For a field belonging to a oneof, it implicitly clears any other field
// that may be currently set within the same oneof.
// For extension fields, it implicitly stores the provided ExtensionType.
// When setting a composite type, it is unspecified whether the stored value
// aliases the source's memory in any way. If the composite value is an
// empty, read-only value, then it panics.
//
// Set is a mutating operation and unsafe for concurrent use.
2024-09-18 17:27:30 -04:00
func ( x * fastReflection_Verification ) Set ( fd protoreflect . FieldDescriptor , value protoreflect . Value ) {
2024-07-05 22:20:13 -04:00
switch fd . FullName ( ) {
2024-09-25 19:45:28 -04:00
case "did.v1.Verification.did" :
x . Did = value . Interface ( ) . ( string )
2024-09-18 17:27:30 -04:00
case "did.v1.Verification.controller" :
2024-09-11 15:10:54 -04:00
x . Controller = value . Interface ( ) . ( string )
2024-09-19 02:04:22 -04:00
case "did.v1.Verification.did_method" :
x . DidMethod = value . Interface ( ) . ( string )
2024-09-18 17:27:30 -04:00
case "did.v1.Verification.issuer" :
2024-09-11 15:10:54 -04:00
x . Issuer = value . Interface ( ) . ( string )
2024-09-18 17:27:30 -04:00
case "did.v1.Verification.subject" :
x . Subject = value . Interface ( ) . ( string )
case "did.v1.Verification.public_key" :
x . PublicKey = value . Message ( ) . Interface ( ) . ( * PubKey )
2024-09-19 02:04:22 -04:00
case "did.v1.Verification.verification_type" :
x . VerificationType = value . Interface ( ) . ( string )
2024-07-05 22:20:13 -04:00
default :
if fd . IsExtension ( ) {
2024-09-18 17:27:30 -04:00
panic ( fmt . Errorf ( "proto3 declared messages do not support extensions: did.v1.Verification" ) )
2024-07-05 22:20:13 -04:00
}
2024-09-18 17:27:30 -04:00
panic ( fmt . Errorf ( "message did.v1.Verification does not contain field %s" , fd . FullName ( ) ) )
2024-07-05 22:20:13 -04:00
}
}
// Mutable returns a mutable reference to a composite type.
//
// If the field is unpopulated, it may allocate a composite value.
// For a field belonging to a oneof, it implicitly clears any other field
// that may be currently set within the same oneof.
// For extension fields, it implicitly stores the provided ExtensionType
// if not already stored.
// It panics if the field does not contain a composite type.
//
// Mutable is a mutating operation and unsafe for concurrent use.
2024-09-18 17:27:30 -04:00
func ( x * fastReflection_Verification ) Mutable ( fd protoreflect . FieldDescriptor ) protoreflect . Value {
2024-07-05 22:20:13 -04:00
switch fd . FullName ( ) {
2024-09-18 17:27:30 -04:00
case "did.v1.Verification.public_key" :
if x . PublicKey == nil {
x . PublicKey = new ( PubKey )
}
return protoreflect . ValueOfMessage ( x . PublicKey . ProtoReflect ( ) )
2024-09-25 19:45:28 -04:00
case "did.v1.Verification.did" :
panic ( fmt . Errorf ( "field did of message did.v1.Verification is not mutable" ) )
2024-09-18 17:27:30 -04:00
case "did.v1.Verification.controller" :
panic ( fmt . Errorf ( "field controller of message did.v1.Verification is not mutable" ) )
2024-09-19 02:04:22 -04:00
case "did.v1.Verification.did_method" :
panic ( fmt . Errorf ( "field did_method of message did.v1.Verification is not mutable" ) )
2024-09-18 17:27:30 -04:00
case "did.v1.Verification.issuer" :
panic ( fmt . Errorf ( "field issuer of message did.v1.Verification is not mutable" ) )
case "did.v1.Verification.subject" :
panic ( fmt . Errorf ( "field subject of message did.v1.Verification is not mutable" ) )
2024-09-19 02:04:22 -04:00
case "did.v1.Verification.verification_type" :
panic ( fmt . Errorf ( "field verification_type of message did.v1.Verification is not mutable" ) )
2024-07-05 22:20:13 -04:00
default :
if fd . IsExtension ( ) {
2024-09-18 17:27:30 -04:00
panic ( fmt . Errorf ( "proto3 declared messages do not support extensions: did.v1.Verification" ) )
2024-07-05 22:20:13 -04:00
}
2024-09-18 17:27:30 -04:00
panic ( fmt . Errorf ( "message did.v1.Verification does not contain field %s" , fd . FullName ( ) ) )
2024-07-05 22:20:13 -04:00
}
}
// NewField returns a new value that is assignable to the field
// for the given descriptor. For scalars, this returns the default value.
// For lists, maps, and messages, this returns a new, empty, mutable value.
2024-09-18 17:27:30 -04:00
func ( x * fastReflection_Verification ) NewField ( fd protoreflect . FieldDescriptor ) protoreflect . Value {
2024-07-05 22:20:13 -04:00
switch fd . FullName ( ) {
2024-09-25 19:45:28 -04:00
case "did.v1.Verification.did" :
2024-07-05 22:20:13 -04:00
return protoreflect . ValueOfString ( "" )
2024-09-18 17:27:30 -04:00
case "did.v1.Verification.controller" :
return protoreflect . ValueOfString ( "" )
2024-09-19 02:04:22 -04:00
case "did.v1.Verification.did_method" :
return protoreflect . ValueOfString ( "" )
2024-09-18 17:27:30 -04:00
case "did.v1.Verification.issuer" :
2024-07-06 03:02:45 -04:00
return protoreflect . ValueOfString ( "" )
2024-09-18 17:27:30 -04:00
case "did.v1.Verification.subject" :
2024-07-05 22:20:13 -04:00
return protoreflect . ValueOfString ( "" )
2024-09-18 17:27:30 -04:00
case "did.v1.Verification.public_key" :
m := new ( PubKey )
return protoreflect . ValueOfMessage ( m . ProtoReflect ( ) )
2024-09-19 02:04:22 -04:00
case "did.v1.Verification.verification_type" :
2024-09-11 15:10:54 -04:00
return protoreflect . ValueOfString ( "" )
2024-07-05 22:20:13 -04:00
default :
if fd . IsExtension ( ) {
2024-09-18 17:27:30 -04:00
panic ( fmt . Errorf ( "proto3 declared messages do not support extensions: did.v1.Verification" ) )
2024-07-05 22:20:13 -04:00
}
2024-09-18 17:27:30 -04:00
panic ( fmt . Errorf ( "message did.v1.Verification does not contain field %s" , fd . FullName ( ) ) )
2024-07-05 22:20:13 -04:00
}
}
// WhichOneof reports which field within the oneof is populated,
// returning nil if none are populated.
// It panics if the oneof descriptor does not belong to this message.
2024-09-18 17:27:30 -04:00
func ( x * fastReflection_Verification ) WhichOneof ( d protoreflect . OneofDescriptor ) protoreflect . FieldDescriptor {
2024-07-05 22:20:13 -04:00
switch d . FullName ( ) {
default :
2024-09-18 17:27:30 -04:00
panic ( fmt . Errorf ( "%s is not a oneof field in did.v1.Verification" , d . FullName ( ) ) )
2024-07-05 22:20:13 -04:00
}
panic ( "unreachable" )
}
// GetUnknown retrieves the entire list of unknown fields.
// The caller may only mutate the contents of the RawFields
// if the mutated bytes are stored back into the message with SetUnknown.
2024-09-18 17:27:30 -04:00
func ( x * fastReflection_Verification ) GetUnknown ( ) protoreflect . RawFields {
2024-07-05 22:20:13 -04:00
return x . unknownFields
}
// SetUnknown stores an entire list of unknown fields.
// The raw fields must be syntactically valid according to the wire format.
// An implementation may panic if this is not the case.
// Once stored, the caller must not mutate the content of the RawFields.
// An empty RawFields may be passed to clear the fields.
//
// SetUnknown is a mutating operation and unsafe for concurrent use.
2024-09-18 17:27:30 -04:00
func ( x * fastReflection_Verification ) SetUnknown ( fields protoreflect . RawFields ) {
2024-07-05 22:20:13 -04:00
x . unknownFields = fields
}
// IsValid reports whether the message is valid.
//
// An invalid message is an empty, read-only value.
//
// An invalid message often corresponds to a nil pointer of the concrete
// message type, but the details are implementation dependent.
// Validity is not part of the protobuf data model, and may not
// be preserved in marshaling or other operations.
2024-09-18 17:27:30 -04:00
func ( x * fastReflection_Verification ) IsValid ( ) bool {
2024-07-05 22:20:13 -04:00
return x != nil
}
// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
// This method may return nil.
//
// The returned methods type is identical to
// "google.golang.org/protobuf/runtime/protoiface".Methods.
// Consult the protoiface package documentation for details.
2024-09-18 17:27:30 -04:00
func ( x * fastReflection_Verification ) ProtoMethods ( ) * protoiface . Methods {
2024-07-05 22:20:13 -04:00
size := func ( input protoiface . SizeInput ) protoiface . SizeOutput {
2024-09-18 17:27:30 -04:00
x := input . Message . Interface ( ) . ( * Verification )
2024-07-05 22:20:13 -04:00
if x == nil {
return protoiface . SizeOutput {
NoUnkeyedLiterals : input . NoUnkeyedLiterals ,
Size : 0 ,
}
}
options := runtime . SizeInputToOptions ( input )
_ = options
var n int
var l int
_ = l
2024-09-25 19:45:28 -04:00
l = len ( x . Did )
2024-07-05 22:20:13 -04:00
if l > 0 {
n += 1 + l + runtime . Sov ( uint64 ( l ) )
}
2024-09-11 15:10:54 -04:00
l = len ( x . Controller )
2024-07-05 22:20:13 -04:00
if l > 0 {
n += 1 + l + runtime . Sov ( uint64 ( l ) )
}
2024-09-19 02:04:22 -04:00
l = len ( x . DidMethod )
if l > 0 {
n += 1 + l + runtime . Sov ( uint64 ( l ) )
2024-09-18 17:27:30 -04:00
}
2024-09-11 15:10:54 -04:00
l = len ( x . Issuer )
if l > 0 {
n += 1 + l + runtime . Sov ( uint64 ( l ) )
Feature/update dockerfile (#6)
* chore: remove unused new.Dockerfile
* feat: add DID model definitions
* fix: Fix EncodePublicKey method in KeyInfo struct
* feat: Update `EncodePublicKey` to be the inverse of `DecodePublicKey`
* refactor: update AssetInfo protobuf definition
* fix: update default assets with correct asset types
* fix: Initialize IPFS client and check for mounted directories
* feat: Improve IPFS client initialization and mount checking
* feat: Add local filesystem check for IPFS and IPNS
* fix: Use Unixfs().Get() instead of Cat() for IPFS and IPNS content retrieval
* feat: Update GetCID and GetIPNS functions to read data from IPFS node
* fix: Ensure IPFS client is initialized before pinning CID
* feat: Add AddFile and AddFolder methods
* feat: add IPFS file system abstraction
* feat: Implement IPFS file, location, and filesystem abstractions
* refactor: remove unused functions and types
* refactor: remove unused FileSystem interface
* feat: add initial wasm entrypoint
* feat: add basic vault command operations
* docs: add vault module features
* test: remove test for MsgUpdateParams
* refactor: Replace PrimaryKey with Property struct in zkprop.go
* feat: Update the `CreateWitness` and `CreateAccumulator` and `VerifyWitness` and `UpdateAccumulator` to Use the new `Accumulator` and `Witness` types. Then Clean up the code in the file and refactor the marshalling methods
* <no value>
* feat: add KeyCurve and KeyType to KeyInfo in genesis
* feat: add WASM build step to devbox.json
* feat: Add zkgate.go file
* feat: Uncomment and modify zkgate code to work with Property struct
* feat: Merge zkgate.go and zkprop.go logic
* feat: implement API endpoints for profile management
* refactor: remove unused template file
* feat(orm): remove unused ORM models
* feat: add persistent SQLite database support in WASM
* fix: Update module names in protobuf files
* feat: Add method to initialize SQLite database
* fix: update go-sqlite3 dependency to version 1.14.23
* feat: introduce database layer
* feat: Implement database layer for Vault node
* feature/update-dockerfile
* feat: Add keyshares table
* fix: Reorder the SQL statements in the tables.go file
* feat: Update the `createCredentialsTable` method to match the proper Credential struct
* feat: Update createProfilesTable and add createPropertiesTable
* feat: Add constant SQL queries to queries.go and use prepared statements in db.go
* feat: Add createKeysharesTable to internal/db/db.go
* feat: Update `createPermissionsTable` to match Permissions struct
* feat: Add database enum types
* feat: Add DIDNamespace and PermissionScope enums
* feat: Add DBConfig and DBOption types
* feat: Update the db implementation to use the provided go library
* fix: update db implementation to use go-sqlite3 v0.18.2
* fix: Refactor database connection and statement handling
* feat: Simplify db.go implementation
* feat: Convert constant SQL queries to functions in queries.go and update db.go to use prepared statements
* feat: Add models.go file with database table structs
* fix: Remove unused statement map and prepare statements
diff --git a/internal/db/db.go b/internal/db/db.go
index 201d09b..d4d4d4e 100644
--- a/internal/db/db.go
+++ b/internal/db/db.go
@@ -32,11 +32,6 @@ func Open(config *DBConfig) (*DB, error) {
Conn: conn,
}
- if err := createTables(db); err != nil {
- conn.Close()
- return nil, fmt.Errorf("failed to create tables: %w", err)
- }
-
return db, nil
}
@@ -61,114 +56,3 @@ func createTables(db *DB) error {
return nil
}
-// AddAccount adds a new account to the database
-func (db *DB) AddAccount(name, address string) error {
- return db.Exec(insertAccountQuery(name, address))
-}
-
-// AddAsset adds a new asset to the database
-func (db *DB) AddAsset(name, symbol string, decimals int, chainID int64) error {
- return db.Exec(insertAssetQuery(name, symbol, decimals, chainID))
-}
-
-// AddChain adds a new chain to the database
-func (db *DB) AddChain(name, networkID string) error {
- return db.Exec(insertChainQuery(name, networkID))
-}
-
-// AddCredential adds a new credential to the database
-func (db *DB) AddCredential(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) error {
- return db.Exec(insertCredentialQuery(
- handle,
- controller,
- attestationType,
- origin,
- credentialID,
- publicKey,
- transport,
- signCount,
- userPresent,
- userVerified,
- backupEligible,
- backupState,
- cloneWarning,
- ))
-}
-
-// AddProfile adds a new profile to the database
-func (db *DB) AddProfile(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) error {
- return db.statements["insertProfile"].Exec(
- id, subject, controller, originURI, publicMetadata, privateMetadata,
- )
-}
-
-// AddProperty adds a new property to the database
-func (db *DB) AddProperty(
- profileID, key, accumulator, propertyKey string,
-) error {
- return db.statements["insertProperty"].Exec(
- profileID, key, accumulator, propertyKey,
- )
-}
-
-// AddPermission adds a new permission to the database
-func (db *DB) AddPermission(
- serviceID string,
- grants []DIDNamespace,
- scopes []PermissionScope,
-) error {
- grantsJSON, err := json.Marshal(grants)
- if err != nil {
- return fmt.Errorf("failed to marshal grants: %w", err)
- }
-
- scopesJSON, err := json.Marshal(scopes)
- if err != nil {
- return fmt.Errorf("failed to marshal scopes: %w", err)
- }
-
- return db.statements["insertPermission"].Exec(
- serviceID, string(grantsJSON), string(scopesJSON),
- )
-}
-
-// GetPermission retrieves the permission for the given service ID
-func (db *DB) GetPermission(serviceID string) ([]DIDNamespace, []PermissionScope, error) {
- row := db.statements["getPermission"].QueryRow(serviceID)
-
- var grantsJSON, scopesJSON string
- if err := row.Scan(&grantsJSON, &scopesJSON); err != nil {
- return nil, nil, fmt.Errorf("failed to get permission: %w", err)
- }
-
- var grants []DIDNamespace
- if err := json.Unmarshal([]byte(grantsJSON), &grants); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal grants: %w", err)
- }
-
- var scopes []PermissionScope
- if err := json.Unmarshal([]byte(scopesJSON), &scopes); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal scopes: %w", err)
- }
-
- return grants, scopes, nil
-}
-
-// Close closes the database connection and finalizes all prepared statements
-func (db *DB) Close() error {
- for _, stmt := range db.statements {
- stmt.Finalize()
- }
- return db.Conn.Close()
-}
diff --git a/internal/db/queries.go b/internal/db/queries.go
index 807d701..e69de29 100644
--- a/internal/db/queries.go
+++ b/internal/db/queries.go
@@ -1,79 +0,0 @@
-package db
-
-import "fmt"
-
-// Account queries
-func insertAccountQuery(name, address string) string {
- return fmt.Sprintf(`INSERT INTO accounts (name, address) VALUES (%s, %s)`, name, address)
-}
-
-// Asset queries
-func insertAssetQuery(name, symbol string, decimals int, chainID int64) string {
- return fmt.Sprintf(
- `INSERT INTO assets (name, symbol, decimals, chain_id) VALUES (%s, %s, %d, %d)`,
- name,
- symbol,
- decimals,
- chainID,
- )
-}
-
-// Chain queries
-func insertChainQuery(name string, networkID string) string {
- return fmt.Sprintf(`INSERT INTO chains (name, network_id) VALUES (%s, %d)`, name, networkID)
-}
-
-// Credential queries
-func insertCredentialQuery(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) string {
- return fmt.Sprintf(`INSERT INTO credentials (
- handle, controller, attestation_type, origin,
- credential_id, public_key, transport, sign_count,
- user_present, user_verified, backup_eligible,
- backup_state, clone_warning
- ) VALUES (%s, %s, %s, %s, %s, %s, %s, %d, %t, %t, %t, %t, %t)`,
- handle, controller, attestationType, origin,
- credentialID, publicKey, transport, signCount,
- userPresent, userVerified, backupEligible,
- backupState, cloneWarning)
-}
-
-// Profile queries
-func insertProfileQuery(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) string {
- return fmt.Sprintf(`INSERT INTO profiles (
- id, subject, controller, origin_uri,
- public_metadata, private_metadata
- ) VALUES (%s, %s, %s, %s, %s, %s)`,
- id, subject, controller, originURI,
- publicMetadata, privateMetadata)
-}
-
-// Property queries
-func insertPropertyQuery(profileID, key, accumulator, propertyKey string) string {
- return fmt.Sprintf(`INSERT INTO properties (
- profile_id, key, accumulator, property_key
- ) VALUES (%s, %s, %s, %s)`,
- profileID, key, accumulator, propertyKey)
-}
-
-// Permission queries
-func insertPermissionQuery(serviceID, grants, scopes string) string {
- return fmt.Sprintf(
- `INSERT INTO permissions (service_id, grants, scopes) VALUES (%s, %s, %s)`,
- serviceID,
- grants,
- scopes,
- )
-}
-
-// GetPermission query
-func getPermissionQuery(serviceID string) string {
- return fmt.Sprintf(`SELECT grants, scopes FROM permissions WHERE service_id = %s`, serviceID)
-}
* fix: update Makefile to use sonrd instead of wasmd
* feat: Add targets for templ and vault in Makefile and use only make in devbox.json
* feat: add SQLite database support
* bump: version 0.6.0 → 0.7.0
* refactor: upgrade actions to latest versions
2024-09-05 01:24:57 -04:00
}
2024-09-18 17:27:30 -04:00
l = len ( x . Subject )
2024-09-11 15:10:54 -04:00
if l > 0 {
2024-07-05 22:20:13 -04:00
n += 1 + l + runtime . Sov ( uint64 ( l ) )
}
2024-09-18 17:27:30 -04:00
if x . PublicKey != nil {
l = options . Size ( x . PublicKey )
2024-09-11 15:10:54 -04:00
n += 1 + l + runtime . Sov ( uint64 ( l ) )
}
2024-09-19 02:04:22 -04:00
l = len ( x . VerificationType )
2024-07-05 22:20:13 -04:00
if l > 0 {
n += 1 + l + runtime . Sov ( uint64 ( l ) )
}
if x . unknownFields != nil {
n += len ( x . unknownFields )
}
return protoiface . SizeOutput {
NoUnkeyedLiterals : input . NoUnkeyedLiterals ,
Size : n ,
}
}
marshal := func ( input protoiface . MarshalInput ) ( protoiface . MarshalOutput , error ) {
2024-09-18 17:27:30 -04:00
x := input . Message . Interface ( ) . ( * Verification )
2024-07-05 22:20:13 -04:00
if x == nil {
return protoiface . MarshalOutput {
NoUnkeyedLiterals : input . NoUnkeyedLiterals ,
Buf : input . Buf ,
} , nil
}
options := runtime . MarshalInputToOptions ( input )
_ = options
size := options . Size ( x )
dAtA := make ( [ ] byte , size )
i := len ( dAtA )
_ = i
var l int
_ = l
if x . unknownFields != nil {
i -= len ( x . unknownFields )
copy ( dAtA [ i : ] , x . unknownFields )
}
2024-09-19 02:04:22 -04:00
if len ( x . VerificationType ) > 0 {
i -= len ( x . VerificationType )
copy ( dAtA [ i : ] , x . VerificationType )
i = runtime . EncodeVarint ( dAtA , i , uint64 ( len ( x . VerificationType ) ) )
2024-09-11 15:10:54 -04:00
i --
2024-09-18 17:27:30 -04:00
dAtA [ i ] = 0x3a
2024-09-11 15:10:54 -04:00
}
2024-09-18 17:27:30 -04:00
if x . PublicKey != nil {
encoded , err := options . Marshal ( x . PublicKey )
if err != nil {
return protoiface . MarshalOutput {
NoUnkeyedLiterals : input . NoUnkeyedLiterals ,
Buf : input . Buf ,
} , err
}
i -= len ( encoded )
copy ( dAtA [ i : ] , encoded )
i = runtime . EncodeVarint ( dAtA , i , uint64 ( len ( encoded ) ) )
2024-07-05 22:20:13 -04:00
i --
2024-09-18 17:27:30 -04:00
dAtA [ i ] = 0x32
2024-07-05 22:20:13 -04:00
}
2024-09-18 17:27:30 -04:00
if len ( x . Subject ) > 0 {
i -= len ( x . Subject )
copy ( dAtA [ i : ] , x . Subject )
i = runtime . EncodeVarint ( dAtA , i , uint64 ( len ( x . Subject ) ) )
2024-07-05 22:20:13 -04:00
i --
2024-09-18 17:27:30 -04:00
dAtA [ i ] = 0x2a
2024-07-05 22:20:13 -04:00
}
2024-09-11 15:10:54 -04:00
if len ( x . Issuer ) > 0 {
i -= len ( x . Issuer )
copy ( dAtA [ i : ] , x . Issuer )
i = runtime . EncodeVarint ( dAtA , i , uint64 ( len ( x . Issuer ) ) )
i --
2024-09-18 17:27:30 -04:00
dAtA [ i ] = 0x22
}
2024-09-19 02:04:22 -04:00
if len ( x . DidMethod ) > 0 {
i -= len ( x . DidMethod )
copy ( dAtA [ i : ] , x . DidMethod )
i = runtime . EncodeVarint ( dAtA , i , uint64 ( len ( x . DidMethod ) ) )
2024-09-18 17:27:30 -04:00
i --
2024-09-19 02:04:22 -04:00
dAtA [ i ] = 0x1a
Feature/update dockerfile (#6)
* chore: remove unused new.Dockerfile
* feat: add DID model definitions
* fix: Fix EncodePublicKey method in KeyInfo struct
* feat: Update `EncodePublicKey` to be the inverse of `DecodePublicKey`
* refactor: update AssetInfo protobuf definition
* fix: update default assets with correct asset types
* fix: Initialize IPFS client and check for mounted directories
* feat: Improve IPFS client initialization and mount checking
* feat: Add local filesystem check for IPFS and IPNS
* fix: Use Unixfs().Get() instead of Cat() for IPFS and IPNS content retrieval
* feat: Update GetCID and GetIPNS functions to read data from IPFS node
* fix: Ensure IPFS client is initialized before pinning CID
* feat: Add AddFile and AddFolder methods
* feat: add IPFS file system abstraction
* feat: Implement IPFS file, location, and filesystem abstractions
* refactor: remove unused functions and types
* refactor: remove unused FileSystem interface
* feat: add initial wasm entrypoint
* feat: add basic vault command operations
* docs: add vault module features
* test: remove test for MsgUpdateParams
* refactor: Replace PrimaryKey with Property struct in zkprop.go
* feat: Update the `CreateWitness` and `CreateAccumulator` and `VerifyWitness` and `UpdateAccumulator` to Use the new `Accumulator` and `Witness` types. Then Clean up the code in the file and refactor the marshalling methods
* <no value>
* feat: add KeyCurve and KeyType to KeyInfo in genesis
* feat: add WASM build step to devbox.json
* feat: Add zkgate.go file
* feat: Uncomment and modify zkgate code to work with Property struct
* feat: Merge zkgate.go and zkprop.go logic
* feat: implement API endpoints for profile management
* refactor: remove unused template file
* feat(orm): remove unused ORM models
* feat: add persistent SQLite database support in WASM
* fix: Update module names in protobuf files
* feat: Add method to initialize SQLite database
* fix: update go-sqlite3 dependency to version 1.14.23
* feat: introduce database layer
* feat: Implement database layer for Vault node
* feature/update-dockerfile
* feat: Add keyshares table
* fix: Reorder the SQL statements in the tables.go file
* feat: Update the `createCredentialsTable` method to match the proper Credential struct
* feat: Update createProfilesTable and add createPropertiesTable
* feat: Add constant SQL queries to queries.go and use prepared statements in db.go
* feat: Add createKeysharesTable to internal/db/db.go
* feat: Update `createPermissionsTable` to match Permissions struct
* feat: Add database enum types
* feat: Add DIDNamespace and PermissionScope enums
* feat: Add DBConfig and DBOption types
* feat: Update the db implementation to use the provided go library
* fix: update db implementation to use go-sqlite3 v0.18.2
* fix: Refactor database connection and statement handling
* feat: Simplify db.go implementation
* feat: Convert constant SQL queries to functions in queries.go and update db.go to use prepared statements
* feat: Add models.go file with database table structs
* fix: Remove unused statement map and prepare statements
diff --git a/internal/db/db.go b/internal/db/db.go
index 201d09b..d4d4d4e 100644
--- a/internal/db/db.go
+++ b/internal/db/db.go
@@ -32,11 +32,6 @@ func Open(config *DBConfig) (*DB, error) {
Conn: conn,
}
- if err := createTables(db); err != nil {
- conn.Close()
- return nil, fmt.Errorf("failed to create tables: %w", err)
- }
-
return db, nil
}
@@ -61,114 +56,3 @@ func createTables(db *DB) error {
return nil
}
-// AddAccount adds a new account to the database
-func (db *DB) AddAccount(name, address string) error {
- return db.Exec(insertAccountQuery(name, address))
-}
-
-// AddAsset adds a new asset to the database
-func (db *DB) AddAsset(name, symbol string, decimals int, chainID int64) error {
- return db.Exec(insertAssetQuery(name, symbol, decimals, chainID))
-}
-
-// AddChain adds a new chain to the database
-func (db *DB) AddChain(name, networkID string) error {
- return db.Exec(insertChainQuery(name, networkID))
-}
-
-// AddCredential adds a new credential to the database
-func (db *DB) AddCredential(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) error {
- return db.Exec(insertCredentialQuery(
- handle,
- controller,
- attestationType,
- origin,
- credentialID,
- publicKey,
- transport,
- signCount,
- userPresent,
- userVerified,
- backupEligible,
- backupState,
- cloneWarning,
- ))
-}
-
-// AddProfile adds a new profile to the database
-func (db *DB) AddProfile(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) error {
- return db.statements["insertProfile"].Exec(
- id, subject, controller, originURI, publicMetadata, privateMetadata,
- )
-}
-
-// AddProperty adds a new property to the database
-func (db *DB) AddProperty(
- profileID, key, accumulator, propertyKey string,
-) error {
- return db.statements["insertProperty"].Exec(
- profileID, key, accumulator, propertyKey,
- )
-}
-
-// AddPermission adds a new permission to the database
-func (db *DB) AddPermission(
- serviceID string,
- grants []DIDNamespace,
- scopes []PermissionScope,
-) error {
- grantsJSON, err := json.Marshal(grants)
- if err != nil {
- return fmt.Errorf("failed to marshal grants: %w", err)
- }
-
- scopesJSON, err := json.Marshal(scopes)
- if err != nil {
- return fmt.Errorf("failed to marshal scopes: %w", err)
- }
-
- return db.statements["insertPermission"].Exec(
- serviceID, string(grantsJSON), string(scopesJSON),
- )
-}
-
-// GetPermission retrieves the permission for the given service ID
-func (db *DB) GetPermission(serviceID string) ([]DIDNamespace, []PermissionScope, error) {
- row := db.statements["getPermission"].QueryRow(serviceID)
-
- var grantsJSON, scopesJSON string
- if err := row.Scan(&grantsJSON, &scopesJSON); err != nil {
- return nil, nil, fmt.Errorf("failed to get permission: %w", err)
- }
-
- var grants []DIDNamespace
- if err := json.Unmarshal([]byte(grantsJSON), &grants); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal grants: %w", err)
- }
-
- var scopes []PermissionScope
- if err := json.Unmarshal([]byte(scopesJSON), &scopes); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal scopes: %w", err)
- }
-
- return grants, scopes, nil
-}
-
-// Close closes the database connection and finalizes all prepared statements
-func (db *DB) Close() error {
- for _, stmt := range db.statements {
- stmt.Finalize()
- }
- return db.Conn.Close()
-}
diff --git a/internal/db/queries.go b/internal/db/queries.go
index 807d701..e69de29 100644
--- a/internal/db/queries.go
+++ b/internal/db/queries.go
@@ -1,79 +0,0 @@
-package db
-
-import "fmt"
-
-// Account queries
-func insertAccountQuery(name, address string) string {
- return fmt.Sprintf(`INSERT INTO accounts (name, address) VALUES (%s, %s)`, name, address)
-}
-
-// Asset queries
-func insertAssetQuery(name, symbol string, decimals int, chainID int64) string {
- return fmt.Sprintf(
- `INSERT INTO assets (name, symbol, decimals, chain_id) VALUES (%s, %s, %d, %d)`,
- name,
- symbol,
- decimals,
- chainID,
- )
-}
-
-// Chain queries
-func insertChainQuery(name string, networkID string) string {
- return fmt.Sprintf(`INSERT INTO chains (name, network_id) VALUES (%s, %d)`, name, networkID)
-}
-
-// Credential queries
-func insertCredentialQuery(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) string {
- return fmt.Sprintf(`INSERT INTO credentials (
- handle, controller, attestation_type, origin,
- credential_id, public_key, transport, sign_count,
- user_present, user_verified, backup_eligible,
- backup_state, clone_warning
- ) VALUES (%s, %s, %s, %s, %s, %s, %s, %d, %t, %t, %t, %t, %t)`,
- handle, controller, attestationType, origin,
- credentialID, publicKey, transport, signCount,
- userPresent, userVerified, backupEligible,
- backupState, cloneWarning)
-}
-
-// Profile queries
-func insertProfileQuery(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) string {
- return fmt.Sprintf(`INSERT INTO profiles (
- id, subject, controller, origin_uri,
- public_metadata, private_metadata
- ) VALUES (%s, %s, %s, %s, %s, %s)`,
- id, subject, controller, originURI,
- publicMetadata, privateMetadata)
-}
-
-// Property queries
-func insertPropertyQuery(profileID, key, accumulator, propertyKey string) string {
- return fmt.Sprintf(`INSERT INTO properties (
- profile_id, key, accumulator, property_key
- ) VALUES (%s, %s, %s, %s)`,
- profileID, key, accumulator, propertyKey)
-}
-
-// Permission queries
-func insertPermissionQuery(serviceID, grants, scopes string) string {
- return fmt.Sprintf(
- `INSERT INTO permissions (service_id, grants, scopes) VALUES (%s, %s, %s)`,
- serviceID,
- grants,
- scopes,
- )
-}
-
-// GetPermission query
-func getPermissionQuery(serviceID string) string {
- return fmt.Sprintf(`SELECT grants, scopes FROM permissions WHERE service_id = %s`, serviceID)
-}
* fix: update Makefile to use sonrd instead of wasmd
* feat: Add targets for templ and vault in Makefile and use only make in devbox.json
* feat: add SQLite database support
* bump: version 0.6.0 → 0.7.0
* refactor: upgrade actions to latest versions
2024-09-05 01:24:57 -04:00
}
2024-09-11 15:10:54 -04:00
if len ( x . Controller ) > 0 {
i -= len ( x . Controller )
copy ( dAtA [ i : ] , x . Controller )
i = runtime . EncodeVarint ( dAtA , i , uint64 ( len ( x . Controller ) ) )
2024-07-05 22:20:13 -04:00
i --
dAtA [ i ] = 0x12
}
2024-09-25 19:45:28 -04:00
if len ( x . Did ) > 0 {
i -= len ( x . Did )
copy ( dAtA [ i : ] , x . Did )
i = runtime . EncodeVarint ( dAtA , i , uint64 ( len ( x . Did ) ) )
2024-07-05 22:20:13 -04:00
i --
dAtA [ i ] = 0xa
}
if input . Buf != nil {
input . Buf = append ( input . Buf , dAtA ... )
} else {
input . Buf = dAtA
}
return protoiface . MarshalOutput {
NoUnkeyedLiterals : input . NoUnkeyedLiterals ,
Buf : input . Buf ,
} , nil
}
unmarshal := func ( input protoiface . UnmarshalInput ) ( protoiface . UnmarshalOutput , error ) {
2024-09-18 17:27:30 -04:00
x := input . Message . Interface ( ) . ( * Verification )
2024-07-05 22:20:13 -04:00
if x == nil {
return protoiface . UnmarshalOutput {
NoUnkeyedLiterals : input . NoUnkeyedLiterals ,
Flags : input . Flags ,
} , nil
}
options := runtime . UnmarshalInputToOptions ( input )
_ = options
dAtA := input . Buf
l := len ( dAtA )
iNdEx := 0
for iNdEx < l {
preIndex := iNdEx
var wire uint64
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrIntOverflow
}
if iNdEx >= l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
wire |= uint64 ( b & 0x7F ) << shift
if b < 0x80 {
break
}
}
fieldNum := int32 ( wire >> 3 )
wireType := int ( wire & 0x7 )
if wireType == 4 {
2024-09-18 17:27:30 -04:00
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , fmt . Errorf ( "proto: Verification: wiretype end group for non-group" )
2024-07-05 22:20:13 -04:00
}
if fieldNum <= 0 {
2024-09-18 17:27:30 -04:00
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , fmt . Errorf ( "proto: Verification: illegal tag %d (wire type %d)" , fieldNum , wire )
2024-07-05 22:20:13 -04:00
}
switch fieldNum {
case 1 :
if wireType != 2 {
2024-09-25 19:45:28 -04:00
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , fmt . Errorf ( "proto: wrong wireType = %d for field Did" , wireType )
2024-07-05 22:20:13 -04:00
}
var stringLen uint64
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrIntOverflow
}
if iNdEx >= l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
stringLen |= uint64 ( b & 0x7F ) << shift
if b < 0x80 {
break
}
}
intStringLen := int ( stringLen )
if intStringLen < 0 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
if postIndex > l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
2024-09-25 19:45:28 -04:00
x . Did = string ( dAtA [ iNdEx : postIndex ] )
2024-07-05 22:20:13 -04:00
iNdEx = postIndex
case 2 :
if wireType != 2 {
2024-09-11 15:10:54 -04:00
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , fmt . Errorf ( "proto: wrong wireType = %d for field Controller" , wireType )
2024-07-05 22:20:13 -04:00
}
var stringLen uint64
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrIntOverflow
}
if iNdEx >= l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
stringLen |= uint64 ( b & 0x7F ) << shift
if b < 0x80 {
break
}
}
intStringLen := int ( stringLen )
if intStringLen < 0 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
if postIndex > l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
2024-09-11 15:10:54 -04:00
x . Controller = string ( dAtA [ iNdEx : postIndex ] )
2024-07-05 22:20:13 -04:00
iNdEx = postIndex
Feature/update dockerfile (#6)
* chore: remove unused new.Dockerfile
* feat: add DID model definitions
* fix: Fix EncodePublicKey method in KeyInfo struct
* feat: Update `EncodePublicKey` to be the inverse of `DecodePublicKey`
* refactor: update AssetInfo protobuf definition
* fix: update default assets with correct asset types
* fix: Initialize IPFS client and check for mounted directories
* feat: Improve IPFS client initialization and mount checking
* feat: Add local filesystem check for IPFS and IPNS
* fix: Use Unixfs().Get() instead of Cat() for IPFS and IPNS content retrieval
* feat: Update GetCID and GetIPNS functions to read data from IPFS node
* fix: Ensure IPFS client is initialized before pinning CID
* feat: Add AddFile and AddFolder methods
* feat: add IPFS file system abstraction
* feat: Implement IPFS file, location, and filesystem abstractions
* refactor: remove unused functions and types
* refactor: remove unused FileSystem interface
* feat: add initial wasm entrypoint
* feat: add basic vault command operations
* docs: add vault module features
* test: remove test for MsgUpdateParams
* refactor: Replace PrimaryKey with Property struct in zkprop.go
* feat: Update the `CreateWitness` and `CreateAccumulator` and `VerifyWitness` and `UpdateAccumulator` to Use the new `Accumulator` and `Witness` types. Then Clean up the code in the file and refactor the marshalling methods
* <no value>
* feat: add KeyCurve and KeyType to KeyInfo in genesis
* feat: add WASM build step to devbox.json
* feat: Add zkgate.go file
* feat: Uncomment and modify zkgate code to work with Property struct
* feat: Merge zkgate.go and zkprop.go logic
* feat: implement API endpoints for profile management
* refactor: remove unused template file
* feat(orm): remove unused ORM models
* feat: add persistent SQLite database support in WASM
* fix: Update module names in protobuf files
* feat: Add method to initialize SQLite database
* fix: update go-sqlite3 dependency to version 1.14.23
* feat: introduce database layer
* feat: Implement database layer for Vault node
* feature/update-dockerfile
* feat: Add keyshares table
* fix: Reorder the SQL statements in the tables.go file
* feat: Update the `createCredentialsTable` method to match the proper Credential struct
* feat: Update createProfilesTable and add createPropertiesTable
* feat: Add constant SQL queries to queries.go and use prepared statements in db.go
* feat: Add createKeysharesTable to internal/db/db.go
* feat: Update `createPermissionsTable` to match Permissions struct
* feat: Add database enum types
* feat: Add DIDNamespace and PermissionScope enums
* feat: Add DBConfig and DBOption types
* feat: Update the db implementation to use the provided go library
* fix: update db implementation to use go-sqlite3 v0.18.2
* fix: Refactor database connection and statement handling
* feat: Simplify db.go implementation
* feat: Convert constant SQL queries to functions in queries.go and update db.go to use prepared statements
* feat: Add models.go file with database table structs
* fix: Remove unused statement map and prepare statements
diff --git a/internal/db/db.go b/internal/db/db.go
index 201d09b..d4d4d4e 100644
--- a/internal/db/db.go
+++ b/internal/db/db.go
@@ -32,11 +32,6 @@ func Open(config *DBConfig) (*DB, error) {
Conn: conn,
}
- if err := createTables(db); err != nil {
- conn.Close()
- return nil, fmt.Errorf("failed to create tables: %w", err)
- }
-
return db, nil
}
@@ -61,114 +56,3 @@ func createTables(db *DB) error {
return nil
}
-// AddAccount adds a new account to the database
-func (db *DB) AddAccount(name, address string) error {
- return db.Exec(insertAccountQuery(name, address))
-}
-
-// AddAsset adds a new asset to the database
-func (db *DB) AddAsset(name, symbol string, decimals int, chainID int64) error {
- return db.Exec(insertAssetQuery(name, symbol, decimals, chainID))
-}
-
-// AddChain adds a new chain to the database
-func (db *DB) AddChain(name, networkID string) error {
- return db.Exec(insertChainQuery(name, networkID))
-}
-
-// AddCredential adds a new credential to the database
-func (db *DB) AddCredential(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) error {
- return db.Exec(insertCredentialQuery(
- handle,
- controller,
- attestationType,
- origin,
- credentialID,
- publicKey,
- transport,
- signCount,
- userPresent,
- userVerified,
- backupEligible,
- backupState,
- cloneWarning,
- ))
-}
-
-// AddProfile adds a new profile to the database
-func (db *DB) AddProfile(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) error {
- return db.statements["insertProfile"].Exec(
- id, subject, controller, originURI, publicMetadata, privateMetadata,
- )
-}
-
-// AddProperty adds a new property to the database
-func (db *DB) AddProperty(
- profileID, key, accumulator, propertyKey string,
-) error {
- return db.statements["insertProperty"].Exec(
- profileID, key, accumulator, propertyKey,
- )
-}
-
-// AddPermission adds a new permission to the database
-func (db *DB) AddPermission(
- serviceID string,
- grants []DIDNamespace,
- scopes []PermissionScope,
-) error {
- grantsJSON, err := json.Marshal(grants)
- if err != nil {
- return fmt.Errorf("failed to marshal grants: %w", err)
- }
-
- scopesJSON, err := json.Marshal(scopes)
- if err != nil {
- return fmt.Errorf("failed to marshal scopes: %w", err)
- }
-
- return db.statements["insertPermission"].Exec(
- serviceID, string(grantsJSON), string(scopesJSON),
- )
-}
-
-// GetPermission retrieves the permission for the given service ID
-func (db *DB) GetPermission(serviceID string) ([]DIDNamespace, []PermissionScope, error) {
- row := db.statements["getPermission"].QueryRow(serviceID)
-
- var grantsJSON, scopesJSON string
- if err := row.Scan(&grantsJSON, &scopesJSON); err != nil {
- return nil, nil, fmt.Errorf("failed to get permission: %w", err)
- }
-
- var grants []DIDNamespace
- if err := json.Unmarshal([]byte(grantsJSON), &grants); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal grants: %w", err)
- }
-
- var scopes []PermissionScope
- if err := json.Unmarshal([]byte(scopesJSON), &scopes); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal scopes: %w", err)
- }
-
- return grants, scopes, nil
-}
-
-// Close closes the database connection and finalizes all prepared statements
-func (db *DB) Close() error {
- for _, stmt := range db.statements {
- stmt.Finalize()
- }
- return db.Conn.Close()
-}
diff --git a/internal/db/queries.go b/internal/db/queries.go
index 807d701..e69de29 100644
--- a/internal/db/queries.go
+++ b/internal/db/queries.go
@@ -1,79 +0,0 @@
-package db
-
-import "fmt"
-
-// Account queries
-func insertAccountQuery(name, address string) string {
- return fmt.Sprintf(`INSERT INTO accounts (name, address) VALUES (%s, %s)`, name, address)
-}
-
-// Asset queries
-func insertAssetQuery(name, symbol string, decimals int, chainID int64) string {
- return fmt.Sprintf(
- `INSERT INTO assets (name, symbol, decimals, chain_id) VALUES (%s, %s, %d, %d)`,
- name,
- symbol,
- decimals,
- chainID,
- )
-}
-
-// Chain queries
-func insertChainQuery(name string, networkID string) string {
- return fmt.Sprintf(`INSERT INTO chains (name, network_id) VALUES (%s, %d)`, name, networkID)
-}
-
-// Credential queries
-func insertCredentialQuery(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) string {
- return fmt.Sprintf(`INSERT INTO credentials (
- handle, controller, attestation_type, origin,
- credential_id, public_key, transport, sign_count,
- user_present, user_verified, backup_eligible,
- backup_state, clone_warning
- ) VALUES (%s, %s, %s, %s, %s, %s, %s, %d, %t, %t, %t, %t, %t)`,
- handle, controller, attestationType, origin,
- credentialID, publicKey, transport, signCount,
- userPresent, userVerified, backupEligible,
- backupState, cloneWarning)
-}
-
-// Profile queries
-func insertProfileQuery(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) string {
- return fmt.Sprintf(`INSERT INTO profiles (
- id, subject, controller, origin_uri,
- public_metadata, private_metadata
- ) VALUES (%s, %s, %s, %s, %s, %s)`,
- id, subject, controller, originURI,
- publicMetadata, privateMetadata)
-}
-
-// Property queries
-func insertPropertyQuery(profileID, key, accumulator, propertyKey string) string {
- return fmt.Sprintf(`INSERT INTO properties (
- profile_id, key, accumulator, property_key
- ) VALUES (%s, %s, %s, %s)`,
- profileID, key, accumulator, propertyKey)
-}
-
-// Permission queries
-func insertPermissionQuery(serviceID, grants, scopes string) string {
- return fmt.Sprintf(
- `INSERT INTO permissions (service_id, grants, scopes) VALUES (%s, %s, %s)`,
- serviceID,
- grants,
- scopes,
- )
-}
-
-// GetPermission query
-func getPermissionQuery(serviceID string) string {
- return fmt.Sprintf(`SELECT grants, scopes FROM permissions WHERE service_id = %s`, serviceID)
-}
* fix: update Makefile to use sonrd instead of wasmd
* feat: Add targets for templ and vault in Makefile and use only make in devbox.json
* feat: add SQLite database support
* bump: version 0.6.0 → 0.7.0
* refactor: upgrade actions to latest versions
2024-09-05 01:24:57 -04:00
case 3 :
2024-09-19 02:04:22 -04:00
if wireType != 2 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , fmt . Errorf ( "proto: wrong wireType = %d for field DidMethod" , wireType )
2024-09-18 17:27:30 -04:00
}
2024-09-19 02:04:22 -04:00
var stringLen uint64
2024-09-18 17:27:30 -04:00
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrIntOverflow
}
if iNdEx >= l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
2024-09-19 02:04:22 -04:00
stringLen |= uint64 ( b & 0x7F ) << shift
2024-09-18 17:27:30 -04:00
if b < 0x80 {
break
}
}
2024-09-19 02:04:22 -04:00
intStringLen := int ( stringLen )
if intStringLen < 0 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
if postIndex > l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
x . DidMethod = string ( dAtA [ iNdEx : postIndex ] )
iNdEx = postIndex
2024-09-18 17:27:30 -04:00
case 4 :
Feature/update dockerfile (#6)
* chore: remove unused new.Dockerfile
* feat: add DID model definitions
* fix: Fix EncodePublicKey method in KeyInfo struct
* feat: Update `EncodePublicKey` to be the inverse of `DecodePublicKey`
* refactor: update AssetInfo protobuf definition
* fix: update default assets with correct asset types
* fix: Initialize IPFS client and check for mounted directories
* feat: Improve IPFS client initialization and mount checking
* feat: Add local filesystem check for IPFS and IPNS
* fix: Use Unixfs().Get() instead of Cat() for IPFS and IPNS content retrieval
* feat: Update GetCID and GetIPNS functions to read data from IPFS node
* fix: Ensure IPFS client is initialized before pinning CID
* feat: Add AddFile and AddFolder methods
* feat: add IPFS file system abstraction
* feat: Implement IPFS file, location, and filesystem abstractions
* refactor: remove unused functions and types
* refactor: remove unused FileSystem interface
* feat: add initial wasm entrypoint
* feat: add basic vault command operations
* docs: add vault module features
* test: remove test for MsgUpdateParams
* refactor: Replace PrimaryKey with Property struct in zkprop.go
* feat: Update the `CreateWitness` and `CreateAccumulator` and `VerifyWitness` and `UpdateAccumulator` to Use the new `Accumulator` and `Witness` types. Then Clean up the code in the file and refactor the marshalling methods
* <no value>
* feat: add KeyCurve and KeyType to KeyInfo in genesis
* feat: add WASM build step to devbox.json
* feat: Add zkgate.go file
* feat: Uncomment and modify zkgate code to work with Property struct
* feat: Merge zkgate.go and zkprop.go logic
* feat: implement API endpoints for profile management
* refactor: remove unused template file
* feat(orm): remove unused ORM models
* feat: add persistent SQLite database support in WASM
* fix: Update module names in protobuf files
* feat: Add method to initialize SQLite database
* fix: update go-sqlite3 dependency to version 1.14.23
* feat: introduce database layer
* feat: Implement database layer for Vault node
* feature/update-dockerfile
* feat: Add keyshares table
* fix: Reorder the SQL statements in the tables.go file
* feat: Update the `createCredentialsTable` method to match the proper Credential struct
* feat: Update createProfilesTable and add createPropertiesTable
* feat: Add constant SQL queries to queries.go and use prepared statements in db.go
* feat: Add createKeysharesTable to internal/db/db.go
* feat: Update `createPermissionsTable` to match Permissions struct
* feat: Add database enum types
* feat: Add DIDNamespace and PermissionScope enums
* feat: Add DBConfig and DBOption types
* feat: Update the db implementation to use the provided go library
* fix: update db implementation to use go-sqlite3 v0.18.2
* fix: Refactor database connection and statement handling
* feat: Simplify db.go implementation
* feat: Convert constant SQL queries to functions in queries.go and update db.go to use prepared statements
* feat: Add models.go file with database table structs
* fix: Remove unused statement map and prepare statements
diff --git a/internal/db/db.go b/internal/db/db.go
index 201d09b..d4d4d4e 100644
--- a/internal/db/db.go
+++ b/internal/db/db.go
@@ -32,11 +32,6 @@ func Open(config *DBConfig) (*DB, error) {
Conn: conn,
}
- if err := createTables(db); err != nil {
- conn.Close()
- return nil, fmt.Errorf("failed to create tables: %w", err)
- }
-
return db, nil
}
@@ -61,114 +56,3 @@ func createTables(db *DB) error {
return nil
}
-// AddAccount adds a new account to the database
-func (db *DB) AddAccount(name, address string) error {
- return db.Exec(insertAccountQuery(name, address))
-}
-
-// AddAsset adds a new asset to the database
-func (db *DB) AddAsset(name, symbol string, decimals int, chainID int64) error {
- return db.Exec(insertAssetQuery(name, symbol, decimals, chainID))
-}
-
-// AddChain adds a new chain to the database
-func (db *DB) AddChain(name, networkID string) error {
- return db.Exec(insertChainQuery(name, networkID))
-}
-
-// AddCredential adds a new credential to the database
-func (db *DB) AddCredential(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) error {
- return db.Exec(insertCredentialQuery(
- handle,
- controller,
- attestationType,
- origin,
- credentialID,
- publicKey,
- transport,
- signCount,
- userPresent,
- userVerified,
- backupEligible,
- backupState,
- cloneWarning,
- ))
-}
-
-// AddProfile adds a new profile to the database
-func (db *DB) AddProfile(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) error {
- return db.statements["insertProfile"].Exec(
- id, subject, controller, originURI, publicMetadata, privateMetadata,
- )
-}
-
-// AddProperty adds a new property to the database
-func (db *DB) AddProperty(
- profileID, key, accumulator, propertyKey string,
-) error {
- return db.statements["insertProperty"].Exec(
- profileID, key, accumulator, propertyKey,
- )
-}
-
-// AddPermission adds a new permission to the database
-func (db *DB) AddPermission(
- serviceID string,
- grants []DIDNamespace,
- scopes []PermissionScope,
-) error {
- grantsJSON, err := json.Marshal(grants)
- if err != nil {
- return fmt.Errorf("failed to marshal grants: %w", err)
- }
-
- scopesJSON, err := json.Marshal(scopes)
- if err != nil {
- return fmt.Errorf("failed to marshal scopes: %w", err)
- }
-
- return db.statements["insertPermission"].Exec(
- serviceID, string(grantsJSON), string(scopesJSON),
- )
-}
-
-// GetPermission retrieves the permission for the given service ID
-func (db *DB) GetPermission(serviceID string) ([]DIDNamespace, []PermissionScope, error) {
- row := db.statements["getPermission"].QueryRow(serviceID)
-
- var grantsJSON, scopesJSON string
- if err := row.Scan(&grantsJSON, &scopesJSON); err != nil {
- return nil, nil, fmt.Errorf("failed to get permission: %w", err)
- }
-
- var grants []DIDNamespace
- if err := json.Unmarshal([]byte(grantsJSON), &grants); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal grants: %w", err)
- }
-
- var scopes []PermissionScope
- if err := json.Unmarshal([]byte(scopesJSON), &scopes); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal scopes: %w", err)
- }
-
- return grants, scopes, nil
-}
-
-// Close closes the database connection and finalizes all prepared statements
-func (db *DB) Close() error {
- for _, stmt := range db.statements {
- stmt.Finalize()
- }
- return db.Conn.Close()
-}
diff --git a/internal/db/queries.go b/internal/db/queries.go
index 807d701..e69de29 100644
--- a/internal/db/queries.go
+++ b/internal/db/queries.go
@@ -1,79 +0,0 @@
-package db
-
-import "fmt"
-
-// Account queries
-func insertAccountQuery(name, address string) string {
- return fmt.Sprintf(`INSERT INTO accounts (name, address) VALUES (%s, %s)`, name, address)
-}
-
-// Asset queries
-func insertAssetQuery(name, symbol string, decimals int, chainID int64) string {
- return fmt.Sprintf(
- `INSERT INTO assets (name, symbol, decimals, chain_id) VALUES (%s, %s, %d, %d)`,
- name,
- symbol,
- decimals,
- chainID,
- )
-}
-
-// Chain queries
-func insertChainQuery(name string, networkID string) string {
- return fmt.Sprintf(`INSERT INTO chains (name, network_id) VALUES (%s, %d)`, name, networkID)
-}
-
-// Credential queries
-func insertCredentialQuery(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) string {
- return fmt.Sprintf(`INSERT INTO credentials (
- handle, controller, attestation_type, origin,
- credential_id, public_key, transport, sign_count,
- user_present, user_verified, backup_eligible,
- backup_state, clone_warning
- ) VALUES (%s, %s, %s, %s, %s, %s, %s, %d, %t, %t, %t, %t, %t)`,
- handle, controller, attestationType, origin,
- credentialID, publicKey, transport, signCount,
- userPresent, userVerified, backupEligible,
- backupState, cloneWarning)
-}
-
-// Profile queries
-func insertProfileQuery(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) string {
- return fmt.Sprintf(`INSERT INTO profiles (
- id, subject, controller, origin_uri,
- public_metadata, private_metadata
- ) VALUES (%s, %s, %s, %s, %s, %s)`,
- id, subject, controller, originURI,
- publicMetadata, privateMetadata)
-}
-
-// Property queries
-func insertPropertyQuery(profileID, key, accumulator, propertyKey string) string {
- return fmt.Sprintf(`INSERT INTO properties (
- profile_id, key, accumulator, property_key
- ) VALUES (%s, %s, %s, %s)`,
- profileID, key, accumulator, propertyKey)
-}
-
-// Permission queries
-func insertPermissionQuery(serviceID, grants, scopes string) string {
- return fmt.Sprintf(
- `INSERT INTO permissions (service_id, grants, scopes) VALUES (%s, %s, %s)`,
- serviceID,
- grants,
- scopes,
- )
-}
-
-// GetPermission query
-func getPermissionQuery(serviceID string) string {
- return fmt.Sprintf(`SELECT grants, scopes FROM permissions WHERE service_id = %s`, serviceID)
-}
* fix: update Makefile to use sonrd instead of wasmd
* feat: Add targets for templ and vault in Makefile and use only make in devbox.json
* feat: add SQLite database support
* bump: version 0.6.0 → 0.7.0
* refactor: upgrade actions to latest versions
2024-09-05 01:24:57 -04:00
if wireType != 2 {
2024-09-11 15:10:54 -04:00
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , fmt . Errorf ( "proto: wrong wireType = %d for field Issuer" , wireType )
Feature/update dockerfile (#6)
* chore: remove unused new.Dockerfile
* feat: add DID model definitions
* fix: Fix EncodePublicKey method in KeyInfo struct
* feat: Update `EncodePublicKey` to be the inverse of `DecodePublicKey`
* refactor: update AssetInfo protobuf definition
* fix: update default assets with correct asset types
* fix: Initialize IPFS client and check for mounted directories
* feat: Improve IPFS client initialization and mount checking
* feat: Add local filesystem check for IPFS and IPNS
* fix: Use Unixfs().Get() instead of Cat() for IPFS and IPNS content retrieval
* feat: Update GetCID and GetIPNS functions to read data from IPFS node
* fix: Ensure IPFS client is initialized before pinning CID
* feat: Add AddFile and AddFolder methods
* feat: add IPFS file system abstraction
* feat: Implement IPFS file, location, and filesystem abstractions
* refactor: remove unused functions and types
* refactor: remove unused FileSystem interface
* feat: add initial wasm entrypoint
* feat: add basic vault command operations
* docs: add vault module features
* test: remove test for MsgUpdateParams
* refactor: Replace PrimaryKey with Property struct in zkprop.go
* feat: Update the `CreateWitness` and `CreateAccumulator` and `VerifyWitness` and `UpdateAccumulator` to Use the new `Accumulator` and `Witness` types. Then Clean up the code in the file and refactor the marshalling methods
* <no value>
* feat: add KeyCurve and KeyType to KeyInfo in genesis
* feat: add WASM build step to devbox.json
* feat: Add zkgate.go file
* feat: Uncomment and modify zkgate code to work with Property struct
* feat: Merge zkgate.go and zkprop.go logic
* feat: implement API endpoints for profile management
* refactor: remove unused template file
* feat(orm): remove unused ORM models
* feat: add persistent SQLite database support in WASM
* fix: Update module names in protobuf files
* feat: Add method to initialize SQLite database
* fix: update go-sqlite3 dependency to version 1.14.23
* feat: introduce database layer
* feat: Implement database layer for Vault node
* feature/update-dockerfile
* feat: Add keyshares table
* fix: Reorder the SQL statements in the tables.go file
* feat: Update the `createCredentialsTable` method to match the proper Credential struct
* feat: Update createProfilesTable and add createPropertiesTable
* feat: Add constant SQL queries to queries.go and use prepared statements in db.go
* feat: Add createKeysharesTable to internal/db/db.go
* feat: Update `createPermissionsTable` to match Permissions struct
* feat: Add database enum types
* feat: Add DIDNamespace and PermissionScope enums
* feat: Add DBConfig and DBOption types
* feat: Update the db implementation to use the provided go library
* fix: update db implementation to use go-sqlite3 v0.18.2
* fix: Refactor database connection and statement handling
* feat: Simplify db.go implementation
* feat: Convert constant SQL queries to functions in queries.go and update db.go to use prepared statements
* feat: Add models.go file with database table structs
* fix: Remove unused statement map and prepare statements
diff --git a/internal/db/db.go b/internal/db/db.go
index 201d09b..d4d4d4e 100644
--- a/internal/db/db.go
+++ b/internal/db/db.go
@@ -32,11 +32,6 @@ func Open(config *DBConfig) (*DB, error) {
Conn: conn,
}
- if err := createTables(db); err != nil {
- conn.Close()
- return nil, fmt.Errorf("failed to create tables: %w", err)
- }
-
return db, nil
}
@@ -61,114 +56,3 @@ func createTables(db *DB) error {
return nil
}
-// AddAccount adds a new account to the database
-func (db *DB) AddAccount(name, address string) error {
- return db.Exec(insertAccountQuery(name, address))
-}
-
-// AddAsset adds a new asset to the database
-func (db *DB) AddAsset(name, symbol string, decimals int, chainID int64) error {
- return db.Exec(insertAssetQuery(name, symbol, decimals, chainID))
-}
-
-// AddChain adds a new chain to the database
-func (db *DB) AddChain(name, networkID string) error {
- return db.Exec(insertChainQuery(name, networkID))
-}
-
-// AddCredential adds a new credential to the database
-func (db *DB) AddCredential(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) error {
- return db.Exec(insertCredentialQuery(
- handle,
- controller,
- attestationType,
- origin,
- credentialID,
- publicKey,
- transport,
- signCount,
- userPresent,
- userVerified,
- backupEligible,
- backupState,
- cloneWarning,
- ))
-}
-
-// AddProfile adds a new profile to the database
-func (db *DB) AddProfile(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) error {
- return db.statements["insertProfile"].Exec(
- id, subject, controller, originURI, publicMetadata, privateMetadata,
- )
-}
-
-// AddProperty adds a new property to the database
-func (db *DB) AddProperty(
- profileID, key, accumulator, propertyKey string,
-) error {
- return db.statements["insertProperty"].Exec(
- profileID, key, accumulator, propertyKey,
- )
-}
-
-// AddPermission adds a new permission to the database
-func (db *DB) AddPermission(
- serviceID string,
- grants []DIDNamespace,
- scopes []PermissionScope,
-) error {
- grantsJSON, err := json.Marshal(grants)
- if err != nil {
- return fmt.Errorf("failed to marshal grants: %w", err)
- }
-
- scopesJSON, err := json.Marshal(scopes)
- if err != nil {
- return fmt.Errorf("failed to marshal scopes: %w", err)
- }
-
- return db.statements["insertPermission"].Exec(
- serviceID, string(grantsJSON), string(scopesJSON),
- )
-}
-
-// GetPermission retrieves the permission for the given service ID
-func (db *DB) GetPermission(serviceID string) ([]DIDNamespace, []PermissionScope, error) {
- row := db.statements["getPermission"].QueryRow(serviceID)
-
- var grantsJSON, scopesJSON string
- if err := row.Scan(&grantsJSON, &scopesJSON); err != nil {
- return nil, nil, fmt.Errorf("failed to get permission: %w", err)
- }
-
- var grants []DIDNamespace
- if err := json.Unmarshal([]byte(grantsJSON), &grants); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal grants: %w", err)
- }
-
- var scopes []PermissionScope
- if err := json.Unmarshal([]byte(scopesJSON), &scopes); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal scopes: %w", err)
- }
-
- return grants, scopes, nil
-}
-
-// Close closes the database connection and finalizes all prepared statements
-func (db *DB) Close() error {
- for _, stmt := range db.statements {
- stmt.Finalize()
- }
- return db.Conn.Close()
-}
diff --git a/internal/db/queries.go b/internal/db/queries.go
index 807d701..e69de29 100644
--- a/internal/db/queries.go
+++ b/internal/db/queries.go
@@ -1,79 +0,0 @@
-package db
-
-import "fmt"
-
-// Account queries
-func insertAccountQuery(name, address string) string {
- return fmt.Sprintf(`INSERT INTO accounts (name, address) VALUES (%s, %s)`, name, address)
-}
-
-// Asset queries
-func insertAssetQuery(name, symbol string, decimals int, chainID int64) string {
- return fmt.Sprintf(
- `INSERT INTO assets (name, symbol, decimals, chain_id) VALUES (%s, %s, %d, %d)`,
- name,
- symbol,
- decimals,
- chainID,
- )
-}
-
-// Chain queries
-func insertChainQuery(name string, networkID string) string {
- return fmt.Sprintf(`INSERT INTO chains (name, network_id) VALUES (%s, %d)`, name, networkID)
-}
-
-// Credential queries
-func insertCredentialQuery(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) string {
- return fmt.Sprintf(`INSERT INTO credentials (
- handle, controller, attestation_type, origin,
- credential_id, public_key, transport, sign_count,
- user_present, user_verified, backup_eligible,
- backup_state, clone_warning
- ) VALUES (%s, %s, %s, %s, %s, %s, %s, %d, %t, %t, %t, %t, %t)`,
- handle, controller, attestationType, origin,
- credentialID, publicKey, transport, signCount,
- userPresent, userVerified, backupEligible,
- backupState, cloneWarning)
-}
-
-// Profile queries
-func insertProfileQuery(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) string {
- return fmt.Sprintf(`INSERT INTO profiles (
- id, subject, controller, origin_uri,
- public_metadata, private_metadata
- ) VALUES (%s, %s, %s, %s, %s, %s)`,
- id, subject, controller, originURI,
- publicMetadata, privateMetadata)
-}
-
-// Property queries
-func insertPropertyQuery(profileID, key, accumulator, propertyKey string) string {
- return fmt.Sprintf(`INSERT INTO properties (
- profile_id, key, accumulator, property_key
- ) VALUES (%s, %s, %s, %s)`,
- profileID, key, accumulator, propertyKey)
-}
-
-// Permission queries
-func insertPermissionQuery(serviceID, grants, scopes string) string {
- return fmt.Sprintf(
- `INSERT INTO permissions (service_id, grants, scopes) VALUES (%s, %s, %s)`,
- serviceID,
- grants,
- scopes,
- )
-}
-
-// GetPermission query
-func getPermissionQuery(serviceID string) string {
- return fmt.Sprintf(`SELECT grants, scopes FROM permissions WHERE service_id = %s`, serviceID)
-}
* fix: update Makefile to use sonrd instead of wasmd
* feat: Add targets for templ and vault in Makefile and use only make in devbox.json
* feat: add SQLite database support
* bump: version 0.6.0 → 0.7.0
* refactor: upgrade actions to latest versions
2024-09-05 01:24:57 -04:00
}
var stringLen uint64
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrIntOverflow
}
if iNdEx >= l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
stringLen |= uint64 ( b & 0x7F ) << shift
if b < 0x80 {
break
}
}
intStringLen := int ( stringLen )
if intStringLen < 0 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
if postIndex > l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
2024-09-11 15:10:54 -04:00
x . Issuer = string ( dAtA [ iNdEx : postIndex ] )
Feature/update dockerfile (#6)
* chore: remove unused new.Dockerfile
* feat: add DID model definitions
* fix: Fix EncodePublicKey method in KeyInfo struct
* feat: Update `EncodePublicKey` to be the inverse of `DecodePublicKey`
* refactor: update AssetInfo protobuf definition
* fix: update default assets with correct asset types
* fix: Initialize IPFS client and check for mounted directories
* feat: Improve IPFS client initialization and mount checking
* feat: Add local filesystem check for IPFS and IPNS
* fix: Use Unixfs().Get() instead of Cat() for IPFS and IPNS content retrieval
* feat: Update GetCID and GetIPNS functions to read data from IPFS node
* fix: Ensure IPFS client is initialized before pinning CID
* feat: Add AddFile and AddFolder methods
* feat: add IPFS file system abstraction
* feat: Implement IPFS file, location, and filesystem abstractions
* refactor: remove unused functions and types
* refactor: remove unused FileSystem interface
* feat: add initial wasm entrypoint
* feat: add basic vault command operations
* docs: add vault module features
* test: remove test for MsgUpdateParams
* refactor: Replace PrimaryKey with Property struct in zkprop.go
* feat: Update the `CreateWitness` and `CreateAccumulator` and `VerifyWitness` and `UpdateAccumulator` to Use the new `Accumulator` and `Witness` types. Then Clean up the code in the file and refactor the marshalling methods
* <no value>
* feat: add KeyCurve and KeyType to KeyInfo in genesis
* feat: add WASM build step to devbox.json
* feat: Add zkgate.go file
* feat: Uncomment and modify zkgate code to work with Property struct
* feat: Merge zkgate.go and zkprop.go logic
* feat: implement API endpoints for profile management
* refactor: remove unused template file
* feat(orm): remove unused ORM models
* feat: add persistent SQLite database support in WASM
* fix: Update module names in protobuf files
* feat: Add method to initialize SQLite database
* fix: update go-sqlite3 dependency to version 1.14.23
* feat: introduce database layer
* feat: Implement database layer for Vault node
* feature/update-dockerfile
* feat: Add keyshares table
* fix: Reorder the SQL statements in the tables.go file
* feat: Update the `createCredentialsTable` method to match the proper Credential struct
* feat: Update createProfilesTable and add createPropertiesTable
* feat: Add constant SQL queries to queries.go and use prepared statements in db.go
* feat: Add createKeysharesTable to internal/db/db.go
* feat: Update `createPermissionsTable` to match Permissions struct
* feat: Add database enum types
* feat: Add DIDNamespace and PermissionScope enums
* feat: Add DBConfig and DBOption types
* feat: Update the db implementation to use the provided go library
* fix: update db implementation to use go-sqlite3 v0.18.2
* fix: Refactor database connection and statement handling
* feat: Simplify db.go implementation
* feat: Convert constant SQL queries to functions in queries.go and update db.go to use prepared statements
* feat: Add models.go file with database table structs
* fix: Remove unused statement map and prepare statements
diff --git a/internal/db/db.go b/internal/db/db.go
index 201d09b..d4d4d4e 100644
--- a/internal/db/db.go
+++ b/internal/db/db.go
@@ -32,11 +32,6 @@ func Open(config *DBConfig) (*DB, error) {
Conn: conn,
}
- if err := createTables(db); err != nil {
- conn.Close()
- return nil, fmt.Errorf("failed to create tables: %w", err)
- }
-
return db, nil
}
@@ -61,114 +56,3 @@ func createTables(db *DB) error {
return nil
}
-// AddAccount adds a new account to the database
-func (db *DB) AddAccount(name, address string) error {
- return db.Exec(insertAccountQuery(name, address))
-}
-
-// AddAsset adds a new asset to the database
-func (db *DB) AddAsset(name, symbol string, decimals int, chainID int64) error {
- return db.Exec(insertAssetQuery(name, symbol, decimals, chainID))
-}
-
-// AddChain adds a new chain to the database
-func (db *DB) AddChain(name, networkID string) error {
- return db.Exec(insertChainQuery(name, networkID))
-}
-
-// AddCredential adds a new credential to the database
-func (db *DB) AddCredential(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) error {
- return db.Exec(insertCredentialQuery(
- handle,
- controller,
- attestationType,
- origin,
- credentialID,
- publicKey,
- transport,
- signCount,
- userPresent,
- userVerified,
- backupEligible,
- backupState,
- cloneWarning,
- ))
-}
-
-// AddProfile adds a new profile to the database
-func (db *DB) AddProfile(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) error {
- return db.statements["insertProfile"].Exec(
- id, subject, controller, originURI, publicMetadata, privateMetadata,
- )
-}
-
-// AddProperty adds a new property to the database
-func (db *DB) AddProperty(
- profileID, key, accumulator, propertyKey string,
-) error {
- return db.statements["insertProperty"].Exec(
- profileID, key, accumulator, propertyKey,
- )
-}
-
-// AddPermission adds a new permission to the database
-func (db *DB) AddPermission(
- serviceID string,
- grants []DIDNamespace,
- scopes []PermissionScope,
-) error {
- grantsJSON, err := json.Marshal(grants)
- if err != nil {
- return fmt.Errorf("failed to marshal grants: %w", err)
- }
-
- scopesJSON, err := json.Marshal(scopes)
- if err != nil {
- return fmt.Errorf("failed to marshal scopes: %w", err)
- }
-
- return db.statements["insertPermission"].Exec(
- serviceID, string(grantsJSON), string(scopesJSON),
- )
-}
-
-// GetPermission retrieves the permission for the given service ID
-func (db *DB) GetPermission(serviceID string) ([]DIDNamespace, []PermissionScope, error) {
- row := db.statements["getPermission"].QueryRow(serviceID)
-
- var grantsJSON, scopesJSON string
- if err := row.Scan(&grantsJSON, &scopesJSON); err != nil {
- return nil, nil, fmt.Errorf("failed to get permission: %w", err)
- }
-
- var grants []DIDNamespace
- if err := json.Unmarshal([]byte(grantsJSON), &grants); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal grants: %w", err)
- }
-
- var scopes []PermissionScope
- if err := json.Unmarshal([]byte(scopesJSON), &scopes); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal scopes: %w", err)
- }
-
- return grants, scopes, nil
-}
-
-// Close closes the database connection and finalizes all prepared statements
-func (db *DB) Close() error {
- for _, stmt := range db.statements {
- stmt.Finalize()
- }
- return db.Conn.Close()
-}
diff --git a/internal/db/queries.go b/internal/db/queries.go
index 807d701..e69de29 100644
--- a/internal/db/queries.go
+++ b/internal/db/queries.go
@@ -1,79 +0,0 @@
-package db
-
-import "fmt"
-
-// Account queries
-func insertAccountQuery(name, address string) string {
- return fmt.Sprintf(`INSERT INTO accounts (name, address) VALUES (%s, %s)`, name, address)
-}
-
-// Asset queries
-func insertAssetQuery(name, symbol string, decimals int, chainID int64) string {
- return fmt.Sprintf(
- `INSERT INTO assets (name, symbol, decimals, chain_id) VALUES (%s, %s, %d, %d)`,
- name,
- symbol,
- decimals,
- chainID,
- )
-}
-
-// Chain queries
-func insertChainQuery(name string, networkID string) string {
- return fmt.Sprintf(`INSERT INTO chains (name, network_id) VALUES (%s, %d)`, name, networkID)
-}
-
-// Credential queries
-func insertCredentialQuery(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) string {
- return fmt.Sprintf(`INSERT INTO credentials (
- handle, controller, attestation_type, origin,
- credential_id, public_key, transport, sign_count,
- user_present, user_verified, backup_eligible,
- backup_state, clone_warning
- ) VALUES (%s, %s, %s, %s, %s, %s, %s, %d, %t, %t, %t, %t, %t)`,
- handle, controller, attestationType, origin,
- credentialID, publicKey, transport, signCount,
- userPresent, userVerified, backupEligible,
- backupState, cloneWarning)
-}
-
-// Profile queries
-func insertProfileQuery(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) string {
- return fmt.Sprintf(`INSERT INTO profiles (
- id, subject, controller, origin_uri,
- public_metadata, private_metadata
- ) VALUES (%s, %s, %s, %s, %s, %s)`,
- id, subject, controller, originURI,
- publicMetadata, privateMetadata)
-}
-
-// Property queries
-func insertPropertyQuery(profileID, key, accumulator, propertyKey string) string {
- return fmt.Sprintf(`INSERT INTO properties (
- profile_id, key, accumulator, property_key
- ) VALUES (%s, %s, %s, %s)`,
- profileID, key, accumulator, propertyKey)
-}
-
-// Permission queries
-func insertPermissionQuery(serviceID, grants, scopes string) string {
- return fmt.Sprintf(
- `INSERT INTO permissions (service_id, grants, scopes) VALUES (%s, %s, %s)`,
- serviceID,
- grants,
- scopes,
- )
-}
-
-// GetPermission query
-func getPermissionQuery(serviceID string) string {
- return fmt.Sprintf(`SELECT grants, scopes FROM permissions WHERE service_id = %s`, serviceID)
-}
* fix: update Makefile to use sonrd instead of wasmd
* feat: Add targets for templ and vault in Makefile and use only make in devbox.json
* feat: add SQLite database support
* bump: version 0.6.0 → 0.7.0
* refactor: upgrade actions to latest versions
2024-09-05 01:24:57 -04:00
iNdEx = postIndex
2024-09-18 17:27:30 -04:00
case 5 :
2024-07-05 22:20:13 -04:00
if wireType != 2 {
2024-09-18 17:27:30 -04:00
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , fmt . Errorf ( "proto: wrong wireType = %d for field Subject" , wireType )
2024-07-05 22:20:13 -04:00
}
2024-09-11 15:10:54 -04:00
var stringLen uint64
2024-07-05 22:20:13 -04:00
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrIntOverflow
}
if iNdEx >= l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
2024-09-11 15:10:54 -04:00
stringLen |= uint64 ( b & 0x7F ) << shift
2024-07-05 22:20:13 -04:00
if b < 0x80 {
break
}
}
2024-09-11 15:10:54 -04:00
intStringLen := int ( stringLen )
if intStringLen < 0 {
2024-07-05 22:20:13 -04:00
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
2024-09-11 15:10:54 -04:00
postIndex := iNdEx + intStringLen
2024-07-05 22:20:13 -04:00
if postIndex < 0 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
if postIndex > l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
2024-09-18 17:27:30 -04:00
x . Subject = string ( dAtA [ iNdEx : postIndex ] )
2024-09-11 15:10:54 -04:00
iNdEx = postIndex
2024-09-18 17:27:30 -04:00
case 6 :
2024-09-11 15:10:54 -04:00
if wireType != 2 {
2024-09-18 17:27:30 -04:00
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , fmt . Errorf ( "proto: wrong wireType = %d for field PublicKey" , wireType )
2024-08-31 12:49:44 -04:00
}
2024-09-18 17:27:30 -04:00
var msglen int
2024-09-11 15:10:54 -04:00
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrIntOverflow
}
if iNdEx >= l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
2024-09-18 17:27:30 -04:00
msglen |= int ( b & 0x7F ) << shift
2024-09-11 15:10:54 -04:00
if b < 0x80 {
break
}
}
2024-09-18 17:27:30 -04:00
if msglen < 0 {
2024-09-11 15:10:54 -04:00
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
2024-09-18 17:27:30 -04:00
postIndex := iNdEx + msglen
2024-09-11 15:10:54 -04:00
if postIndex < 0 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
if postIndex > l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
2024-09-18 17:27:30 -04:00
if x . PublicKey == nil {
x . PublicKey = & PubKey { }
}
if err := options . Unmarshal ( dAtA [ iNdEx : postIndex ] , x . PublicKey ) ; err != nil {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , err
2024-08-31 12:49:44 -04:00
}
2024-07-05 22:20:13 -04:00
iNdEx = postIndex
2024-09-18 17:27:30 -04:00
case 7 :
2024-07-05 22:20:13 -04:00
if wireType != 2 {
2024-09-19 02:04:22 -04:00
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , fmt . Errorf ( "proto: wrong wireType = %d for field VerificationType" , wireType )
2024-07-05 22:20:13 -04:00
}
2024-09-18 17:27:30 -04:00
var stringLen uint64
2024-07-05 22:20:13 -04:00
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrIntOverflow
}
if iNdEx >= l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
2024-09-18 17:27:30 -04:00
stringLen |= uint64 ( b & 0x7F ) << shift
2024-09-11 15:10:54 -04:00
if b < 0x80 {
break
}
}
intStringLen := int ( stringLen )
if intStringLen < 0 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
if postIndex > l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
2024-08-31 12:49:44 -04:00
}
2024-09-19 02:04:22 -04:00
x . VerificationType = string ( dAtA [ iNdEx : postIndex ] )
Feature/update dockerfile (#6)
* chore: remove unused new.Dockerfile
* feat: add DID model definitions
* fix: Fix EncodePublicKey method in KeyInfo struct
* feat: Update `EncodePublicKey` to be the inverse of `DecodePublicKey`
* refactor: update AssetInfo protobuf definition
* fix: update default assets with correct asset types
* fix: Initialize IPFS client and check for mounted directories
* feat: Improve IPFS client initialization and mount checking
* feat: Add local filesystem check for IPFS and IPNS
* fix: Use Unixfs().Get() instead of Cat() for IPFS and IPNS content retrieval
* feat: Update GetCID and GetIPNS functions to read data from IPFS node
* fix: Ensure IPFS client is initialized before pinning CID
* feat: Add AddFile and AddFolder methods
* feat: add IPFS file system abstraction
* feat: Implement IPFS file, location, and filesystem abstractions
* refactor: remove unused functions and types
* refactor: remove unused FileSystem interface
* feat: add initial wasm entrypoint
* feat: add basic vault command operations
* docs: add vault module features
* test: remove test for MsgUpdateParams
* refactor: Replace PrimaryKey with Property struct in zkprop.go
* feat: Update the `CreateWitness` and `CreateAccumulator` and `VerifyWitness` and `UpdateAccumulator` to Use the new `Accumulator` and `Witness` types. Then Clean up the code in the file and refactor the marshalling methods
* <no value>
* feat: add KeyCurve and KeyType to KeyInfo in genesis
* feat: add WASM build step to devbox.json
* feat: Add zkgate.go file
* feat: Uncomment and modify zkgate code to work with Property struct
* feat: Merge zkgate.go and zkprop.go logic
* feat: implement API endpoints for profile management
* refactor: remove unused template file
* feat(orm): remove unused ORM models
* feat: add persistent SQLite database support in WASM
* fix: Update module names in protobuf files
* feat: Add method to initialize SQLite database
* fix: update go-sqlite3 dependency to version 1.14.23
* feat: introduce database layer
* feat: Implement database layer for Vault node
* feature/update-dockerfile
* feat: Add keyshares table
* fix: Reorder the SQL statements in the tables.go file
* feat: Update the `createCredentialsTable` method to match the proper Credential struct
* feat: Update createProfilesTable and add createPropertiesTable
* feat: Add constant SQL queries to queries.go and use prepared statements in db.go
* feat: Add createKeysharesTable to internal/db/db.go
* feat: Update `createPermissionsTable` to match Permissions struct
* feat: Add database enum types
* feat: Add DIDNamespace and PermissionScope enums
* feat: Add DBConfig and DBOption types
* feat: Update the db implementation to use the provided go library
* fix: update db implementation to use go-sqlite3 v0.18.2
* fix: Refactor database connection and statement handling
* feat: Simplify db.go implementation
* feat: Convert constant SQL queries to functions in queries.go and update db.go to use prepared statements
* feat: Add models.go file with database table structs
* fix: Remove unused statement map and prepare statements
diff --git a/internal/db/db.go b/internal/db/db.go
index 201d09b..d4d4d4e 100644
--- a/internal/db/db.go
+++ b/internal/db/db.go
@@ -32,11 +32,6 @@ func Open(config *DBConfig) (*DB, error) {
Conn: conn,
}
- if err := createTables(db); err != nil {
- conn.Close()
- return nil, fmt.Errorf("failed to create tables: %w", err)
- }
-
return db, nil
}
@@ -61,114 +56,3 @@ func createTables(db *DB) error {
return nil
}
-// AddAccount adds a new account to the database
-func (db *DB) AddAccount(name, address string) error {
- return db.Exec(insertAccountQuery(name, address))
-}
-
-// AddAsset adds a new asset to the database
-func (db *DB) AddAsset(name, symbol string, decimals int, chainID int64) error {
- return db.Exec(insertAssetQuery(name, symbol, decimals, chainID))
-}
-
-// AddChain adds a new chain to the database
-func (db *DB) AddChain(name, networkID string) error {
- return db.Exec(insertChainQuery(name, networkID))
-}
-
-// AddCredential adds a new credential to the database
-func (db *DB) AddCredential(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) error {
- return db.Exec(insertCredentialQuery(
- handle,
- controller,
- attestationType,
- origin,
- credentialID,
- publicKey,
- transport,
- signCount,
- userPresent,
- userVerified,
- backupEligible,
- backupState,
- cloneWarning,
- ))
-}
-
-// AddProfile adds a new profile to the database
-func (db *DB) AddProfile(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) error {
- return db.statements["insertProfile"].Exec(
- id, subject, controller, originURI, publicMetadata, privateMetadata,
- )
-}
-
-// AddProperty adds a new property to the database
-func (db *DB) AddProperty(
- profileID, key, accumulator, propertyKey string,
-) error {
- return db.statements["insertProperty"].Exec(
- profileID, key, accumulator, propertyKey,
- )
-}
-
-// AddPermission adds a new permission to the database
-func (db *DB) AddPermission(
- serviceID string,
- grants []DIDNamespace,
- scopes []PermissionScope,
-) error {
- grantsJSON, err := json.Marshal(grants)
- if err != nil {
- return fmt.Errorf("failed to marshal grants: %w", err)
- }
-
- scopesJSON, err := json.Marshal(scopes)
- if err != nil {
- return fmt.Errorf("failed to marshal scopes: %w", err)
- }
-
- return db.statements["insertPermission"].Exec(
- serviceID, string(grantsJSON), string(scopesJSON),
- )
-}
-
-// GetPermission retrieves the permission for the given service ID
-func (db *DB) GetPermission(serviceID string) ([]DIDNamespace, []PermissionScope, error) {
- row := db.statements["getPermission"].QueryRow(serviceID)
-
- var grantsJSON, scopesJSON string
- if err := row.Scan(&grantsJSON, &scopesJSON); err != nil {
- return nil, nil, fmt.Errorf("failed to get permission: %w", err)
- }
-
- var grants []DIDNamespace
- if err := json.Unmarshal([]byte(grantsJSON), &grants); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal grants: %w", err)
- }
-
- var scopes []PermissionScope
- if err := json.Unmarshal([]byte(scopesJSON), &scopes); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal scopes: %w", err)
- }
-
- return grants, scopes, nil
-}
-
-// Close closes the database connection and finalizes all prepared statements
-func (db *DB) Close() error {
- for _, stmt := range db.statements {
- stmt.Finalize()
- }
- return db.Conn.Close()
-}
diff --git a/internal/db/queries.go b/internal/db/queries.go
index 807d701..e69de29 100644
--- a/internal/db/queries.go
+++ b/internal/db/queries.go
@@ -1,79 +0,0 @@
-package db
-
-import "fmt"
-
-// Account queries
-func insertAccountQuery(name, address string) string {
- return fmt.Sprintf(`INSERT INTO accounts (name, address) VALUES (%s, %s)`, name, address)
-}
-
-// Asset queries
-func insertAssetQuery(name, symbol string, decimals int, chainID int64) string {
- return fmt.Sprintf(
- `INSERT INTO assets (name, symbol, decimals, chain_id) VALUES (%s, %s, %d, %d)`,
- name,
- symbol,
- decimals,
- chainID,
- )
-}
-
-// Chain queries
-func insertChainQuery(name string, networkID string) string {
- return fmt.Sprintf(`INSERT INTO chains (name, network_id) VALUES (%s, %d)`, name, networkID)
-}
-
-// Credential queries
-func insertCredentialQuery(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) string {
- return fmt.Sprintf(`INSERT INTO credentials (
- handle, controller, attestation_type, origin,
- credential_id, public_key, transport, sign_count,
- user_present, user_verified, backup_eligible,
- backup_state, clone_warning
- ) VALUES (%s, %s, %s, %s, %s, %s, %s, %d, %t, %t, %t, %t, %t)`,
- handle, controller, attestationType, origin,
- credentialID, publicKey, transport, signCount,
- userPresent, userVerified, backupEligible,
- backupState, cloneWarning)
-}
-
-// Profile queries
-func insertProfileQuery(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) string {
- return fmt.Sprintf(`INSERT INTO profiles (
- id, subject, controller, origin_uri,
- public_metadata, private_metadata
- ) VALUES (%s, %s, %s, %s, %s, %s)`,
- id, subject, controller, originURI,
- publicMetadata, privateMetadata)
-}
-
-// Property queries
-func insertPropertyQuery(profileID, key, accumulator, propertyKey string) string {
- return fmt.Sprintf(`INSERT INTO properties (
- profile_id, key, accumulator, property_key
- ) VALUES (%s, %s, %s, %s)`,
- profileID, key, accumulator, propertyKey)
-}
-
-// Permission queries
-func insertPermissionQuery(serviceID, grants, scopes string) string {
- return fmt.Sprintf(
- `INSERT INTO permissions (service_id, grants, scopes) VALUES (%s, %s, %s)`,
- serviceID,
- grants,
- scopes,
- )
-}
-
-// GetPermission query
-func getPermissionQuery(serviceID string) string {
- return fmt.Sprintf(`SELECT grants, scopes FROM permissions WHERE service_id = %s`, serviceID)
-}
* fix: update Makefile to use sonrd instead of wasmd
* feat: Add targets for templ and vault in Makefile and use only make in devbox.json
* feat: add SQLite database support
* bump: version 0.6.0 → 0.7.0
* refactor: upgrade actions to latest versions
2024-09-05 01:24:57 -04:00
iNdEx = postIndex
2024-07-05 22:20:13 -04:00
default :
iNdEx = preIndex
skippy , err := runtime . Skip ( dAtA [ iNdEx : ] )
if err != nil {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , err
}
if ( skippy < 0 ) || ( iNdEx + skippy ) < 0 {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , runtime . ErrInvalidLength
}
if ( iNdEx + skippy ) > l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
if ! options . DiscardUnknown {
x . unknownFields = append ( x . unknownFields , dAtA [ iNdEx : iNdEx + skippy ] ... )
}
iNdEx += skippy
}
}
if iNdEx > l {
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , io . ErrUnexpectedEOF
}
return protoiface . UnmarshalOutput { NoUnkeyedLiterals : input . NoUnkeyedLiterals , Flags : input . Flags } , nil
}
return & protoiface . Methods {
NoUnkeyedLiterals : struct { } { } ,
Flags : protoiface . SupportMarshalDeterministic | protoiface . SupportUnmarshalDiscardUnknown ,
Size : size ,
Marshal : marshal ,
Unmarshal : unmarshal ,
Merge : nil ,
CheckInitialized : nil ,
}
}
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.27.0
// protoc (unknown)
// source: did/v1/state.proto
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl . EnforceVersion ( 20 - protoimpl . MinVersion )
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl . EnforceVersion ( protoimpl . MaxVersion - 20 )
)
2024-09-18 17:27:30 -04:00
// Alias represents a DID alias
type Alias struct {
2024-07-06 03:02:45 -04:00
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
2024-09-14 14:59:10 -04:00
// The unique identifier of the alias
2024-07-06 03:02:45 -04:00
Id string ` protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" `
2024-09-18 17:27:30 -04:00
// The alias of the DID
2024-09-19 02:04:22 -04:00
Subject string ` protobuf:"bytes,2,opt,name=subject,proto3" json:"subject,omitempty" `
2024-09-18 17:27:30 -04:00
// Origin of the alias
2024-09-19 02:04:22 -04:00
Origin string ` protobuf:"bytes,3,opt,name=origin,proto3" json:"origin,omitempty" `
2024-09-11 15:10:54 -04:00
}
2024-09-18 17:27:30 -04:00
func ( x * Alias ) Reset ( ) {
* x = Alias { }
2024-07-06 03:02:45 -04:00
if protoimpl . UnsafeEnabled {
2024-08-31 16:54:16 -04:00
mi := & file_did_v1_state_proto_msgTypes [ 0 ]
2024-07-06 03:02:45 -04:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
}
2024-09-18 17:27:30 -04:00
func ( x * Alias ) String ( ) string {
2024-07-06 03:02:45 -04:00
return protoimpl . X . MessageStringOf ( x )
}
2024-09-18 17:27:30 -04:00
func ( * Alias ) ProtoMessage ( ) { }
2024-07-06 03:02:45 -04:00
2024-09-18 17:27:30 -04:00
// Deprecated: Use Alias.ProtoReflect.Descriptor instead.
func ( * Alias ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-08-31 16:54:16 -04:00
return file_did_v1_state_proto_rawDescGZIP ( ) , [ ] int { 0 }
2024-07-06 03:02:45 -04:00
}
2024-09-18 17:27:30 -04:00
func ( x * Alias ) GetId ( ) string {
2024-07-06 03:02:45 -04:00
if x != nil {
return x . Id
}
return ""
}
2024-09-19 02:04:22 -04:00
func ( x * Alias ) GetSubject ( ) string {
2024-07-23 14:18:15 -04:00
if x != nil {
2024-09-19 02:04:22 -04:00
return x . Subject
2024-07-06 03:02:45 -04:00
}
return ""
}
2024-09-18 17:27:30 -04:00
func ( x * Alias ) GetOrigin ( ) string {
2024-07-05 22:20:13 -04:00
if x != nil {
2024-09-18 17:27:30 -04:00
return x . Origin
2024-07-05 22:20:13 -04:00
}
return ""
}
// Controller represents a Sonr DWN Vault
type Controller struct {
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
// The unique identifier of the controller
2024-09-25 19:45:28 -04:00
Number uint64 ` protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty" `
// The unique identifier of the controller
Did string ` protobuf:"bytes,2,opt,name=did,proto3" json:"did,omitempty" `
2024-07-05 22:20:13 -04:00
// The DID of the controller
2024-09-25 19:45:28 -04:00
SonrAddress string ` protobuf:"bytes,3,opt,name=sonr_address,json=sonrAddress,proto3" json:"sonr_address,omitempty" `
2024-09-19 02:04:22 -04:00
// The DID of the controller
2024-09-25 19:45:28 -04:00
EthAddress string ` protobuf:"bytes,4,opt,name=eth_address,json=ethAddress,proto3" json:"eth_address,omitempty" `
2024-09-19 02:04:22 -04:00
// The DID of the controller
2024-09-25 19:45:28 -04:00
BtcAddress string ` protobuf:"bytes,5,opt,name=btc_address,json=btcAddress,proto3" json:"btc_address,omitempty" `
2024-08-31 12:49:44 -04:00
// PubKey is the verification method
2024-09-25 19:45:28 -04:00
PublicKey [ ] byte ` protobuf:"bytes,6,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty" `
// Val Keyshare
KsVal string ` protobuf:"bytes,7,opt,name=ks_val,json=ksVal,proto3" json:"ks_val,omitempty" `
2024-09-18 17:27:30 -04:00
// The Status of the claims for the controller
2024-09-25 19:45:28 -04:00
Claimed bool ` protobuf:"varint,8,opt,name=claimed,proto3" json:"claimed,omitempty" `
2024-07-05 22:20:13 -04:00
}
func ( x * Controller ) Reset ( ) {
* x = Controller { }
if protoimpl . UnsafeEnabled {
2024-09-11 15:10:54 -04:00
mi := & file_did_v1_state_proto_msgTypes [ 1 ]
2024-07-05 22:20:13 -04:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
}
func ( x * Controller ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
}
func ( * Controller ) ProtoMessage ( ) { }
// Deprecated: Use Controller.ProtoReflect.Descriptor instead.
func ( * Controller ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-09-11 15:10:54 -04:00
return file_did_v1_state_proto_rawDescGZIP ( ) , [ ] int { 1 }
2024-07-05 22:20:13 -04:00
}
2024-09-25 19:45:28 -04:00
func ( x * Controller ) GetNumber ( ) uint64 {
2024-07-05 22:20:13 -04:00
if x != nil {
2024-09-25 19:45:28 -04:00
return x . Number
}
return 0
}
func ( x * Controller ) GetDid ( ) string {
if x != nil {
return x . Did
2024-07-05 22:20:13 -04:00
}
return ""
}
2024-09-19 02:04:22 -04:00
func ( x * Controller ) GetSonrAddress ( ) string {
2024-07-05 22:20:13 -04:00
if x != nil {
2024-09-19 02:04:22 -04:00
return x . SonrAddress
2024-07-05 22:20:13 -04:00
}
return ""
}
2024-09-19 02:04:22 -04:00
func ( x * Controller ) GetEthAddress ( ) string {
if x != nil {
return x . EthAddress
}
return ""
}
func ( x * Controller ) GetBtcAddress ( ) string {
if x != nil {
return x . BtcAddress
}
return ""
}
2024-09-25 19:45:28 -04:00
func ( x * Controller ) GetPublicKey ( ) [ ] byte {
2024-07-05 22:20:13 -04:00
if x != nil {
2024-08-31 12:49:44 -04:00
return x . PublicKey
2024-07-05 22:20:13 -04:00
}
2024-08-31 12:49:44 -04:00
return nil
2024-07-05 22:20:13 -04:00
}
2024-09-25 19:45:28 -04:00
func ( x * Controller ) GetKsVal ( ) string {
2024-07-05 22:20:13 -04:00
if x != nil {
2024-09-25 19:45:28 -04:00
return x . KsVal
2024-07-05 22:20:13 -04:00
}
return ""
}
2024-09-25 19:45:28 -04:00
func ( x * Controller ) GetClaimed ( ) bool {
2024-07-05 22:20:13 -04:00
if x != nil {
2024-09-25 19:45:28 -04:00
return x . Claimed
2024-07-05 22:20:13 -04:00
}
2024-09-25 19:45:28 -04:00
return false
2024-07-05 22:20:13 -04:00
}
2024-09-11 15:10:54 -04:00
// Verification reprsents a method of verifying membership in a DID
2024-09-18 17:27:30 -04:00
type Verification struct {
2024-09-11 15:10:54 -04:00
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
// The unique identifier of the verification
2024-09-25 19:45:28 -04:00
Did string ` protobuf:"bytes,1,opt,name=did,proto3" json:"did,omitempty" `
2024-09-11 15:10:54 -04:00
// The controller of the verification
Controller string ` protobuf:"bytes,2,opt,name=controller,proto3" json:"controller,omitempty" `
// The DIDNamespace of the verification
2024-09-19 02:04:22 -04:00
DidMethod string ` protobuf:"bytes,3,opt,name=did_method,json=didMethod,proto3" json:"did_method,omitempty" `
2024-09-11 15:10:54 -04:00
// The value of the linked identifier
Issuer string ` protobuf:"bytes,4,opt,name=issuer,proto3" json:"issuer,omitempty" `
// The subject of the verification
Subject string ` protobuf:"bytes,5,opt,name=subject,proto3" json:"subject,omitempty" `
// The public key of the verification
2024-09-18 17:27:30 -04:00
PublicKey * PubKey ` protobuf:"bytes,6,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty" `
2024-09-25 19:45:28 -04:00
// The Verification Type (Authentication, Assertion, CapabilityDelegation,
// CapabilityInvocation)
2024-09-19 02:04:22 -04:00
VerificationType string ` protobuf:"bytes,7,opt,name=verification_type,json=verificationType,proto3" json:"verification_type,omitempty" `
2024-09-11 15:10:54 -04:00
}
2024-09-18 17:27:30 -04:00
func ( x * Verification ) Reset ( ) {
* x = Verification { }
2024-09-11 15:10:54 -04:00
if protoimpl . UnsafeEnabled {
2024-09-18 17:27:30 -04:00
mi := & file_did_v1_state_proto_msgTypes [ 2 ]
2024-09-11 15:10:54 -04:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
}
2024-09-18 17:27:30 -04:00
func ( x * Verification ) String ( ) string {
2024-09-11 15:10:54 -04:00
return protoimpl . X . MessageStringOf ( x )
}
2024-09-18 17:27:30 -04:00
func ( * Verification ) ProtoMessage ( ) { }
2024-09-11 15:10:54 -04:00
2024-09-18 17:27:30 -04:00
// Deprecated: Use Verification.ProtoReflect.Descriptor instead.
func ( * Verification ) Descriptor ( ) ( [ ] byte , [ ] int ) {
return file_did_v1_state_proto_rawDescGZIP ( ) , [ ] int { 2 }
2024-09-11 15:10:54 -04:00
}
2024-09-25 19:45:28 -04:00
func ( x * Verification ) GetDid ( ) string {
Feature/update dockerfile (#6)
* chore: remove unused new.Dockerfile
* feat: add DID model definitions
* fix: Fix EncodePublicKey method in KeyInfo struct
* feat: Update `EncodePublicKey` to be the inverse of `DecodePublicKey`
* refactor: update AssetInfo protobuf definition
* fix: update default assets with correct asset types
* fix: Initialize IPFS client and check for mounted directories
* feat: Improve IPFS client initialization and mount checking
* feat: Add local filesystem check for IPFS and IPNS
* fix: Use Unixfs().Get() instead of Cat() for IPFS and IPNS content retrieval
* feat: Update GetCID and GetIPNS functions to read data from IPFS node
* fix: Ensure IPFS client is initialized before pinning CID
* feat: Add AddFile and AddFolder methods
* feat: add IPFS file system abstraction
* feat: Implement IPFS file, location, and filesystem abstractions
* refactor: remove unused functions and types
* refactor: remove unused FileSystem interface
* feat: add initial wasm entrypoint
* feat: add basic vault command operations
* docs: add vault module features
* test: remove test for MsgUpdateParams
* refactor: Replace PrimaryKey with Property struct in zkprop.go
* feat: Update the `CreateWitness` and `CreateAccumulator` and `VerifyWitness` and `UpdateAccumulator` to Use the new `Accumulator` and `Witness` types. Then Clean up the code in the file and refactor the marshalling methods
* <no value>
* feat: add KeyCurve and KeyType to KeyInfo in genesis
* feat: add WASM build step to devbox.json
* feat: Add zkgate.go file
* feat: Uncomment and modify zkgate code to work with Property struct
* feat: Merge zkgate.go and zkprop.go logic
* feat: implement API endpoints for profile management
* refactor: remove unused template file
* feat(orm): remove unused ORM models
* feat: add persistent SQLite database support in WASM
* fix: Update module names in protobuf files
* feat: Add method to initialize SQLite database
* fix: update go-sqlite3 dependency to version 1.14.23
* feat: introduce database layer
* feat: Implement database layer for Vault node
* feature/update-dockerfile
* feat: Add keyshares table
* fix: Reorder the SQL statements in the tables.go file
* feat: Update the `createCredentialsTable` method to match the proper Credential struct
* feat: Update createProfilesTable and add createPropertiesTable
* feat: Add constant SQL queries to queries.go and use prepared statements in db.go
* feat: Add createKeysharesTable to internal/db/db.go
* feat: Update `createPermissionsTable` to match Permissions struct
* feat: Add database enum types
* feat: Add DIDNamespace and PermissionScope enums
* feat: Add DBConfig and DBOption types
* feat: Update the db implementation to use the provided go library
* fix: update db implementation to use go-sqlite3 v0.18.2
* fix: Refactor database connection and statement handling
* feat: Simplify db.go implementation
* feat: Convert constant SQL queries to functions in queries.go and update db.go to use prepared statements
* feat: Add models.go file with database table structs
* fix: Remove unused statement map and prepare statements
diff --git a/internal/db/db.go b/internal/db/db.go
index 201d09b..d4d4d4e 100644
--- a/internal/db/db.go
+++ b/internal/db/db.go
@@ -32,11 +32,6 @@ func Open(config *DBConfig) (*DB, error) {
Conn: conn,
}
- if err := createTables(db); err != nil {
- conn.Close()
- return nil, fmt.Errorf("failed to create tables: %w", err)
- }
-
return db, nil
}
@@ -61,114 +56,3 @@ func createTables(db *DB) error {
return nil
}
-// AddAccount adds a new account to the database
-func (db *DB) AddAccount(name, address string) error {
- return db.Exec(insertAccountQuery(name, address))
-}
-
-// AddAsset adds a new asset to the database
-func (db *DB) AddAsset(name, symbol string, decimals int, chainID int64) error {
- return db.Exec(insertAssetQuery(name, symbol, decimals, chainID))
-}
-
-// AddChain adds a new chain to the database
-func (db *DB) AddChain(name, networkID string) error {
- return db.Exec(insertChainQuery(name, networkID))
-}
-
-// AddCredential adds a new credential to the database
-func (db *DB) AddCredential(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) error {
- return db.Exec(insertCredentialQuery(
- handle,
- controller,
- attestationType,
- origin,
- credentialID,
- publicKey,
- transport,
- signCount,
- userPresent,
- userVerified,
- backupEligible,
- backupState,
- cloneWarning,
- ))
-}
-
-// AddProfile adds a new profile to the database
-func (db *DB) AddProfile(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) error {
- return db.statements["insertProfile"].Exec(
- id, subject, controller, originURI, publicMetadata, privateMetadata,
- )
-}
-
-// AddProperty adds a new property to the database
-func (db *DB) AddProperty(
- profileID, key, accumulator, propertyKey string,
-) error {
- return db.statements["insertProperty"].Exec(
- profileID, key, accumulator, propertyKey,
- )
-}
-
-// AddPermission adds a new permission to the database
-func (db *DB) AddPermission(
- serviceID string,
- grants []DIDNamespace,
- scopes []PermissionScope,
-) error {
- grantsJSON, err := json.Marshal(grants)
- if err != nil {
- return fmt.Errorf("failed to marshal grants: %w", err)
- }
-
- scopesJSON, err := json.Marshal(scopes)
- if err != nil {
- return fmt.Errorf("failed to marshal scopes: %w", err)
- }
-
- return db.statements["insertPermission"].Exec(
- serviceID, string(grantsJSON), string(scopesJSON),
- )
-}
-
-// GetPermission retrieves the permission for the given service ID
-func (db *DB) GetPermission(serviceID string) ([]DIDNamespace, []PermissionScope, error) {
- row := db.statements["getPermission"].QueryRow(serviceID)
-
- var grantsJSON, scopesJSON string
- if err := row.Scan(&grantsJSON, &scopesJSON); err != nil {
- return nil, nil, fmt.Errorf("failed to get permission: %w", err)
- }
-
- var grants []DIDNamespace
- if err := json.Unmarshal([]byte(grantsJSON), &grants); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal grants: %w", err)
- }
-
- var scopes []PermissionScope
- if err := json.Unmarshal([]byte(scopesJSON), &scopes); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal scopes: %w", err)
- }
-
- return grants, scopes, nil
-}
-
-// Close closes the database connection and finalizes all prepared statements
-func (db *DB) Close() error {
- for _, stmt := range db.statements {
- stmt.Finalize()
- }
- return db.Conn.Close()
-}
diff --git a/internal/db/queries.go b/internal/db/queries.go
index 807d701..e69de29 100644
--- a/internal/db/queries.go
+++ b/internal/db/queries.go
@@ -1,79 +0,0 @@
-package db
-
-import "fmt"
-
-// Account queries
-func insertAccountQuery(name, address string) string {
- return fmt.Sprintf(`INSERT INTO accounts (name, address) VALUES (%s, %s)`, name, address)
-}
-
-// Asset queries
-func insertAssetQuery(name, symbol string, decimals int, chainID int64) string {
- return fmt.Sprintf(
- `INSERT INTO assets (name, symbol, decimals, chain_id) VALUES (%s, %s, %d, %d)`,
- name,
- symbol,
- decimals,
- chainID,
- )
-}
-
-// Chain queries
-func insertChainQuery(name string, networkID string) string {
- return fmt.Sprintf(`INSERT INTO chains (name, network_id) VALUES (%s, %d)`, name, networkID)
-}
-
-// Credential queries
-func insertCredentialQuery(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) string {
- return fmt.Sprintf(`INSERT INTO credentials (
- handle, controller, attestation_type, origin,
- credential_id, public_key, transport, sign_count,
- user_present, user_verified, backup_eligible,
- backup_state, clone_warning
- ) VALUES (%s, %s, %s, %s, %s, %s, %s, %d, %t, %t, %t, %t, %t)`,
- handle, controller, attestationType, origin,
- credentialID, publicKey, transport, signCount,
- userPresent, userVerified, backupEligible,
- backupState, cloneWarning)
-}
-
-// Profile queries
-func insertProfileQuery(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) string {
- return fmt.Sprintf(`INSERT INTO profiles (
- id, subject, controller, origin_uri,
- public_metadata, private_metadata
- ) VALUES (%s, %s, %s, %s, %s, %s)`,
- id, subject, controller, originURI,
- publicMetadata, privateMetadata)
-}
-
-// Property queries
-func insertPropertyQuery(profileID, key, accumulator, propertyKey string) string {
- return fmt.Sprintf(`INSERT INTO properties (
- profile_id, key, accumulator, property_key
- ) VALUES (%s, %s, %s, %s)`,
- profileID, key, accumulator, propertyKey)
-}
-
-// Permission queries
-func insertPermissionQuery(serviceID, grants, scopes string) string {
- return fmt.Sprintf(
- `INSERT INTO permissions (service_id, grants, scopes) VALUES (%s, %s, %s)`,
- serviceID,
- grants,
- scopes,
- )
-}
-
-// GetPermission query
-func getPermissionQuery(serviceID string) string {
- return fmt.Sprintf(`SELECT grants, scopes FROM permissions WHERE service_id = %s`, serviceID)
-}
* fix: update Makefile to use sonrd instead of wasmd
* feat: Add targets for templ and vault in Makefile and use only make in devbox.json
* feat: add SQLite database support
* bump: version 0.6.0 → 0.7.0
* refactor: upgrade actions to latest versions
2024-09-05 01:24:57 -04:00
if x != nil {
2024-09-25 19:45:28 -04:00
return x . Did
2024-09-11 15:10:54 -04:00
}
return ""
}
2024-09-18 17:27:30 -04:00
func ( x * Verification ) GetController ( ) string {
2024-09-11 15:10:54 -04:00
if x != nil {
return x . Controller
}
return ""
}
2024-09-19 02:04:22 -04:00
func ( x * Verification ) GetDidMethod ( ) string {
2024-09-11 15:10:54 -04:00
if x != nil {
2024-09-19 02:04:22 -04:00
return x . DidMethod
2024-09-11 15:10:54 -04:00
}
2024-09-19 02:04:22 -04:00
return ""
2024-09-11 15:10:54 -04:00
}
2024-09-18 17:27:30 -04:00
func ( x * Verification ) GetIssuer ( ) string {
2024-09-11 15:10:54 -04:00
if x != nil {
return x . Issuer
}
return ""
}
2024-09-18 17:27:30 -04:00
func ( x * Verification ) GetSubject ( ) string {
2024-09-11 15:10:54 -04:00
if x != nil {
return x . Subject
}
return ""
}
2024-09-18 17:27:30 -04:00
func ( x * Verification ) GetPublicKey ( ) * PubKey {
2024-09-11 15:10:54 -04:00
if x != nil {
return x . PublicKey
Feature/update dockerfile (#6)
* chore: remove unused new.Dockerfile
* feat: add DID model definitions
* fix: Fix EncodePublicKey method in KeyInfo struct
* feat: Update `EncodePublicKey` to be the inverse of `DecodePublicKey`
* refactor: update AssetInfo protobuf definition
* fix: update default assets with correct asset types
* fix: Initialize IPFS client and check for mounted directories
* feat: Improve IPFS client initialization and mount checking
* feat: Add local filesystem check for IPFS and IPNS
* fix: Use Unixfs().Get() instead of Cat() for IPFS and IPNS content retrieval
* feat: Update GetCID and GetIPNS functions to read data from IPFS node
* fix: Ensure IPFS client is initialized before pinning CID
* feat: Add AddFile and AddFolder methods
* feat: add IPFS file system abstraction
* feat: Implement IPFS file, location, and filesystem abstractions
* refactor: remove unused functions and types
* refactor: remove unused FileSystem interface
* feat: add initial wasm entrypoint
* feat: add basic vault command operations
* docs: add vault module features
* test: remove test for MsgUpdateParams
* refactor: Replace PrimaryKey with Property struct in zkprop.go
* feat: Update the `CreateWitness` and `CreateAccumulator` and `VerifyWitness` and `UpdateAccumulator` to Use the new `Accumulator` and `Witness` types. Then Clean up the code in the file and refactor the marshalling methods
* <no value>
* feat: add KeyCurve and KeyType to KeyInfo in genesis
* feat: add WASM build step to devbox.json
* feat: Add zkgate.go file
* feat: Uncomment and modify zkgate code to work with Property struct
* feat: Merge zkgate.go and zkprop.go logic
* feat: implement API endpoints for profile management
* refactor: remove unused template file
* feat(orm): remove unused ORM models
* feat: add persistent SQLite database support in WASM
* fix: Update module names in protobuf files
* feat: Add method to initialize SQLite database
* fix: update go-sqlite3 dependency to version 1.14.23
* feat: introduce database layer
* feat: Implement database layer for Vault node
* feature/update-dockerfile
* feat: Add keyshares table
* fix: Reorder the SQL statements in the tables.go file
* feat: Update the `createCredentialsTable` method to match the proper Credential struct
* feat: Update createProfilesTable and add createPropertiesTable
* feat: Add constant SQL queries to queries.go and use prepared statements in db.go
* feat: Add createKeysharesTable to internal/db/db.go
* feat: Update `createPermissionsTable` to match Permissions struct
* feat: Add database enum types
* feat: Add DIDNamespace and PermissionScope enums
* feat: Add DBConfig and DBOption types
* feat: Update the db implementation to use the provided go library
* fix: update db implementation to use go-sqlite3 v0.18.2
* fix: Refactor database connection and statement handling
* feat: Simplify db.go implementation
* feat: Convert constant SQL queries to functions in queries.go and update db.go to use prepared statements
* feat: Add models.go file with database table structs
* fix: Remove unused statement map and prepare statements
diff --git a/internal/db/db.go b/internal/db/db.go
index 201d09b..d4d4d4e 100644
--- a/internal/db/db.go
+++ b/internal/db/db.go
@@ -32,11 +32,6 @@ func Open(config *DBConfig) (*DB, error) {
Conn: conn,
}
- if err := createTables(db); err != nil {
- conn.Close()
- return nil, fmt.Errorf("failed to create tables: %w", err)
- }
-
return db, nil
}
@@ -61,114 +56,3 @@ func createTables(db *DB) error {
return nil
}
-// AddAccount adds a new account to the database
-func (db *DB) AddAccount(name, address string) error {
- return db.Exec(insertAccountQuery(name, address))
-}
-
-// AddAsset adds a new asset to the database
-func (db *DB) AddAsset(name, symbol string, decimals int, chainID int64) error {
- return db.Exec(insertAssetQuery(name, symbol, decimals, chainID))
-}
-
-// AddChain adds a new chain to the database
-func (db *DB) AddChain(name, networkID string) error {
- return db.Exec(insertChainQuery(name, networkID))
-}
-
-// AddCredential adds a new credential to the database
-func (db *DB) AddCredential(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) error {
- return db.Exec(insertCredentialQuery(
- handle,
- controller,
- attestationType,
- origin,
- credentialID,
- publicKey,
- transport,
- signCount,
- userPresent,
- userVerified,
- backupEligible,
- backupState,
- cloneWarning,
- ))
-}
-
-// AddProfile adds a new profile to the database
-func (db *DB) AddProfile(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) error {
- return db.statements["insertProfile"].Exec(
- id, subject, controller, originURI, publicMetadata, privateMetadata,
- )
-}
-
-// AddProperty adds a new property to the database
-func (db *DB) AddProperty(
- profileID, key, accumulator, propertyKey string,
-) error {
- return db.statements["insertProperty"].Exec(
- profileID, key, accumulator, propertyKey,
- )
-}
-
-// AddPermission adds a new permission to the database
-func (db *DB) AddPermission(
- serviceID string,
- grants []DIDNamespace,
- scopes []PermissionScope,
-) error {
- grantsJSON, err := json.Marshal(grants)
- if err != nil {
- return fmt.Errorf("failed to marshal grants: %w", err)
- }
-
- scopesJSON, err := json.Marshal(scopes)
- if err != nil {
- return fmt.Errorf("failed to marshal scopes: %w", err)
- }
-
- return db.statements["insertPermission"].Exec(
- serviceID, string(grantsJSON), string(scopesJSON),
- )
-}
-
-// GetPermission retrieves the permission for the given service ID
-func (db *DB) GetPermission(serviceID string) ([]DIDNamespace, []PermissionScope, error) {
- row := db.statements["getPermission"].QueryRow(serviceID)
-
- var grantsJSON, scopesJSON string
- if err := row.Scan(&grantsJSON, &scopesJSON); err != nil {
- return nil, nil, fmt.Errorf("failed to get permission: %w", err)
- }
-
- var grants []DIDNamespace
- if err := json.Unmarshal([]byte(grantsJSON), &grants); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal grants: %w", err)
- }
-
- var scopes []PermissionScope
- if err := json.Unmarshal([]byte(scopesJSON), &scopes); err != nil {
- return nil, nil, fmt.Errorf("failed to unmarshal scopes: %w", err)
- }
-
- return grants, scopes, nil
-}
-
-// Close closes the database connection and finalizes all prepared statements
-func (db *DB) Close() error {
- for _, stmt := range db.statements {
- stmt.Finalize()
- }
- return db.Conn.Close()
-}
diff --git a/internal/db/queries.go b/internal/db/queries.go
index 807d701..e69de29 100644
--- a/internal/db/queries.go
+++ b/internal/db/queries.go
@@ -1,79 +0,0 @@
-package db
-
-import "fmt"
-
-// Account queries
-func insertAccountQuery(name, address string) string {
- return fmt.Sprintf(`INSERT INTO accounts (name, address) VALUES (%s, %s)`, name, address)
-}
-
-// Asset queries
-func insertAssetQuery(name, symbol string, decimals int, chainID int64) string {
- return fmt.Sprintf(
- `INSERT INTO assets (name, symbol, decimals, chain_id) VALUES (%s, %s, %d, %d)`,
- name,
- symbol,
- decimals,
- chainID,
- )
-}
-
-// Chain queries
-func insertChainQuery(name string, networkID string) string {
- return fmt.Sprintf(`INSERT INTO chains (name, network_id) VALUES (%s, %d)`, name, networkID)
-}
-
-// Credential queries
-func insertCredentialQuery(
- handle, controller, attestationType, origin string,
- credentialID, publicKey []byte,
- transport string,
- signCount uint32,
- userPresent, userVerified, backupEligible, backupState, cloneWarning bool,
-) string {
- return fmt.Sprintf(`INSERT INTO credentials (
- handle, controller, attestation_type, origin,
- credential_id, public_key, transport, sign_count,
- user_present, user_verified, backup_eligible,
- backup_state, clone_warning
- ) VALUES (%s, %s, %s, %s, %s, %s, %s, %d, %t, %t, %t, %t, %t)`,
- handle, controller, attestationType, origin,
- credentialID, publicKey, transport, signCount,
- userPresent, userVerified, backupEligible,
- backupState, cloneWarning)
-}
-
-// Profile queries
-func insertProfileQuery(
- id, subject, controller, originURI, publicMetadata, privateMetadata string,
-) string {
- return fmt.Sprintf(`INSERT INTO profiles (
- id, subject, controller, origin_uri,
- public_metadata, private_metadata
- ) VALUES (%s, %s, %s, %s, %s, %s)`,
- id, subject, controller, originURI,
- publicMetadata, privateMetadata)
-}
-
-// Property queries
-func insertPropertyQuery(profileID, key, accumulator, propertyKey string) string {
- return fmt.Sprintf(`INSERT INTO properties (
- profile_id, key, accumulator, property_key
- ) VALUES (%s, %s, %s, %s)`,
- profileID, key, accumulator, propertyKey)
-}
-
-// Permission queries
-func insertPermissionQuery(serviceID, grants, scopes string) string {
- return fmt.Sprintf(
- `INSERT INTO permissions (service_id, grants, scopes) VALUES (%s, %s, %s)`,
- serviceID,
- grants,
- scopes,
- )
-}
-
-// GetPermission query
-func getPermissionQuery(serviceID string) string {
- return fmt.Sprintf(`SELECT grants, scopes FROM permissions WHERE service_id = %s`, serviceID)
-}
* fix: update Makefile to use sonrd instead of wasmd
* feat: Add targets for templ and vault in Makefile and use only make in devbox.json
* feat: add SQLite database support
* bump: version 0.6.0 → 0.7.0
* refactor: upgrade actions to latest versions
2024-09-05 01:24:57 -04:00
}
return nil
}
2024-09-19 02:04:22 -04:00
func ( x * Verification ) GetVerificationType ( ) string {
2024-09-18 17:27:30 -04:00
if x != nil {
2024-09-19 02:04:22 -04:00
return x . VerificationType
2024-09-18 17:27:30 -04:00
}
return ""
}
2024-07-05 22:20:13 -04:00
var File_did_v1_state_proto protoreflect . FileDescriptor
var file_did_v1_state_proto_rawDesc = [ ] byte {
0x0a , 0x12 , 0x64 , 0x69 , 0x64 , 0x2f , 0x76 , 0x31 , 0x2f , 0x73 , 0x74 , 0x61 , 0x74 , 0x65 , 0x2e , 0x70 ,
0x72 , 0x6f , 0x74 , 0x6f , 0x12 , 0x06 , 0x64 , 0x69 , 0x64 , 0x2e , 0x76 , 0x31 , 0x1a , 0x17 , 0x63 , 0x6f ,
0x73 , 0x6d , 0x6f , 0x73 , 0x2f , 0x6f , 0x72 , 0x6d , 0x2f , 0x76 , 0x31 , 0x2f , 0x6f , 0x72 , 0x6d , 0x2e ,
0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x1a , 0x14 , 0x64 , 0x69 , 0x64 , 0x2f , 0x76 , 0x31 , 0x2f , 0x67 , 0x65 ,
2024-09-19 02:04:22 -04:00
0x6e , 0x65 , 0x73 , 0x69 , 0x73 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x22 , 0x6f , 0x0a , 0x05 , 0x41 ,
0x6c , 0x69 , 0x61 , 0x73 , 0x12 , 0x0e , 0x0a , 0x02 , 0x69 , 0x64 , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x09 ,
0x52 , 0x02 , 0x69 , 0x64 , 0x12 , 0x18 , 0x0a , 0x07 , 0x73 , 0x75 , 0x62 , 0x6a , 0x65 , 0x63 , 0x74 , 0x18 ,
0x02 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x07 , 0x73 , 0x75 , 0x62 , 0x6a , 0x65 , 0x63 , 0x74 , 0x12 , 0x16 ,
0x0a , 0x06 , 0x6f , 0x72 , 0x69 , 0x67 , 0x69 , 0x6e , 0x18 , 0x03 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x06 ,
0x6f , 0x72 , 0x69 , 0x67 , 0x69 , 0x6e , 0x3a , 0x24 , 0xf2 , 0x9e , 0xd3 , 0x8e , 0x03 , 0x1e , 0x0a , 0x04 ,
0x0a , 0x02 , 0x69 , 0x64 , 0x12 , 0x14 , 0x0a , 0x0e , 0x73 , 0x75 , 0x62 , 0x6a , 0x65 , 0x63 , 0x74 , 0x2c ,
2024-09-25 19:45:28 -04:00
0x6f , 0x72 , 0x69 , 0x67 , 0x69 , 0x6e , 0x10 , 0x01 , 0x18 , 0x01 , 0x18 , 0x01 , 0x22 , 0xc6 , 0x02 , 0x0a ,
0x0a , 0x43 , 0x6f , 0x6e , 0x74 , 0x72 , 0x6f , 0x6c , 0x6c , 0x65 , 0x72 , 0x12 , 0x16 , 0x0a , 0x06 , 0x6e ,
0x75 , 0x6d , 0x62 , 0x65 , 0x72 , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x04 , 0x52 , 0x06 , 0x6e , 0x75 , 0x6d ,
0x62 , 0x65 , 0x72 , 0x12 , 0x10 , 0x0a , 0x03 , 0x64 , 0x69 , 0x64 , 0x18 , 0x02 , 0x20 , 0x01 , 0x28 , 0x09 ,
0x52 , 0x03 , 0x64 , 0x69 , 0x64 , 0x12 , 0x21 , 0x0a , 0x0c , 0x73 , 0x6f , 0x6e , 0x72 , 0x5f , 0x61 , 0x64 ,
0x64 , 0x72 , 0x65 , 0x73 , 0x73 , 0x18 , 0x03 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x0b , 0x73 , 0x6f , 0x6e ,
0x72 , 0x41 , 0x64 , 0x64 , 0x72 , 0x65 , 0x73 , 0x73 , 0x12 , 0x1f , 0x0a , 0x0b , 0x65 , 0x74 , 0x68 , 0x5f ,
0x61 , 0x64 , 0x64 , 0x72 , 0x65 , 0x73 , 0x73 , 0x18 , 0x04 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x0a , 0x65 ,
0x74 , 0x68 , 0x41 , 0x64 , 0x64 , 0x72 , 0x65 , 0x73 , 0x73 , 0x12 , 0x1f , 0x0a , 0x0b , 0x62 , 0x74 , 0x63 ,
0x5f , 0x61 , 0x64 , 0x64 , 0x72 , 0x65 , 0x73 , 0x73 , 0x18 , 0x05 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x0a ,
0x62 , 0x74 , 0x63 , 0x41 , 0x64 , 0x64 , 0x72 , 0x65 , 0x73 , 0x73 , 0x12 , 0x1d , 0x0a , 0x0a , 0x70 , 0x75 ,
0x62 , 0x6c , 0x69 , 0x63 , 0x5f , 0x6b , 0x65 , 0x79 , 0x18 , 0x06 , 0x20 , 0x01 , 0x28 , 0x0c , 0x52 , 0x09 ,
0x70 , 0x75 , 0x62 , 0x6c , 0x69 , 0x63 , 0x4b , 0x65 , 0x79 , 0x12 , 0x15 , 0x0a , 0x06 , 0x6b , 0x73 , 0x5f ,
0x76 , 0x61 , 0x6c , 0x18 , 0x07 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x05 , 0x6b , 0x73 , 0x56 , 0x61 , 0x6c ,
0x12 , 0x18 , 0x0a , 0x07 , 0x63 , 0x6c , 0x61 , 0x69 , 0x6d , 0x65 , 0x64 , 0x18 , 0x08 , 0x20 , 0x01 , 0x28 ,
0x08 , 0x52 , 0x07 , 0x63 , 0x6c , 0x61 , 0x69 , 0x6d , 0x65 , 0x64 , 0x3a , 0x59 , 0xf2 , 0x9e , 0xd3 , 0x8e ,
0x03 , 0x53 , 0x0a , 0x0a , 0x0a , 0x06 , 0x6e , 0x75 , 0x6d , 0x62 , 0x65 , 0x72 , 0x10 , 0x01 , 0x12 , 0x12 ,
0x0a , 0x0c , 0x73 , 0x6f , 0x6e , 0x72 , 0x5f , 0x61 , 0x64 , 0x64 , 0x72 , 0x65 , 0x73 , 0x73 , 0x10 , 0x01 ,
0x18 , 0x01 , 0x12 , 0x11 , 0x0a , 0x0b , 0x65 , 0x74 , 0x68 , 0x5f , 0x61 , 0x64 , 0x64 , 0x72 , 0x65 , 0x73 ,
0x73 , 0x10 , 0x02 , 0x18 , 0x01 , 0x12 , 0x11 , 0x0a , 0x0b , 0x62 , 0x74 , 0x63 , 0x5f , 0x61 , 0x64 , 0x64 ,
0x72 , 0x65 , 0x73 , 0x73 , 0x10 , 0x03 , 0x18 , 0x01 , 0x12 , 0x09 , 0x0a , 0x03 , 0x64 , 0x69 , 0x64 , 0x10 ,
0x04 , 0x18 , 0x01 , 0x18 , 0x02 , 0x22 , 0xe0 , 0x02 , 0x0a , 0x0c , 0x56 , 0x65 , 0x72 , 0x69 , 0x66 , 0x69 ,
0x63 , 0x61 , 0x74 , 0x69 , 0x6f , 0x6e , 0x12 , 0x10 , 0x0a , 0x03 , 0x64 , 0x69 , 0x64 , 0x18 , 0x01 , 0x20 ,
0x01 , 0x28 , 0x09 , 0x52 , 0x03 , 0x64 , 0x69 , 0x64 , 0x12 , 0x1e , 0x0a , 0x0a , 0x63 , 0x6f , 0x6e , 0x74 ,
0x72 , 0x6f , 0x6c , 0x6c , 0x65 , 0x72 , 0x18 , 0x02 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x0a , 0x63 , 0x6f ,
0x6e , 0x74 , 0x72 , 0x6f , 0x6c , 0x6c , 0x65 , 0x72 , 0x12 , 0x1d , 0x0a , 0x0a , 0x64 , 0x69 , 0x64 , 0x5f ,
0x6d , 0x65 , 0x74 , 0x68 , 0x6f , 0x64 , 0x18 , 0x03 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x09 , 0x64 , 0x69 ,
0x64 , 0x4d , 0x65 , 0x74 , 0x68 , 0x6f , 0x64 , 0x12 , 0x16 , 0x0a , 0x06 , 0x69 , 0x73 , 0x73 , 0x75 , 0x65 ,
0x72 , 0x18 , 0x04 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x06 , 0x69 , 0x73 , 0x73 , 0x75 , 0x65 , 0x72 , 0x12 ,
0x18 , 0x0a , 0x07 , 0x73 , 0x75 , 0x62 , 0x6a , 0x65 , 0x63 , 0x74 , 0x18 , 0x05 , 0x20 , 0x01 , 0x28 , 0x09 ,
0x52 , 0x07 , 0x73 , 0x75 , 0x62 , 0x6a , 0x65 , 0x63 , 0x74 , 0x12 , 0x2d , 0x0a , 0x0a , 0x70 , 0x75 , 0x62 ,
0x6c , 0x69 , 0x63 , 0x5f , 0x6b , 0x65 , 0x79 , 0x18 , 0x06 , 0x20 , 0x01 , 0x28 , 0x0b , 0x32 , 0x0e , 0x2e ,
0x64 , 0x69 , 0x64 , 0x2e , 0x76 , 0x31 , 0x2e , 0x50 , 0x75 , 0x62 , 0x4b , 0x65 , 0x79 , 0x52 , 0x09 , 0x70 ,
0x75 , 0x62 , 0x6c , 0x69 , 0x63 , 0x4b , 0x65 , 0x79 , 0x12 , 0x2b , 0x0a , 0x11 , 0x76 , 0x65 , 0x72 , 0x69 ,
0x66 , 0x69 , 0x63 , 0x61 , 0x74 , 0x69 , 0x6f , 0x6e , 0x5f , 0x74 , 0x79 , 0x70 , 0x65 , 0x18 , 0x07 , 0x20 ,
0x01 , 0x28 , 0x09 , 0x52 , 0x10 , 0x76 , 0x65 , 0x72 , 0x69 , 0x66 , 0x69 , 0x63 , 0x61 , 0x74 , 0x69 , 0x6f ,
0x6e , 0x54 , 0x79 , 0x70 , 0x65 , 0x3a , 0x71 , 0xf2 , 0x9e , 0xd3 , 0x8e , 0x03 , 0x6b , 0x0a , 0x05 , 0x0a ,
0x03 , 0x64 , 0x69 , 0x64 , 0x12 , 0x14 , 0x0a , 0x0e , 0x69 , 0x73 , 0x73 , 0x75 , 0x65 , 0x72 , 0x2c , 0x73 ,
0x75 , 0x62 , 0x6a , 0x65 , 0x63 , 0x74 , 0x10 , 0x01 , 0x18 , 0x01 , 0x12 , 0x22 , 0x0a , 0x1c , 0x63 , 0x6f ,
0x6e , 0x74 , 0x72 , 0x6f , 0x6c , 0x6c , 0x65 , 0x72 , 0x2c , 0x64 , 0x69 , 0x64 , 0x5f , 0x6d , 0x65 , 0x74 ,
0x68 , 0x6f , 0x64 , 0x2c , 0x69 , 0x73 , 0x73 , 0x75 , 0x65 , 0x72 , 0x10 , 0x02 , 0x18 , 0x01 , 0x12 , 0x26 ,
0x0a , 0x20 , 0x76 , 0x65 , 0x72 , 0x69 , 0x66 , 0x69 , 0x63 , 0x61 , 0x74 , 0x69 , 0x6f , 0x6e , 0x5f , 0x74 ,
0x79 , 0x70 , 0x65 , 0x2c , 0x73 , 0x75 , 0x62 , 0x6a , 0x65 , 0x63 , 0x74 , 0x2c , 0x69 , 0x73 , 0x73 , 0x75 ,
0x65 , 0x72 , 0x10 , 0x03 , 0x18 , 0x01 , 0x18 , 0x04 , 0x42 , 0x7a , 0x0a , 0x0a , 0x63 , 0x6f , 0x6d , 0x2e ,
0x64 , 0x69 , 0x64 , 0x2e , 0x76 , 0x31 , 0x42 , 0x0a , 0x53 , 0x74 , 0x61 , 0x74 , 0x65 , 0x50 , 0x72 , 0x6f ,
0x74 , 0x6f , 0x50 , 0x01 , 0x5a , 0x27 , 0x67 , 0x69 , 0x74 , 0x68 , 0x75 , 0x62 , 0x2e , 0x63 , 0x6f , 0x6d ,
0x2f , 0x6f , 0x6e , 0x73 , 0x6f , 0x6e , 0x72 , 0x2f , 0x73 , 0x6f , 0x6e , 0x72 , 0x2f , 0x61 , 0x70 , 0x69 ,
0x2f , 0x64 , 0x69 , 0x64 , 0x2f , 0x76 , 0x31 , 0x3b , 0x64 , 0x69 , 0x64 , 0x76 , 0x31 , 0xa2 , 0x02 , 0x03 ,
0x44 , 0x58 , 0x58 , 0xaa , 0x02 , 0x06 , 0x44 , 0x69 , 0x64 , 0x2e , 0x56 , 0x31 , 0xca , 0x02 , 0x06 , 0x44 ,
0x69 , 0x64 , 0x5c , 0x56 , 0x31 , 0xe2 , 0x02 , 0x12 , 0x44 , 0x69 , 0x64 , 0x5c , 0x56 , 0x31 , 0x5c , 0x47 ,
0x50 , 0x42 , 0x4d , 0x65 , 0x74 , 0x61 , 0x64 , 0x61 , 0x74 , 0x61 , 0xea , 0x02 , 0x07 , 0x44 , 0x69 , 0x64 ,
0x3a , 0x3a , 0x56 , 0x31 , 0x62 , 0x06 , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x33 ,
2024-07-05 22:20:13 -04:00
}
var (
file_did_v1_state_proto_rawDescOnce sync . Once
file_did_v1_state_proto_rawDescData = file_did_v1_state_proto_rawDesc
)
func file_did_v1_state_proto_rawDescGZIP ( ) [ ] byte {
file_did_v1_state_proto_rawDescOnce . Do ( func ( ) {
file_did_v1_state_proto_rawDescData = protoimpl . X . CompressGZIP ( file_did_v1_state_proto_rawDescData )
} )
return file_did_v1_state_proto_rawDescData
}
2024-09-18 17:27:30 -04:00
var file_did_v1_state_proto_msgTypes = make ( [ ] protoimpl . MessageInfo , 3 )
2024-07-05 22:20:13 -04:00
var file_did_v1_state_proto_goTypes = [ ] interface { } {
2024-09-18 17:27:30 -04:00
( * Alias ) ( nil ) , // 0: did.v1.Alias
( * Controller ) ( nil ) , // 1: did.v1.Controller
( * Verification ) ( nil ) , // 2: did.v1.Verification
( * PubKey ) ( nil ) , // 3: did.v1.PubKey
2024-07-05 22:20:13 -04:00
}
var file_did_v1_state_proto_depIdxs = [ ] int32 {
2024-09-25 19:45:28 -04:00
3 , // 0: did.v1.Verification.public_key:type_name -> did.v1.PubKey
1 , // [1:1] is the sub-list for method output_type
1 , // [1:1] is the sub-list for method input_type
1 , // [1:1] is the sub-list for extension type_name
1 , // [1:1] is the sub-list for extension extendee
0 , // [0:1] is the sub-list for field type_name
2024-07-05 22:20:13 -04:00
}
func init ( ) { file_did_v1_state_proto_init ( ) }
func file_did_v1_state_proto_init ( ) {
if File_did_v1_state_proto != nil {
return
}
file_did_v1_genesis_proto_init ( )
if ! protoimpl . UnsafeEnabled {
file_did_v1_state_proto_msgTypes [ 0 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-09-18 17:27:30 -04:00
switch v := v . ( * Alias ) ; i {
2024-07-05 22:20:13 -04:00
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2024-08-31 16:54:16 -04:00
file_did_v1_state_proto_msgTypes [ 1 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-09-11 15:10:54 -04:00
switch v := v . ( * Controller ) ; i {
2024-07-05 22:20:13 -04:00
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2024-08-31 16:54:16 -04:00
file_did_v1_state_proto_msgTypes [ 2 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-09-18 17:27:30 -04:00
switch v := v . ( * Verification ) ; i {
2024-07-05 22:20:13 -04:00
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
}
type x struct { }
out := protoimpl . TypeBuilder {
File : protoimpl . DescBuilder {
GoPackagePath : reflect . TypeOf ( x { } ) . PkgPath ( ) ,
RawDescriptor : file_did_v1_state_proto_rawDesc ,
NumEnums : 0 ,
2024-09-18 17:27:30 -04:00
NumMessages : 3 ,
2024-07-05 22:20:13 -04:00
NumExtensions : 0 ,
NumServices : 0 ,
} ,
GoTypes : file_did_v1_state_proto_goTypes ,
DependencyIndexes : file_did_v1_state_proto_depIdxs ,
MessageInfos : file_did_v1_state_proto_msgTypes ,
} . Build ( )
File_did_v1_state_proto = out . File
file_did_v1_state_proto_rawDesc = nil
file_did_v1_state_proto_goTypes = nil
file_did_v1_state_proto_depIdxs = nil
}