mirror of
https://github.com/onsonr/sonr.git
synced 2025-03-10 21:09:11 +00:00
* refactor: move constants to genesis.proto * feat: add ipfs_active flag to genesis state * feat: add IPFS connection initialization to keeper * feat: add testnet process-compose * refactor: rename sonr-testnet docker image to sonr-runner * refactor: update docker-vm-release workflow to use 'latest' tag * feat: add permission to workflows * feat: add new service chain execution * feat: add abstract vault class to pkl * feat: use jetpackio/devbox image for runner * feat: introduce dwn for local service worker * refactor: remove unnecessary dockerfile layers * refactor(deploy): Update Dockerfile to copy go.mod and go.sum from the parent directory * build: move Dockerfile to root directory * build: Add Dockerfile for deployment * feat: Update Dockerfile to work with Go project in parent directory * build: Update docker-compose.yaml to use relative paths * feat: Update docker-compose to work with new image and parent git directory * refactor: remove unnecessary test script * <no value> * feat: add test_node script for running node tests * feat: add IPFS cluster to testnet * feat: add docker image for sonr-runner * fix: typo in export path * feat(did): Add Localhost Registration Enabled Genesis Option * feat: add support for Sqlite DB in vault * feat: improve vault model JSON serialization * feat: support querying HTMX endpoint for DID * feat: Add primary key, unique, default, not null, auto increment, and foreign key field types * feat: Add PublicKey model in pkl/vault.pkl * feat: add frontend server * refactor: move dwn.wasm to vfs directory * feat(frontend): remove frontend server implementation * feat: Add a frontend server and web auth protocol * feat: implement new key types for MPC and ZK proofs * fix: Update enum types and DefaultKeyInfos * fix: correct typo in KeyAlgorithm enum * feat(did): add attestation format validation * feat: Add x/did/builder/extractor.go * feat: Update JWK parsing in x/did/builder/extractor.go * feat: Use github.com/onsonr/sonr/x/did/types package * feat: Extract and format public keys from WebAuthn credentials * feat: Introduce a new `mapToJWK` function to convert a map to a `types.JWK` struct * feat: add support for extracting JWK public keys * feat: remove VerificationMethod struct * refactor: extract public key extraction logic * feat: add helper functions to map COSECurveID to JWK curve names * feat: pin initial vault
323 lines
4.0 KiB
Plaintext
323 lines
4.0 KiB
Plaintext
@go.Package { name = "github.com/onsonr/sonr/gen/vault" }
|
|
|
|
module vault
|
|
|
|
import "package://pkg.pkl-lang.org/pkl-go/pkl.golang@0.5.0#/go.pkl"
|
|
|
|
|
|
abstract class Client {
|
|
chainId: String
|
|
keyringBackend: String
|
|
output: String
|
|
node: String
|
|
broadcastMode: String
|
|
apiUrl: String
|
|
addressPrefix: String
|
|
}
|
|
|
|
class Sonr extends Client {
|
|
chainId = "sonr-testnet-1"
|
|
keyringBackend = "test"
|
|
output = "json"
|
|
rpcUrl = "tcp://localhost:26657"
|
|
broadcastMode = "async"
|
|
apiUrl = "http://localhost:1317"
|
|
addressPrefix = "idx"
|
|
}
|
|
|
|
abstract class DB {
|
|
filename: String
|
|
}
|
|
|
|
class Sqlite extends DB {
|
|
filename = "vault.db"
|
|
}
|
|
|
|
class PrimaryKey extends go.Field {
|
|
structTags {
|
|
["gorm"] = "primaryKey"
|
|
["json"] = "%{name},omitempty"
|
|
}
|
|
}
|
|
|
|
class Unique extends go.Field {
|
|
structTags {
|
|
["gorm"] = "unique"
|
|
["json"] = "%{name},omitempty"
|
|
}
|
|
}
|
|
|
|
class Default extends go.Field {
|
|
defaultValue: String
|
|
structTags {
|
|
["gorm"] = "default:%{defaultValue}"
|
|
["json"] = "%{name},omitempty"
|
|
}
|
|
}
|
|
|
|
class NotNull extends go.Field {
|
|
structTags {
|
|
["gorm"] = "not null"
|
|
}
|
|
}
|
|
|
|
class AutoIncrement extends go.Field {
|
|
structTags {
|
|
["gorm"] = "autoIncrement"
|
|
}
|
|
}
|
|
|
|
class ForeignKey extends go.Field {
|
|
references: String
|
|
structTags {
|
|
["gorm"] = "foreignKey:%{references}"
|
|
}
|
|
}
|
|
|
|
abstract class Model {
|
|
table: String
|
|
}
|
|
|
|
class JsonField extends go.Field {
|
|
structTags {
|
|
["json"] = "%{name},omitempty"
|
|
}
|
|
}
|
|
|
|
class Account extends Model {
|
|
table = "accounts"
|
|
|
|
@PrimaryKey
|
|
id: UInt
|
|
|
|
@JsonField
|
|
name: String
|
|
|
|
@JsonField
|
|
address: String
|
|
|
|
@JsonField
|
|
publicKey: Dynamic
|
|
|
|
@JsonField
|
|
createdAt: String?
|
|
}
|
|
|
|
class Asset extends Model {
|
|
table = "assets"
|
|
|
|
@PrimaryKey
|
|
id: UInt
|
|
|
|
@JsonField
|
|
name: String
|
|
|
|
@JsonField
|
|
symbol: String
|
|
|
|
@JsonField
|
|
decimals: Int
|
|
|
|
@JsonField
|
|
chainId: Int?
|
|
|
|
@JsonField
|
|
createdAt: String?
|
|
}
|
|
|
|
class Chain extends Model {
|
|
table = "chains"
|
|
|
|
@PrimaryKey
|
|
id: UInt
|
|
|
|
@JsonField
|
|
name: String
|
|
|
|
@JsonField
|
|
networkId: String
|
|
|
|
@JsonField
|
|
createdAt: String?
|
|
}
|
|
|
|
class Credential extends Model {
|
|
table = "credentials"
|
|
|
|
@PrimaryKey
|
|
id: UInt
|
|
|
|
@JsonField
|
|
subject: String
|
|
|
|
@JsonField
|
|
controller: String
|
|
|
|
@JsonField
|
|
attestationType: String
|
|
|
|
@JsonField
|
|
origin: String
|
|
|
|
@JsonField
|
|
credentialId: Dynamic
|
|
|
|
@JsonField
|
|
publicKey: Dynamic
|
|
|
|
@JsonField
|
|
transport: String
|
|
|
|
@JsonField
|
|
signCount: UInt
|
|
|
|
@JsonField
|
|
userPresent: Boolean
|
|
|
|
@JsonField
|
|
userVerified: Boolean
|
|
|
|
@JsonField
|
|
backupEligible: Boolean
|
|
|
|
@JsonField
|
|
backupState: Boolean
|
|
|
|
@JsonField
|
|
cloneWarning: Boolean
|
|
|
|
@JsonField
|
|
createdAt: String?
|
|
|
|
@JsonField
|
|
updatedAt: String?
|
|
}
|
|
|
|
class Profile extends Model {
|
|
table = "profiles"
|
|
|
|
@PrimaryKey
|
|
id: String
|
|
|
|
@JsonField
|
|
subject: String
|
|
|
|
@JsonField
|
|
controller: String
|
|
|
|
@JsonField
|
|
originUri: String?
|
|
|
|
@JsonField
|
|
publicMetadata: String?
|
|
|
|
@JsonField
|
|
privateMetadata: String?
|
|
|
|
@JsonField
|
|
createdAt: String?
|
|
|
|
@JsonField
|
|
updatedAt: String?
|
|
}
|
|
|
|
class Property extends Model {
|
|
table = "properties"
|
|
|
|
@PrimaryKey
|
|
id: UInt
|
|
|
|
@JsonField
|
|
profileId: String
|
|
|
|
@JsonField
|
|
key: String
|
|
|
|
@JsonField
|
|
accumulator: Dynamic
|
|
|
|
@JsonField
|
|
propertyKey: Dynamic
|
|
}
|
|
|
|
class Keyshare extends Model {
|
|
table = "keyshares"
|
|
|
|
@PrimaryKey
|
|
id: UInt
|
|
|
|
@JsonField
|
|
metadata: String
|
|
|
|
@JsonField
|
|
payloads: String
|
|
|
|
@JsonField
|
|
protocol: String
|
|
|
|
@JsonField
|
|
publicKey: Dynamic
|
|
|
|
@JsonField
|
|
role: Int
|
|
|
|
@JsonField
|
|
version: Int
|
|
|
|
@JsonField
|
|
createdAt: String?
|
|
}
|
|
|
|
class PublicKey extends Model {
|
|
table = "public_keys"
|
|
|
|
@PrimaryKey
|
|
id: UInt
|
|
|
|
@JsonField
|
|
role: Int
|
|
|
|
@JsonField
|
|
algorithm: Int
|
|
|
|
@JsonField
|
|
encoding: Int
|
|
|
|
@JsonField
|
|
raw: Dynamic
|
|
|
|
@JsonField
|
|
hex: String
|
|
|
|
@JsonField
|
|
multibase: String
|
|
|
|
@JsonField
|
|
jwk: Dynamic
|
|
|
|
@JsonField
|
|
createdAt: String?
|
|
}
|
|
|
|
class Permission extends Model {
|
|
table = "permissions"
|
|
|
|
@PrimaryKey
|
|
id: UInt
|
|
|
|
@JsonField
|
|
serviceId: String
|
|
|
|
@JsonField
|
|
grants: String
|
|
|
|
@JsonField
|
|
scopes: String
|
|
|
|
@JsonField
|
|
createdAt: String?
|
|
|
|
@JsonField
|
|
updatedAt: String?
|
|
}
|