(no commit message provided)

This commit is contained in:
Prad Nukala
2024-07-05 22:20:13 -04:00
committed by Prad Nukala (aider)
commit 5fd43dfd6b
457 changed files with 115535 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
package motor
+1
View File
@@ -0,0 +1 @@
package motor
+1
View File
@@ -0,0 +1 @@
package motor
+1
View File
@@ -0,0 +1 @@
package motor
+1
View File
@@ -0,0 +1 @@
package motor
+107
View File
@@ -0,0 +1,107 @@
package motor
import (
"github.com/cosmos/cosmos-sdk/types/bech32"
"github.com/onsonr/hway/crypto/kss"
"github.com/onsonr/hway/crypto/mpc"
fs "github.com/onsonr/hway/internal/vfs"
)
const kSonrHRP = "idx"
// vfd is the struct implementation of an IPFS file system
type drive struct {
kss kss.Set
folder fs.Folder
addr string
}
// NewVFS creates a new virtual file system.
func Spawn() (*drive, error) {
kss, err := mpc.GenerateKss()
if err != nil {
return nil, err
}
addr, err := bech32.ConvertAndEncode(kSonrHRP, kss.PublicKey().Bytes())
if err != nil {
return nil, err
}
rootDir, err := fs.NewVaultFolder(addr)
if err != nil {
return nil, err
}
return &drive{
folder: rootDir,
addr: addr,
kss: kss,
}, nil
}
// // CreateFingerprint creates a fingerprint for the given database and public key
// func CreateFingerprint(dir fs.Folder, db dwn.Database, publicKey crypto.PublicKey) error {
// pk, err := secret.NewKey("credentials", publicKey)
// if err != nil {
// return err
// }
// creds, err := db.ListCredentials()
// if err != nil {
// return err
// }
// credIDStrs := make([]string, len(creds))
// for i, c := range creds {
// credIDStrs[i] = c.DID
// }
// acc, err := pk.CreateAccumulator(credIDStrs...)
// if err != nil {
// return err
// }
// bz, err := acc.MarshalBinary()
// if err != nil {
// return err
// }
// _, err = dir.WriteFile("fingerprint", bz, os.ModePerm)
// if err != nil {
// return err
// }
// return nil
// }
// // ValidateAndPurgeFingerprint validates the fingerprint and purges it if it's valid
// func ValidateAndPurgeFingerprint(dir fs.Folder, witness []byte, publicKey crypto.PublicKey) (bool, error) {
// pk, err := secret.NewKey("credentials", publicKey)
// if err != nil {
// return false, err
// }
// creds := new(accumulator.Accumulator)
// membership := new(accumulator.MembershipWitness)
// err = membership.UnmarshalBinary(witness)
// if err != nil {
// return false, err
// }
// bz, err := dir.ReadFile("fingerprint")
// if err != nil {
// return false, err
// }
// err = creds.UnmarshalBinary(bz)
// if err != nil {
// return false, err
// }
// if err := pk.VerifyWitness(creds, membership); err != nil {
// return false, err
// }
// err = dir.DeleteFile("fingerprint")
// if err != nil {
// return false, err
// }
// return true, nil
// }