mirror of
https://github.com/sonr-io/sonr.git
synced 2026-08-02 17:31:39 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
93a3d814d6 | ||
|
|
a0e24880c3 | ||
|
|
e63ec7f22a | ||
|
|
6910a415a2 | ||
|
|
fccb42761c | ||
|
|
f75ff0d3be | ||
|
|
931ac2308d | ||
|
|
42c5ab642e | ||
|
|
8d8935c045 | ||
|
|
3baec2745b | ||
|
|
df72b55fe3 | ||
|
|
cbc5a35bcd | ||
|
|
959562c5ff | ||
|
|
84aa1dd79e | ||
|
|
d49a579cd6 | ||
|
|
1a3641e605 | ||
|
|
a05d1bb5d2 | ||
|
|
aaea70786b | ||
|
|
3d17feef0a | ||
|
|
9e938adc29 | ||
|
|
8ef7a7eab7 | ||
|
|
03f822b117 | ||
|
|
ae56055640 | ||
|
|
75c65228fc | ||
|
|
52b9f60261 | ||
|
|
edb109b542 |
@@ -2,6 +2,6 @@
|
|||||||
name = "cz_conventional_commits"
|
name = "cz_conventional_commits"
|
||||||
tag_format = "v$version"
|
tag_format = "v$version"
|
||||||
version_scheme = "semver"
|
version_scheme = "semver"
|
||||||
version = "0.4.5"
|
version = "0.5.6"
|
||||||
update_changelog_on_bump = true
|
update_changelog_on_bump = true
|
||||||
major_version_zero = true
|
major_version_zero = true
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ jobs:
|
|||||||
r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }}
|
r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }}
|
||||||
r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }}
|
r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }}
|
||||||
r2-bucket: pkljar
|
r2-bucket: pkljar
|
||||||
source-dir: pkl
|
source-dir: deploy/config
|
||||||
destination-dir: .
|
destination-dir: .
|
||||||
|
|
||||||
upload_nebula_cdn:
|
upload_nebula_cdn:
|
||||||
|
|||||||
+19
-22
@@ -14,22 +14,22 @@ builds:
|
|||||||
ldflags:
|
ldflags:
|
||||||
- -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{.Date}}
|
- -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{.Date}}
|
||||||
|
|
||||||
- id: motr
|
- id: hway
|
||||||
goos: [linux, darwin]
|
goos: [linux, darwin]
|
||||||
goarch: [amd64, arm64]
|
goarch: [amd64, arm64]
|
||||||
main: ./cmd/motr
|
main: ./cmd/hway
|
||||||
binary: motr
|
binary: hway
|
||||||
builder: go
|
builder: go
|
||||||
gobinary: go
|
gobinary: go
|
||||||
command: build
|
command: build
|
||||||
ldflags:
|
ldflags:
|
||||||
- -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{.Date}}
|
- -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{.Date}}
|
||||||
|
|
||||||
- id: dwn
|
- id: motr
|
||||||
goos: [js]
|
goos: [js]
|
||||||
goarch: [wasm]
|
goarch: [wasm]
|
||||||
main: ./cmd/dwn/dwn.go
|
main: ./cmd/motr/motr.go
|
||||||
binary: dwn
|
binary: motr
|
||||||
builder: go
|
builder: go
|
||||||
gobinary: go
|
gobinary: go
|
||||||
command: build
|
command: build
|
||||||
@@ -43,8 +43,8 @@ archives:
|
|||||||
- src: README*
|
- src: README*
|
||||||
- src: CHANGELOG*
|
- src: CHANGELOG*
|
||||||
|
|
||||||
- id: motr
|
- id: hway
|
||||||
builds: [motr]
|
builds: [hway]
|
||||||
name_template: '{{ .Binary }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}{{ with .Arm }}v{{ . }}{{ end }}{{ with .Mips }}_{{ . }}{{ end }}{{ if not (eq .Amd64 "v1") }}{{ .Amd64 }}{{ end }}'
|
name_template: '{{ .Binary }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}{{ with .Arm }}v{{ . }}{{ end }}{{ with .Mips }}_{{ . }}{{ end }}{{ if not (eq .Amd64 "v1") }}{{ .Amd64 }}{{ end }}'
|
||||||
format: tar.gz
|
format: tar.gz
|
||||||
files:
|
files:
|
||||||
@@ -55,7 +55,7 @@ release:
|
|||||||
github:
|
github:
|
||||||
owner: onsonr
|
owner: onsonr
|
||||||
name: sonr
|
name: sonr
|
||||||
name_template: '{{.Now.Format "2006.01.02"}}'
|
name_template: "Release {{.Version}}"
|
||||||
draft: false
|
draft: false
|
||||||
replace_existing_draft: true
|
replace_existing_draft: true
|
||||||
replace_existing_artifacts: true
|
replace_existing_artifacts: true
|
||||||
@@ -63,7 +63,6 @@ release:
|
|||||||
- glob: ./CHANGELOG*
|
- glob: ./CHANGELOG*
|
||||||
- glob: ./README*
|
- glob: ./README*
|
||||||
- glob: ./LICENSE*
|
- glob: ./LICENSE*
|
||||||
- glob: ./pkl/*
|
|
||||||
|
|
||||||
brews:
|
brews:
|
||||||
- name: sonr
|
- name: sonr
|
||||||
@@ -72,7 +71,7 @@ brews:
|
|||||||
name: goreleaserbot
|
name: goreleaserbot
|
||||||
email: bot@goreleaser.com
|
email: bot@goreleaser.com
|
||||||
directory: Formula
|
directory: Formula
|
||||||
caveats: "Run a local sonr node and access it with the motr proxy"
|
caveats: "Run a local sonr node and access it with the hway proxy"
|
||||||
homepage: "https://sonr.io/"
|
homepage: "https://sonr.io/"
|
||||||
description: "Sonr is a decentralized, permissionless, and censorship-resistant identity network."
|
description: "Sonr is a decentralized, permissionless, and censorship-resistant identity network."
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -83,13 +82,13 @@ brews:
|
|||||||
branch: master
|
branch: master
|
||||||
token: "{{ .Env.GITHUB_PERSONAL_AUTH_TOKEN }}"
|
token: "{{ .Env.GITHUB_PERSONAL_AUTH_TOKEN }}"
|
||||||
|
|
||||||
- name: motr
|
- name: hway
|
||||||
ids: [motr]
|
ids: [hway]
|
||||||
commit_author:
|
commit_author:
|
||||||
name: goreleaserbot
|
name: goreleaserbot
|
||||||
email: bot@goreleaser.com
|
email: bot@goreleaser.com
|
||||||
directory: Formula
|
directory: Formula
|
||||||
caveats: "Use motr to interact with the Sonr network"
|
caveats: "Use hway to interact with the Sonr network"
|
||||||
homepage: "https://sonr.io/"
|
homepage: "https://sonr.io/"
|
||||||
description: "Motr is a proxy for interacting with the Sonr network."
|
description: "Motr is a proxy for interacting with the Sonr network."
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -118,18 +117,18 @@ dockers:
|
|||||||
- "--label=org.opencontainers.image.version={{.Version}}"
|
- "--label=org.opencontainers.image.version={{.Version}}"
|
||||||
|
|
||||||
- # Motr Binary
|
- # Motr Binary
|
||||||
id: motr
|
id: hway
|
||||||
goos: linux
|
goos: linux
|
||||||
goarch: amd64
|
goarch: amd64
|
||||||
ids:
|
ids:
|
||||||
- motr
|
- hway
|
||||||
image_templates:
|
image_templates:
|
||||||
- "onsonr/motr:latest"
|
- "onsonr/hway:latest"
|
||||||
- "onsonr/motr:{{ .Tag }}"
|
- "onsonr/hway:{{ .Tag }}"
|
||||||
dockerfile: "./deploy/release/motr.Dockerfile"
|
dockerfile: "./deploy/release/hway.Dockerfile"
|
||||||
build_flag_templates:
|
build_flag_templates:
|
||||||
- "--label=org.opencontainers.image.created={{.Date}}"
|
- "--label=org.opencontainers.image.created={{.Date}}"
|
||||||
- "--label=org.opencontainers.image.title=motr"
|
- "--label=org.opencontainers.image.title=hway"
|
||||||
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
|
||||||
- "--label=org.opencontainers.image.version={{.Version}}"
|
- "--label=org.opencontainers.image.version={{.Version}}"
|
||||||
|
|
||||||
@@ -137,5 +136,3 @@ announce:
|
|||||||
telegram:
|
telegram:
|
||||||
enabled: true
|
enabled: true
|
||||||
chat_id: -1002222617755
|
chat_id: -1002222617755
|
||||||
message_template: 'New Sonr Release {{.Tag}} is out{{ mdv2escape "!" }}'
|
|
||||||
parse_mode: HTML
|
|
||||||
|
|||||||
@@ -1,3 +1,53 @@
|
|||||||
|
## v0.5.6 (2024-10-03)
|
||||||
|
|
||||||
|
### Feat
|
||||||
|
|
||||||
|
- add hway and sonr processes to dev environment
|
||||||
|
|
||||||
|
## v0.5.5 (2024-10-03)
|
||||||
|
|
||||||
|
### Feat
|
||||||
|
|
||||||
|
- add rudimentary DidController table
|
||||||
|
- update home section with new features
|
||||||
|
- introduce Home model and refactor views
|
||||||
|
- **nebula**: create Home model for home page
|
||||||
|
|
||||||
|
### Refactor
|
||||||
|
|
||||||
|
- reorganize pkl files for better separation of concerns
|
||||||
|
- rename msg_server_test.go to rpc_test.go
|
||||||
|
|
||||||
|
## v0.5.4 (2024-10-02)
|
||||||
|
|
||||||
|
## v0.5.3 (2024-10-02)
|
||||||
|
|
||||||
|
### Fix
|
||||||
|
|
||||||
|
- remove unnecessary telegram message template
|
||||||
|
|
||||||
|
## v0.5.2 (2024-10-02)
|
||||||
|
|
||||||
|
### Feat
|
||||||
|
|
||||||
|
- **service**: integrate group module (#1104)
|
||||||
|
|
||||||
|
### Refactor
|
||||||
|
|
||||||
|
- revert version bump to 0.5.1
|
||||||
|
|
||||||
|
## v0.5.1 (2024-10-02)
|
||||||
|
|
||||||
|
### Refactor
|
||||||
|
|
||||||
|
- move Motr API to state package
|
||||||
|
|
||||||
|
## v0.5.0 (2024-10-02)
|
||||||
|
|
||||||
|
### Feat
|
||||||
|
|
||||||
|
- allow multiple macaroons with the same id
|
||||||
|
|
||||||
## v0.4.5 (2024-10-02)
|
## v0.4.5 (2024-10-02)
|
||||||
|
|
||||||
### Fix
|
### Fix
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ endif
|
|||||||
|
|
||||||
install: go.sum
|
install: go.sum
|
||||||
go install -mod=readonly $(BUILD_FLAGS) ./cmd/sonrd
|
go install -mod=readonly $(BUILD_FLAGS) ./cmd/sonrd
|
||||||
go install -mod=readonly $(BUILD_FLAGS) ./cmd/motr
|
go install -mod=readonly $(BUILD_FLAGS) ./cmd/hway
|
||||||
|
|
||||||
########################################
|
########################################
|
||||||
### Tools & dependencies
|
### Tools & dependencies
|
||||||
@@ -295,19 +295,18 @@ sh-testnet: mod-tidy
|
|||||||
### templ & vault ###
|
### templ & vault ###
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
.PHONY: dwn motr templ pkl nebula
|
.PHONY: motr hway templ pkl nebula
|
||||||
|
|
||||||
|
hway:
|
||||||
|
@echo "(motr) Building Highway gateway"
|
||||||
|
go build -o ./build/hway ./cmd/hway
|
||||||
|
|
||||||
motr:
|
motr:
|
||||||
@echo "(motr) Building motr gateway"
|
@echo "(dwn) Building motr.wasm -> Service Worker IPFS Vault"
|
||||||
go build -o ./build/motr ./cmd/motr
|
GOOS=js GOARCH=wasm go build -o ./pkg/dwn/app.wasm ./cmd/motr/motr.go
|
||||||
|
|
||||||
dwn:
|
|
||||||
@echo "(dwn) Building dwn.wasm -> IPFS Vault"
|
|
||||||
GOOS=js GOARCH=wasm go build -o ./pkg/dwn/app.wasm ./cmd/dwn/dwn.go
|
|
||||||
|
|
||||||
templ:
|
templ:
|
||||||
@echo "(templ) Generating templ files"
|
@echo "(templ) Generating templ files"
|
||||||
go install github.com/a-h/templ/cmd/templ@latest
|
|
||||||
templ generate
|
templ generate
|
||||||
|
|
||||||
nebula:
|
nebula:
|
||||||
@@ -316,18 +315,18 @@ nebula:
|
|||||||
|
|
||||||
pkl:
|
pkl:
|
||||||
@echo "(pkl) Building PKL"
|
@echo "(pkl) Building PKL"
|
||||||
go run github.com/apple/pkl-go/cmd/pkl-gen-go ./pkl/dwn.pkl
|
go run github.com/apple/pkl-go/cmd/pkl-gen-go ./deploy/config/DWN.pkl
|
||||||
go run github.com/apple/pkl-go/cmd/pkl-gen-go ./pkl/orm.pkl
|
go run github.com/apple/pkl-go/cmd/pkl-gen-go ./deploy/config/ORM.pkl
|
||||||
go run github.com/apple/pkl-go/cmd/pkl-gen-go ./pkl/txns.pkl
|
go run github.com/apple/pkl-go/cmd/pkl-gen-go ./deploy/config/Txns.pkl
|
||||||
go run github.com/apple/pkl-go/cmd/pkl-gen-go ./pkl/uiux.pkl
|
go run github.com/apple/pkl-go/cmd/pkl-gen-go ./deploy/config/UIUX.pkl
|
||||||
|
|
||||||
start-caddy:
|
start-caddy:
|
||||||
@echo "(start-caddy) Starting caddy"
|
@echo "(start-caddy) Starting caddy"
|
||||||
./build/caddy run --config ./config/caddy/Caddyfile
|
./build/caddy run --config ./config/caddy/Caddyfile
|
||||||
|
|
||||||
start-motr: motr
|
start-hway: hway
|
||||||
@echo "(start-proxy) Starting proxy server"
|
@echo "(start-proxy) Starting proxy server"
|
||||||
./build/motr start
|
./build/hway start
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
### help ###
|
### help ###
|
||||||
|
|||||||
+435
-150
@@ -1042,61 +1042,63 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ protoreflect.List = (*_Methods_1_list)(nil)
|
var _ protoreflect.List = (*_Methods_2_list)(nil)
|
||||||
|
|
||||||
type _Methods_1_list struct {
|
type _Methods_2_list struct {
|
||||||
list *[]string
|
list *[]string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *_Methods_1_list) Len() int {
|
func (x *_Methods_2_list) Len() int {
|
||||||
if x.list == nil {
|
if x.list == nil {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
return len(*x.list)
|
return len(*x.list)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *_Methods_1_list) Get(i int) protoreflect.Value {
|
func (x *_Methods_2_list) Get(i int) protoreflect.Value {
|
||||||
return protoreflect.ValueOfString((*x.list)[i])
|
return protoreflect.ValueOfString((*x.list)[i])
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *_Methods_1_list) Set(i int, value protoreflect.Value) {
|
func (x *_Methods_2_list) Set(i int, value protoreflect.Value) {
|
||||||
valueUnwrapped := value.String()
|
valueUnwrapped := value.String()
|
||||||
concreteValue := valueUnwrapped
|
concreteValue := valueUnwrapped
|
||||||
(*x.list)[i] = concreteValue
|
(*x.list)[i] = concreteValue
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *_Methods_1_list) Append(value protoreflect.Value) {
|
func (x *_Methods_2_list) Append(value protoreflect.Value) {
|
||||||
valueUnwrapped := value.String()
|
valueUnwrapped := value.String()
|
||||||
concreteValue := valueUnwrapped
|
concreteValue := valueUnwrapped
|
||||||
*x.list = append(*x.list, concreteValue)
|
*x.list = append(*x.list, concreteValue)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *_Methods_1_list) AppendMutable() protoreflect.Value {
|
func (x *_Methods_2_list) AppendMutable() protoreflect.Value {
|
||||||
panic(fmt.Errorf("AppendMutable can not be called on message Methods at list field Methods as it is not of Message kind"))
|
panic(fmt.Errorf("AppendMutable can not be called on message Methods at list field Supported as it is not of Message kind"))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *_Methods_1_list) Truncate(n int) {
|
func (x *_Methods_2_list) Truncate(n int) {
|
||||||
*x.list = (*x.list)[:n]
|
*x.list = (*x.list)[:n]
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *_Methods_1_list) NewElement() protoreflect.Value {
|
func (x *_Methods_2_list) NewElement() protoreflect.Value {
|
||||||
v := ""
|
v := ""
|
||||||
return protoreflect.ValueOfString(v)
|
return protoreflect.ValueOfString(v)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *_Methods_1_list) IsValid() bool {
|
func (x *_Methods_2_list) IsValid() bool {
|
||||||
return x.list != nil
|
return x.list != nil
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
md_Methods protoreflect.MessageDescriptor
|
md_Methods protoreflect.MessageDescriptor
|
||||||
fd_Methods_methods protoreflect.FieldDescriptor
|
fd_Methods_default protoreflect.FieldDescriptor
|
||||||
|
fd_Methods_supported protoreflect.FieldDescriptor
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
file_macaroon_v1_genesis_proto_init()
|
file_macaroon_v1_genesis_proto_init()
|
||||||
md_Methods = File_macaroon_v1_genesis_proto.Messages().ByName("Methods")
|
md_Methods = File_macaroon_v1_genesis_proto.Messages().ByName("Methods")
|
||||||
fd_Methods_methods = md_Methods.Fields().ByName("methods")
|
fd_Methods_default = md_Methods.Fields().ByName("default")
|
||||||
|
fd_Methods_supported = md_Methods.Fields().ByName("supported")
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ protoreflect.Message = (*fastReflection_Methods)(nil)
|
var _ protoreflect.Message = (*fastReflection_Methods)(nil)
|
||||||
@@ -1164,9 +1166,15 @@ func (x *fastReflection_Methods) Interface() protoreflect.ProtoMessage {
|
|||||||
// While iterating, mutating operations may only be performed
|
// While iterating, mutating operations may only be performed
|
||||||
// on the current field descriptor.
|
// on the current field descriptor.
|
||||||
func (x *fastReflection_Methods) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
|
func (x *fastReflection_Methods) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
|
||||||
if len(x.Methods) != 0 {
|
if x.Default != "" {
|
||||||
value := protoreflect.ValueOfList(&_Methods_1_list{list: &x.Methods})
|
value := protoreflect.ValueOfString(x.Default)
|
||||||
if !f(fd_Methods_methods, value) {
|
if !f(fd_Methods_default, value) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if len(x.Supported) != 0 {
|
||||||
|
value := protoreflect.ValueOfList(&_Methods_2_list{list: &x.Supported})
|
||||||
|
if !f(fd_Methods_supported, value) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1185,8 +1193,10 @@ func (x *fastReflection_Methods) Range(f func(protoreflect.FieldDescriptor, prot
|
|||||||
// a repeated field is populated if it is non-empty.
|
// a repeated field is populated if it is non-empty.
|
||||||
func (x *fastReflection_Methods) Has(fd protoreflect.FieldDescriptor) bool {
|
func (x *fastReflection_Methods) Has(fd protoreflect.FieldDescriptor) bool {
|
||||||
switch fd.FullName() {
|
switch fd.FullName() {
|
||||||
case "macaroon.v1.Methods.methods":
|
case "macaroon.v1.Methods.default":
|
||||||
return len(x.Methods) != 0
|
return x.Default != ""
|
||||||
|
case "macaroon.v1.Methods.supported":
|
||||||
|
return len(x.Supported) != 0
|
||||||
default:
|
default:
|
||||||
if fd.IsExtension() {
|
if fd.IsExtension() {
|
||||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: macaroon.v1.Methods"))
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: macaroon.v1.Methods"))
|
||||||
@@ -1203,8 +1213,10 @@ func (x *fastReflection_Methods) Has(fd protoreflect.FieldDescriptor) bool {
|
|||||||
// Clear is a mutating operation and unsafe for concurrent use.
|
// Clear is a mutating operation and unsafe for concurrent use.
|
||||||
func (x *fastReflection_Methods) Clear(fd protoreflect.FieldDescriptor) {
|
func (x *fastReflection_Methods) Clear(fd protoreflect.FieldDescriptor) {
|
||||||
switch fd.FullName() {
|
switch fd.FullName() {
|
||||||
case "macaroon.v1.Methods.methods":
|
case "macaroon.v1.Methods.default":
|
||||||
x.Methods = nil
|
x.Default = ""
|
||||||
|
case "macaroon.v1.Methods.supported":
|
||||||
|
x.Supported = nil
|
||||||
default:
|
default:
|
||||||
if fd.IsExtension() {
|
if fd.IsExtension() {
|
||||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: macaroon.v1.Methods"))
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: macaroon.v1.Methods"))
|
||||||
@@ -1221,11 +1233,14 @@ func (x *fastReflection_Methods) Clear(fd protoreflect.FieldDescriptor) {
|
|||||||
// of the value; to obtain a mutable reference, use Mutable.
|
// of the value; to obtain a mutable reference, use Mutable.
|
||||||
func (x *fastReflection_Methods) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
|
func (x *fastReflection_Methods) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
|
||||||
switch descriptor.FullName() {
|
switch descriptor.FullName() {
|
||||||
case "macaroon.v1.Methods.methods":
|
case "macaroon.v1.Methods.default":
|
||||||
if len(x.Methods) == 0 {
|
value := x.Default
|
||||||
return protoreflect.ValueOfList(&_Methods_1_list{})
|
return protoreflect.ValueOfString(value)
|
||||||
|
case "macaroon.v1.Methods.supported":
|
||||||
|
if len(x.Supported) == 0 {
|
||||||
|
return protoreflect.ValueOfList(&_Methods_2_list{})
|
||||||
}
|
}
|
||||||
listValue := &_Methods_1_list{list: &x.Methods}
|
listValue := &_Methods_2_list{list: &x.Supported}
|
||||||
return protoreflect.ValueOfList(listValue)
|
return protoreflect.ValueOfList(listValue)
|
||||||
default:
|
default:
|
||||||
if descriptor.IsExtension() {
|
if descriptor.IsExtension() {
|
||||||
@@ -1247,10 +1262,12 @@ func (x *fastReflection_Methods) Get(descriptor protoreflect.FieldDescriptor) pr
|
|||||||
// Set is a mutating operation and unsafe for concurrent use.
|
// Set is a mutating operation and unsafe for concurrent use.
|
||||||
func (x *fastReflection_Methods) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
|
func (x *fastReflection_Methods) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
|
||||||
switch fd.FullName() {
|
switch fd.FullName() {
|
||||||
case "macaroon.v1.Methods.methods":
|
case "macaroon.v1.Methods.default":
|
||||||
|
x.Default = value.Interface().(string)
|
||||||
|
case "macaroon.v1.Methods.supported":
|
||||||
lv := value.List()
|
lv := value.List()
|
||||||
clv := lv.(*_Methods_1_list)
|
clv := lv.(*_Methods_2_list)
|
||||||
x.Methods = *clv.list
|
x.Supported = *clv.list
|
||||||
default:
|
default:
|
||||||
if fd.IsExtension() {
|
if fd.IsExtension() {
|
||||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: macaroon.v1.Methods"))
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: macaroon.v1.Methods"))
|
||||||
@@ -1271,12 +1288,14 @@ func (x *fastReflection_Methods) Set(fd protoreflect.FieldDescriptor, value prot
|
|||||||
// Mutable is a mutating operation and unsafe for concurrent use.
|
// Mutable is a mutating operation and unsafe for concurrent use.
|
||||||
func (x *fastReflection_Methods) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
|
func (x *fastReflection_Methods) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
|
||||||
switch fd.FullName() {
|
switch fd.FullName() {
|
||||||
case "macaroon.v1.Methods.methods":
|
case "macaroon.v1.Methods.supported":
|
||||||
if x.Methods == nil {
|
if x.Supported == nil {
|
||||||
x.Methods = []string{}
|
x.Supported = []string{}
|
||||||
}
|
}
|
||||||
value := &_Methods_1_list{list: &x.Methods}
|
value := &_Methods_2_list{list: &x.Supported}
|
||||||
return protoreflect.ValueOfList(value)
|
return protoreflect.ValueOfList(value)
|
||||||
|
case "macaroon.v1.Methods.default":
|
||||||
|
panic(fmt.Errorf("field default of message macaroon.v1.Methods is not mutable"))
|
||||||
default:
|
default:
|
||||||
if fd.IsExtension() {
|
if fd.IsExtension() {
|
||||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: macaroon.v1.Methods"))
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: macaroon.v1.Methods"))
|
||||||
@@ -1290,9 +1309,11 @@ func (x *fastReflection_Methods) Mutable(fd protoreflect.FieldDescriptor) protor
|
|||||||
// For lists, maps, and messages, this returns a new, empty, mutable value.
|
// For lists, maps, and messages, this returns a new, empty, mutable value.
|
||||||
func (x *fastReflection_Methods) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
|
func (x *fastReflection_Methods) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
|
||||||
switch fd.FullName() {
|
switch fd.FullName() {
|
||||||
case "macaroon.v1.Methods.methods":
|
case "macaroon.v1.Methods.default":
|
||||||
|
return protoreflect.ValueOfString("")
|
||||||
|
case "macaroon.v1.Methods.supported":
|
||||||
list := []string{}
|
list := []string{}
|
||||||
return protoreflect.ValueOfList(&_Methods_1_list{list: &list})
|
return protoreflect.ValueOfList(&_Methods_2_list{list: &list})
|
||||||
default:
|
default:
|
||||||
if fd.IsExtension() {
|
if fd.IsExtension() {
|
||||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: macaroon.v1.Methods"))
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: macaroon.v1.Methods"))
|
||||||
@@ -1362,8 +1383,12 @@ func (x *fastReflection_Methods) ProtoMethods() *protoiface.Methods {
|
|||||||
var n int
|
var n int
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
if len(x.Methods) > 0 {
|
l = len(x.Default)
|
||||||
for _, s := range x.Methods {
|
if l > 0 {
|
||||||
|
n += 1 + l + runtime.Sov(uint64(l))
|
||||||
|
}
|
||||||
|
if len(x.Supported) > 0 {
|
||||||
|
for _, s := range x.Supported {
|
||||||
l = len(s)
|
l = len(s)
|
||||||
n += 1 + l + runtime.Sov(uint64(l))
|
n += 1 + l + runtime.Sov(uint64(l))
|
||||||
}
|
}
|
||||||
@@ -1397,15 +1422,22 @@ func (x *fastReflection_Methods) ProtoMethods() *protoiface.Methods {
|
|||||||
i -= len(x.unknownFields)
|
i -= len(x.unknownFields)
|
||||||
copy(dAtA[i:], x.unknownFields)
|
copy(dAtA[i:], x.unknownFields)
|
||||||
}
|
}
|
||||||
if len(x.Methods) > 0 {
|
if len(x.Supported) > 0 {
|
||||||
for iNdEx := len(x.Methods) - 1; iNdEx >= 0; iNdEx-- {
|
for iNdEx := len(x.Supported) - 1; iNdEx >= 0; iNdEx-- {
|
||||||
i -= len(x.Methods[iNdEx])
|
i -= len(x.Supported[iNdEx])
|
||||||
copy(dAtA[i:], x.Methods[iNdEx])
|
copy(dAtA[i:], x.Supported[iNdEx])
|
||||||
i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Methods[iNdEx])))
|
i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Supported[iNdEx])))
|
||||||
i--
|
i--
|
||||||
dAtA[i] = 0xa
|
dAtA[i] = 0x12
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if len(x.Default) > 0 {
|
||||||
|
i -= len(x.Default)
|
||||||
|
copy(dAtA[i:], x.Default)
|
||||||
|
i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Default)))
|
||||||
|
i--
|
||||||
|
dAtA[i] = 0xa
|
||||||
|
}
|
||||||
if input.Buf != nil {
|
if input.Buf != nil {
|
||||||
input.Buf = append(input.Buf, dAtA...)
|
input.Buf = append(input.Buf, dAtA...)
|
||||||
} else {
|
} else {
|
||||||
@@ -1457,7 +1489,7 @@ func (x *fastReflection_Methods) ProtoMethods() *protoiface.Methods {
|
|||||||
switch fieldNum {
|
switch fieldNum {
|
||||||
case 1:
|
case 1:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Methods", wireType)
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Default", wireType)
|
||||||
}
|
}
|
||||||
var stringLen uint64
|
var stringLen uint64
|
||||||
for shift := uint(0); ; shift += 7 {
|
for shift := uint(0); ; shift += 7 {
|
||||||
@@ -1485,7 +1517,39 @@ func (x *fastReflection_Methods) ProtoMethods() *protoiface.Methods {
|
|||||||
if postIndex > l {
|
if postIndex > l {
|
||||||
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
|
||||||
}
|
}
|
||||||
x.Methods = append(x.Methods, string(dAtA[iNdEx:postIndex]))
|
x.Default = string(dAtA[iNdEx:postIndex])
|
||||||
|
iNdEx = postIndex
|
||||||
|
case 2:
|
||||||
|
if wireType != 2 {
|
||||||
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Supported", 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.Supported = append(x.Supported, string(dAtA[iNdEx:postIndex]))
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
default:
|
default:
|
||||||
iNdEx = preIndex
|
iNdEx = preIndex
|
||||||
@@ -1522,61 +1586,63 @@ func (x *fastReflection_Methods) ProtoMethods() *protoiface.Methods {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ protoreflect.List = (*_Scopes_1_list)(nil)
|
var _ protoreflect.List = (*_Scopes_2_list)(nil)
|
||||||
|
|
||||||
type _Scopes_1_list struct {
|
type _Scopes_2_list struct {
|
||||||
list *[]string
|
list *[]string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *_Scopes_1_list) Len() int {
|
func (x *_Scopes_2_list) Len() int {
|
||||||
if x.list == nil {
|
if x.list == nil {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
return len(*x.list)
|
return len(*x.list)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *_Scopes_1_list) Get(i int) protoreflect.Value {
|
func (x *_Scopes_2_list) Get(i int) protoreflect.Value {
|
||||||
return protoreflect.ValueOfString((*x.list)[i])
|
return protoreflect.ValueOfString((*x.list)[i])
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *_Scopes_1_list) Set(i int, value protoreflect.Value) {
|
func (x *_Scopes_2_list) Set(i int, value protoreflect.Value) {
|
||||||
valueUnwrapped := value.String()
|
valueUnwrapped := value.String()
|
||||||
concreteValue := valueUnwrapped
|
concreteValue := valueUnwrapped
|
||||||
(*x.list)[i] = concreteValue
|
(*x.list)[i] = concreteValue
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *_Scopes_1_list) Append(value protoreflect.Value) {
|
func (x *_Scopes_2_list) Append(value protoreflect.Value) {
|
||||||
valueUnwrapped := value.String()
|
valueUnwrapped := value.String()
|
||||||
concreteValue := valueUnwrapped
|
concreteValue := valueUnwrapped
|
||||||
*x.list = append(*x.list, concreteValue)
|
*x.list = append(*x.list, concreteValue)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *_Scopes_1_list) AppendMutable() protoreflect.Value {
|
func (x *_Scopes_2_list) AppendMutable() protoreflect.Value {
|
||||||
panic(fmt.Errorf("AppendMutable can not be called on message Scopes at list field Scopes as it is not of Message kind"))
|
panic(fmt.Errorf("AppendMutable can not be called on message Scopes at list field Supported as it is not of Message kind"))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *_Scopes_1_list) Truncate(n int) {
|
func (x *_Scopes_2_list) Truncate(n int) {
|
||||||
*x.list = (*x.list)[:n]
|
*x.list = (*x.list)[:n]
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *_Scopes_1_list) NewElement() protoreflect.Value {
|
func (x *_Scopes_2_list) NewElement() protoreflect.Value {
|
||||||
v := ""
|
v := ""
|
||||||
return protoreflect.ValueOfString(v)
|
return protoreflect.ValueOfString(v)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *_Scopes_1_list) IsValid() bool {
|
func (x *_Scopes_2_list) IsValid() bool {
|
||||||
return x.list != nil
|
return x.list != nil
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
md_Scopes protoreflect.MessageDescriptor
|
md_Scopes protoreflect.MessageDescriptor
|
||||||
fd_Scopes_scopes protoreflect.FieldDescriptor
|
fd_Scopes_base protoreflect.FieldDescriptor
|
||||||
|
fd_Scopes_supported protoreflect.FieldDescriptor
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
file_macaroon_v1_genesis_proto_init()
|
file_macaroon_v1_genesis_proto_init()
|
||||||
md_Scopes = File_macaroon_v1_genesis_proto.Messages().ByName("Scopes")
|
md_Scopes = File_macaroon_v1_genesis_proto.Messages().ByName("Scopes")
|
||||||
fd_Scopes_scopes = md_Scopes.Fields().ByName("scopes")
|
fd_Scopes_base = md_Scopes.Fields().ByName("base")
|
||||||
|
fd_Scopes_supported = md_Scopes.Fields().ByName("supported")
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ protoreflect.Message = (*fastReflection_Scopes)(nil)
|
var _ protoreflect.Message = (*fastReflection_Scopes)(nil)
|
||||||
@@ -1644,9 +1710,15 @@ func (x *fastReflection_Scopes) Interface() protoreflect.ProtoMessage {
|
|||||||
// While iterating, mutating operations may only be performed
|
// While iterating, mutating operations may only be performed
|
||||||
// on the current field descriptor.
|
// on the current field descriptor.
|
||||||
func (x *fastReflection_Scopes) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
|
func (x *fastReflection_Scopes) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
|
||||||
if len(x.Scopes) != 0 {
|
if x.Base != "" {
|
||||||
value := protoreflect.ValueOfList(&_Scopes_1_list{list: &x.Scopes})
|
value := protoreflect.ValueOfString(x.Base)
|
||||||
if !f(fd_Scopes_scopes, value) {
|
if !f(fd_Scopes_base, value) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if len(x.Supported) != 0 {
|
||||||
|
value := protoreflect.ValueOfList(&_Scopes_2_list{list: &x.Supported})
|
||||||
|
if !f(fd_Scopes_supported, value) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1665,8 +1737,10 @@ func (x *fastReflection_Scopes) Range(f func(protoreflect.FieldDescriptor, proto
|
|||||||
// a repeated field is populated if it is non-empty.
|
// a repeated field is populated if it is non-empty.
|
||||||
func (x *fastReflection_Scopes) Has(fd protoreflect.FieldDescriptor) bool {
|
func (x *fastReflection_Scopes) Has(fd protoreflect.FieldDescriptor) bool {
|
||||||
switch fd.FullName() {
|
switch fd.FullName() {
|
||||||
case "macaroon.v1.Scopes.scopes":
|
case "macaroon.v1.Scopes.base":
|
||||||
return len(x.Scopes) != 0
|
return x.Base != ""
|
||||||
|
case "macaroon.v1.Scopes.supported":
|
||||||
|
return len(x.Supported) != 0
|
||||||
default:
|
default:
|
||||||
if fd.IsExtension() {
|
if fd.IsExtension() {
|
||||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: macaroon.v1.Scopes"))
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: macaroon.v1.Scopes"))
|
||||||
@@ -1683,8 +1757,10 @@ func (x *fastReflection_Scopes) Has(fd protoreflect.FieldDescriptor) bool {
|
|||||||
// Clear is a mutating operation and unsafe for concurrent use.
|
// Clear is a mutating operation and unsafe for concurrent use.
|
||||||
func (x *fastReflection_Scopes) Clear(fd protoreflect.FieldDescriptor) {
|
func (x *fastReflection_Scopes) Clear(fd protoreflect.FieldDescriptor) {
|
||||||
switch fd.FullName() {
|
switch fd.FullName() {
|
||||||
case "macaroon.v1.Scopes.scopes":
|
case "macaroon.v1.Scopes.base":
|
||||||
x.Scopes = nil
|
x.Base = ""
|
||||||
|
case "macaroon.v1.Scopes.supported":
|
||||||
|
x.Supported = nil
|
||||||
default:
|
default:
|
||||||
if fd.IsExtension() {
|
if fd.IsExtension() {
|
||||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: macaroon.v1.Scopes"))
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: macaroon.v1.Scopes"))
|
||||||
@@ -1701,11 +1777,14 @@ func (x *fastReflection_Scopes) Clear(fd protoreflect.FieldDescriptor) {
|
|||||||
// of the value; to obtain a mutable reference, use Mutable.
|
// of the value; to obtain a mutable reference, use Mutable.
|
||||||
func (x *fastReflection_Scopes) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
|
func (x *fastReflection_Scopes) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
|
||||||
switch descriptor.FullName() {
|
switch descriptor.FullName() {
|
||||||
case "macaroon.v1.Scopes.scopes":
|
case "macaroon.v1.Scopes.base":
|
||||||
if len(x.Scopes) == 0 {
|
value := x.Base
|
||||||
return protoreflect.ValueOfList(&_Scopes_1_list{})
|
return protoreflect.ValueOfString(value)
|
||||||
|
case "macaroon.v1.Scopes.supported":
|
||||||
|
if len(x.Supported) == 0 {
|
||||||
|
return protoreflect.ValueOfList(&_Scopes_2_list{})
|
||||||
}
|
}
|
||||||
listValue := &_Scopes_1_list{list: &x.Scopes}
|
listValue := &_Scopes_2_list{list: &x.Supported}
|
||||||
return protoreflect.ValueOfList(listValue)
|
return protoreflect.ValueOfList(listValue)
|
||||||
default:
|
default:
|
||||||
if descriptor.IsExtension() {
|
if descriptor.IsExtension() {
|
||||||
@@ -1727,10 +1806,12 @@ func (x *fastReflection_Scopes) Get(descriptor protoreflect.FieldDescriptor) pro
|
|||||||
// Set is a mutating operation and unsafe for concurrent use.
|
// Set is a mutating operation and unsafe for concurrent use.
|
||||||
func (x *fastReflection_Scopes) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
|
func (x *fastReflection_Scopes) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
|
||||||
switch fd.FullName() {
|
switch fd.FullName() {
|
||||||
case "macaroon.v1.Scopes.scopes":
|
case "macaroon.v1.Scopes.base":
|
||||||
|
x.Base = value.Interface().(string)
|
||||||
|
case "macaroon.v1.Scopes.supported":
|
||||||
lv := value.List()
|
lv := value.List()
|
||||||
clv := lv.(*_Scopes_1_list)
|
clv := lv.(*_Scopes_2_list)
|
||||||
x.Scopes = *clv.list
|
x.Supported = *clv.list
|
||||||
default:
|
default:
|
||||||
if fd.IsExtension() {
|
if fd.IsExtension() {
|
||||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: macaroon.v1.Scopes"))
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: macaroon.v1.Scopes"))
|
||||||
@@ -1751,12 +1832,14 @@ func (x *fastReflection_Scopes) Set(fd protoreflect.FieldDescriptor, value proto
|
|||||||
// Mutable is a mutating operation and unsafe for concurrent use.
|
// Mutable is a mutating operation and unsafe for concurrent use.
|
||||||
func (x *fastReflection_Scopes) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
|
func (x *fastReflection_Scopes) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
|
||||||
switch fd.FullName() {
|
switch fd.FullName() {
|
||||||
case "macaroon.v1.Scopes.scopes":
|
case "macaroon.v1.Scopes.supported":
|
||||||
if x.Scopes == nil {
|
if x.Supported == nil {
|
||||||
x.Scopes = []string{}
|
x.Supported = []string{}
|
||||||
}
|
}
|
||||||
value := &_Scopes_1_list{list: &x.Scopes}
|
value := &_Scopes_2_list{list: &x.Supported}
|
||||||
return protoreflect.ValueOfList(value)
|
return protoreflect.ValueOfList(value)
|
||||||
|
case "macaroon.v1.Scopes.base":
|
||||||
|
panic(fmt.Errorf("field base of message macaroon.v1.Scopes is not mutable"))
|
||||||
default:
|
default:
|
||||||
if fd.IsExtension() {
|
if fd.IsExtension() {
|
||||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: macaroon.v1.Scopes"))
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: macaroon.v1.Scopes"))
|
||||||
@@ -1770,9 +1853,11 @@ func (x *fastReflection_Scopes) Mutable(fd protoreflect.FieldDescriptor) protore
|
|||||||
// For lists, maps, and messages, this returns a new, empty, mutable value.
|
// For lists, maps, and messages, this returns a new, empty, mutable value.
|
||||||
func (x *fastReflection_Scopes) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
|
func (x *fastReflection_Scopes) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
|
||||||
switch fd.FullName() {
|
switch fd.FullName() {
|
||||||
case "macaroon.v1.Scopes.scopes":
|
case "macaroon.v1.Scopes.base":
|
||||||
|
return protoreflect.ValueOfString("")
|
||||||
|
case "macaroon.v1.Scopes.supported":
|
||||||
list := []string{}
|
list := []string{}
|
||||||
return protoreflect.ValueOfList(&_Scopes_1_list{list: &list})
|
return protoreflect.ValueOfList(&_Scopes_2_list{list: &list})
|
||||||
default:
|
default:
|
||||||
if fd.IsExtension() {
|
if fd.IsExtension() {
|
||||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: macaroon.v1.Scopes"))
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: macaroon.v1.Scopes"))
|
||||||
@@ -1842,8 +1927,12 @@ func (x *fastReflection_Scopes) ProtoMethods() *protoiface.Methods {
|
|||||||
var n int
|
var n int
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
if len(x.Scopes) > 0 {
|
l = len(x.Base)
|
||||||
for _, s := range x.Scopes {
|
if l > 0 {
|
||||||
|
n += 1 + l + runtime.Sov(uint64(l))
|
||||||
|
}
|
||||||
|
if len(x.Supported) > 0 {
|
||||||
|
for _, s := range x.Supported {
|
||||||
l = len(s)
|
l = len(s)
|
||||||
n += 1 + l + runtime.Sov(uint64(l))
|
n += 1 + l + runtime.Sov(uint64(l))
|
||||||
}
|
}
|
||||||
@@ -1877,15 +1966,22 @@ func (x *fastReflection_Scopes) ProtoMethods() *protoiface.Methods {
|
|||||||
i -= len(x.unknownFields)
|
i -= len(x.unknownFields)
|
||||||
copy(dAtA[i:], x.unknownFields)
|
copy(dAtA[i:], x.unknownFields)
|
||||||
}
|
}
|
||||||
if len(x.Scopes) > 0 {
|
if len(x.Supported) > 0 {
|
||||||
for iNdEx := len(x.Scopes) - 1; iNdEx >= 0; iNdEx-- {
|
for iNdEx := len(x.Supported) - 1; iNdEx >= 0; iNdEx-- {
|
||||||
i -= len(x.Scopes[iNdEx])
|
i -= len(x.Supported[iNdEx])
|
||||||
copy(dAtA[i:], x.Scopes[iNdEx])
|
copy(dAtA[i:], x.Supported[iNdEx])
|
||||||
i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Scopes[iNdEx])))
|
i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Supported[iNdEx])))
|
||||||
i--
|
i--
|
||||||
dAtA[i] = 0xa
|
dAtA[i] = 0x12
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if len(x.Base) > 0 {
|
||||||
|
i -= len(x.Base)
|
||||||
|
copy(dAtA[i:], x.Base)
|
||||||
|
i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Base)))
|
||||||
|
i--
|
||||||
|
dAtA[i] = 0xa
|
||||||
|
}
|
||||||
if input.Buf != nil {
|
if input.Buf != nil {
|
||||||
input.Buf = append(input.Buf, dAtA...)
|
input.Buf = append(input.Buf, dAtA...)
|
||||||
} else {
|
} else {
|
||||||
@@ -1937,7 +2033,7 @@ func (x *fastReflection_Scopes) ProtoMethods() *protoiface.Methods {
|
|||||||
switch fieldNum {
|
switch fieldNum {
|
||||||
case 1:
|
case 1:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Scopes", wireType)
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Base", wireType)
|
||||||
}
|
}
|
||||||
var stringLen uint64
|
var stringLen uint64
|
||||||
for shift := uint(0); ; shift += 7 {
|
for shift := uint(0); ; shift += 7 {
|
||||||
@@ -1965,7 +2061,39 @@ func (x *fastReflection_Scopes) ProtoMethods() *protoiface.Methods {
|
|||||||
if postIndex > l {
|
if postIndex > l {
|
||||||
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
|
||||||
}
|
}
|
||||||
x.Scopes = append(x.Scopes, string(dAtA[iNdEx:postIndex]))
|
x.Base = string(dAtA[iNdEx:postIndex])
|
||||||
|
iNdEx = postIndex
|
||||||
|
case 2:
|
||||||
|
if wireType != 2 {
|
||||||
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Supported", 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.Supported = append(x.Supported, string(dAtA[iNdEx:postIndex]))
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
default:
|
default:
|
||||||
iNdEx = preIndex
|
iNdEx = preIndex
|
||||||
@@ -2032,7 +2160,7 @@ func (x *_Caveats_1_list) Append(value protoreflect.Value) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (x *_Caveats_1_list) AppendMutable() protoreflect.Value {
|
func (x *_Caveats_1_list) AppendMutable() protoreflect.Value {
|
||||||
panic(fmt.Errorf("AppendMutable can not be called on message Caveats at list field Caveats as it is not of Message kind"))
|
panic(fmt.Errorf("AppendMutable can not be called on message Caveats at list field SupportedFirstParty as it is not of Message kind"))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *_Caveats_1_list) Truncate(n int) {
|
func (x *_Caveats_1_list) Truncate(n int) {
|
||||||
@@ -2048,15 +2176,63 @@ func (x *_Caveats_1_list) IsValid() bool {
|
|||||||
return x.list != nil
|
return x.list != nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var _ protoreflect.List = (*_Caveats_2_list)(nil)
|
||||||
|
|
||||||
|
type _Caveats_2_list struct {
|
||||||
|
list *[]string
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *_Caveats_2_list) Len() int {
|
||||||
|
if x.list == nil {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
return len(*x.list)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *_Caveats_2_list) Get(i int) protoreflect.Value {
|
||||||
|
return protoreflect.ValueOfString((*x.list)[i])
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *_Caveats_2_list) Set(i int, value protoreflect.Value) {
|
||||||
|
valueUnwrapped := value.String()
|
||||||
|
concreteValue := valueUnwrapped
|
||||||
|
(*x.list)[i] = concreteValue
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *_Caveats_2_list) Append(value protoreflect.Value) {
|
||||||
|
valueUnwrapped := value.String()
|
||||||
|
concreteValue := valueUnwrapped
|
||||||
|
*x.list = append(*x.list, concreteValue)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *_Caveats_2_list) AppendMutable() protoreflect.Value {
|
||||||
|
panic(fmt.Errorf("AppendMutable can not be called on message Caveats at list field SupportedThirdParty as it is not of Message kind"))
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *_Caveats_2_list) Truncate(n int) {
|
||||||
|
*x.list = (*x.list)[:n]
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *_Caveats_2_list) NewElement() protoreflect.Value {
|
||||||
|
v := ""
|
||||||
|
return protoreflect.ValueOfString(v)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *_Caveats_2_list) IsValid() bool {
|
||||||
|
return x.list != nil
|
||||||
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
md_Caveats protoreflect.MessageDescriptor
|
md_Caveats protoreflect.MessageDescriptor
|
||||||
fd_Caveats_caveats protoreflect.FieldDescriptor
|
fd_Caveats_supported_first_party protoreflect.FieldDescriptor
|
||||||
|
fd_Caveats_supported_third_party protoreflect.FieldDescriptor
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
file_macaroon_v1_genesis_proto_init()
|
file_macaroon_v1_genesis_proto_init()
|
||||||
md_Caveats = File_macaroon_v1_genesis_proto.Messages().ByName("Caveats")
|
md_Caveats = File_macaroon_v1_genesis_proto.Messages().ByName("Caveats")
|
||||||
fd_Caveats_caveats = md_Caveats.Fields().ByName("caveats")
|
fd_Caveats_supported_first_party = md_Caveats.Fields().ByName("supported_first_party")
|
||||||
|
fd_Caveats_supported_third_party = md_Caveats.Fields().ByName("supported_third_party")
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ protoreflect.Message = (*fastReflection_Caveats)(nil)
|
var _ protoreflect.Message = (*fastReflection_Caveats)(nil)
|
||||||
@@ -2124,9 +2300,15 @@ func (x *fastReflection_Caveats) Interface() protoreflect.ProtoMessage {
|
|||||||
// While iterating, mutating operations may only be performed
|
// While iterating, mutating operations may only be performed
|
||||||
// on the current field descriptor.
|
// on the current field descriptor.
|
||||||
func (x *fastReflection_Caveats) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
|
func (x *fastReflection_Caveats) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
|
||||||
if len(x.Caveats) != 0 {
|
if len(x.SupportedFirstParty) != 0 {
|
||||||
value := protoreflect.ValueOfList(&_Caveats_1_list{list: &x.Caveats})
|
value := protoreflect.ValueOfList(&_Caveats_1_list{list: &x.SupportedFirstParty})
|
||||||
if !f(fd_Caveats_caveats, value) {
|
if !f(fd_Caveats_supported_first_party, value) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if len(x.SupportedThirdParty) != 0 {
|
||||||
|
value := protoreflect.ValueOfList(&_Caveats_2_list{list: &x.SupportedThirdParty})
|
||||||
|
if !f(fd_Caveats_supported_third_party, value) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2145,8 +2327,10 @@ func (x *fastReflection_Caveats) Range(f func(protoreflect.FieldDescriptor, prot
|
|||||||
// a repeated field is populated if it is non-empty.
|
// a repeated field is populated if it is non-empty.
|
||||||
func (x *fastReflection_Caveats) Has(fd protoreflect.FieldDescriptor) bool {
|
func (x *fastReflection_Caveats) Has(fd protoreflect.FieldDescriptor) bool {
|
||||||
switch fd.FullName() {
|
switch fd.FullName() {
|
||||||
case "macaroon.v1.Caveats.caveats":
|
case "macaroon.v1.Caveats.supported_first_party":
|
||||||
return len(x.Caveats) != 0
|
return len(x.SupportedFirstParty) != 0
|
||||||
|
case "macaroon.v1.Caveats.supported_third_party":
|
||||||
|
return len(x.SupportedThirdParty) != 0
|
||||||
default:
|
default:
|
||||||
if fd.IsExtension() {
|
if fd.IsExtension() {
|
||||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: macaroon.v1.Caveats"))
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: macaroon.v1.Caveats"))
|
||||||
@@ -2163,8 +2347,10 @@ func (x *fastReflection_Caveats) Has(fd protoreflect.FieldDescriptor) bool {
|
|||||||
// Clear is a mutating operation and unsafe for concurrent use.
|
// Clear is a mutating operation and unsafe for concurrent use.
|
||||||
func (x *fastReflection_Caveats) Clear(fd protoreflect.FieldDescriptor) {
|
func (x *fastReflection_Caveats) Clear(fd protoreflect.FieldDescriptor) {
|
||||||
switch fd.FullName() {
|
switch fd.FullName() {
|
||||||
case "macaroon.v1.Caveats.caveats":
|
case "macaroon.v1.Caveats.supported_first_party":
|
||||||
x.Caveats = nil
|
x.SupportedFirstParty = nil
|
||||||
|
case "macaroon.v1.Caveats.supported_third_party":
|
||||||
|
x.SupportedThirdParty = nil
|
||||||
default:
|
default:
|
||||||
if fd.IsExtension() {
|
if fd.IsExtension() {
|
||||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: macaroon.v1.Caveats"))
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: macaroon.v1.Caveats"))
|
||||||
@@ -2181,11 +2367,17 @@ func (x *fastReflection_Caveats) Clear(fd protoreflect.FieldDescriptor) {
|
|||||||
// of the value; to obtain a mutable reference, use Mutable.
|
// of the value; to obtain a mutable reference, use Mutable.
|
||||||
func (x *fastReflection_Caveats) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
|
func (x *fastReflection_Caveats) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
|
||||||
switch descriptor.FullName() {
|
switch descriptor.FullName() {
|
||||||
case "macaroon.v1.Caveats.caveats":
|
case "macaroon.v1.Caveats.supported_first_party":
|
||||||
if len(x.Caveats) == 0 {
|
if len(x.SupportedFirstParty) == 0 {
|
||||||
return protoreflect.ValueOfList(&_Caveats_1_list{})
|
return protoreflect.ValueOfList(&_Caveats_1_list{})
|
||||||
}
|
}
|
||||||
listValue := &_Caveats_1_list{list: &x.Caveats}
|
listValue := &_Caveats_1_list{list: &x.SupportedFirstParty}
|
||||||
|
return protoreflect.ValueOfList(listValue)
|
||||||
|
case "macaroon.v1.Caveats.supported_third_party":
|
||||||
|
if len(x.SupportedThirdParty) == 0 {
|
||||||
|
return protoreflect.ValueOfList(&_Caveats_2_list{})
|
||||||
|
}
|
||||||
|
listValue := &_Caveats_2_list{list: &x.SupportedThirdParty}
|
||||||
return protoreflect.ValueOfList(listValue)
|
return protoreflect.ValueOfList(listValue)
|
||||||
default:
|
default:
|
||||||
if descriptor.IsExtension() {
|
if descriptor.IsExtension() {
|
||||||
@@ -2207,10 +2399,14 @@ func (x *fastReflection_Caveats) Get(descriptor protoreflect.FieldDescriptor) pr
|
|||||||
// Set is a mutating operation and unsafe for concurrent use.
|
// Set is a mutating operation and unsafe for concurrent use.
|
||||||
func (x *fastReflection_Caveats) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
|
func (x *fastReflection_Caveats) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
|
||||||
switch fd.FullName() {
|
switch fd.FullName() {
|
||||||
case "macaroon.v1.Caveats.caveats":
|
case "macaroon.v1.Caveats.supported_first_party":
|
||||||
lv := value.List()
|
lv := value.List()
|
||||||
clv := lv.(*_Caveats_1_list)
|
clv := lv.(*_Caveats_1_list)
|
||||||
x.Caveats = *clv.list
|
x.SupportedFirstParty = *clv.list
|
||||||
|
case "macaroon.v1.Caveats.supported_third_party":
|
||||||
|
lv := value.List()
|
||||||
|
clv := lv.(*_Caveats_2_list)
|
||||||
|
x.SupportedThirdParty = *clv.list
|
||||||
default:
|
default:
|
||||||
if fd.IsExtension() {
|
if fd.IsExtension() {
|
||||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: macaroon.v1.Caveats"))
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: macaroon.v1.Caveats"))
|
||||||
@@ -2231,11 +2427,17 @@ func (x *fastReflection_Caveats) Set(fd protoreflect.FieldDescriptor, value prot
|
|||||||
// Mutable is a mutating operation and unsafe for concurrent use.
|
// Mutable is a mutating operation and unsafe for concurrent use.
|
||||||
func (x *fastReflection_Caveats) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
|
func (x *fastReflection_Caveats) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
|
||||||
switch fd.FullName() {
|
switch fd.FullName() {
|
||||||
case "macaroon.v1.Caveats.caveats":
|
case "macaroon.v1.Caveats.supported_first_party":
|
||||||
if x.Caveats == nil {
|
if x.SupportedFirstParty == nil {
|
||||||
x.Caveats = []string{}
|
x.SupportedFirstParty = []string{}
|
||||||
}
|
}
|
||||||
value := &_Caveats_1_list{list: &x.Caveats}
|
value := &_Caveats_1_list{list: &x.SupportedFirstParty}
|
||||||
|
return protoreflect.ValueOfList(value)
|
||||||
|
case "macaroon.v1.Caveats.supported_third_party":
|
||||||
|
if x.SupportedThirdParty == nil {
|
||||||
|
x.SupportedThirdParty = []string{}
|
||||||
|
}
|
||||||
|
value := &_Caveats_2_list{list: &x.SupportedThirdParty}
|
||||||
return protoreflect.ValueOfList(value)
|
return protoreflect.ValueOfList(value)
|
||||||
default:
|
default:
|
||||||
if fd.IsExtension() {
|
if fd.IsExtension() {
|
||||||
@@ -2250,9 +2452,12 @@ func (x *fastReflection_Caveats) Mutable(fd protoreflect.FieldDescriptor) protor
|
|||||||
// For lists, maps, and messages, this returns a new, empty, mutable value.
|
// For lists, maps, and messages, this returns a new, empty, mutable value.
|
||||||
func (x *fastReflection_Caveats) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
|
func (x *fastReflection_Caveats) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
|
||||||
switch fd.FullName() {
|
switch fd.FullName() {
|
||||||
case "macaroon.v1.Caveats.caveats":
|
case "macaroon.v1.Caveats.supported_first_party":
|
||||||
list := []string{}
|
list := []string{}
|
||||||
return protoreflect.ValueOfList(&_Caveats_1_list{list: &list})
|
return protoreflect.ValueOfList(&_Caveats_1_list{list: &list})
|
||||||
|
case "macaroon.v1.Caveats.supported_third_party":
|
||||||
|
list := []string{}
|
||||||
|
return protoreflect.ValueOfList(&_Caveats_2_list{list: &list})
|
||||||
default:
|
default:
|
||||||
if fd.IsExtension() {
|
if fd.IsExtension() {
|
||||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: macaroon.v1.Caveats"))
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: macaroon.v1.Caveats"))
|
||||||
@@ -2322,8 +2527,14 @@ func (x *fastReflection_Caveats) ProtoMethods() *protoiface.Methods {
|
|||||||
var n int
|
var n int
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
if len(x.Caveats) > 0 {
|
if len(x.SupportedFirstParty) > 0 {
|
||||||
for _, s := range x.Caveats {
|
for _, s := range x.SupportedFirstParty {
|
||||||
|
l = len(s)
|
||||||
|
n += 1 + l + runtime.Sov(uint64(l))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if len(x.SupportedThirdParty) > 0 {
|
||||||
|
for _, s := range x.SupportedThirdParty {
|
||||||
l = len(s)
|
l = len(s)
|
||||||
n += 1 + l + runtime.Sov(uint64(l))
|
n += 1 + l + runtime.Sov(uint64(l))
|
||||||
}
|
}
|
||||||
@@ -2357,11 +2568,20 @@ func (x *fastReflection_Caveats) ProtoMethods() *protoiface.Methods {
|
|||||||
i -= len(x.unknownFields)
|
i -= len(x.unknownFields)
|
||||||
copy(dAtA[i:], x.unknownFields)
|
copy(dAtA[i:], x.unknownFields)
|
||||||
}
|
}
|
||||||
if len(x.Caveats) > 0 {
|
if len(x.SupportedThirdParty) > 0 {
|
||||||
for iNdEx := len(x.Caveats) - 1; iNdEx >= 0; iNdEx-- {
|
for iNdEx := len(x.SupportedThirdParty) - 1; iNdEx >= 0; iNdEx-- {
|
||||||
i -= len(x.Caveats[iNdEx])
|
i -= len(x.SupportedThirdParty[iNdEx])
|
||||||
copy(dAtA[i:], x.Caveats[iNdEx])
|
copy(dAtA[i:], x.SupportedThirdParty[iNdEx])
|
||||||
i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Caveats[iNdEx])))
|
i = runtime.EncodeVarint(dAtA, i, uint64(len(x.SupportedThirdParty[iNdEx])))
|
||||||
|
i--
|
||||||
|
dAtA[i] = 0x12
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if len(x.SupportedFirstParty) > 0 {
|
||||||
|
for iNdEx := len(x.SupportedFirstParty) - 1; iNdEx >= 0; iNdEx-- {
|
||||||
|
i -= len(x.SupportedFirstParty[iNdEx])
|
||||||
|
copy(dAtA[i:], x.SupportedFirstParty[iNdEx])
|
||||||
|
i = runtime.EncodeVarint(dAtA, i, uint64(len(x.SupportedFirstParty[iNdEx])))
|
||||||
i--
|
i--
|
||||||
dAtA[i] = 0xa
|
dAtA[i] = 0xa
|
||||||
}
|
}
|
||||||
@@ -2417,7 +2637,7 @@ func (x *fastReflection_Caveats) ProtoMethods() *protoiface.Methods {
|
|||||||
switch fieldNum {
|
switch fieldNum {
|
||||||
case 1:
|
case 1:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Caveats", wireType)
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SupportedFirstParty", wireType)
|
||||||
}
|
}
|
||||||
var stringLen uint64
|
var stringLen uint64
|
||||||
for shift := uint(0); ; shift += 7 {
|
for shift := uint(0); ; shift += 7 {
|
||||||
@@ -2445,7 +2665,39 @@ func (x *fastReflection_Caveats) ProtoMethods() *protoiface.Methods {
|
|||||||
if postIndex > l {
|
if postIndex > l {
|
||||||
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
|
||||||
}
|
}
|
||||||
x.Caveats = append(x.Caveats, string(dAtA[iNdEx:postIndex]))
|
x.SupportedFirstParty = append(x.SupportedFirstParty, string(dAtA[iNdEx:postIndex]))
|
||||||
|
iNdEx = postIndex
|
||||||
|
case 2:
|
||||||
|
if wireType != 2 {
|
||||||
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SupportedThirdParty", 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.SupportedThirdParty = append(x.SupportedThirdParty, string(dAtA[iNdEx:postIndex]))
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
default:
|
default:
|
||||||
iNdEx = preIndex
|
iNdEx = preIndex
|
||||||
@@ -2593,7 +2845,8 @@ type Methods struct {
|
|||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
Methods []string `protobuf:"bytes,1,rep,name=methods,proto3" json:"methods,omitempty"`
|
Default string `protobuf:"bytes,1,opt,name=default,proto3" json:"default,omitempty"`
|
||||||
|
Supported []string `protobuf:"bytes,2,rep,name=supported,proto3" json:"supported,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *Methods) Reset() {
|
func (x *Methods) Reset() {
|
||||||
@@ -2616,9 +2869,16 @@ func (*Methods) Descriptor() ([]byte, []int) {
|
|||||||
return file_macaroon_v1_genesis_proto_rawDescGZIP(), []int{2}
|
return file_macaroon_v1_genesis_proto_rawDescGZIP(), []int{2}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *Methods) GetMethods() []string {
|
func (x *Methods) GetDefault() string {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.Methods
|
return x.Default
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Methods) GetSupported() []string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Supported
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@@ -2629,7 +2889,8 @@ type Scopes struct {
|
|||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
Scopes []string `protobuf:"bytes,1,rep,name=scopes,proto3" json:"scopes,omitempty"`
|
Base string `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"`
|
||||||
|
Supported []string `protobuf:"bytes,2,rep,name=supported,proto3" json:"supported,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *Scopes) Reset() {
|
func (x *Scopes) Reset() {
|
||||||
@@ -2652,9 +2913,16 @@ func (*Scopes) Descriptor() ([]byte, []int) {
|
|||||||
return file_macaroon_v1_genesis_proto_rawDescGZIP(), []int{3}
|
return file_macaroon_v1_genesis_proto_rawDescGZIP(), []int{3}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *Scopes) GetScopes() []string {
|
func (x *Scopes) GetBase() string {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.Scopes
|
return x.Base
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Scopes) GetSupported() []string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Supported
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@@ -2665,7 +2933,8 @@ type Caveats struct {
|
|||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
Caveats []string `protobuf:"bytes,1,rep,name=caveats,proto3" json:"caveats,omitempty"`
|
SupportedFirstParty []string `protobuf:"bytes,1,rep,name=supported_first_party,json=supportedFirstParty,proto3" json:"supported_first_party,omitempty"`
|
||||||
|
SupportedThirdParty []string `protobuf:"bytes,2,rep,name=supported_third_party,json=supportedThirdParty,proto3" json:"supported_third_party,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *Caveats) Reset() {
|
func (x *Caveats) Reset() {
|
||||||
@@ -2688,9 +2957,16 @@ func (*Caveats) Descriptor() ([]byte, []int) {
|
|||||||
return file_macaroon_v1_genesis_proto_rawDescGZIP(), []int{4}
|
return file_macaroon_v1_genesis_proto_rawDescGZIP(), []int{4}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *Caveats) GetCaveats() []string {
|
func (x *Caveats) GetSupportedFirstParty() []string {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.Caveats
|
return x.SupportedFirstParty
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Caveats) GetSupportedThirdParty() []string {
|
||||||
|
if x != nil {
|
||||||
|
return x.SupportedThirdParty
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@@ -2718,29 +2994,38 @@ var file_macaroon_v1_genesis_proto_rawDesc = []byte{
|
|||||||
0x6d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x76, 0x65,
|
0x6d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x76, 0x65,
|
||||||
0x61, 0x74, 0x73, 0x52, 0x07, 0x63, 0x61, 0x76, 0x65, 0x61, 0x74, 0x73, 0x3a, 0x1c, 0x98, 0xa0,
|
0x61, 0x74, 0x73, 0x52, 0x07, 0x63, 0x61, 0x76, 0x65, 0x61, 0x74, 0x73, 0x3a, 0x1c, 0x98, 0xa0,
|
||||||
0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x01, 0x8a, 0xe7, 0xb0, 0x2a, 0x0f, 0x6d, 0x61, 0x63, 0x61, 0x72,
|
0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x01, 0x8a, 0xe7, 0xb0, 0x2a, 0x0f, 0x6d, 0x61, 0x63, 0x61, 0x72,
|
||||||
0x6f, 0x6f, 0x6e, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x3e, 0x0a, 0x07, 0x4d, 0x65,
|
0x6f, 0x6f, 0x6e, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x5c, 0x0a, 0x07, 0x4d, 0x65,
|
||||||
0x74, 0x68, 0x6f, 0x64, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73,
|
0x74, 0x68, 0x6f, 0x64, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
|
||||||
0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x3a,
|
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12,
|
||||||
0x19, 0xe8, 0xa0, 0x1f, 0x01, 0x8a, 0xe7, 0xb0, 0x2a, 0x10, 0x6d, 0x61, 0x63, 0x61, 0x72, 0x6f,
|
0x1c, 0x0a, 0x09, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03,
|
||||||
0x6f, 0x6e, 0x2f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x22, 0x3a, 0x0a, 0x06, 0x53, 0x63,
|
0x28, 0x09, 0x52, 0x09, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x3a, 0x19, 0xe8,
|
||||||
0x6f, 0x70, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x01,
|
0xa0, 0x1f, 0x01, 0x8a, 0xe7, 0xb0, 0x2a, 0x10, 0x6d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e,
|
||||||
0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x3a, 0x18, 0xe8, 0xa0,
|
0x2f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x22, 0x54, 0x0a, 0x06, 0x53, 0x63, 0x6f, 0x70,
|
||||||
0x1f, 0x01, 0x8a, 0xe7, 0xb0, 0x2a, 0x0f, 0x6d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x2f,
|
0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||||
0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x22, 0x3d, 0x0a, 0x07, 0x43, 0x61, 0x76, 0x65, 0x61, 0x74,
|
0x52, 0x04, 0x62, 0x61, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72,
|
||||||
0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x76, 0x65, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03,
|
0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x73, 0x75, 0x70, 0x70, 0x6f,
|
||||||
0x28, 0x09, 0x52, 0x07, 0x63, 0x61, 0x76, 0x65, 0x61, 0x74, 0x73, 0x3a, 0x18, 0xe8, 0xa0, 0x1f,
|
0x72, 0x74, 0x65, 0x64, 0x3a, 0x18, 0xe8, 0xa0, 0x1f, 0x01, 0x8a, 0xe7, 0xb0, 0x2a, 0x0f, 0x6d,
|
||||||
0x01, 0x8a, 0xe7, 0xb0, 0x2a, 0x0f, 0x6d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x2f, 0x63,
|
0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x2f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x22, 0x8b,
|
||||||
0x61, 0x76, 0x65, 0x61, 0x74, 0x42, 0x9f, 0x01, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x61,
|
0x01, 0x0a, 0x07, 0x43, 0x61, 0x76, 0x65, 0x61, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x75,
|
||||||
0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x42, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73,
|
0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x70, 0x61,
|
||||||
0x69, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75,
|
0x72, 0x74, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x73, 0x75, 0x70, 0x70, 0x6f,
|
||||||
0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x6e, 0x73, 0x6f, 0x6e, 0x72, 0x2f, 0x73, 0x6f, 0x6e,
|
0x72, 0x74, 0x65, 0x64, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x79, 0x12, 0x32,
|
||||||
0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x2f, 0x76,
|
0x0a, 0x15, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x68, 0x69, 0x72,
|
||||||
0x31, 0x3b, 0x6d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x4d,
|
0x64, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x79, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x73,
|
||||||
0x58, 0x58, 0xaa, 0x02, 0x0b, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x2e, 0x56, 0x31,
|
0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x61, 0x72,
|
||||||
0xca, 0x02, 0x0b, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0xe2, 0x02,
|
0x74, 0x79, 0x3a, 0x18, 0xe8, 0xa0, 0x1f, 0x01, 0x8a, 0xe7, 0xb0, 0x2a, 0x0f, 0x6d, 0x61, 0x63,
|
||||||
0x17, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42,
|
0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x2f, 0x63, 0x61, 0x76, 0x65, 0x61, 0x74, 0x42, 0x9f, 0x01, 0x0a,
|
||||||
0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0c, 0x4d, 0x61, 0x63, 0x61, 0x72,
|
0x0f, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
|
||||||
0x6f, 0x6f, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
0x42, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01,
|
||||||
|
0x5a, 0x31, 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, 0x6d, 0x61, 0x63,
|
||||||
|
0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x3b, 0x6d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f,
|
||||||
|
0x6e, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x4d, 0x58, 0x58, 0xaa, 0x02, 0x0b, 0x4d, 0x61, 0x63, 0x61,
|
||||||
|
0x72, 0x6f, 0x6f, 0x6e, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0b, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f,
|
||||||
|
0x6f, 0x6e, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x17, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e,
|
||||||
|
0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea,
|
||||||
|
0x02, 0x0c, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06,
|
||||||
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
@@ -176,20 +176,193 @@ func NewGrantTable(db ormtable.Schema) (GrantTable, error) {
|
|||||||
return grantTable{table.(ormtable.AutoIncrementTable)}, nil
|
return grantTable{table.(ormtable.AutoIncrementTable)}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type MacaroonTable interface {
|
||||||
|
Insert(ctx context.Context, macaroon *Macaroon) error
|
||||||
|
InsertReturningId(ctx context.Context, macaroon *Macaroon) (uint64, error)
|
||||||
|
LastInsertedSequence(ctx context.Context) (uint64, error)
|
||||||
|
Update(ctx context.Context, macaroon *Macaroon) error
|
||||||
|
Save(ctx context.Context, macaroon *Macaroon) error
|
||||||
|
Delete(ctx context.Context, macaroon *Macaroon) error
|
||||||
|
Has(ctx context.Context, id uint64) (found bool, err error)
|
||||||
|
// Get returns nil and an error which responds true to ormerrors.IsNotFound() if the record was not found.
|
||||||
|
Get(ctx context.Context, id uint64) (*Macaroon, error)
|
||||||
|
HasBySubjectOrigin(ctx context.Context, subject string, origin string) (found bool, err error)
|
||||||
|
// GetBySubjectOrigin returns nil and an error which responds true to ormerrors.IsNotFound() if the record was not found.
|
||||||
|
GetBySubjectOrigin(ctx context.Context, subject string, origin string) (*Macaroon, error)
|
||||||
|
List(ctx context.Context, prefixKey MacaroonIndexKey, opts ...ormlist.Option) (MacaroonIterator, error)
|
||||||
|
ListRange(ctx context.Context, from, to MacaroonIndexKey, opts ...ormlist.Option) (MacaroonIterator, error)
|
||||||
|
DeleteBy(ctx context.Context, prefixKey MacaroonIndexKey) error
|
||||||
|
DeleteRange(ctx context.Context, from, to MacaroonIndexKey) error
|
||||||
|
|
||||||
|
doNotImplement()
|
||||||
|
}
|
||||||
|
|
||||||
|
type MacaroonIterator struct {
|
||||||
|
ormtable.Iterator
|
||||||
|
}
|
||||||
|
|
||||||
|
func (i MacaroonIterator) Value() (*Macaroon, error) {
|
||||||
|
var macaroon Macaroon
|
||||||
|
err := i.UnmarshalMessage(&macaroon)
|
||||||
|
return &macaroon, err
|
||||||
|
}
|
||||||
|
|
||||||
|
type MacaroonIndexKey interface {
|
||||||
|
id() uint32
|
||||||
|
values() []interface{}
|
||||||
|
macaroonIndexKey()
|
||||||
|
}
|
||||||
|
|
||||||
|
// primary key starting index..
|
||||||
|
type MacaroonPrimaryKey = MacaroonIdIndexKey
|
||||||
|
|
||||||
|
type MacaroonIdIndexKey struct {
|
||||||
|
vs []interface{}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x MacaroonIdIndexKey) id() uint32 { return 0 }
|
||||||
|
func (x MacaroonIdIndexKey) values() []interface{} { return x.vs }
|
||||||
|
func (x MacaroonIdIndexKey) macaroonIndexKey() {}
|
||||||
|
|
||||||
|
func (this MacaroonIdIndexKey) WithId(id uint64) MacaroonIdIndexKey {
|
||||||
|
this.vs = []interface{}{id}
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
type MacaroonSubjectOriginIndexKey struct {
|
||||||
|
vs []interface{}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x MacaroonSubjectOriginIndexKey) id() uint32 { return 1 }
|
||||||
|
func (x MacaroonSubjectOriginIndexKey) values() []interface{} { return x.vs }
|
||||||
|
func (x MacaroonSubjectOriginIndexKey) macaroonIndexKey() {}
|
||||||
|
|
||||||
|
func (this MacaroonSubjectOriginIndexKey) WithSubject(subject string) MacaroonSubjectOriginIndexKey {
|
||||||
|
this.vs = []interface{}{subject}
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this MacaroonSubjectOriginIndexKey) WithSubjectOrigin(subject string, origin string) MacaroonSubjectOriginIndexKey {
|
||||||
|
this.vs = []interface{}{subject, origin}
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
type macaroonTable struct {
|
||||||
|
table ormtable.AutoIncrementTable
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this macaroonTable) Insert(ctx context.Context, macaroon *Macaroon) error {
|
||||||
|
return this.table.Insert(ctx, macaroon)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this macaroonTable) Update(ctx context.Context, macaroon *Macaroon) error {
|
||||||
|
return this.table.Update(ctx, macaroon)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this macaroonTable) Save(ctx context.Context, macaroon *Macaroon) error {
|
||||||
|
return this.table.Save(ctx, macaroon)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this macaroonTable) Delete(ctx context.Context, macaroon *Macaroon) error {
|
||||||
|
return this.table.Delete(ctx, macaroon)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this macaroonTable) InsertReturningId(ctx context.Context, macaroon *Macaroon) (uint64, error) {
|
||||||
|
return this.table.InsertReturningPKey(ctx, macaroon)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this macaroonTable) LastInsertedSequence(ctx context.Context) (uint64, error) {
|
||||||
|
return this.table.LastInsertedSequence(ctx)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this macaroonTable) Has(ctx context.Context, id uint64) (found bool, err error) {
|
||||||
|
return this.table.PrimaryKey().Has(ctx, id)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this macaroonTable) Get(ctx context.Context, id uint64) (*Macaroon, error) {
|
||||||
|
var macaroon Macaroon
|
||||||
|
found, err := this.table.PrimaryKey().Get(ctx, &macaroon, id)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if !found {
|
||||||
|
return nil, ormerrors.NotFound
|
||||||
|
}
|
||||||
|
return &macaroon, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this macaroonTable) HasBySubjectOrigin(ctx context.Context, subject string, origin string) (found bool, err error) {
|
||||||
|
return this.table.GetIndexByID(1).(ormtable.UniqueIndex).Has(ctx,
|
||||||
|
subject,
|
||||||
|
origin,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this macaroonTable) GetBySubjectOrigin(ctx context.Context, subject string, origin string) (*Macaroon, error) {
|
||||||
|
var macaroon Macaroon
|
||||||
|
found, err := this.table.GetIndexByID(1).(ormtable.UniqueIndex).Get(ctx, &macaroon,
|
||||||
|
subject,
|
||||||
|
origin,
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if !found {
|
||||||
|
return nil, ormerrors.NotFound
|
||||||
|
}
|
||||||
|
return &macaroon, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this macaroonTable) List(ctx context.Context, prefixKey MacaroonIndexKey, opts ...ormlist.Option) (MacaroonIterator, error) {
|
||||||
|
it, err := this.table.GetIndexByID(prefixKey.id()).List(ctx, prefixKey.values(), opts...)
|
||||||
|
return MacaroonIterator{it}, err
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this macaroonTable) ListRange(ctx context.Context, from, to MacaroonIndexKey, opts ...ormlist.Option) (MacaroonIterator, error) {
|
||||||
|
it, err := this.table.GetIndexByID(from.id()).ListRange(ctx, from.values(), to.values(), opts...)
|
||||||
|
return MacaroonIterator{it}, err
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this macaroonTable) DeleteBy(ctx context.Context, prefixKey MacaroonIndexKey) error {
|
||||||
|
return this.table.GetIndexByID(prefixKey.id()).DeleteBy(ctx, prefixKey.values()...)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this macaroonTable) DeleteRange(ctx context.Context, from, to MacaroonIndexKey) error {
|
||||||
|
return this.table.GetIndexByID(from.id()).DeleteRange(ctx, from.values(), to.values())
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this macaroonTable) doNotImplement() {}
|
||||||
|
|
||||||
|
var _ MacaroonTable = macaroonTable{}
|
||||||
|
|
||||||
|
func NewMacaroonTable(db ormtable.Schema) (MacaroonTable, error) {
|
||||||
|
table := db.GetTable(&Macaroon{})
|
||||||
|
if table == nil {
|
||||||
|
return nil, ormerrors.TableNotFound.Wrap(string((&Macaroon{}).ProtoReflect().Descriptor().FullName()))
|
||||||
|
}
|
||||||
|
return macaroonTable{table.(ormtable.AutoIncrementTable)}, nil
|
||||||
|
}
|
||||||
|
|
||||||
type StateStore interface {
|
type StateStore interface {
|
||||||
GrantTable() GrantTable
|
GrantTable() GrantTable
|
||||||
|
MacaroonTable() MacaroonTable
|
||||||
|
|
||||||
doNotImplement()
|
doNotImplement()
|
||||||
}
|
}
|
||||||
|
|
||||||
type stateStore struct {
|
type stateStore struct {
|
||||||
grant GrantTable
|
grant GrantTable
|
||||||
|
macaroon MacaroonTable
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x stateStore) GrantTable() GrantTable {
|
func (x stateStore) GrantTable() GrantTable {
|
||||||
return x.grant
|
return x.grant
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x stateStore) MacaroonTable() MacaroonTable {
|
||||||
|
return x.macaroon
|
||||||
|
}
|
||||||
|
|
||||||
func (stateStore) doNotImplement() {}
|
func (stateStore) doNotImplement() {}
|
||||||
|
|
||||||
var _ StateStore = stateStore{}
|
var _ StateStore = stateStore{}
|
||||||
@@ -200,7 +373,13 @@ func NewStateStore(db ormtable.Schema) (StateStore, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
macaroonTable, err := NewMacaroonTable(db)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
return stateStore{
|
return stateStore{
|
||||||
grantTable,
|
grantTable,
|
||||||
|
macaroonTable,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|||||||
+824
-14
@@ -657,6 +657,714 @@ func (x *fastReflection_Grant) ProtoMethods() *protoiface.Methods {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
md_Macaroon protoreflect.MessageDescriptor
|
||||||
|
fd_Macaroon_id protoreflect.FieldDescriptor
|
||||||
|
fd_Macaroon_controller protoreflect.FieldDescriptor
|
||||||
|
fd_Macaroon_subject protoreflect.FieldDescriptor
|
||||||
|
fd_Macaroon_origin protoreflect.FieldDescriptor
|
||||||
|
fd_Macaroon_expiry_height protoreflect.FieldDescriptor
|
||||||
|
fd_Macaroon_macaroon protoreflect.FieldDescriptor
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
file_macaroon_v1_state_proto_init()
|
||||||
|
md_Macaroon = File_macaroon_v1_state_proto.Messages().ByName("Macaroon")
|
||||||
|
fd_Macaroon_id = md_Macaroon.Fields().ByName("id")
|
||||||
|
fd_Macaroon_controller = md_Macaroon.Fields().ByName("controller")
|
||||||
|
fd_Macaroon_subject = md_Macaroon.Fields().ByName("subject")
|
||||||
|
fd_Macaroon_origin = md_Macaroon.Fields().ByName("origin")
|
||||||
|
fd_Macaroon_expiry_height = md_Macaroon.Fields().ByName("expiry_height")
|
||||||
|
fd_Macaroon_macaroon = md_Macaroon.Fields().ByName("macaroon")
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ protoreflect.Message = (*fastReflection_Macaroon)(nil)
|
||||||
|
|
||||||
|
type fastReflection_Macaroon Macaroon
|
||||||
|
|
||||||
|
func (x *Macaroon) ProtoReflect() protoreflect.Message {
|
||||||
|
return (*fastReflection_Macaroon)(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Macaroon) slowProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_macaroon_v1_state_proto_msgTypes[1]
|
||||||
|
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)
|
||||||
|
}
|
||||||
|
|
||||||
|
var _fastReflection_Macaroon_messageType fastReflection_Macaroon_messageType
|
||||||
|
var _ protoreflect.MessageType = fastReflection_Macaroon_messageType{}
|
||||||
|
|
||||||
|
type fastReflection_Macaroon_messageType struct{}
|
||||||
|
|
||||||
|
func (x fastReflection_Macaroon_messageType) Zero() protoreflect.Message {
|
||||||
|
return (*fastReflection_Macaroon)(nil)
|
||||||
|
}
|
||||||
|
func (x fastReflection_Macaroon_messageType) New() protoreflect.Message {
|
||||||
|
return new(fastReflection_Macaroon)
|
||||||
|
}
|
||||||
|
func (x fastReflection_Macaroon_messageType) Descriptor() protoreflect.MessageDescriptor {
|
||||||
|
return md_Macaroon
|
||||||
|
}
|
||||||
|
|
||||||
|
// Descriptor returns message descriptor, which contains only the protobuf
|
||||||
|
// type information for the message.
|
||||||
|
func (x *fastReflection_Macaroon) Descriptor() protoreflect.MessageDescriptor {
|
||||||
|
return md_Macaroon
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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.
|
||||||
|
func (x *fastReflection_Macaroon) Type() protoreflect.MessageType {
|
||||||
|
return _fastReflection_Macaroon_messageType
|
||||||
|
}
|
||||||
|
|
||||||
|
// New returns a newly allocated and mutable empty message.
|
||||||
|
func (x *fastReflection_Macaroon) New() protoreflect.Message {
|
||||||
|
return new(fastReflection_Macaroon)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Interface unwraps the message reflection interface and
|
||||||
|
// returns the underlying ProtoMessage interface.
|
||||||
|
func (x *fastReflection_Macaroon) Interface() protoreflect.ProtoMessage {
|
||||||
|
return (*Macaroon)(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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.
|
||||||
|
func (x *fastReflection_Macaroon) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
|
||||||
|
if x.Id != uint64(0) {
|
||||||
|
value := protoreflect.ValueOfUint64(x.Id)
|
||||||
|
if !f(fd_Macaroon_id, value) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if x.Controller != "" {
|
||||||
|
value := protoreflect.ValueOfString(x.Controller)
|
||||||
|
if !f(fd_Macaroon_controller, value) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if x.Subject != "" {
|
||||||
|
value := protoreflect.ValueOfString(x.Subject)
|
||||||
|
if !f(fd_Macaroon_subject, value) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if x.Origin != "" {
|
||||||
|
value := protoreflect.ValueOfString(x.Origin)
|
||||||
|
if !f(fd_Macaroon_origin, value) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if x.ExpiryHeight != int64(0) {
|
||||||
|
value := protoreflect.ValueOfInt64(x.ExpiryHeight)
|
||||||
|
if !f(fd_Macaroon_expiry_height, value) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if x.Macaroon != "" {
|
||||||
|
value := protoreflect.ValueOfString(x.Macaroon)
|
||||||
|
if !f(fd_Macaroon_macaroon, value) {
|
||||||
|
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.
|
||||||
|
func (x *fastReflection_Macaroon) Has(fd protoreflect.FieldDescriptor) bool {
|
||||||
|
switch fd.FullName() {
|
||||||
|
case "macaroon.v1.Macaroon.id":
|
||||||
|
return x.Id != uint64(0)
|
||||||
|
case "macaroon.v1.Macaroon.controller":
|
||||||
|
return x.Controller != ""
|
||||||
|
case "macaroon.v1.Macaroon.subject":
|
||||||
|
return x.Subject != ""
|
||||||
|
case "macaroon.v1.Macaroon.origin":
|
||||||
|
return x.Origin != ""
|
||||||
|
case "macaroon.v1.Macaroon.expiry_height":
|
||||||
|
return x.ExpiryHeight != int64(0)
|
||||||
|
case "macaroon.v1.Macaroon.macaroon":
|
||||||
|
return x.Macaroon != ""
|
||||||
|
default:
|
||||||
|
if fd.IsExtension() {
|
||||||
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: macaroon.v1.Macaroon"))
|
||||||
|
}
|
||||||
|
panic(fmt.Errorf("message macaroon.v1.Macaroon does not contain field %s", fd.FullName()))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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.
|
||||||
|
func (x *fastReflection_Macaroon) Clear(fd protoreflect.FieldDescriptor) {
|
||||||
|
switch fd.FullName() {
|
||||||
|
case "macaroon.v1.Macaroon.id":
|
||||||
|
x.Id = uint64(0)
|
||||||
|
case "macaroon.v1.Macaroon.controller":
|
||||||
|
x.Controller = ""
|
||||||
|
case "macaroon.v1.Macaroon.subject":
|
||||||
|
x.Subject = ""
|
||||||
|
case "macaroon.v1.Macaroon.origin":
|
||||||
|
x.Origin = ""
|
||||||
|
case "macaroon.v1.Macaroon.expiry_height":
|
||||||
|
x.ExpiryHeight = int64(0)
|
||||||
|
case "macaroon.v1.Macaroon.macaroon":
|
||||||
|
x.Macaroon = ""
|
||||||
|
default:
|
||||||
|
if fd.IsExtension() {
|
||||||
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: macaroon.v1.Macaroon"))
|
||||||
|
}
|
||||||
|
panic(fmt.Errorf("message macaroon.v1.Macaroon does not contain field %s", fd.FullName()))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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.
|
||||||
|
func (x *fastReflection_Macaroon) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
|
||||||
|
switch descriptor.FullName() {
|
||||||
|
case "macaroon.v1.Macaroon.id":
|
||||||
|
value := x.Id
|
||||||
|
return protoreflect.ValueOfUint64(value)
|
||||||
|
case "macaroon.v1.Macaroon.controller":
|
||||||
|
value := x.Controller
|
||||||
|
return protoreflect.ValueOfString(value)
|
||||||
|
case "macaroon.v1.Macaroon.subject":
|
||||||
|
value := x.Subject
|
||||||
|
return protoreflect.ValueOfString(value)
|
||||||
|
case "macaroon.v1.Macaroon.origin":
|
||||||
|
value := x.Origin
|
||||||
|
return protoreflect.ValueOfString(value)
|
||||||
|
case "macaroon.v1.Macaroon.expiry_height":
|
||||||
|
value := x.ExpiryHeight
|
||||||
|
return protoreflect.ValueOfInt64(value)
|
||||||
|
case "macaroon.v1.Macaroon.macaroon":
|
||||||
|
value := x.Macaroon
|
||||||
|
return protoreflect.ValueOfString(value)
|
||||||
|
default:
|
||||||
|
if descriptor.IsExtension() {
|
||||||
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: macaroon.v1.Macaroon"))
|
||||||
|
}
|
||||||
|
panic(fmt.Errorf("message macaroon.v1.Macaroon does not contain field %s", descriptor.FullName()))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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.
|
||||||
|
func (x *fastReflection_Macaroon) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
|
||||||
|
switch fd.FullName() {
|
||||||
|
case "macaroon.v1.Macaroon.id":
|
||||||
|
x.Id = value.Uint()
|
||||||
|
case "macaroon.v1.Macaroon.controller":
|
||||||
|
x.Controller = value.Interface().(string)
|
||||||
|
case "macaroon.v1.Macaroon.subject":
|
||||||
|
x.Subject = value.Interface().(string)
|
||||||
|
case "macaroon.v1.Macaroon.origin":
|
||||||
|
x.Origin = value.Interface().(string)
|
||||||
|
case "macaroon.v1.Macaroon.expiry_height":
|
||||||
|
x.ExpiryHeight = value.Int()
|
||||||
|
case "macaroon.v1.Macaroon.macaroon":
|
||||||
|
x.Macaroon = value.Interface().(string)
|
||||||
|
default:
|
||||||
|
if fd.IsExtension() {
|
||||||
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: macaroon.v1.Macaroon"))
|
||||||
|
}
|
||||||
|
panic(fmt.Errorf("message macaroon.v1.Macaroon does not contain field %s", fd.FullName()))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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.
|
||||||
|
func (x *fastReflection_Macaroon) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
|
||||||
|
switch fd.FullName() {
|
||||||
|
case "macaroon.v1.Macaroon.id":
|
||||||
|
panic(fmt.Errorf("field id of message macaroon.v1.Macaroon is not mutable"))
|
||||||
|
case "macaroon.v1.Macaroon.controller":
|
||||||
|
panic(fmt.Errorf("field controller of message macaroon.v1.Macaroon is not mutable"))
|
||||||
|
case "macaroon.v1.Macaroon.subject":
|
||||||
|
panic(fmt.Errorf("field subject of message macaroon.v1.Macaroon is not mutable"))
|
||||||
|
case "macaroon.v1.Macaroon.origin":
|
||||||
|
panic(fmt.Errorf("field origin of message macaroon.v1.Macaroon is not mutable"))
|
||||||
|
case "macaroon.v1.Macaroon.expiry_height":
|
||||||
|
panic(fmt.Errorf("field expiry_height of message macaroon.v1.Macaroon is not mutable"))
|
||||||
|
case "macaroon.v1.Macaroon.macaroon":
|
||||||
|
panic(fmt.Errorf("field macaroon of message macaroon.v1.Macaroon is not mutable"))
|
||||||
|
default:
|
||||||
|
if fd.IsExtension() {
|
||||||
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: macaroon.v1.Macaroon"))
|
||||||
|
}
|
||||||
|
panic(fmt.Errorf("message macaroon.v1.Macaroon does not contain field %s", fd.FullName()))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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.
|
||||||
|
func (x *fastReflection_Macaroon) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
|
||||||
|
switch fd.FullName() {
|
||||||
|
case "macaroon.v1.Macaroon.id":
|
||||||
|
return protoreflect.ValueOfUint64(uint64(0))
|
||||||
|
case "macaroon.v1.Macaroon.controller":
|
||||||
|
return protoreflect.ValueOfString("")
|
||||||
|
case "macaroon.v1.Macaroon.subject":
|
||||||
|
return protoreflect.ValueOfString("")
|
||||||
|
case "macaroon.v1.Macaroon.origin":
|
||||||
|
return protoreflect.ValueOfString("")
|
||||||
|
case "macaroon.v1.Macaroon.expiry_height":
|
||||||
|
return protoreflect.ValueOfInt64(int64(0))
|
||||||
|
case "macaroon.v1.Macaroon.macaroon":
|
||||||
|
return protoreflect.ValueOfString("")
|
||||||
|
default:
|
||||||
|
if fd.IsExtension() {
|
||||||
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: macaroon.v1.Macaroon"))
|
||||||
|
}
|
||||||
|
panic(fmt.Errorf("message macaroon.v1.Macaroon does not contain field %s", fd.FullName()))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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.
|
||||||
|
func (x *fastReflection_Macaroon) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
|
||||||
|
switch d.FullName() {
|
||||||
|
default:
|
||||||
|
panic(fmt.Errorf("%s is not a oneof field in macaroon.v1.Macaroon", d.FullName()))
|
||||||
|
}
|
||||||
|
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.
|
||||||
|
func (x *fastReflection_Macaroon) GetUnknown() protoreflect.RawFields {
|
||||||
|
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.
|
||||||
|
func (x *fastReflection_Macaroon) SetUnknown(fields protoreflect.RawFields) {
|
||||||
|
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.
|
||||||
|
func (x *fastReflection_Macaroon) IsValid() bool {
|
||||||
|
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.
|
||||||
|
func (x *fastReflection_Macaroon) ProtoMethods() *protoiface.Methods {
|
||||||
|
size := func(input protoiface.SizeInput) protoiface.SizeOutput {
|
||||||
|
x := input.Message.Interface().(*Macaroon)
|
||||||
|
if x == nil {
|
||||||
|
return protoiface.SizeOutput{
|
||||||
|
NoUnkeyedLiterals: input.NoUnkeyedLiterals,
|
||||||
|
Size: 0,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
options := runtime.SizeInputToOptions(input)
|
||||||
|
_ = options
|
||||||
|
var n int
|
||||||
|
var l int
|
||||||
|
_ = l
|
||||||
|
if x.Id != 0 {
|
||||||
|
n += 1 + runtime.Sov(uint64(x.Id))
|
||||||
|
}
|
||||||
|
l = len(x.Controller)
|
||||||
|
if l > 0 {
|
||||||
|
n += 1 + l + runtime.Sov(uint64(l))
|
||||||
|
}
|
||||||
|
l = len(x.Subject)
|
||||||
|
if l > 0 {
|
||||||
|
n += 1 + l + runtime.Sov(uint64(l))
|
||||||
|
}
|
||||||
|
l = len(x.Origin)
|
||||||
|
if l > 0 {
|
||||||
|
n += 1 + l + runtime.Sov(uint64(l))
|
||||||
|
}
|
||||||
|
if x.ExpiryHeight != 0 {
|
||||||
|
n += 1 + runtime.Sov(uint64(x.ExpiryHeight))
|
||||||
|
}
|
||||||
|
l = len(x.Macaroon)
|
||||||
|
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) {
|
||||||
|
x := input.Message.Interface().(*Macaroon)
|
||||||
|
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)
|
||||||
|
}
|
||||||
|
if len(x.Macaroon) > 0 {
|
||||||
|
i -= len(x.Macaroon)
|
||||||
|
copy(dAtA[i:], x.Macaroon)
|
||||||
|
i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Macaroon)))
|
||||||
|
i--
|
||||||
|
dAtA[i] = 0x32
|
||||||
|
}
|
||||||
|
if x.ExpiryHeight != 0 {
|
||||||
|
i = runtime.EncodeVarint(dAtA, i, uint64(x.ExpiryHeight))
|
||||||
|
i--
|
||||||
|
dAtA[i] = 0x28
|
||||||
|
}
|
||||||
|
if len(x.Origin) > 0 {
|
||||||
|
i -= len(x.Origin)
|
||||||
|
copy(dAtA[i:], x.Origin)
|
||||||
|
i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Origin)))
|
||||||
|
i--
|
||||||
|
dAtA[i] = 0x22
|
||||||
|
}
|
||||||
|
if len(x.Subject) > 0 {
|
||||||
|
i -= len(x.Subject)
|
||||||
|
copy(dAtA[i:], x.Subject)
|
||||||
|
i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Subject)))
|
||||||
|
i--
|
||||||
|
dAtA[i] = 0x1a
|
||||||
|
}
|
||||||
|
if len(x.Controller) > 0 {
|
||||||
|
i -= len(x.Controller)
|
||||||
|
copy(dAtA[i:], x.Controller)
|
||||||
|
i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Controller)))
|
||||||
|
i--
|
||||||
|
dAtA[i] = 0x12
|
||||||
|
}
|
||||||
|
if x.Id != 0 {
|
||||||
|
i = runtime.EncodeVarint(dAtA, i, uint64(x.Id))
|
||||||
|
i--
|
||||||
|
dAtA[i] = 0x8
|
||||||
|
}
|
||||||
|
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) {
|
||||||
|
x := input.Message.Interface().(*Macaroon)
|
||||||
|
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 {
|
||||||
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Macaroon: wiretype end group for non-group")
|
||||||
|
}
|
||||||
|
if fieldNum <= 0 {
|
||||||
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Macaroon: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||||
|
}
|
||||||
|
switch fieldNum {
|
||||||
|
case 1:
|
||||||
|
if wireType != 0 {
|
||||||
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
|
||||||
|
}
|
||||||
|
x.Id = 0
|
||||||
|
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++
|
||||||
|
x.Id |= uint64(b&0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case 2:
|
||||||
|
if wireType != 2 {
|
||||||
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Controller", 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.Controller = string(dAtA[iNdEx:postIndex])
|
||||||
|
iNdEx = postIndex
|
||||||
|
case 3:
|
||||||
|
if wireType != 2 {
|
||||||
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Subject", 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.Subject = string(dAtA[iNdEx:postIndex])
|
||||||
|
iNdEx = postIndex
|
||||||
|
case 4:
|
||||||
|
if wireType != 2 {
|
||||||
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Origin", 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.Origin = string(dAtA[iNdEx:postIndex])
|
||||||
|
iNdEx = postIndex
|
||||||
|
case 5:
|
||||||
|
if wireType != 0 {
|
||||||
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ExpiryHeight", wireType)
|
||||||
|
}
|
||||||
|
x.ExpiryHeight = 0
|
||||||
|
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++
|
||||||
|
x.ExpiryHeight |= int64(b&0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case 6:
|
||||||
|
if wireType != 2 {
|
||||||
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Macaroon", 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.Macaroon = string(dAtA[iNdEx:postIndex])
|
||||||
|
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,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.27.0
|
// protoc-gen-go v1.27.0
|
||||||
@@ -737,6 +1445,81 @@ func (x *Grant) GetExpiryHeight() int64 {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type Macaroon struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||||
|
Controller string `protobuf:"bytes,2,opt,name=controller,proto3" json:"controller,omitempty"`
|
||||||
|
Subject string `protobuf:"bytes,3,opt,name=subject,proto3" json:"subject,omitempty"`
|
||||||
|
Origin string `protobuf:"bytes,4,opt,name=origin,proto3" json:"origin,omitempty"`
|
||||||
|
ExpiryHeight int64 `protobuf:"varint,5,opt,name=expiry_height,json=expiryHeight,proto3" json:"expiry_height,omitempty"`
|
||||||
|
Macaroon string `protobuf:"bytes,6,opt,name=macaroon,proto3" json:"macaroon,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Macaroon) Reset() {
|
||||||
|
*x = Macaroon{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_macaroon_v1_state_proto_msgTypes[1]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Macaroon) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Macaroon) ProtoMessage() {}
|
||||||
|
|
||||||
|
// Deprecated: Use Macaroon.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Macaroon) Descriptor() ([]byte, []int) {
|
||||||
|
return file_macaroon_v1_state_proto_rawDescGZIP(), []int{1}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Macaroon) GetId() uint64 {
|
||||||
|
if x != nil {
|
||||||
|
return x.Id
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Macaroon) GetController() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Controller
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Macaroon) GetSubject() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Subject
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Macaroon) GetOrigin() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Origin
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Macaroon) GetExpiryHeight() int64 {
|
||||||
|
if x != nil {
|
||||||
|
return x.ExpiryHeight
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Macaroon) GetMacaroon() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Macaroon
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
var File_macaroon_v1_state_proto protoreflect.FileDescriptor
|
var File_macaroon_v1_state_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
var file_macaroon_v1_state_proto_rawDesc = []byte{
|
var file_macaroon_v1_state_proto_rawDesc = []byte{
|
||||||
@@ -755,17 +1538,31 @@ var file_macaroon_v1_state_proto_rawDesc = []byte{
|
|||||||
0x28, 0x03, 0x52, 0x0c, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74,
|
0x28, 0x03, 0x52, 0x0c, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74,
|
||||||
0x3a, 0x26, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x20, 0x0a, 0x06, 0x0a, 0x02, 0x69, 0x64, 0x10, 0x01,
|
0x3a, 0x26, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x20, 0x0a, 0x06, 0x0a, 0x02, 0x69, 0x64, 0x10, 0x01,
|
||||||
0x12, 0x14, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6f, 0x72, 0x69, 0x67,
|
0x12, 0x14, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6f, 0x72, 0x69, 0x67,
|
||||||
0x69, 0x6e, 0x10, 0x01, 0x18, 0x01, 0x18, 0x01, 0x42, 0x9d, 0x01, 0x0a, 0x0f, 0x63, 0x6f, 0x6d,
|
0x69, 0x6e, 0x10, 0x01, 0x18, 0x01, 0x18, 0x01, 0x22, 0xd5, 0x01, 0x0a, 0x08, 0x4d, 0x61, 0x63,
|
||||||
0x2e, 0x6d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x53, 0x74,
|
0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||||
0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68,
|
0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
|
||||||
0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x6e, 0x73, 0x6f, 0x6e, 0x72, 0x2f, 0x73, 0x6f,
|
0x6c, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72,
|
||||||
0x6e, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x2f,
|
0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74,
|
||||||
0x76, 0x31, 0x3b, 0x6d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x76, 0x31, 0xa2, 0x02, 0x03,
|
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12,
|
||||||
0x4d, 0x58, 0x58, 0xaa, 0x02, 0x0b, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x2e, 0x56,
|
0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||||
0x31, 0xca, 0x02, 0x0b, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0xe2,
|
0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x78, 0x70, 0x69, 0x72,
|
||||||
0x02, 0x17, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50,
|
0x79, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c,
|
||||||
0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0c, 0x4d, 0x61, 0x63, 0x61,
|
0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1a, 0x0a, 0x08,
|
||||||
0x72, 0x6f, 0x6f, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
0x6d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
|
||||||
|
0x6d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x3a, 0x26, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x20,
|
||||||
|
0x0a, 0x06, 0x0a, 0x02, 0x69, 0x64, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x6a,
|
||||||
|
0x65, 0x63, 0x74, 0x2c, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x10, 0x01, 0x18, 0x01, 0x18, 0x02,
|
||||||
|
0x42, 0x9d, 0x01, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f,
|
||||||
|
0x6e, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f,
|
||||||
|
0x50, 0x01, 0x5a, 0x31, 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, 0x6d,
|
||||||
|
0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x3b, 0x6d, 0x61, 0x63, 0x61, 0x72,
|
||||||
|
0x6f, 0x6f, 0x6e, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x4d, 0x58, 0x58, 0xaa, 0x02, 0x0b, 0x4d, 0x61,
|
||||||
|
0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0b, 0x4d, 0x61, 0x63, 0x61,
|
||||||
|
0x72, 0x6f, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x17, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f,
|
||||||
|
0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
|
||||||
|
0x61, 0xea, 0x02, 0x0c, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x3a, 0x3a, 0x56, 0x31,
|
||||||
|
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -780,9 +1577,10 @@ func file_macaroon_v1_state_proto_rawDescGZIP() []byte {
|
|||||||
return file_macaroon_v1_state_proto_rawDescData
|
return file_macaroon_v1_state_proto_rawDescData
|
||||||
}
|
}
|
||||||
|
|
||||||
var file_macaroon_v1_state_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
|
var file_macaroon_v1_state_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
|
||||||
var file_macaroon_v1_state_proto_goTypes = []interface{}{
|
var file_macaroon_v1_state_proto_goTypes = []interface{}{
|
||||||
(*Grant)(nil), // 0: macaroon.v1.Grant
|
(*Grant)(nil), // 0: macaroon.v1.Grant
|
||||||
|
(*Macaroon)(nil), // 1: macaroon.v1.Macaroon
|
||||||
}
|
}
|
||||||
var file_macaroon_v1_state_proto_depIdxs = []int32{
|
var file_macaroon_v1_state_proto_depIdxs = []int32{
|
||||||
0, // [0:0] is the sub-list for method output_type
|
0, // [0:0] is the sub-list for method output_type
|
||||||
@@ -810,6 +1608,18 @@ func file_macaroon_v1_state_proto_init() {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
file_macaroon_v1_state_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Macaroon); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
type x struct{}
|
type x struct{}
|
||||||
out := protoimpl.TypeBuilder{
|
out := protoimpl.TypeBuilder{
|
||||||
@@ -817,7 +1627,7 @@ func file_macaroon_v1_state_proto_init() {
|
|||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
RawDescriptor: file_macaroon_v1_state_proto_rawDesc,
|
RawDescriptor: file_macaroon_v1_state_proto_rawDesc,
|
||||||
NumEnums: 0,
|
NumEnums: 0,
|
||||||
NumMessages: 1,
|
NumMessages: 2,
|
||||||
NumExtensions: 0,
|
NumExtensions: 0,
|
||||||
NumServices: 0,
|
NumServices: 0,
|
||||||
},
|
},
|
||||||
|
|||||||
+30
-24
@@ -626,28 +626,15 @@ func NewChainApp(
|
|||||||
// If evidence needs to be handled for the app, set routes in router here and seal
|
// If evidence needs to be handled for the app, set routes in router here and seal
|
||||||
app.EvidenceKeeper = *evidenceKeeper
|
app.EvidenceKeeper = *evidenceKeeper
|
||||||
|
|
||||||
// Create the oracle Keeper
|
// Create the did Keeper
|
||||||
app.OracleKeeper = oraclekeeper.NewKeeper(
|
app.DidKeeper = didkeeper.NewKeeper(
|
||||||
appCodec,
|
appCodec,
|
||||||
sdkruntime.NewKVStoreService(keys[oracletypes.StoreKey]),
|
sdkruntime.NewKVStoreService(keys[didtypes.StoreKey]),
|
||||||
logger,
|
|
||||||
authtypes.NewModuleAddress(govtypes.ModuleName).String(),
|
|
||||||
)
|
|
||||||
|
|
||||||
// Create the service Keeper
|
|
||||||
app.ServiceKeeper = servicekeeper.NewKeeper(
|
|
||||||
appCodec,
|
|
||||||
sdkruntime.NewKVStoreService(keys[servicetypes.StoreKey]),
|
|
||||||
logger,
|
|
||||||
authtypes.NewModuleAddress(govtypes.ModuleName).String(),
|
|
||||||
)
|
|
||||||
|
|
||||||
// Create the macaroon Keeper
|
|
||||||
app.MacaroonKeeper = macaroonkeeper.NewKeeper(
|
|
||||||
appCodec,
|
|
||||||
sdkruntime.NewKVStoreService(keys[macaroontypes.StoreKey]),
|
|
||||||
logger,
|
logger,
|
||||||
authtypes.NewModuleAddress(govtypes.ModuleName).String(),
|
authtypes.NewModuleAddress(govtypes.ModuleName).String(),
|
||||||
|
app.AccountKeeper,
|
||||||
|
app.NFTKeeper,
|
||||||
|
app.StakingKeeper,
|
||||||
)
|
)
|
||||||
|
|
||||||
// Create the vault Keeper
|
// Create the vault Keeper
|
||||||
@@ -656,16 +643,35 @@ func NewChainApp(
|
|||||||
sdkruntime.NewKVStoreService(keys[vaulttypes.StoreKey]),
|
sdkruntime.NewKVStoreService(keys[vaulttypes.StoreKey]),
|
||||||
logger,
|
logger,
|
||||||
authtypes.NewModuleAddress(govtypes.ModuleName).String(),
|
authtypes.NewModuleAddress(govtypes.ModuleName).String(),
|
||||||
|
app.AccountKeeper,
|
||||||
|
app.DidKeeper,
|
||||||
|
)
|
||||||
|
// Create the macaroon Keeper
|
||||||
|
app.MacaroonKeeper = macaroonkeeper.NewKeeper(
|
||||||
|
appCodec,
|
||||||
|
sdkruntime.NewKVStoreService(keys[macaroontypes.StoreKey]),
|
||||||
|
logger,
|
||||||
|
authtypes.NewModuleAddress(govtypes.ModuleName).String(),
|
||||||
|
app.AccountKeeper,
|
||||||
app.DidKeeper,
|
app.DidKeeper,
|
||||||
)
|
)
|
||||||
|
|
||||||
// Create the did Keeper
|
// Create the service Keeper
|
||||||
app.DidKeeper = didkeeper.NewKeeper(
|
app.ServiceKeeper = servicekeeper.NewKeeper(
|
||||||
appCodec,
|
appCodec,
|
||||||
sdkruntime.NewKVStoreService(keys[didtypes.StoreKey]),
|
sdkruntime.NewKVStoreService(keys[servicetypes.StoreKey]),
|
||||||
app.AccountKeeper,
|
logger,
|
||||||
|
authtypes.NewModuleAddress(govtypes.ModuleName).String(),
|
||||||
|
app.DidKeeper,
|
||||||
|
app.GroupKeeper,
|
||||||
|
app.MacaroonKeeper,
|
||||||
app.NFTKeeper,
|
app.NFTKeeper,
|
||||||
app.StakingKeeper,
|
)
|
||||||
|
|
||||||
|
// Create the oracle Keeper
|
||||||
|
app.OracleKeeper = oraclekeeper.NewKeeper(
|
||||||
|
appCodec,
|
||||||
|
sdkruntime.NewKVStoreService(keys[oracletypes.StoreKey]),
|
||||||
logger,
|
logger,
|
||||||
authtypes.NewModuleAddress(govtypes.ModuleName).String(),
|
authtypes.NewModuleAddress(govtypes.ModuleName).String(),
|
||||||
)
|
)
|
||||||
|
|||||||
+3
-9
@@ -5,10 +5,8 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
|
|
||||||
cmtproto "github.com/cometbft/cometbft/proto/tendermint/types"
|
|
||||||
|
|
||||||
storetypes "cosmossdk.io/store/types"
|
storetypes "cosmossdk.io/store/types"
|
||||||
|
cmtproto "github.com/cometbft/cometbft/proto/tendermint/types"
|
||||||
servertypes "github.com/cosmos/cosmos-sdk/server/types"
|
servertypes "github.com/cosmos/cosmos-sdk/server/types"
|
||||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||||
slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types"
|
slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types"
|
||||||
@@ -45,7 +43,7 @@ func (app *SonrApp) ExportAppStateAndValidators(forZeroHeight bool, jailAllowedA
|
|||||||
AppState: appState,
|
AppState: appState,
|
||||||
Validators: validators,
|
Validators: validators,
|
||||||
Height: height,
|
Height: height,
|
||||||
ConsensusParams: app.BaseApp.GetConsensusParams(ctx),
|
ConsensusParams: app.GetConsensusParams(ctx),
|
||||||
}, err
|
}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -54,13 +52,9 @@ func (app *SonrApp) ExportAppStateAndValidators(forZeroHeight bool, jailAllowedA
|
|||||||
//
|
//
|
||||||
// in favor of export at a block height
|
// in favor of export at a block height
|
||||||
func (app *SonrApp) prepForZeroHeightGenesis(ctx sdk.Context, jailAllowedAddrs []string) {
|
func (app *SonrApp) prepForZeroHeightGenesis(ctx sdk.Context, jailAllowedAddrs []string) {
|
||||||
applyAllowedAddrs := false
|
applyAllowedAddrs := len(jailAllowedAddrs) > 0
|
||||||
|
|
||||||
// check if there is a allowed address list
|
// check if there is a allowed address list
|
||||||
if len(jailAllowedAddrs) > 0 {
|
|
||||||
applyAllowedAddrs = true
|
|
||||||
}
|
|
||||||
|
|
||||||
allowedAddrsMap := make(map[string]bool)
|
allowedAddrsMap := make(map[string]bool)
|
||||||
|
|
||||||
for _, addr := range jailAllowedAddrs {
|
for _, addr := range jailAllowedAddrs {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
package main
|
package commands
|
||||||
|
|
||||||
import "github.com/spf13/cobra"
|
import "github.com/spf13/cobra"
|
||||||
|
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package commands
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
|
||||||
|
"github.com/onsonr/sonr/cmd/hway/server"
|
||||||
|
)
|
||||||
|
|
||||||
|
func NewStartCmd() *cobra.Command {
|
||||||
|
return &cobra.Command{
|
||||||
|
Use: "start",
|
||||||
|
Short: "Starts the DWN proxy server for the local IPFS node",
|
||||||
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
|
s := server.New()
|
||||||
|
s.Start()
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/onsonr/sonr/cmd/hway/commands"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
rootCmd := commands.NewRootCmd()
|
||||||
|
rootCmd.AddCommand(commands.NewStartCmd())
|
||||||
|
if err := rootCmd.Execute(); err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
package handlers
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
package handlers
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
package handlers
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
package handlers
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
package server
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/labstack/echo/v4"
|
||||||
|
"github.com/labstack/gommon/log"
|
||||||
|
|
||||||
|
"github.com/onsonr/sonr/internal/session"
|
||||||
|
"github.com/onsonr/sonr/pkg/nebula"
|
||||||
|
"github.com/onsonr/sonr/pkg/nebula/pages"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Server struct {
|
||||||
|
*echo.Echo
|
||||||
|
}
|
||||||
|
|
||||||
|
func New() *Server {
|
||||||
|
s := &Server{Echo: echo.New()}
|
||||||
|
s.Logger.SetLevel(log.INFO)
|
||||||
|
s.Use(session.UseSession)
|
||||||
|
|
||||||
|
// Configure the server
|
||||||
|
if err := nebula.UseAssets(s.Echo); err != nil {
|
||||||
|
s.Logger.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
s.GET("/", pages.Home)
|
||||||
|
s.GET("/login", pages.Login)
|
||||||
|
s.GET("/register", pages.Register)
|
||||||
|
s.GET("/profile", pages.Profile)
|
||||||
|
|
||||||
|
return s
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Server) Start() {
|
||||||
|
if err := s.Echo.Start(":1323"); err != http.ErrServerClosed {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
package main
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
rootCmd := NewRootCmd()
|
|
||||||
rootCmd.AddCommand(NewProxyCmd())
|
|
||||||
if err := rootCmd.Execute(); err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -15,14 +15,14 @@ import (
|
|||||||
"github.com/labstack/echo/v4"
|
"github.com/labstack/echo/v4"
|
||||||
promise "github.com/nlepage/go-js-promise"
|
promise "github.com/nlepage/go-js-promise"
|
||||||
|
|
||||||
"github.com/onsonr/sonr/cmd/dwn/middleware"
|
"github.com/onsonr/sonr/cmd/motr/state"
|
||||||
"github.com/onsonr/sonr/cmd/dwn/state"
|
"github.com/onsonr/sonr/internal/session"
|
||||||
"github.com/onsonr/sonr/pkg/nebula/pages"
|
"github.com/onsonr/sonr/pkg/nebula/pages"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
e := echo.New()
|
e := echo.New()
|
||||||
e.Use(middleware.UseSession)
|
e.Use(session.UseSession)
|
||||||
registerViews(e)
|
registerViews(e)
|
||||||
registerState(e)
|
registerState(e)
|
||||||
Serve(e)
|
Serve(e)
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"net/http"
|
|
||||||
|
|
||||||
"github.com/labstack/echo/v4"
|
|
||||||
"github.com/labstack/gommon/log"
|
|
||||||
"github.com/spf13/cobra"
|
|
||||||
|
|
||||||
"github.com/onsonr/sonr/pkg/nebula"
|
|
||||||
"github.com/onsonr/sonr/pkg/nebula/pages"
|
|
||||||
)
|
|
||||||
|
|
||||||
func NewProxyCmd() *cobra.Command {
|
|
||||||
return &cobra.Command{
|
|
||||||
Use: "start",
|
|
||||||
Short: "Starts the DWN proxy server for the local IPFS node",
|
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
|
||||||
// Echo instance
|
|
||||||
e := echo.New()
|
|
||||||
e.Logger.SetLevel(log.INFO)
|
|
||||||
|
|
||||||
// Configure the server
|
|
||||||
if err := nebula.UseAssets(e); err != nil {
|
|
||||||
e.Logger.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
e.GET("/", pages.Home)
|
|
||||||
e.GET("/login", pages.Login)
|
|
||||||
e.GET("/register", pages.Register)
|
|
||||||
e.GET("/profile", pages.Profile)
|
|
||||||
e.GET("/allocate", pages.Profile)
|
|
||||||
|
|
||||||
if err := e.Start(":1323"); err != http.ErrServerClosed {
|
|
||||||
log.Fatal(err)
|
|
||||||
}
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -269,26 +269,5 @@ class Profile {
|
|||||||
@JsonField
|
@JsonField
|
||||||
updatedAt: String?
|
updatedAt: String?
|
||||||
}
|
}
|
||||||
|
|
||||||
class Session {
|
|
||||||
@PrimaryKey
|
|
||||||
id: String
|
|
||||||
|
|
||||||
@JsonField
|
|
||||||
subject: String
|
|
||||||
|
|
||||||
@JsonField
|
|
||||||
controller: Bech32
|
|
||||||
|
|
||||||
@JsonField
|
|
||||||
origin: String
|
|
||||||
|
|
||||||
@JsonField
|
|
||||||
createdAt: String?
|
|
||||||
|
|
||||||
@JsonField
|
|
||||||
updatedAt: String?
|
|
||||||
}
|
|
||||||
|
|
||||||
db_name: String = "vault"
|
db_name: String = "vault"
|
||||||
db_version: Int = 1
|
db_version: Int = 1
|
||||||
@@ -5,10 +5,21 @@ module models
|
|||||||
import "package://pkg.pkl-lang.org/pkl-go/pkl.golang@0.5.0#/go.pkl"
|
import "package://pkg.pkl-lang.org/pkl-go/pkl.golang@0.5.0#/go.pkl"
|
||||||
|
|
||||||
// ╭───────────────────────────────────────────────────────────╮
|
// ╭───────────────────────────────────────────────────────────╮
|
||||||
// │ General Components │
|
// │ General State │
|
||||||
// ╰───────────────────────────────────────────────────────────╯
|
// ╰───────────────────────────────────────────────────────────╯
|
||||||
|
|
||||||
typealias FormState = "initial" | "error" | "success" | "warning"
|
typealias InputType = "text" | "password" | "email" | "credential" | "file"
|
||||||
|
|
||||||
|
class Button {
|
||||||
|
text: String
|
||||||
|
href: String
|
||||||
|
}
|
||||||
|
|
||||||
|
abstract class Form {
|
||||||
|
title: String
|
||||||
|
description: String
|
||||||
|
inputs: List<Input>
|
||||||
|
}
|
||||||
|
|
||||||
class Image {
|
class Image {
|
||||||
src: String
|
src: String
|
||||||
@@ -16,6 +27,16 @@ class Image {
|
|||||||
height: String
|
height: String
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class Input {
|
||||||
|
label: String
|
||||||
|
type: InputType
|
||||||
|
placeholder: String
|
||||||
|
value: String?
|
||||||
|
error: String?
|
||||||
|
help: String?
|
||||||
|
required: Boolean?
|
||||||
|
}
|
||||||
|
|
||||||
class Link {
|
class Link {
|
||||||
text: String
|
text: String
|
||||||
href: String
|
href: String
|
||||||
@@ -26,34 +47,32 @@ class SocialLink {
|
|||||||
icon: String
|
icon: String
|
||||||
}
|
}
|
||||||
|
|
||||||
class Button {
|
// ╭───────────────────────────────────────────────────────────╮
|
||||||
text: String
|
// │ Data Models │
|
||||||
href: String
|
// ╰───────────────────────────────────────────────────────────╯
|
||||||
|
|
||||||
|
class Feature {
|
||||||
|
title: String
|
||||||
|
description: String
|
||||||
|
icon: String
|
||||||
|
image: Image
|
||||||
}
|
}
|
||||||
|
|
||||||
class Input {
|
class Highlight {
|
||||||
|
title: String
|
||||||
|
description: String
|
||||||
|
image: Image
|
||||||
|
}
|
||||||
|
|
||||||
|
class Stat {
|
||||||
|
value: String
|
||||||
label: String
|
label: String
|
||||||
type: String
|
|
||||||
placeholder: String
|
|
||||||
value: String?
|
|
||||||
error: String?
|
|
||||||
help: String?
|
|
||||||
required: Boolean
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ╭───────────────────────────────────────────────────────────╮
|
// ╭───────────────────────────────────────────────────────────╮
|
||||||
// │ Homepage Components │
|
// │ Homepage View Model │
|
||||||
// ╰───────────────────────────────────────────────────────────╯
|
// ╰───────────────────────────────────────────────────────────╯
|
||||||
|
|
||||||
class Stats {
|
|
||||||
firstValue: String
|
|
||||||
firstLabel: String
|
|
||||||
secondValue: String
|
|
||||||
secondLabel: String
|
|
||||||
thirdValue: String
|
|
||||||
thirdLabel: String
|
|
||||||
}
|
|
||||||
|
|
||||||
class Hero {
|
class Hero {
|
||||||
titleFirst: String
|
titleFirst: String
|
||||||
titleEmphasis: String
|
titleEmphasis: String
|
||||||
@@ -62,6 +81,39 @@ class Hero {
|
|||||||
primaryButton: Button
|
primaryButton: Button
|
||||||
secondaryButton: Button
|
secondaryButton: Button
|
||||||
image: Image
|
image: Image
|
||||||
|
stats: Listing<Stat>
|
||||||
|
}
|
||||||
|
|
||||||
|
class Highlights {
|
||||||
|
heading: String
|
||||||
|
subheading: String
|
||||||
|
highlights: Listing<Highlight>
|
||||||
|
}
|
||||||
|
|
||||||
|
class Features {
|
||||||
|
title: String
|
||||||
|
description: String
|
||||||
|
image: Image
|
||||||
|
}
|
||||||
|
|
||||||
|
class Bento {
|
||||||
|
title: String
|
||||||
|
description: String
|
||||||
|
primaryButton: Button
|
||||||
|
secondaryButton: Button
|
||||||
|
}
|
||||||
|
|
||||||
|
class Lowlights {
|
||||||
|
title: String
|
||||||
|
description: String
|
||||||
|
image: Image
|
||||||
|
}
|
||||||
|
|
||||||
|
class CallToAction {
|
||||||
|
title: String
|
||||||
|
description: String
|
||||||
|
primaryButton: Button
|
||||||
|
secondaryButton: Button
|
||||||
}
|
}
|
||||||
|
|
||||||
class Footer {
|
class Footer {
|
||||||
@@ -70,21 +122,19 @@ class Footer {
|
|||||||
twitterLink: SocialLink
|
twitterLink: SocialLink
|
||||||
discordLink: SocialLink
|
discordLink: SocialLink
|
||||||
githubLink: SocialLink
|
githubLink: SocialLink
|
||||||
companyLinks: List<Link>
|
companyLinks: Listing<Link>
|
||||||
resourcesLinks: List<Link>
|
resourcesLinks: Listing<Link>
|
||||||
}
|
}
|
||||||
|
|
||||||
hero : Hero
|
class Home {
|
||||||
stats : Stats
|
hero: Hero
|
||||||
|
highlights: Listing<Highlight>
|
||||||
// ╭───────────────────────────────────────────────────────────╮
|
features: Listing<Features>
|
||||||
// │ Registration Components │
|
bento: Bento
|
||||||
// ╰───────────────────────────────────────────────────────────╯
|
lowlights: Listing<Lowlights>
|
||||||
|
callToAction: CallToAction
|
||||||
class RegistrationForm {
|
footer: Footer
|
||||||
title: String
|
|
||||||
description: String
|
|
||||||
state: FormState
|
|
||||||
inputs: List<Input>
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
home : Home
|
||||||
|
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
version: "0.6"
|
||||||
|
|
||||||
|
processes:
|
||||||
|
ipfs:
|
||||||
|
namespace: testnet
|
||||||
|
command: "sh scripts/setup_ipfs.sh"
|
||||||
|
background: true
|
||||||
|
availability:
|
||||||
|
restart: on_failure
|
||||||
|
max_restarts: 0
|
||||||
|
|
||||||
|
sonr:
|
||||||
|
namespace: testnet
|
||||||
|
command: "devbox run start:testnet"
|
||||||
|
restart: on_failure
|
||||||
|
max_restarts: 1
|
||||||
|
depends:
|
||||||
|
- ipfs
|
||||||
|
|
||||||
|
hway:
|
||||||
|
namespace: testnet
|
||||||
|
command: "devbox run start:hway"
|
||||||
|
restart: on_failure
|
||||||
|
max_restarts: 1
|
||||||
|
depends:
|
||||||
|
- ipfs
|
||||||
|
- sonr
|
||||||
|
|
||||||
|
tunnel:
|
||||||
|
namespace: public
|
||||||
|
command: "cloudflared tunnel run --token $TUNNEL_TOKEN"
|
||||||
|
restart: on_failure
|
||||||
|
max_restarts: 1
|
||||||
|
depends:
|
||||||
|
- caddy
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
FROM scratch
|
||||||
|
ENTRYPOINT ["/hway"]
|
||||||
|
COPY hway /
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
FROM scratch
|
|
||||||
ENTRYPOINT ["/motr"]
|
|
||||||
COPY motr /
|
|
||||||
@@ -13,13 +13,14 @@ processes:
|
|||||||
namespace: testnet
|
namespace: testnet
|
||||||
command: "devbox run start:testnet"
|
command: "devbox run start:testnet"
|
||||||
restart: on_failure
|
restart: on_failure
|
||||||
|
env:
|
||||||
max_restarts: 1
|
max_restarts: 1
|
||||||
depends:
|
depends:
|
||||||
- ipfs
|
- ipfs
|
||||||
|
|
||||||
motr:
|
hway:
|
||||||
namespace: testnet
|
namespace: testnet
|
||||||
command: "devbox run start:motr"
|
command: "hway start"
|
||||||
restart: on_failure
|
restart: on_failure
|
||||||
max_restarts: 1
|
max_restarts: 1
|
||||||
depends:
|
depends:
|
||||||
|
|||||||
+19
-60
@@ -4,14 +4,16 @@
|
|||||||
"go@1.22",
|
"go@1.22",
|
||||||
"air@latest",
|
"air@latest",
|
||||||
"bun@latest",
|
"bun@latest",
|
||||||
|
"gum@latest",
|
||||||
"ipfs@latest",
|
"ipfs@latest",
|
||||||
"skate@latest",
|
"skate@latest",
|
||||||
|
"templ@latest",
|
||||||
"cloudflared@latest",
|
"cloudflared@latest",
|
||||||
"process-compose@latest"
|
"process-compose@latest"
|
||||||
],
|
],
|
||||||
"env": {
|
"env": {
|
||||||
"GOPATH": "$HOME/go",
|
"GOPATH": "$HOME/go",
|
||||||
"PATH": "$HOME/go/bin:$PATH",
|
"PATH": "./build:$HOME/go/bin:$PATH",
|
||||||
"CHAIN_ID": "sonr-testnet-1",
|
"CHAIN_ID": "sonr-testnet-1",
|
||||||
"DENOM": "usnr",
|
"DENOM": "usnr",
|
||||||
"KEYRING": "test",
|
"KEYRING": "test",
|
||||||
@@ -28,65 +30,22 @@
|
|||||||
},
|
},
|
||||||
"shell": {
|
"shell": {
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": [
|
"dev": ["air"],
|
||||||
"air"
|
"build:docker": ["make local-image"],
|
||||||
],
|
"build:hway": ["make nebula", "make hway"],
|
||||||
"build:docker": [
|
"build:nebula": ["make nebula"],
|
||||||
"make local-image"
|
"build:sonrd": ["make motr", "make build"],
|
||||||
],
|
"build": ["make motr", "make build", "make hway"],
|
||||||
"build:motr": [
|
"gen:proto": ["make proto-gen"],
|
||||||
"make nebula",
|
"gen:pkl": ["make pkl"],
|
||||||
"make motr"
|
"gen:templ": ["make templ"],
|
||||||
],
|
"start:hway": ["make templ", "make hway", "make start-hway"],
|
||||||
"build:nebula": [
|
"start:testnet": ["make templ", "make install", "make sh-testnet"],
|
||||||
"make nebula"
|
"start": ["process-compose up -d"],
|
||||||
],
|
"stop": ["process-compose down"],
|
||||||
"build:sonrd": [
|
"test:e2e": ["make templ", "make test-e2e"],
|
||||||
"make dwn",
|
"test:unit": ["make templ", "make test-unit"],
|
||||||
"make build"
|
"test": ["make templ", "make test"]
|
||||||
],
|
|
||||||
"build": [
|
|
||||||
"make dwn",
|
|
||||||
"make build",
|
|
||||||
"make motr"
|
|
||||||
],
|
|
||||||
"gen:proto": [
|
|
||||||
"make proto-gen"
|
|
||||||
],
|
|
||||||
"gen:pkl": [
|
|
||||||
"make pkl"
|
|
||||||
],
|
|
||||||
"gen:templ": [
|
|
||||||
"make templ"
|
|
||||||
],
|
|
||||||
"start:motr": [
|
|
||||||
"make templ",
|
|
||||||
"make motr",
|
|
||||||
"make start-motr"
|
|
||||||
],
|
|
||||||
"start:testnet": [
|
|
||||||
"make templ",
|
|
||||||
"make install",
|
|
||||||
"make sh-testnet"
|
|
||||||
],
|
|
||||||
"start": [
|
|
||||||
"process-compose up -d"
|
|
||||||
],
|
|
||||||
"stop": [
|
|
||||||
"process-compose down"
|
|
||||||
],
|
|
||||||
"test:e2e": [
|
|
||||||
"make templ",
|
|
||||||
"make test-e2e"
|
|
||||||
],
|
|
||||||
"test:unit": [
|
|
||||||
"make templ",
|
|
||||||
"make test-unit"
|
|
||||||
],
|
|
||||||
"test": [
|
|
||||||
"make templ",
|
|
||||||
"make test"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+96
@@ -193,6 +193,54 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"gum@latest": {
|
||||||
|
"last_modified": "2024-09-10T15:01:03Z",
|
||||||
|
"resolved": "github:NixOS/nixpkgs/5ed627539ac84809c78b2dd6d26a5cebeb5ae269#gum",
|
||||||
|
"source": "devbox-search",
|
||||||
|
"version": "0.14.5",
|
||||||
|
"systems": {
|
||||||
|
"aarch64-darwin": {
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "out",
|
||||||
|
"path": "/nix/store/n1gqffrwdzr3vpsmwmwx3hmw814c1k6g-gum-0.14.5",
|
||||||
|
"default": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"store_path": "/nix/store/n1gqffrwdzr3vpsmwmwx3hmw814c1k6g-gum-0.14.5"
|
||||||
|
},
|
||||||
|
"aarch64-linux": {
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "out",
|
||||||
|
"path": "/nix/store/ggp10jr3l6higs0gqibp6ypjlf7yakpc-gum-0.14.5",
|
||||||
|
"default": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"store_path": "/nix/store/ggp10jr3l6higs0gqibp6ypjlf7yakpc-gum-0.14.5"
|
||||||
|
},
|
||||||
|
"x86_64-darwin": {
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "out",
|
||||||
|
"path": "/nix/store/jq8shghha81s1wg67fcjrfnf4hbliimn-gum-0.14.5",
|
||||||
|
"default": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"store_path": "/nix/store/jq8shghha81s1wg67fcjrfnf4hbliimn-gum-0.14.5"
|
||||||
|
},
|
||||||
|
"x86_64-linux": {
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "out",
|
||||||
|
"path": "/nix/store/f199acwir08z47f3d5kf1fhmhajmd1ig-gum-0.14.5",
|
||||||
|
"default": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"store_path": "/nix/store/f199acwir08z47f3d5kf1fhmhajmd1ig-gum-0.14.5"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"ipfs@latest": {
|
"ipfs@latest": {
|
||||||
"last_modified": "2023-02-24T09:01:09Z",
|
"last_modified": "2023-02-24T09:01:09Z",
|
||||||
"resolved": "github:NixOS/nixpkgs/7d0ed7f2e5aea07ab22ccb338d27fbe347ed2f11#ipfs",
|
"resolved": "github:NixOS/nixpkgs/7d0ed7f2e5aea07ab22ccb338d27fbe347ed2f11#ipfs",
|
||||||
@@ -294,6 +342,54 @@
|
|||||||
"store_path": "/nix/store/6zbyhj72wh0645lj6b9c392aqqg11a84-skate-1.0.0"
|
"store_path": "/nix/store/6zbyhj72wh0645lj6b9c392aqqg11a84-skate-1.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"templ@latest": {
|
||||||
|
"last_modified": "2024-09-10T15:01:03Z",
|
||||||
|
"resolved": "github:NixOS/nixpkgs/5ed627539ac84809c78b2dd6d26a5cebeb5ae269#templ",
|
||||||
|
"source": "devbox-search",
|
||||||
|
"version": "0.2.778",
|
||||||
|
"systems": {
|
||||||
|
"aarch64-darwin": {
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "out",
|
||||||
|
"path": "/nix/store/n3yqslisz9v81k4w4vhci1v2bl1sqf9s-templ-0.2.778",
|
||||||
|
"default": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"store_path": "/nix/store/n3yqslisz9v81k4w4vhci1v2bl1sqf9s-templ-0.2.778"
|
||||||
|
},
|
||||||
|
"aarch64-linux": {
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "out",
|
||||||
|
"path": "/nix/store/i4xjiw0vc25qpr3g01q0x401351w28hr-templ-0.2.778",
|
||||||
|
"default": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"store_path": "/nix/store/i4xjiw0vc25qpr3g01q0x401351w28hr-templ-0.2.778"
|
||||||
|
},
|
||||||
|
"x86_64-darwin": {
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "out",
|
||||||
|
"path": "/nix/store/77w522agb5fgsr36jkifcccr9x4xwkf9-templ-0.2.778",
|
||||||
|
"default": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"store_path": "/nix/store/77w522agb5fgsr36jkifcccr9x4xwkf9-templ-0.2.778"
|
||||||
|
},
|
||||||
|
"x86_64-linux": {
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "out",
|
||||||
|
"path": "/nix/store/1g5ji5930j03cycpcjy12z6lr24l9c65-templ-0.2.778",
|
||||||
|
"default": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"store_path": "/nix/store/1g5ji5930j03cycpcjy12z6lr24l9c65-templ-0.2.778"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
package middleware
|
package auth
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package middleware
|
package auth
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"net/http"
|
"net/http"
|
||||||
@@ -7,21 +7,6 @@ import (
|
|||||||
"gopkg.in/macaroon.v2"
|
"gopkg.in/macaroon.v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
// GetSession returns the current Session
|
|
||||||
func GetSession(c echo.Context) *Session {
|
|
||||||
return c.(*Session)
|
|
||||||
}
|
|
||||||
|
|
||||||
// UseSession establishes a Session Cookie.
|
|
||||||
func UseSession(next echo.HandlerFunc) echo.HandlerFunc {
|
|
||||||
return func(c echo.Context) error {
|
|
||||||
sc := initSession(c)
|
|
||||||
headers := new(RequestHeaders)
|
|
||||||
sc.Bind(headers)
|
|
||||||
return next(sc)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func MacaroonMiddleware(secretKeyStr string, location string) echo.MiddlewareFunc {
|
func MacaroonMiddleware(secretKeyStr string, location string) echo.MiddlewareFunc {
|
||||||
secretKey := []byte(secretKeyStr)
|
secretKey := []byte(secretKeyStr)
|
||||||
return func(next echo.HandlerFunc) echo.HandlerFunc {
|
return func(next echo.HandlerFunc) echo.HandlerFunc {
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
package headers
|
||||||
|
|
||||||
|
type RequestHeaders struct {
|
||||||
|
Authorization *string `header:"Authorization"`
|
||||||
|
CacheControl *string `header:"Cache-Control"`
|
||||||
|
DeviceMemory *string `header:"Device-Memory"`
|
||||||
|
Forwarded *string `header:"Forwarded"`
|
||||||
|
From *string `header:"From"`
|
||||||
|
Host *string `header:"Host"`
|
||||||
|
Link *string `header:"Link"`
|
||||||
|
PermissionsPolicy *string `header:"Permissions-Policy"`
|
||||||
|
ProxyAuthorization *string `header:"Proxy-Authorization"`
|
||||||
|
Referer *string `header:"Referer"`
|
||||||
|
UserAgent *string `header:"User-Agent"`
|
||||||
|
ViewportWidth *string `header:"Viewport-Width"`
|
||||||
|
Width *string `header:"Width"`
|
||||||
|
WWWAuthenticate *string `header:"WWW-Authenticate"`
|
||||||
|
|
||||||
|
// HTMX Specific
|
||||||
|
HXBoosted *string `header:"HX-Boosted"`
|
||||||
|
HXCurrentURL *string `header:"HX-Current-URL"`
|
||||||
|
HXHistoryRestoreRequest *string `header:"HX-History-Restore-Request"`
|
||||||
|
HXPrompt *string `header:"HX-Prompt"`
|
||||||
|
HXRequest *string `header:"HX-Request"`
|
||||||
|
HXTarget *string `header:"HX-Target"`
|
||||||
|
HXTriggerName *string `header:"HX-Trigger-Name"`
|
||||||
|
HXTrigger *string `header:"HX-Trigger"`
|
||||||
|
}
|
||||||
@@ -1,31 +1,4 @@
|
|||||||
package middleware
|
package headers
|
||||||
|
|
||||||
type RequestHeaders struct {
|
|
||||||
Authorization *string `header:"Authorization"`
|
|
||||||
CacheControl *string `header:"Cache-Control"`
|
|
||||||
DeviceMemory *string `header:"Device-Memory"`
|
|
||||||
Forwarded *string `header:"Forwarded"`
|
|
||||||
From *string `header:"From"`
|
|
||||||
Host *string `header:"Host"`
|
|
||||||
Link *string `header:"Link"`
|
|
||||||
PermissionsPolicy *string `header:"Permissions-Policy"`
|
|
||||||
ProxyAuthorization *string `header:"Proxy-Authorization"`
|
|
||||||
Referer *string `header:"Referer"`
|
|
||||||
UserAgent *string `header:"User-Agent"`
|
|
||||||
ViewportWidth *string `header:"Viewport-Width"`
|
|
||||||
Width *string `header:"Width"`
|
|
||||||
WWWAuthenticate *string `header:"WWW-Authenticate"`
|
|
||||||
|
|
||||||
// HTMX Specific
|
|
||||||
HXBoosted *string `header:"HX-Boosted"`
|
|
||||||
HXCurrentURL *string `header:"HX-Current-URL"`
|
|
||||||
HXHistoryRestoreRequest *string `header:"HX-History-Restore-Request"`
|
|
||||||
HXPrompt *string `header:"HX-Prompt"`
|
|
||||||
HXRequest *string `header:"HX-Request"`
|
|
||||||
HXTarget *string `header:"HX-Target"`
|
|
||||||
HXTriggerName *string `header:"HX-Trigger-Name"`
|
|
||||||
HXTrigger *string `header:"HX-Trigger"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type ResponseHeaders struct {
|
type ResponseHeaders struct {
|
||||||
AcceptCH *string `header:"Accept-CH"`
|
AcceptCH *string `header:"Accept-CH"`
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package middleware
|
package session
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"net/http"
|
"net/http"
|
||||||
@@ -6,7 +6,6 @@ import (
|
|||||||
|
|
||||||
"github.com/donseba/go-htmx"
|
"github.com/donseba/go-htmx"
|
||||||
"github.com/labstack/echo/v4"
|
"github.com/labstack/echo/v4"
|
||||||
"github.com/segmentio/ksuid"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Session struct {
|
type Session struct {
|
||||||
@@ -22,15 +21,6 @@ func (c *Session) ID() string {
|
|||||||
return ReadCookie(c, "session")
|
return ReadCookie(c, "session")
|
||||||
}
|
}
|
||||||
|
|
||||||
func initSession(c echo.Context) *Session {
|
|
||||||
s := &Session{Context: c}
|
|
||||||
if val := ReadCookie(c, "session"); val == "" {
|
|
||||||
id := ksuid.New().String()
|
|
||||||
WriteCookie(c, "session", id)
|
|
||||||
}
|
|
||||||
return s
|
|
||||||
}
|
|
||||||
|
|
||||||
func ReadCookie(c echo.Context, key string) string {
|
func ReadCookie(c echo.Context, key string) string {
|
||||||
cookie, err := c.Cookie(key)
|
cookie, err := c.Cookie(key)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
package session
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/labstack/echo/v4"
|
||||||
|
"github.com/segmentio/ksuid"
|
||||||
|
|
||||||
|
"github.com/onsonr/sonr/internal/headers"
|
||||||
|
)
|
||||||
|
|
||||||
|
// GetSession returns the current Session
|
||||||
|
func GetSession(c echo.Context) *Session {
|
||||||
|
return c.(*Session)
|
||||||
|
}
|
||||||
|
|
||||||
|
// UseSession establishes a Session Cookie.
|
||||||
|
func UseSession(next echo.HandlerFunc) echo.HandlerFunc {
|
||||||
|
return func(c echo.Context) error {
|
||||||
|
sc := initSession(c)
|
||||||
|
headers := new(headers.RequestHeaders)
|
||||||
|
err := sc.Bind(headers)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return next(sc)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func initSession(c echo.Context) *Session {
|
||||||
|
s := &Session{Context: c}
|
||||||
|
if val := ReadCookie(c, "session"); val == "" {
|
||||||
|
id := ksuid.New().String()
|
||||||
|
WriteCookie(c, "session", id)
|
||||||
|
}
|
||||||
|
return s
|
||||||
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
package home
|
package home
|
||||||
|
|
||||||
templ MarketingFooter() {
|
templ Footer() {
|
||||||
<!-- Site footer -->
|
<!-- Site footer -->
|
||||||
<footer>
|
<footer>
|
||||||
<div class="max-w-5xl mx-auto px-4 sm:px-6">
|
<div class="max-w-5xl mx-auto px-4 sm:px-6">
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ package home
|
|||||||
import "github.com/a-h/templ"
|
import "github.com/a-h/templ"
|
||||||
import templruntime "github.com/a-h/templ/runtime"
|
import templruntime "github.com/a-h/templ/runtime"
|
||||||
|
|
||||||
func MarketingFooter() templ.Component {
|
func Footer() templ.Component {
|
||||||
return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
|
return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
|
||||||
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
|
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
|
||||||
if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
|
if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package home
|
package home
|
||||||
|
|
||||||
templ MarketingHeader() {
|
templ Header() {
|
||||||
<!-- Site header -->
|
<!-- Site header -->
|
||||||
<header class="absolute top-2 md:top-6 w-full z-30">
|
<header class="absolute top-2 md:top-6 w-full z-30">
|
||||||
<div class="px-4 sm:px-6">
|
<div class="px-4 sm:px-6">
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ package home
|
|||||||
import "github.com/a-h/templ"
|
import "github.com/a-h/templ"
|
||||||
import templruntime "github.com/a-h/templ/runtime"
|
import templruntime "github.com/a-h/templ/runtime"
|
||||||
|
|
||||||
func MarketingHeader() templ.Component {
|
func Header() templ.Component {
|
||||||
return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
|
return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
|
||||||
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
|
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
|
||||||
if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
|
if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
package home
|
package home
|
||||||
|
|
||||||
import "github.com/onsonr/sonr/pkg/nebula/models"
|
import (
|
||||||
|
"github.com/onsonr/sonr/pkg/nebula/components/ui"
|
||||||
|
"github.com/onsonr/sonr/pkg/nebula/models"
|
||||||
|
)
|
||||||
|
|
||||||
templ SectionHero(hero *models.Hero) {
|
templ SectionHero(hero *models.Hero) {
|
||||||
<!-- Hero -->
|
<!-- Hero -->
|
||||||
@@ -24,12 +27,8 @@ templ SectionHero(hero *models.Hero) {
|
|||||||
{ hero.Subtitle }
|
{ hero.Subtitle }
|
||||||
</p>
|
</p>
|
||||||
<div class="max-w-xs mx-auto sm:max-w-none sm:inline-flex sm:justify-center space-y-4 sm:space-y-0 sm:space-x-4">
|
<div class="max-w-xs mx-auto sm:max-w-none sm:inline-flex sm:justify-center space-y-4 sm:space-y-0 sm:space-x-4">
|
||||||
<div>
|
@ui.PrimaryButton(hero.PrimaryButton.Href, hero.PrimaryButton.Text)
|
||||||
<div class="btn cursor-pointer text-zinc-100 bg-zinc-900 hover:bg-zinc-800 w-full shadow" hx-swap="afterend" hx-get={ hero.PrimaryButton.Href }>{ hero.PrimaryButton.Text }</div>
|
@ui.SecondaryButton(hero.SecondaryButton.Href, hero.SecondaryButton.Text)
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<div class="btn cursor-pointer text-zinc-600 bg-white hover:text-zinc-900 w-full shadow" hx-swap="afterend" hx-get={ hero.SecondaryButton.Href }>{ hero.SecondaryButton.Text }</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -8,7 +8,10 @@ package home
|
|||||||
import "github.com/a-h/templ"
|
import "github.com/a-h/templ"
|
||||||
import templruntime "github.com/a-h/templ/runtime"
|
import templruntime "github.com/a-h/templ/runtime"
|
||||||
|
|
||||||
import "github.com/onsonr/sonr/pkg/nebula/models"
|
import (
|
||||||
|
"github.com/onsonr/sonr/pkg/nebula/components/ui"
|
||||||
|
"github.com/onsonr/sonr/pkg/nebula/models"
|
||||||
|
)
|
||||||
|
|
||||||
func SectionHero(hero *models.Hero) templ.Component {
|
func SectionHero(hero *models.Hero) templ.Component {
|
||||||
return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
|
return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
|
||||||
@@ -38,7 +41,7 @@ func SectionHero(hero *models.Hero) templ.Component {
|
|||||||
var templ_7745c5c3_Var2 string
|
var templ_7745c5c3_Var2 string
|
||||||
templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(hero.TitleFirst)
|
templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(hero.TitleFirst)
|
||||||
if templ_7745c5c3_Err != nil {
|
if templ_7745c5c3_Err != nil {
|
||||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/nebula/components/home/hero.templ`, Line: 14, Col: 24}
|
return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/nebula/components/home/hero.templ`, Line: 17, Col: 24}
|
||||||
}
|
}
|
||||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2))
|
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2))
|
||||||
if templ_7745c5c3_Err != nil {
|
if templ_7745c5c3_Err != nil {
|
||||||
@@ -51,7 +54,7 @@ func SectionHero(hero *models.Hero) templ.Component {
|
|||||||
var templ_7745c5c3_Var3 string
|
var templ_7745c5c3_Var3 string
|
||||||
templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(hero.TitleEmphasis)
|
templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(hero.TitleEmphasis)
|
||||||
if templ_7745c5c3_Err != nil {
|
if templ_7745c5c3_Err != nil {
|
||||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/nebula/components/home/hero.templ`, Line: 16, Col: 28}
|
return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/nebula/components/home/hero.templ`, Line: 19, Col: 28}
|
||||||
}
|
}
|
||||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
|
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
|
||||||
if templ_7745c5c3_Err != nil {
|
if templ_7745c5c3_Err != nil {
|
||||||
@@ -64,7 +67,7 @@ func SectionHero(hero *models.Hero) templ.Component {
|
|||||||
var templ_7745c5c3_Var4 string
|
var templ_7745c5c3_Var4 string
|
||||||
templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(hero.TitleSecond)
|
templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(hero.TitleSecond)
|
||||||
if templ_7745c5c3_Err != nil {
|
if templ_7745c5c3_Err != nil {
|
||||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/nebula/components/home/hero.templ`, Line: 21, Col: 25}
|
return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/nebula/components/home/hero.templ`, Line: 24, Col: 25}
|
||||||
}
|
}
|
||||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
|
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
|
||||||
if templ_7745c5c3_Err != nil {
|
if templ_7745c5c3_Err != nil {
|
||||||
@@ -77,65 +80,25 @@ func SectionHero(hero *models.Hero) templ.Component {
|
|||||||
var templ_7745c5c3_Var5 string
|
var templ_7745c5c3_Var5 string
|
||||||
templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(hero.Subtitle)
|
templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(hero.Subtitle)
|
||||||
if templ_7745c5c3_Err != nil {
|
if templ_7745c5c3_Err != nil {
|
||||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/nebula/components/home/hero.templ`, Line: 24, Col: 22}
|
return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/nebula/components/home/hero.templ`, Line: 27, Col: 22}
|
||||||
}
|
}
|
||||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
|
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
|
||||||
if templ_7745c5c3_Err != nil {
|
if templ_7745c5c3_Err != nil {
|
||||||
return templ_7745c5c3_Err
|
return templ_7745c5c3_Err
|
||||||
}
|
}
|
||||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</p><div class=\"max-w-xs mx-auto sm:max-w-none sm:inline-flex sm:justify-center space-y-4 sm:space-y-0 sm:space-x-4\"><div><div class=\"btn cursor-pointer text-zinc-100 bg-zinc-900 hover:bg-zinc-800 w-full shadow\" hx-swap=\"afterend\" hx-get=\"")
|
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</p><div class=\"max-w-xs mx-auto sm:max-w-none sm:inline-flex sm:justify-center space-y-4 sm:space-y-0 sm:space-x-4\">")
|
||||||
if templ_7745c5c3_Err != nil {
|
if templ_7745c5c3_Err != nil {
|
||||||
return templ_7745c5c3_Err
|
return templ_7745c5c3_Err
|
||||||
}
|
}
|
||||||
var templ_7745c5c3_Var6 string
|
templ_7745c5c3_Err = ui.PrimaryButton(hero.PrimaryButton.Href, hero.PrimaryButton.Text).Render(ctx, templ_7745c5c3_Buffer)
|
||||||
templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(hero.PrimaryButton.Href)
|
|
||||||
if templ_7745c5c3_Err != nil {
|
|
||||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/nebula/components/home/hero.templ`, Line: 28, Col: 149}
|
|
||||||
}
|
|
||||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6))
|
|
||||||
if templ_7745c5c3_Err != nil {
|
if templ_7745c5c3_Err != nil {
|
||||||
return templ_7745c5c3_Err
|
return templ_7745c5c3_Err
|
||||||
}
|
}
|
||||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\">")
|
templ_7745c5c3_Err = ui.SecondaryButton(hero.SecondaryButton.Href, hero.SecondaryButton.Text).Render(ctx, templ_7745c5c3_Buffer)
|
||||||
if templ_7745c5c3_Err != nil {
|
if templ_7745c5c3_Err != nil {
|
||||||
return templ_7745c5c3_Err
|
return templ_7745c5c3_Err
|
||||||
}
|
}
|
||||||
var templ_7745c5c3_Var7 string
|
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div></div></div>")
|
||||||
templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(hero.PrimaryButton.Text)
|
|
||||||
if templ_7745c5c3_Err != nil {
|
|
||||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/nebula/components/home/hero.templ`, Line: 28, Col: 177}
|
|
||||||
}
|
|
||||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7))
|
|
||||||
if templ_7745c5c3_Err != nil {
|
|
||||||
return templ_7745c5c3_Err
|
|
||||||
}
|
|
||||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div></div><div><div class=\"btn cursor-pointer text-zinc-600 bg-white hover:text-zinc-900 w-full shadow\" hx-swap=\"afterend\" hx-get=\"")
|
|
||||||
if templ_7745c5c3_Err != nil {
|
|
||||||
return templ_7745c5c3_Err
|
|
||||||
}
|
|
||||||
var templ_7745c5c3_Var8 string
|
|
||||||
templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(hero.SecondaryButton.Href)
|
|
||||||
if templ_7745c5c3_Err != nil {
|
|
||||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/nebula/components/home/hero.templ`, Line: 31, Col: 150}
|
|
||||||
}
|
|
||||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8))
|
|
||||||
if templ_7745c5c3_Err != nil {
|
|
||||||
return templ_7745c5c3_Err
|
|
||||||
}
|
|
||||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\">")
|
|
||||||
if templ_7745c5c3_Err != nil {
|
|
||||||
return templ_7745c5c3_Err
|
|
||||||
}
|
|
||||||
var templ_7745c5c3_Var9 string
|
|
||||||
templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs(hero.SecondaryButton.Text)
|
|
||||||
if templ_7745c5c3_Err != nil {
|
|
||||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/nebula/components/home/hero.templ`, Line: 31, Col: 180}
|
|
||||||
}
|
|
||||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9))
|
|
||||||
if templ_7745c5c3_Err != nil {
|
|
||||||
return templ_7745c5c3_Err
|
|
||||||
}
|
|
||||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div></div></div></div></div>")
|
|
||||||
if templ_7745c5c3_Err != nil {
|
if templ_7745c5c3_Err != nil {
|
||||||
return templ_7745c5c3_Err
|
return templ_7745c5c3_Err
|
||||||
}
|
}
|
||||||
@@ -171,21 +134,21 @@ func heroImage(hero *models.Hero) templ.Component {
|
|||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
ctx = templ.InitializeContext(ctx)
|
ctx = templ.InitializeContext(ctx)
|
||||||
templ_7745c5c3_Var10 := templ.GetChildren(ctx)
|
templ_7745c5c3_Var6 := templ.GetChildren(ctx)
|
||||||
if templ_7745c5c3_Var10 == nil {
|
if templ_7745c5c3_Var6 == nil {
|
||||||
templ_7745c5c3_Var10 = templ.NopComponent
|
templ_7745c5c3_Var6 = templ.NopComponent
|
||||||
}
|
}
|
||||||
ctx = templ.ClearChildren(ctx)
|
ctx = templ.ClearChildren(ctx)
|
||||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<!-- Image --><div class=\"max-w-5xl mx-auto px-4 sm:px-6 flex justify-center pb-12 md:pb-20 relative before:absolute before:-top-12 before:w-96 before:h-96 before:bg-zinc-900 before:opacity-[.15] before:rounded-full before:blur-3xl before:-z-10 from-zinc-100 to-white\"><img class=\"rounded-lg\" src=\"")
|
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<!-- Image --><div class=\"max-w-5xl mx-auto px-4 sm:px-6 flex justify-center pb-12 md:pb-20 relative before:absolute before:-top-12 before:w-96 before:h-96 before:bg-zinc-900 before:opacity-[.15] before:rounded-full before:blur-3xl before:-z-10 from-zinc-100 to-white\"><img class=\"rounded-lg\" src=\"")
|
||||||
if templ_7745c5c3_Err != nil {
|
if templ_7745c5c3_Err != nil {
|
||||||
return templ_7745c5c3_Err
|
return templ_7745c5c3_Err
|
||||||
}
|
}
|
||||||
var templ_7745c5c3_Var11 string
|
var templ_7745c5c3_Var7 string
|
||||||
templ_7745c5c3_Var11, templ_7745c5c3_Err = templ.JoinStringErrs(hero.Image.Src)
|
templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(hero.Image.Src)
|
||||||
if templ_7745c5c3_Err != nil {
|
if templ_7745c5c3_Err != nil {
|
||||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/nebula/components/home/hero.templ`, Line: 48, Col: 23}
|
return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/nebula/components/home/hero.templ`, Line: 47, Col: 23}
|
||||||
}
|
}
|
||||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var11))
|
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7))
|
||||||
if templ_7745c5c3_Err != nil {
|
if templ_7745c5c3_Err != nil {
|
||||||
return templ_7745c5c3_Err
|
return templ_7745c5c3_Err
|
||||||
}
|
}
|
||||||
@@ -193,12 +156,12 @@ func heroImage(hero *models.Hero) templ.Component {
|
|||||||
if templ_7745c5c3_Err != nil {
|
if templ_7745c5c3_Err != nil {
|
||||||
return templ_7745c5c3_Err
|
return templ_7745c5c3_Err
|
||||||
}
|
}
|
||||||
var templ_7745c5c3_Var12 string
|
var templ_7745c5c3_Var8 string
|
||||||
templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.JoinStringErrs(hero.Image.Width)
|
templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(hero.Image.Width)
|
||||||
if templ_7745c5c3_Err != nil {
|
if templ_7745c5c3_Err != nil {
|
||||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/nebula/components/home/hero.templ`, Line: 49, Col: 27}
|
return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/nebula/components/home/hero.templ`, Line: 48, Col: 27}
|
||||||
}
|
}
|
||||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var12))
|
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8))
|
||||||
if templ_7745c5c3_Err != nil {
|
if templ_7745c5c3_Err != nil {
|
||||||
return templ_7745c5c3_Err
|
return templ_7745c5c3_Err
|
||||||
}
|
}
|
||||||
@@ -206,12 +169,12 @@ func heroImage(hero *models.Hero) templ.Component {
|
|||||||
if templ_7745c5c3_Err != nil {
|
if templ_7745c5c3_Err != nil {
|
||||||
return templ_7745c5c3_Err
|
return templ_7745c5c3_Err
|
||||||
}
|
}
|
||||||
var templ_7745c5c3_Var13 string
|
var templ_7745c5c3_Var9 string
|
||||||
templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs(hero.Image.Height)
|
templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs(hero.Image.Height)
|
||||||
if templ_7745c5c3_Err != nil {
|
if templ_7745c5c3_Err != nil {
|
||||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/nebula/components/home/hero.templ`, Line: 50, Col: 29}
|
return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/nebula/components/home/hero.templ`, Line: 49, Col: 29}
|
||||||
}
|
}
|
||||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13))
|
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9))
|
||||||
if templ_7745c5c3_Err != nil {
|
if templ_7745c5c3_Err != nil {
|
||||||
return templ_7745c5c3_Err
|
return templ_7745c5c3_Err
|
||||||
}
|
}
|
||||||
@@ -239,9 +202,9 @@ func stats() templ.Component {
|
|||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
ctx = templ.InitializeContext(ctx)
|
ctx = templ.InitializeContext(ctx)
|
||||||
templ_7745c5c3_Var14 := templ.GetChildren(ctx)
|
templ_7745c5c3_Var10 := templ.GetChildren(ctx)
|
||||||
if templ_7745c5c3_Var14 == nil {
|
if templ_7745c5c3_Var10 == nil {
|
||||||
templ_7745c5c3_Var14 = templ.NopComponent
|
templ_7745c5c3_Var10 = templ.NopComponent
|
||||||
}
|
}
|
||||||
ctx = templ.ClearChildren(ctx)
|
ctx = templ.ClearChildren(ctx)
|
||||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<!-- Stats --><div class=\"max-w-4xl mx-auto px-4 sm:px-6 justify-center items-center\"><div class=\"max-w-sm mx-auto grid gap-12 sm:grid-cols-2 md:grid-cols-4 md:-mx-5 md:gap-0 items-end md:max-w-none\"><!-- 1st item --><div class=\"relative text-center md:px-5 after:hidden md:after:block after:absolute after:right-0 after:top-1/2 after:-translate-y-1/2 after:w-px after:h-8 after:border-l after:border-zinc-300 after:border-dashed last:after:hidden\"><h4 class=\"font-inter-tight text-2xl md:text-3xl font-bold tabular-nums mb-2\"><span x-data=\"counter(476)\" x-text=\"counterValue\">0</span>K</h4><p class=\"text-sm text-zinc-500\">Assets packed with power beyond your imagination.</p></div><!-- 2nd item --><div class=\"relative text-center md:px-5 after:hidden md:after:block after:absolute after:right-0 after:top-1/2 after:-translate-y-1/2 after:w-px after:h-8 after:border-l after:border-zinc-300 after:border-dashed last:after:hidden\"><h4 class=\"font-inter-tight text-2xl md:text-3xl font-bold tabular-nums mb-2\"><span x-data=\"counter(1.44)\" x-text=\"counterValue\">0</span>K</h4><p class=\"text-sm text-zinc-500\">Assets packed with power beyond your imagination.</p></div><!-- 3rd item --><div class=\"relative text-center md:px-5 after:hidden md:after:block after:absolute after:right-0 after:top-1/2 after:-translate-y-1/2 after:w-px after:h-8 after:border-l after:border-zinc-300 after:border-dashed last:after:hidden\"><h4 class=\"font-inter-tight text-2xl md:text-3xl font-bold tabular-nums mb-2\"><span x-data=\"counter(1.5)\" x-text=\"counterValue\">0</span>M+</h4><p class=\"text-sm text-zinc-500\">Assets packed with power beyond your imagination.</p></div><!-- 4th item --><div class=\"relative text-center md:px-5 after:hidden md:after:block after:absolute after:right-0 after:top-1/2 after:-translate-y-1/2 after:w-px after:h-8 after:border-l after:border-zinc-300 after:border-dashed last:after:hidden\"><h4 class=\"font-inter-tight text-2xl md:text-3xl font-bold tabular-nums mb-2\"><span x-data=\"counter(750)\" x-text=\"counterValue\">0</span>K</h4><p class=\"text-sm text-zinc-500\">Assets packed with power beyond your imagination.</p></div></div>")
|
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<!-- Stats --><div class=\"max-w-4xl mx-auto px-4 sm:px-6 justify-center items-center\"><div class=\"max-w-sm mx-auto grid gap-12 sm:grid-cols-2 md:grid-cols-4 md:-mx-5 md:gap-0 items-end md:max-w-none\"><!-- 1st item --><div class=\"relative text-center md:px-5 after:hidden md:after:block after:absolute after:right-0 after:top-1/2 after:-translate-y-1/2 after:w-px after:h-8 after:border-l after:border-zinc-300 after:border-dashed last:after:hidden\"><h4 class=\"font-inter-tight text-2xl md:text-3xl font-bold tabular-nums mb-2\"><span x-data=\"counter(476)\" x-text=\"counterValue\">0</span>K</h4><p class=\"text-sm text-zinc-500\">Assets packed with power beyond your imagination.</p></div><!-- 2nd item --><div class=\"relative text-center md:px-5 after:hidden md:after:block after:absolute after:right-0 after:top-1/2 after:-translate-y-1/2 after:w-px after:h-8 after:border-l after:border-zinc-300 after:border-dashed last:after:hidden\"><h4 class=\"font-inter-tight text-2xl md:text-3xl font-bold tabular-nums mb-2\"><span x-data=\"counter(1.44)\" x-text=\"counterValue\">0</span>K</h4><p class=\"text-sm text-zinc-500\">Assets packed with power beyond your imagination.</p></div><!-- 3rd item --><div class=\"relative text-center md:px-5 after:hidden md:after:block after:absolute after:right-0 after:top-1/2 after:-translate-y-1/2 after:w-px after:h-8 after:border-l after:border-zinc-300 after:border-dashed last:after:hidden\"><h4 class=\"font-inter-tight text-2xl md:text-3xl font-bold tabular-nums mb-2\"><span x-data=\"counter(1.5)\" x-text=\"counterValue\">0</span>M+</h4><p class=\"text-sm text-zinc-500\">Assets packed with power beyond your imagination.</p></div><!-- 4th item --><div class=\"relative text-center md:px-5 after:hidden md:after:block after:absolute after:right-0 after:top-1/2 after:-translate-y-1/2 after:w-px after:h-8 after:border-l after:border-zinc-300 after:border-dashed last:after:hidden\"><h4 class=\"font-inter-tight text-2xl md:text-3xl font-bold tabular-nums mb-2\"><span x-data=\"counter(750)\" x-text=\"counterValue\">0</span>K</h4><p class=\"text-sm text-zinc-500\">Assets packed with power beyond your imagination.</p></div></div>")
|
||||||
|
|||||||
@@ -144,14 +144,6 @@ templ Highlights() {
|
|||||||
height="360"
|
height="360"
|
||||||
alt="Feature 01"
|
alt="Feature 01"
|
||||||
/>
|
/>
|
||||||
<img
|
|
||||||
class="absolute top-0 left-full mix-blend-exclusion -translate-x-[70%] -mr-20 max-md:w-[45%]"
|
|
||||||
src="https://cdn.sonr.id/img/secure-keys.svg"
|
|
||||||
width="224"
|
|
||||||
height="224"
|
|
||||||
alt="Illustration"
|
|
||||||
aria-hidden="true"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- Item 2 -->
|
<!-- Item 2 -->
|
||||||
@@ -173,14 +165,6 @@ templ Highlights() {
|
|||||||
height="360"
|
height="360"
|
||||||
alt="Feature 02"
|
alt="Feature 02"
|
||||||
/>
|
/>
|
||||||
<img
|
|
||||||
class="absolute top-0 left-full mix-blend-exclusion -translate-x-[70%] -mr-20 max-md:w-[45%]"
|
|
||||||
src="https://cdn.sonr.id/img/secure-keys.svg"
|
|
||||||
width="224"
|
|
||||||
height="224"
|
|
||||||
alt="Illustration"
|
|
||||||
aria-hidden="true"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- Item 3 -->
|
<!-- Item 3 -->
|
||||||
@@ -202,14 +186,6 @@ templ Highlights() {
|
|||||||
height="360"
|
height="360"
|
||||||
alt="Feature 03"
|
alt="Feature 03"
|
||||||
/>
|
/>
|
||||||
<img
|
|
||||||
class="absolute top-0 left-full mix-blend-exclusion -translate-x-[70%] -mr-20 max-md:w-[45%]"
|
|
||||||
src="https://cdn.sonr.id/img/secure-keys.svg"
|
|
||||||
width="224"
|
|
||||||
height="224"
|
|
||||||
alt="Illustration"
|
|
||||||
aria-hidden="true"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- Item 4 -->
|
<!-- Item 4 -->
|
||||||
@@ -231,14 +207,6 @@ templ Highlights() {
|
|||||||
height="360"
|
height="360"
|
||||||
alt="Feature 04"
|
alt="Feature 04"
|
||||||
/>
|
/>
|
||||||
<img
|
|
||||||
class="absolute top-0 left-full mix-blend-exclusion -translate-x-[70%] -mr-20 max-md:w-[45%]"
|
|
||||||
src="https://cdn.sonr.id/img/secure-keys.svg"
|
|
||||||
width="224"
|
|
||||||
height="224"
|
|
||||||
alt="Illustration"
|
|
||||||
aria-hidden="true"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -5,15 +5,15 @@ import (
|
|||||||
"github.com/onsonr/sonr/pkg/nebula/models"
|
"github.com/onsonr/sonr/pkg/nebula/models"
|
||||||
)
|
)
|
||||||
|
|
||||||
templ View(hero *models.Hero) {
|
templ View(home *models.Home) {
|
||||||
@blocks.LayoutNoBody("Sonr.ID", true) {
|
@blocks.LayoutNoBody("Sonr.ID", true) {
|
||||||
@MarketingHeader()
|
@Header()
|
||||||
@SectionHero(hero)
|
@SectionHero(home.Hero)
|
||||||
@Highlights()
|
@Highlights()
|
||||||
@Features()
|
@Features()
|
||||||
@Bento()
|
@Bento()
|
||||||
@Lowlights()
|
@Lowlights()
|
||||||
@CallToAction()
|
@CallToAction()
|
||||||
@MarketingFooter()
|
@Footer()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import (
|
|||||||
"github.com/onsonr/sonr/pkg/nebula/models"
|
"github.com/onsonr/sonr/pkg/nebula/models"
|
||||||
)
|
)
|
||||||
|
|
||||||
func View(hero *models.Hero) templ.Component {
|
func View(home *models.Home) templ.Component {
|
||||||
return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
|
return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
|
||||||
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
|
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
|
||||||
if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
|
if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
|
||||||
@@ -46,7 +46,7 @@ func View(hero *models.Hero) templ.Component {
|
|||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
ctx = templ.InitializeContext(ctx)
|
ctx = templ.InitializeContext(ctx)
|
||||||
templ_7745c5c3_Err = MarketingHeader().Render(ctx, templ_7745c5c3_Buffer)
|
templ_7745c5c3_Err = Header().Render(ctx, templ_7745c5c3_Buffer)
|
||||||
if templ_7745c5c3_Err != nil {
|
if templ_7745c5c3_Err != nil {
|
||||||
return templ_7745c5c3_Err
|
return templ_7745c5c3_Err
|
||||||
}
|
}
|
||||||
@@ -54,7 +54,7 @@ func View(hero *models.Hero) templ.Component {
|
|||||||
if templ_7745c5c3_Err != nil {
|
if templ_7745c5c3_Err != nil {
|
||||||
return templ_7745c5c3_Err
|
return templ_7745c5c3_Err
|
||||||
}
|
}
|
||||||
templ_7745c5c3_Err = SectionHero(hero).Render(ctx, templ_7745c5c3_Buffer)
|
templ_7745c5c3_Err = SectionHero(home.Hero).Render(ctx, templ_7745c5c3_Buffer)
|
||||||
if templ_7745c5c3_Err != nil {
|
if templ_7745c5c3_Err != nil {
|
||||||
return templ_7745c5c3_Err
|
return templ_7745c5c3_Err
|
||||||
}
|
}
|
||||||
@@ -102,7 +102,7 @@ func View(hero *models.Hero) templ.Component {
|
|||||||
if templ_7745c5c3_Err != nil {
|
if templ_7745c5c3_Err != nil {
|
||||||
return templ_7745c5c3_Err
|
return templ_7745c5c3_Err
|
||||||
}
|
}
|
||||||
templ_7745c5c3_Err = MarketingFooter().Render(ctx, templ_7745c5c3_Buffer)
|
templ_7745c5c3_Err = Footer().Render(ctx, templ_7745c5c3_Buffer)
|
||||||
if templ_7745c5c3_Err != nil {
|
if templ_7745c5c3_Err != nil {
|
||||||
return templ_7745c5c3_Err
|
return templ_7745c5c3_Err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ package register
|
|||||||
import (
|
import (
|
||||||
"github.com/labstack/echo/v4"
|
"github.com/labstack/echo/v4"
|
||||||
"github.com/onsonr/sonr/pkg/nebula/components/blocks"
|
"github.com/onsonr/sonr/pkg/nebula/components/blocks"
|
||||||
"github.com/onsonr/sonr/pkg/nebula/models/formstate"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
templ Modal(c echo.Context) {
|
templ Modal(c echo.Context) {
|
||||||
@@ -47,7 +46,7 @@ templ Modal(c echo.Context) {
|
|||||||
<p>Enter your account information below to create your account.</p>
|
<p>Enter your account information below to create your account.</p>
|
||||||
</div>
|
</div>
|
||||||
@blocks.Breadcrumbs()
|
@blocks.Breadcrumbs()
|
||||||
@basicInfoForm(formstate.Initial)
|
@basicInfoForm()
|
||||||
@blocks.Spacer()
|
@blocks.Spacer()
|
||||||
<div class="flex flex-col-reverse sm:flex-row sm:justify-between sm:space-x-2">
|
<div class="flex flex-col-reverse sm:flex-row sm:justify-between sm:space-x-2">
|
||||||
<button @click="modalOpen=false" type="button" class="inline-flex items-center justify-center h-10 px-4 py-2 text-sm font-medium transition-colors border rounded-md focus:outline-none focus:ring-2 focus:ring-neutral-100 focus:ring-offset-2">Cancel</button>
|
<button @click="modalOpen=false" type="button" class="inline-flex items-center justify-center h-10 px-4 py-2 text-sm font-medium transition-colors border rounded-md focus:outline-none focus:ring-2 focus:ring-neutral-100 focus:ring-offset-2">Cancel</button>
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ import templruntime "github.com/a-h/templ/runtime"
|
|||||||
import (
|
import (
|
||||||
"github.com/labstack/echo/v4"
|
"github.com/labstack/echo/v4"
|
||||||
"github.com/onsonr/sonr/pkg/nebula/components/blocks"
|
"github.com/onsonr/sonr/pkg/nebula/components/blocks"
|
||||||
"github.com/onsonr/sonr/pkg/nebula/models/formstate"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func Modal(c echo.Context) templ.Component {
|
func Modal(c echo.Context) templ.Component {
|
||||||
@@ -43,7 +42,7 @@ func Modal(c echo.Context) templ.Component {
|
|||||||
if templ_7745c5c3_Err != nil {
|
if templ_7745c5c3_Err != nil {
|
||||||
return templ_7745c5c3_Err
|
return templ_7745c5c3_Err
|
||||||
}
|
}
|
||||||
templ_7745c5c3_Err = basicInfoForm(formstate.Initial).Render(ctx, templ_7745c5c3_Buffer)
|
templ_7745c5c3_Err = basicInfoForm().Render(ctx, templ_7745c5c3_Buffer)
|
||||||
if templ_7745c5c3_Err != nil {
|
if templ_7745c5c3_Err != nil {
|
||||||
return templ_7745c5c3_Err
|
return templ_7745c5c3_Err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,31 +1,11 @@
|
|||||||
package register
|
package register
|
||||||
|
|
||||||
import (
|
templ basicInfoForm() {
|
||||||
"github.com/labstack/echo/v4"
|
<div class="border rounded-lg shadow-sm bg-card text-zinc-900">
|
||||||
"github.com/onsonr/sonr/pkg/nebula/components/blocks"
|
<div class="flex flex-col space-y-1.5 p-6"></div>
|
||||||
"github.com/onsonr/sonr/pkg/nebula/models/formstate"
|
<div class="p-6 pt-0 space-y-2">
|
||||||
)
|
<div class="space-y-1"><label class="text-xs font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70" for="name">Name</label><input type="text" id="name" placeholder="Adam Wathan" class="flex w-full h-10 px-3 py-2 text-sm bg-white border rounded-md peer border-zinc-300 ring-offset-background placeholder:text-zinc-400 focus:border-zinc-300 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-neutral-400 disabled:cursor-not-allowed disabled:opacity-50"/></div>
|
||||||
|
<div class="space-y-1"><label class="text-xs font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70" for="username">Handle</label><input type="text" id="handle" placeholder="angelo.snr" class="flex w-full h-10 px-3 py-2 text-sm bg-white border rounded-md peer border-zinc-300 ring-offset-background placeholder:text-zinc-400 focus:border-zinc-300 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-neutral-400 disabled:cursor-not-allowed disabled:opacity-50"/></div>
|
||||||
templ View(c echo.Context) {
|
</div>
|
||||||
@blocks.Layout("Sonr.ID", true) {
|
</div>
|
||||||
@blocks.Card("register-view", blocks.SizeMedium) {
|
|
||||||
@blocks.Spacer()
|
|
||||||
@blocks.Breadcrumbs()
|
|
||||||
@basicInfoForm(formstate.Initial)
|
|
||||||
@blocks.Spacer()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
templ basicInfoForm(state formstate.FormState) {
|
|
||||||
switch (state) {
|
|
||||||
default:
|
|
||||||
<div class="border rounded-lg shadow-sm bg-card text-zinc-900">
|
|
||||||
<div class="flex flex-col space-y-1.5 p-6"></div>
|
|
||||||
<div class="p-6 pt-0 space-y-2">
|
|
||||||
<div class="space-y-1"><label class="text-xs font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70" for="name">Name</label><input type="text" id="name" placeholder="Adam Wathan" class="flex w-full h-10 px-3 py-2 text-sm bg-white border rounded-md peer border-zinc-300 ring-offset-background placeholder:text-zinc-400 focus:border-zinc-300 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-neutral-400 disabled:cursor-not-allowed disabled:opacity-50"/></div>
|
|
||||||
<div class="space-y-1"><label class="text-xs font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70" for="username">Handle</label><input type="text" id="handle" placeholder="angelo.snr" class="flex w-full h-10 px-3 py-2 text-sm bg-white border rounded-md peer border-zinc-300 ring-offset-background placeholder:text-zinc-400 focus:border-zinc-300 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-neutral-400 disabled:cursor-not-allowed disabled:opacity-50"/></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,13 +8,7 @@ package register
|
|||||||
import "github.com/a-h/templ"
|
import "github.com/a-h/templ"
|
||||||
import templruntime "github.com/a-h/templ/runtime"
|
import templruntime "github.com/a-h/templ/runtime"
|
||||||
|
|
||||||
import (
|
func basicInfoForm() templ.Component {
|
||||||
"github.com/labstack/echo/v4"
|
|
||||||
"github.com/onsonr/sonr/pkg/nebula/components/blocks"
|
|
||||||
"github.com/onsonr/sonr/pkg/nebula/models/formstate"
|
|
||||||
)
|
|
||||||
|
|
||||||
func View(c echo.Context) templ.Component {
|
|
||||||
return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
|
return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
|
||||||
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
|
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
|
||||||
if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
|
if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
|
||||||
@@ -35,67 +29,7 @@ func View(c echo.Context) templ.Component {
|
|||||||
templ_7745c5c3_Var1 = templ.NopComponent
|
templ_7745c5c3_Var1 = templ.NopComponent
|
||||||
}
|
}
|
||||||
ctx = templ.ClearChildren(ctx)
|
ctx = templ.ClearChildren(ctx)
|
||||||
templ_7745c5c3_Var2 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
|
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"border rounded-lg shadow-sm bg-card text-zinc-900\"><div class=\"flex flex-col space-y-1.5 p-6\"></div><div class=\"p-6 pt-0 space-y-2\"><div class=\"space-y-1\"><label class=\"text-xs font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\" for=\"name\">Name</label><input type=\"text\" id=\"name\" placeholder=\"Adam Wathan\" class=\"flex w-full h-10 px-3 py-2 text-sm bg-white border rounded-md peer border-zinc-300 ring-offset-background placeholder:text-zinc-400 focus:border-zinc-300 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-neutral-400 disabled:cursor-not-allowed disabled:opacity-50\"></div><div class=\"space-y-1\"><label class=\"text-xs font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\" for=\"username\">Handle</label><input type=\"text\" id=\"handle\" placeholder=\"angelo.snr\" class=\"flex w-full h-10 px-3 py-2 text-sm bg-white border rounded-md peer border-zinc-300 ring-offset-background placeholder:text-zinc-400 focus:border-zinc-300 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-neutral-400 disabled:cursor-not-allowed disabled:opacity-50\"></div></div></div>")
|
||||||
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
|
|
||||||
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
|
|
||||||
if !templ_7745c5c3_IsBuffer {
|
|
||||||
defer func() {
|
|
||||||
templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
|
|
||||||
if templ_7745c5c3_Err == nil {
|
|
||||||
templ_7745c5c3_Err = templ_7745c5c3_BufErr
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
}
|
|
||||||
ctx = templ.InitializeContext(ctx)
|
|
||||||
templ_7745c5c3_Var3 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
|
|
||||||
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
|
|
||||||
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
|
|
||||||
if !templ_7745c5c3_IsBuffer {
|
|
||||||
defer func() {
|
|
||||||
templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
|
|
||||||
if templ_7745c5c3_Err == nil {
|
|
||||||
templ_7745c5c3_Err = templ_7745c5c3_BufErr
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
}
|
|
||||||
ctx = templ.InitializeContext(ctx)
|
|
||||||
templ_7745c5c3_Err = blocks.Spacer().Render(ctx, templ_7745c5c3_Buffer)
|
|
||||||
if templ_7745c5c3_Err != nil {
|
|
||||||
return templ_7745c5c3_Err
|
|
||||||
}
|
|
||||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" ")
|
|
||||||
if templ_7745c5c3_Err != nil {
|
|
||||||
return templ_7745c5c3_Err
|
|
||||||
}
|
|
||||||
templ_7745c5c3_Err = blocks.Breadcrumbs().Render(ctx, templ_7745c5c3_Buffer)
|
|
||||||
if templ_7745c5c3_Err != nil {
|
|
||||||
return templ_7745c5c3_Err
|
|
||||||
}
|
|
||||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" ")
|
|
||||||
if templ_7745c5c3_Err != nil {
|
|
||||||
return templ_7745c5c3_Err
|
|
||||||
}
|
|
||||||
templ_7745c5c3_Err = basicInfoForm(formstate.Initial).Render(ctx, templ_7745c5c3_Buffer)
|
|
||||||
if templ_7745c5c3_Err != nil {
|
|
||||||
return templ_7745c5c3_Err
|
|
||||||
}
|
|
||||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" ")
|
|
||||||
if templ_7745c5c3_Err != nil {
|
|
||||||
return templ_7745c5c3_Err
|
|
||||||
}
|
|
||||||
templ_7745c5c3_Err = blocks.Spacer().Render(ctx, templ_7745c5c3_Buffer)
|
|
||||||
if templ_7745c5c3_Err != nil {
|
|
||||||
return templ_7745c5c3_Err
|
|
||||||
}
|
|
||||||
return templ_7745c5c3_Err
|
|
||||||
})
|
|
||||||
templ_7745c5c3_Err = blocks.Card("register-view", blocks.SizeMedium).Render(templ.WithChildren(ctx, templ_7745c5c3_Var3), templ_7745c5c3_Buffer)
|
|
||||||
if templ_7745c5c3_Err != nil {
|
|
||||||
return templ_7745c5c3_Err
|
|
||||||
}
|
|
||||||
return templ_7745c5c3_Err
|
|
||||||
})
|
|
||||||
templ_7745c5c3_Err = blocks.Layout("Sonr.ID", true).Render(templ.WithChildren(ctx, templ_7745c5c3_Var2), templ_7745c5c3_Buffer)
|
|
||||||
if templ_7745c5c3_Err != nil {
|
if templ_7745c5c3_Err != nil {
|
||||||
return templ_7745c5c3_Err
|
return templ_7745c5c3_Err
|
||||||
}
|
}
|
||||||
@@ -103,36 +37,4 @@ func View(c echo.Context) templ.Component {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func basicInfoForm(state formstate.FormState) templ.Component {
|
|
||||||
return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
|
|
||||||
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
|
|
||||||
if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
|
|
||||||
return templ_7745c5c3_CtxErr
|
|
||||||
}
|
|
||||||
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
|
|
||||||
if !templ_7745c5c3_IsBuffer {
|
|
||||||
defer func() {
|
|
||||||
templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
|
|
||||||
if templ_7745c5c3_Err == nil {
|
|
||||||
templ_7745c5c3_Err = templ_7745c5c3_BufErr
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
}
|
|
||||||
ctx = templ.InitializeContext(ctx)
|
|
||||||
templ_7745c5c3_Var4 := templ.GetChildren(ctx)
|
|
||||||
if templ_7745c5c3_Var4 == nil {
|
|
||||||
templ_7745c5c3_Var4 = templ.NopComponent
|
|
||||||
}
|
|
||||||
ctx = templ.ClearChildren(ctx)
|
|
||||||
switch state {
|
|
||||||
default:
|
|
||||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"border rounded-lg shadow-sm bg-card text-zinc-900\"><div class=\"flex flex-col space-y-1.5 p-6\"></div><div class=\"p-6 pt-0 space-y-2\"><div class=\"space-y-1\"><label class=\"text-xs font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\" for=\"name\">Name</label><input type=\"text\" id=\"name\" placeholder=\"Adam Wathan\" class=\"flex w-full h-10 px-3 py-2 text-sm bg-white border rounded-md peer border-zinc-300 ring-offset-background placeholder:text-zinc-400 focus:border-zinc-300 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-neutral-400 disabled:cursor-not-allowed disabled:opacity-50\"></div><div class=\"space-y-1\"><label class=\"text-xs font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\" for=\"username\">Handle</label><input type=\"text\" id=\"handle\" placeholder=\"angelo.snr\" class=\"flex w-full h-10 px-3 py-2 text-sm bg-white border rounded-md peer border-zinc-300 ring-offset-background placeholder:text-zinc-400 focus:border-zinc-300 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-neutral-400 disabled:cursor-not-allowed disabled:opacity-50\"></div></div></div>")
|
|
||||||
if templ_7745c5c3_Err != nil {
|
|
||||||
return templ_7745c5c3_Err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return templ_7745c5c3_Err
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
var _ = templruntime.GeneratedTemplate
|
var _ = templruntime.GeneratedTemplate
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
package ui
|
||||||
|
|
||||||
|
templ PrimaryButton(href string, text string) {
|
||||||
|
<div>
|
||||||
|
<div class="btn cursor-pointer text-zinc-100 bg-zinc-900 hover:bg-zinc-800 w-full shadow" hx-swap="afterend" hx-get={ href }>{ text }</div>
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
|
||||||
|
templ SecondaryButton(href string, text string) {
|
||||||
|
<div>
|
||||||
|
<div class="btn cursor-pointer text-zinc-600 bg-white hover:text-zinc-900 w-full shadow" hx-swap="afterend" hx-get={ href }>{ text }</div>
|
||||||
|
</div>
|
||||||
|
}
|
||||||
@@ -0,0 +1,121 @@
|
|||||||
|
// Code generated by templ - DO NOT EDIT.
|
||||||
|
|
||||||
|
// templ: version: v0.2.778
|
||||||
|
package ui
|
||||||
|
|
||||||
|
//lint:file-ignore SA4006 This context is only used if a nested component is present.
|
||||||
|
|
||||||
|
import "github.com/a-h/templ"
|
||||||
|
import templruntime "github.com/a-h/templ/runtime"
|
||||||
|
|
||||||
|
func PrimaryButton(href string, text string) templ.Component {
|
||||||
|
return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
|
||||||
|
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
|
||||||
|
if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
|
||||||
|
return templ_7745c5c3_CtxErr
|
||||||
|
}
|
||||||
|
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
|
||||||
|
if !templ_7745c5c3_IsBuffer {
|
||||||
|
defer func() {
|
||||||
|
templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
|
||||||
|
if templ_7745c5c3_Err == nil {
|
||||||
|
templ_7745c5c3_Err = templ_7745c5c3_BufErr
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
}
|
||||||
|
ctx = templ.InitializeContext(ctx)
|
||||||
|
templ_7745c5c3_Var1 := templ.GetChildren(ctx)
|
||||||
|
if templ_7745c5c3_Var1 == nil {
|
||||||
|
templ_7745c5c3_Var1 = templ.NopComponent
|
||||||
|
}
|
||||||
|
ctx = templ.ClearChildren(ctx)
|
||||||
|
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div><div class=\"btn cursor-pointer text-zinc-100 bg-zinc-900 hover:bg-zinc-800 w-full shadow\" hx-swap=\"afterend\" hx-get=\"")
|
||||||
|
if templ_7745c5c3_Err != nil {
|
||||||
|
return templ_7745c5c3_Err
|
||||||
|
}
|
||||||
|
var templ_7745c5c3_Var2 string
|
||||||
|
templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(href)
|
||||||
|
if templ_7745c5c3_Err != nil {
|
||||||
|
return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/nebula/components/ui/button.templ`, Line: 5, Col: 124}
|
||||||
|
}
|
||||||
|
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2))
|
||||||
|
if templ_7745c5c3_Err != nil {
|
||||||
|
return templ_7745c5c3_Err
|
||||||
|
}
|
||||||
|
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\">")
|
||||||
|
if templ_7745c5c3_Err != nil {
|
||||||
|
return templ_7745c5c3_Err
|
||||||
|
}
|
||||||
|
var templ_7745c5c3_Var3 string
|
||||||
|
templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(text)
|
||||||
|
if templ_7745c5c3_Err != nil {
|
||||||
|
return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/nebula/components/ui/button.templ`, Line: 5, Col: 133}
|
||||||
|
}
|
||||||
|
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
|
||||||
|
if templ_7745c5c3_Err != nil {
|
||||||
|
return templ_7745c5c3_Err
|
||||||
|
}
|
||||||
|
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div></div>")
|
||||||
|
if templ_7745c5c3_Err != nil {
|
||||||
|
return templ_7745c5c3_Err
|
||||||
|
}
|
||||||
|
return templ_7745c5c3_Err
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
func SecondaryButton(href string, text string) templ.Component {
|
||||||
|
return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
|
||||||
|
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
|
||||||
|
if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
|
||||||
|
return templ_7745c5c3_CtxErr
|
||||||
|
}
|
||||||
|
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
|
||||||
|
if !templ_7745c5c3_IsBuffer {
|
||||||
|
defer func() {
|
||||||
|
templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
|
||||||
|
if templ_7745c5c3_Err == nil {
|
||||||
|
templ_7745c5c3_Err = templ_7745c5c3_BufErr
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
}
|
||||||
|
ctx = templ.InitializeContext(ctx)
|
||||||
|
templ_7745c5c3_Var4 := templ.GetChildren(ctx)
|
||||||
|
if templ_7745c5c3_Var4 == nil {
|
||||||
|
templ_7745c5c3_Var4 = templ.NopComponent
|
||||||
|
}
|
||||||
|
ctx = templ.ClearChildren(ctx)
|
||||||
|
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div><div class=\"btn cursor-pointer text-zinc-600 bg-white hover:text-zinc-900 w-full shadow\" hx-swap=\"afterend\" hx-get=\"")
|
||||||
|
if templ_7745c5c3_Err != nil {
|
||||||
|
return templ_7745c5c3_Err
|
||||||
|
}
|
||||||
|
var templ_7745c5c3_Var5 string
|
||||||
|
templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(href)
|
||||||
|
if templ_7745c5c3_Err != nil {
|
||||||
|
return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/nebula/components/ui/button.templ`, Line: 11, Col: 123}
|
||||||
|
}
|
||||||
|
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
|
||||||
|
if templ_7745c5c3_Err != nil {
|
||||||
|
return templ_7745c5c3_Err
|
||||||
|
}
|
||||||
|
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\">")
|
||||||
|
if templ_7745c5c3_Err != nil {
|
||||||
|
return templ_7745c5c3_Err
|
||||||
|
}
|
||||||
|
var templ_7745c5c3_Var6 string
|
||||||
|
templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(text)
|
||||||
|
if templ_7745c5c3_Err != nil {
|
||||||
|
return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/nebula/components/ui/button.templ`, Line: 11, Col: 132}
|
||||||
|
}
|
||||||
|
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6))
|
||||||
|
if templ_7745c5c3_Err != nil {
|
||||||
|
return templ_7745c5c3_Err
|
||||||
|
}
|
||||||
|
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div></div>")
|
||||||
|
if templ_7745c5c3_Err != nil {
|
||||||
|
return templ_7745c5c3_Err
|
||||||
|
}
|
||||||
|
return templ_7745c5c3_Err
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ = templruntime.GeneratedTemplate
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||||
|
package models
|
||||||
|
|
||||||
|
type Bento struct {
|
||||||
|
Title string `pkl:"title"`
|
||||||
|
|
||||||
|
Description string `pkl:"description"`
|
||||||
|
|
||||||
|
PrimaryButton *Button `pkl:"primaryButton"`
|
||||||
|
|
||||||
|
SecondaryButton *Button `pkl:"secondaryButton"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||||
|
package models
|
||||||
|
|
||||||
|
type CallToAction struct {
|
||||||
|
Title string `pkl:"title"`
|
||||||
|
|
||||||
|
Description string `pkl:"description"`
|
||||||
|
|
||||||
|
PrimaryButton *Button `pkl:"primaryButton"`
|
||||||
|
|
||||||
|
SecondaryButton *Button `pkl:"secondaryButton"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||||
|
package models
|
||||||
|
|
||||||
|
type Feature struct {
|
||||||
|
Title string `pkl:"title"`
|
||||||
|
|
||||||
|
Description string `pkl:"description"`
|
||||||
|
|
||||||
|
Icon string `pkl:"icon"`
|
||||||
|
|
||||||
|
Image *Image `pkl:"image"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||||
|
package models
|
||||||
|
|
||||||
|
type Features struct {
|
||||||
|
Title string `pkl:"title"`
|
||||||
|
|
||||||
|
Description string `pkl:"description"`
|
||||||
|
|
||||||
|
Image *Image `pkl:"image"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||||
|
package models
|
||||||
|
|
||||||
|
type Form interface {
|
||||||
|
GetTitle() string
|
||||||
|
|
||||||
|
GetDescription() string
|
||||||
|
|
||||||
|
GetInputs() []*Input
|
||||||
|
}
|
||||||
@@ -15,4 +15,6 @@ type Hero struct {
|
|||||||
SecondaryButton *Button `pkl:"secondaryButton"`
|
SecondaryButton *Button `pkl:"secondaryButton"`
|
||||||
|
|
||||||
Image *Image `pkl:"image"`
|
Image *Image `pkl:"image"`
|
||||||
|
|
||||||
|
Stats []*Stat `pkl:"stats"`
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||||
|
package models
|
||||||
|
|
||||||
|
type Highlight struct {
|
||||||
|
Title string `pkl:"title"`
|
||||||
|
|
||||||
|
Description string `pkl:"description"`
|
||||||
|
|
||||||
|
Image *Image `pkl:"image"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||||
|
package models
|
||||||
|
|
||||||
|
type Highlights struct {
|
||||||
|
Heading string `pkl:"heading"`
|
||||||
|
|
||||||
|
Subheading string `pkl:"subheading"`
|
||||||
|
|
||||||
|
Highlights []*Highlight `pkl:"highlights"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||||
|
package models
|
||||||
|
|
||||||
|
type Home struct {
|
||||||
|
Hero *Hero `pkl:"hero"`
|
||||||
|
|
||||||
|
Highlights []*Highlight `pkl:"highlights"`
|
||||||
|
|
||||||
|
Features []*Features `pkl:"features"`
|
||||||
|
|
||||||
|
Bento *Bento `pkl:"bento"`
|
||||||
|
|
||||||
|
Lowlights []*Lowlights `pkl:"lowlights"`
|
||||||
|
|
||||||
|
CallToAction *CallToAction `pkl:"callToAction"`
|
||||||
|
|
||||||
|
Footer *Footer `pkl:"footer"`
|
||||||
|
}
|
||||||
@@ -1,10 +1,12 @@
|
|||||||
// Code generated from Pkl module `models`. DO NOT EDIT.
|
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||||
package models
|
package models
|
||||||
|
|
||||||
|
import "github.com/onsonr/sonr/pkg/nebula/models/inputtype"
|
||||||
|
|
||||||
type Input struct {
|
type Input struct {
|
||||||
Label string `pkl:"label"`
|
Label string `pkl:"label"`
|
||||||
|
|
||||||
Type string `pkl:"type"`
|
Type inputtype.InputType `pkl:"type"`
|
||||||
|
|
||||||
Placeholder string `pkl:"placeholder"`
|
Placeholder string `pkl:"placeholder"`
|
||||||
|
|
||||||
@@ -14,5 +16,5 @@ type Input struct {
|
|||||||
|
|
||||||
Help *string `pkl:"help"`
|
Help *string `pkl:"help"`
|
||||||
|
|
||||||
Required bool `pkl:"required"`
|
Required *bool `pkl:"required"`
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||||
|
package models
|
||||||
|
|
||||||
|
type Lowlights struct {
|
||||||
|
Title string `pkl:"title"`
|
||||||
|
|
||||||
|
Description string `pkl:"description"`
|
||||||
|
|
||||||
|
Image *Image `pkl:"image"`
|
||||||
|
}
|
||||||
@@ -8,9 +8,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type Models struct {
|
type Models struct {
|
||||||
Hero *Hero `pkl:"hero"`
|
Home *Home `pkl:"home"`
|
||||||
|
|
||||||
Stats *Stats `pkl:"stats"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// LoadFromPath loads the pkl module at the given path and evaluates it into a Models
|
// LoadFromPath loads the pkl module at the given path and evaluates it into a Models
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||||
|
package models
|
||||||
|
|
||||||
|
type RegisterFormData interface {
|
||||||
|
Form
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ RegisterFormData = (*RegisterFormDataImpl)(nil)
|
||||||
|
|
||||||
|
type RegisterFormDataImpl struct {
|
||||||
|
Title string `pkl:"title"`
|
||||||
|
|
||||||
|
Description string `pkl:"description"`
|
||||||
|
|
||||||
|
Inputs []*Input `pkl:"inputs"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (rcv *RegisterFormDataImpl) GetTitle() string {
|
||||||
|
return rcv.Title
|
||||||
|
}
|
||||||
|
|
||||||
|
func (rcv *RegisterFormDataImpl) GetDescription() string {
|
||||||
|
return rcv.Description
|
||||||
|
}
|
||||||
|
|
||||||
|
func (rcv *RegisterFormDataImpl) GetInputs() []*Input {
|
||||||
|
return rcv.Inputs
|
||||||
|
}
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
// Code generated from Pkl module `models`. DO NOT EDIT.
|
|
||||||
package models
|
|
||||||
|
|
||||||
import "github.com/onsonr/sonr/pkg/nebula/models/formstate"
|
|
||||||
|
|
||||||
type RegistrationForm struct {
|
|
||||||
Title string `pkl:"title"`
|
|
||||||
|
|
||||||
Description string `pkl:"description"`
|
|
||||||
|
|
||||||
State formstate.FormState `pkl:"state"`
|
|
||||||
|
|
||||||
Inputs []*Input `pkl:"inputs"`
|
|
||||||
}
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
// Code generated from Pkl module `models`. DO NOT EDIT.
|
|
||||||
package formstate
|
|
||||||
|
|
||||||
import (
|
|
||||||
"encoding"
|
|
||||||
"fmt"
|
|
||||||
)
|
|
||||||
|
|
||||||
type FormState string
|
|
||||||
|
|
||||||
const (
|
|
||||||
Initial FormState = "initial"
|
|
||||||
Error FormState = "error"
|
|
||||||
Success FormState = "success"
|
|
||||||
Warning FormState = "warning"
|
|
||||||
)
|
|
||||||
|
|
||||||
// String returns the string representation of FormState
|
|
||||||
func (rcv FormState) String() string {
|
|
||||||
return string(rcv)
|
|
||||||
}
|
|
||||||
|
|
||||||
var _ encoding.BinaryUnmarshaler = new(FormState)
|
|
||||||
|
|
||||||
// UnmarshalBinary implements encoding.BinaryUnmarshaler for FormState.
|
|
||||||
func (rcv *FormState) UnmarshalBinary(data []byte) error {
|
|
||||||
switch str := string(data); str {
|
|
||||||
case "initial":
|
|
||||||
*rcv = Initial
|
|
||||||
case "error":
|
|
||||||
*rcv = Error
|
|
||||||
case "success":
|
|
||||||
*rcv = Success
|
|
||||||
case "warning":
|
|
||||||
*rcv = Warning
|
|
||||||
default:
|
|
||||||
return fmt.Errorf(`illegal: "%s" is not a valid FormState`, str)
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
@@ -5,13 +5,20 @@ import "github.com/apple/pkl-go/pkl"
|
|||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
pkl.RegisterMapping("models", Models{})
|
pkl.RegisterMapping("models", Models{})
|
||||||
|
pkl.RegisterMapping("models#Home", Home{})
|
||||||
pkl.RegisterMapping("models#Hero", Hero{})
|
pkl.RegisterMapping("models#Hero", Hero{})
|
||||||
pkl.RegisterMapping("models#Button", Button{})
|
pkl.RegisterMapping("models#Button", Button{})
|
||||||
pkl.RegisterMapping("models#Image", Image{})
|
pkl.RegisterMapping("models#Image", Image{})
|
||||||
pkl.RegisterMapping("models#Stats", Stats{})
|
pkl.RegisterMapping("models#Stat", Stat{})
|
||||||
pkl.RegisterMapping("models#Link", Link{})
|
pkl.RegisterMapping("models#Highlight", Highlight{})
|
||||||
pkl.RegisterMapping("models#SocialLink", SocialLink{})
|
pkl.RegisterMapping("models#Features", Features{})
|
||||||
pkl.RegisterMapping("models#Input", Input{})
|
pkl.RegisterMapping("models#Bento", Bento{})
|
||||||
|
pkl.RegisterMapping("models#Lowlights", Lowlights{})
|
||||||
|
pkl.RegisterMapping("models#CallToAction", CallToAction{})
|
||||||
pkl.RegisterMapping("models#Footer", Footer{})
|
pkl.RegisterMapping("models#Footer", Footer{})
|
||||||
pkl.RegisterMapping("models#RegistrationForm", RegistrationForm{})
|
pkl.RegisterMapping("models#SocialLink", SocialLink{})
|
||||||
|
pkl.RegisterMapping("models#Link", Link{})
|
||||||
|
pkl.RegisterMapping("models#Input", Input{})
|
||||||
|
pkl.RegisterMapping("models#Feature", Feature{})
|
||||||
|
pkl.RegisterMapping("models#Highlights", Highlights{})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,43 @@
|
|||||||
|
// Code generated from Pkl module `models`. DO NOT EDIT.
|
||||||
|
package inputtype
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding"
|
||||||
|
"fmt"
|
||||||
|
)
|
||||||
|
|
||||||
|
type InputType string
|
||||||
|
|
||||||
|
const (
|
||||||
|
Text InputType = "text"
|
||||||
|
Password InputType = "password"
|
||||||
|
Email InputType = "email"
|
||||||
|
Credential InputType = "credential"
|
||||||
|
File InputType = "file"
|
||||||
|
)
|
||||||
|
|
||||||
|
// String returns the string representation of InputType
|
||||||
|
func (rcv InputType) String() string {
|
||||||
|
return string(rcv)
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ encoding.BinaryUnmarshaler = new(InputType)
|
||||||
|
|
||||||
|
// UnmarshalBinary implements encoding.BinaryUnmarshaler for InputType.
|
||||||
|
func (rcv *InputType) UnmarshalBinary(data []byte) error {
|
||||||
|
switch str := string(data); str {
|
||||||
|
case "text":
|
||||||
|
*rcv = Text
|
||||||
|
case "password":
|
||||||
|
*rcv = Password
|
||||||
|
case "email":
|
||||||
|
*rcv = Email
|
||||||
|
case "credential":
|
||||||
|
*rcv = Credential
|
||||||
|
case "file":
|
||||||
|
*rcv = File
|
||||||
|
default:
|
||||||
|
return fmt.Errorf(`illegal: "%s" is not a valid InputType`, str)
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
+230
-27
@@ -1,30 +1,233 @@
|
|||||||
amends "https://pkl.sh/uiux.pkl";
|
amends "https://pkl.sh/UIUX.pkl";
|
||||||
|
|
||||||
hero = new Hero {
|
home = new Home {
|
||||||
titleFirst = "Simplified";
|
|
||||||
titleEmphasis = "self-custody";
|
|
||||||
titleSecond = "for everyone";
|
|
||||||
subtitle = "Sonr is a modern re-imagination of online user identity, empowering users to take ownership of their digital footprint and unlocking a new era of self-sovereignty.";
|
|
||||||
primaryButton = new Button {
|
|
||||||
text = "Get Started";
|
|
||||||
href = "/register";
|
|
||||||
};
|
|
||||||
secondaryButton = new Button {
|
|
||||||
text = "Learn More";
|
|
||||||
href = "/about";
|
|
||||||
};
|
|
||||||
image = new Image {
|
|
||||||
src = "https://cdn.sonr.id/img/hero-clipped.svg";
|
|
||||||
width = "500";
|
|
||||||
height = "500";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
stats = new Stats {
|
// Hero
|
||||||
firstValue = "476K";
|
hero = new Hero {
|
||||||
firstLabel = "Assets packed with power beyond your imagination.";
|
titleFirst = "Simplified";
|
||||||
secondValue = "1.44K";
|
titleEmphasis = "self-custody";
|
||||||
secondLabel = "Assets packed with power beyond your imagination.";
|
titleSecond = "for everyone";
|
||||||
thirdValue = "1.5M+";
|
subtitle = "Sonr is a modern re-imagination of online user identity, empowering users to take ownership of their digital footprint and unlocking a new era of self-sovereignty.";
|
||||||
thirdLabel = "Assets packed with power beyond your imagination.";
|
primaryButton = new Button {
|
||||||
|
text = "Get Started";
|
||||||
|
href = "/register";
|
||||||
|
};
|
||||||
|
secondaryButton = new Button {
|
||||||
|
text = "Learn More";
|
||||||
|
href = "/about";
|
||||||
|
};
|
||||||
|
image = new Image {
|
||||||
|
src = "https://cdn.sonr.id/img/hero-clipped.svg";
|
||||||
|
width = "500";
|
||||||
|
height = "500";
|
||||||
|
};
|
||||||
|
stats {
|
||||||
|
new Stat {
|
||||||
|
value = "476K";
|
||||||
|
label = "Assets packed with power beyond your imagination.";
|
||||||
|
};
|
||||||
|
new Stat {
|
||||||
|
value = "1.44K";
|
||||||
|
label = "Assets packed with power beyond your imagination.";
|
||||||
|
};
|
||||||
|
new Stat {
|
||||||
|
value = "1.5M+";
|
||||||
|
label = "Assets packed with power beyond your imagination.";
|
||||||
|
}
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
// Highlights
|
||||||
|
highlights {
|
||||||
|
new Highlight {
|
||||||
|
title = "Simplified";
|
||||||
|
description = "Sonr is a modern re-imagination of online user identity, empowering users to take ownership of their digital footprint and unlocking a new era of self-sovereignty.";
|
||||||
|
image = new Image {
|
||||||
|
src = "https://cdn.sonr.id/img/highlight-1.svg";
|
||||||
|
width = "500";
|
||||||
|
height = "500";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
new Highlight {
|
||||||
|
title = "Simplified";
|
||||||
|
description = "Sonr is a modern re-imagination of online user identity, empowering users to take ownership of their digital footprint and unlocking a new era of self-sovereignty.";
|
||||||
|
image = new Image {
|
||||||
|
src = "https://cdn.sonr.id/img/highlight-2.svg";
|
||||||
|
width = "500";
|
||||||
|
height = "500";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
// Features
|
||||||
|
features {
|
||||||
|
new Features {
|
||||||
|
title = "Simplified";
|
||||||
|
description = "Sonr is a modern re-imagination of online user identity, empowering users to take ownership of their digital footprint and unlocking a new era of self-sovereignty.";
|
||||||
|
image = new Image {
|
||||||
|
src = "https://cdn.sonr.id/img/feature-1.svg";
|
||||||
|
width = "500";
|
||||||
|
height = "500";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
new Features {
|
||||||
|
title = "Simplified";
|
||||||
|
description = "Sonr is a modern re-imagination of online user identity, empowering users to take ownership of their digital footprint and unlocking a new era of self-sovereignty.";
|
||||||
|
image = new Image {
|
||||||
|
src = "https://cdn.sonr.id/img/feature-2.svg";
|
||||||
|
width = "500";
|
||||||
|
height = "500";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
new Features {
|
||||||
|
title = "Simplified";
|
||||||
|
description = "Sonr is a modern re-imagination of online user identity, empowering users to take ownership of their digital footprint and unlocking a new era of self-sovereignty.";
|
||||||
|
image = new Image {
|
||||||
|
src = "https://cdn.sonr.id/img/feature-3.svg";
|
||||||
|
width = "500";
|
||||||
|
height = "500";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
// Bento
|
||||||
|
bento = new Bento {
|
||||||
|
title = "Simplified";
|
||||||
|
description = "Sonr is a modern re-imagination of online user identity, empowering users to take ownership of their digital footprint and unlocking a new era of self-sovereignty.";
|
||||||
|
primaryButton = new Button {
|
||||||
|
text = "Get Started";
|
||||||
|
href = "/register";
|
||||||
|
};
|
||||||
|
secondaryButton = new Button {
|
||||||
|
text = "Learn More";
|
||||||
|
href = "/about";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
// Lowlights
|
||||||
|
lowlights {
|
||||||
|
new Lowlights {
|
||||||
|
title = "Simplified";
|
||||||
|
description = "Sonr is a modern re-imagination of online user identity, empowering users to take ownership of their digital footprint and unlocking a new era of self-sovereignty.";
|
||||||
|
image = new Image {
|
||||||
|
src = "https://cdn.sonr.id/img/lowlight-1.svg";
|
||||||
|
width = "500";
|
||||||
|
height = "500";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
new Lowlights {
|
||||||
|
title = "Simplified";
|
||||||
|
description = "Sonr is a modern re-imagination of online user identity, empowering users to take ownership of their digital footprint and unlocking a new era of self-sovereignty.";
|
||||||
|
image = new Image {
|
||||||
|
src = "https://cdn.sonr.id/img/lowlight-2.svg";
|
||||||
|
width = "500";
|
||||||
|
height = "500";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
// Call to Action
|
||||||
|
callToAction = new CallToAction {
|
||||||
|
title = "Simplified";
|
||||||
|
description = "Sonr is a modern re-imagination of online user identity, empowering users to take ownership of their digital footprint and unlocking a new era of self-sovereignty.";
|
||||||
|
primaryButton = new Button {
|
||||||
|
text = "Get Started";
|
||||||
|
href = "/register";
|
||||||
|
};
|
||||||
|
secondaryButton = new Button {
|
||||||
|
text = "Learn More";
|
||||||
|
href = "/about";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
// Footer
|
||||||
|
footer = new Footer {
|
||||||
|
logo = new Image {
|
||||||
|
src = "https://cdn.sonr.id/img/logo.svg";
|
||||||
|
width = "500";
|
||||||
|
height = "500";
|
||||||
|
};
|
||||||
|
|
||||||
|
mediumLink = new SocialLink {
|
||||||
|
link = new Link {
|
||||||
|
text = "Medium";
|
||||||
|
href = "https://medium.com/sonr-io";
|
||||||
|
};
|
||||||
|
icon = "https://cdn.sonr.id/img/medium.svg";
|
||||||
|
};
|
||||||
|
|
||||||
|
twitterLink = new SocialLink {
|
||||||
|
link = new Link {
|
||||||
|
text = "Twitter";
|
||||||
|
href = "https://twitter.com/sonr";
|
||||||
|
};
|
||||||
|
icon = "https://cdn.sonr.id/img/twitter.svg";
|
||||||
|
};
|
||||||
|
|
||||||
|
discordLink = new SocialLink {
|
||||||
|
link = new Link {
|
||||||
|
text = "Discord";
|
||||||
|
href = "https://discord.com/invite/sonr";
|
||||||
|
};
|
||||||
|
icon = "https://cdn.sonr.id/img/discord.svg";
|
||||||
|
};
|
||||||
|
|
||||||
|
githubLink = new SocialLink {
|
||||||
|
link = new Link {
|
||||||
|
text = "GitHub";
|
||||||
|
href = "https://github.com/sonr-io";
|
||||||
|
};
|
||||||
|
icon = "https://cdn.sonr.id/img/github.svg";
|
||||||
|
};
|
||||||
|
|
||||||
|
companyLinks {
|
||||||
|
new Link {
|
||||||
|
text = "About";
|
||||||
|
href = "https://sonr.io/about";
|
||||||
|
};
|
||||||
|
new Link {
|
||||||
|
text = "Careers";
|
||||||
|
href = "https://sonr.io/careers";
|
||||||
|
};
|
||||||
|
new Link {
|
||||||
|
text = "Partners";
|
||||||
|
href = "https://sonr.io/partners";
|
||||||
|
};
|
||||||
|
new Link {
|
||||||
|
text = "Investors";
|
||||||
|
href = "https://sonr.io/investors";
|
||||||
|
};
|
||||||
|
new Link {
|
||||||
|
text = "Newsroom";
|
||||||
|
href = "https://sonr.io/newsroom";
|
||||||
|
};
|
||||||
|
new Link {
|
||||||
|
text = "Blog";
|
||||||
|
href = "https://sonr.io/blog";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
resourcesLinks {
|
||||||
|
new Link {
|
||||||
|
text = "Docs";
|
||||||
|
href = "https://docs.sonr.io";
|
||||||
|
};
|
||||||
|
new Link {
|
||||||
|
text = "Whitepaper";
|
||||||
|
href = "https://sonr.io/whitepaper";
|
||||||
|
};
|
||||||
|
new Link {
|
||||||
|
text = "FAQ";
|
||||||
|
href = "https://sonr.io/faq";
|
||||||
|
};
|
||||||
|
new Link {
|
||||||
|
text = "Terms of Service";
|
||||||
|
href = "https://sonr.io/terms";
|
||||||
|
};
|
||||||
|
new Link {
|
||||||
|
text = "Privacy Policy";
|
||||||
|
href = "https://sonr.io/privacy";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
package pages
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/labstack/echo/v4"
|
|
||||||
|
|
||||||
"github.com/onsonr/sonr/pkg/nebula/components/grant"
|
|
||||||
)
|
|
||||||
|
|
||||||
func Authorize(c echo.Context) error {
|
|
||||||
return echoResponse(c, grant.View(c))
|
|
||||||
}
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
package pages
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/labstack/echo/v4"
|
|
||||||
"github.com/onsonr/sonr/pkg/nebula/components/home"
|
|
||||||
"github.com/onsonr/sonr/pkg/nebula/models"
|
|
||||||
)
|
|
||||||
|
|
||||||
func Home(c echo.Context) error {
|
|
||||||
mdls, err := models.GetModels()
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return echoResponse(c, home.View(mdls.Hero))
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
package pages
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/labstack/echo/v4"
|
|
||||||
|
|
||||||
"github.com/onsonr/sonr/pkg/nebula/components/login"
|
|
||||||
)
|
|
||||||
|
|
||||||
func Login(c echo.Context) error {
|
|
||||||
return echoResponse(c, login.Modal(c))
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
package pages
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
|
||||||
|
"github.com/a-h/templ"
|
||||||
|
"github.com/labstack/echo/v4"
|
||||||
|
|
||||||
|
"github.com/onsonr/sonr/pkg/nebula/components/grant"
|
||||||
|
"github.com/onsonr/sonr/pkg/nebula/components/home"
|
||||||
|
"github.com/onsonr/sonr/pkg/nebula/components/login"
|
||||||
|
"github.com/onsonr/sonr/pkg/nebula/components/profile"
|
||||||
|
"github.com/onsonr/sonr/pkg/nebula/components/register"
|
||||||
|
"github.com/onsonr/sonr/pkg/nebula/models"
|
||||||
|
)
|
||||||
|
|
||||||
|
func Authorize(c echo.Context) error {
|
||||||
|
return echoResponse(c, grant.View(c))
|
||||||
|
}
|
||||||
|
|
||||||
|
func Home(c echo.Context) error {
|
||||||
|
mdls, err := models.GetModels()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return echoResponse(c, home.View(mdls.Home))
|
||||||
|
}
|
||||||
|
|
||||||
|
func Login(c echo.Context) error {
|
||||||
|
return echoResponse(c, login.Modal(c))
|
||||||
|
}
|
||||||
|
|
||||||
|
func Profile(c echo.Context) error {
|
||||||
|
return echoResponse(c, profile.View(c))
|
||||||
|
}
|
||||||
|
|
||||||
|
func Register(c echo.Context) error {
|
||||||
|
return echoResponse(c, register.Modal(c))
|
||||||
|
}
|
||||||
|
|
||||||
|
// ╭───────────────────────────────────────────────────────────╮
|
||||||
|
// │ Helper Methods │
|
||||||
|
// ╰───────────────────────────────────────────────────────────╯
|
||||||
|
|
||||||
|
func echoResponse(c echo.Context, cmp templ.Component) error {
|
||||||
|
// Create a buffer to store the rendered HTML
|
||||||
|
buf := &bytes.Buffer{}
|
||||||
|
// Render the component to the buffer
|
||||||
|
err := cmp.Render(c.Request().Context(), buf)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set the content type
|
||||||
|
c.Response().Header().Set(echo.HeaderContentType, echo.MIMETextHTML)
|
||||||
|
|
||||||
|
// Write the buffered content to the response
|
||||||
|
_, err = c.Response().Write(buf.Bytes())
|
||||||
|
return err
|
||||||
|
}
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
package pages
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/labstack/echo/v4"
|
|
||||||
|
|
||||||
"github.com/onsonr/sonr/pkg/nebula/components/profile"
|
|
||||||
)
|
|
||||||
|
|
||||||
func Profile(c echo.Context) error {
|
|
||||||
return echoResponse(c, profile.View(c))
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
package pages
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/labstack/echo/v4"
|
|
||||||
|
|
||||||
"github.com/onsonr/sonr/pkg/nebula/components/register"
|
|
||||||
)
|
|
||||||
|
|
||||||
func Register(c echo.Context) error {
|
|
||||||
return echoResponse(c, register.Modal(c))
|
|
||||||
}
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
package pages
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bytes"
|
|
||||||
|
|
||||||
"github.com/a-h/templ"
|
|
||||||
"github.com/labstack/echo/v4"
|
|
||||||
)
|
|
||||||
|
|
||||||
func echoResponse(c echo.Context, cmp templ.Component) error {
|
|
||||||
// Create a buffer to store the rendered HTML
|
|
||||||
buf := &bytes.Buffer{}
|
|
||||||
// Render the component to the buffer
|
|
||||||
err := cmp.Render(c.Request().Context(), buf)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set the content type
|
|
||||||
c.Response().Header().Set(echo.HeaderContentType, echo.MIMETextHTML)
|
|
||||||
|
|
||||||
// Write the buffered content to the response
|
|
||||||
_, err = c.Response().Write(buf.Bytes())
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
// Code generated from Pkl module `orm`. DO NOT EDIT.
|
|
||||||
package orm
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/onsonr/sonr/pkg/orm/keyalgorithm"
|
|
||||||
"github.com/onsonr/sonr/pkg/orm/keycurve"
|
|
||||||
"github.com/onsonr/sonr/pkg/orm/keyencoding"
|
|
||||||
"github.com/onsonr/sonr/pkg/orm/keyrole"
|
|
||||||
"github.com/onsonr/sonr/pkg/orm/keytype"
|
|
||||||
)
|
|
||||||
|
|
||||||
type PublicKey struct {
|
|
||||||
Role keyrole.KeyRole `pkl:"role" json:"role,omitempty" query:"role"`
|
|
||||||
|
|
||||||
Algorithm keyalgorithm.KeyAlgorithm `pkl:"algorithm"`
|
|
||||||
|
|
||||||
Encoding keyencoding.KeyEncoding `pkl:"encoding"`
|
|
||||||
|
|
||||||
Curve keycurve.KeyCurve `pkl:"curve"`
|
|
||||||
|
|
||||||
KeyType keytype.KeyType `pkl:"key_type"`
|
|
||||||
|
|
||||||
Raw string `pkl:"raw"`
|
|
||||||
|
|
||||||
Jwk *JWK `pkl:"jwk"`
|
|
||||||
}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
// Code generated from Pkl module `orm`. DO NOT EDIT.
|
|
||||||
package orm
|
|
||||||
|
|
||||||
type Session struct {
|
|
||||||
Id string `pkl:"id" json:"id,omitempty" query:"id"`
|
|
||||||
|
|
||||||
Subject string `pkl:"subject" json:"subject,omitempty"`
|
|
||||||
|
|
||||||
Controller string `pkl:"controller" json:"controller,omitempty"`
|
|
||||||
|
|
||||||
Origin string `pkl:"origin" json:"origin,omitempty"`
|
|
||||||
|
|
||||||
CreatedAt *string `pkl:"createdAt" json:"createdAt,omitempty"`
|
|
||||||
|
|
||||||
UpdatedAt *string `pkl:"updatedAt" json:"updatedAt,omitempty"`
|
|
||||||
}
|
|
||||||
@@ -14,5 +14,4 @@ func init() {
|
|||||||
pkl.RegisterMapping("orm#Grant", Grant{})
|
pkl.RegisterMapping("orm#Grant", Grant{})
|
||||||
pkl.RegisterMapping("orm#Keyshare", Keyshare{})
|
pkl.RegisterMapping("orm#Keyshare", Keyshare{})
|
||||||
pkl.RegisterMapping("orm#Profile", Profile{})
|
pkl.RegisterMapping("orm#Profile", Profile{})
|
||||||
pkl.RegisterMapping("orm#Session", Session{})
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +1,39 @@
|
|||||||
package orm
|
package orm
|
||||||
|
|
||||||
|
const SCHEMA_VERSION = 1
|
||||||
|
|
||||||
|
func AccountSchema() string {
|
||||||
|
return "++, id, name, address, publicKey, chainCode, index, controller, createdAt"
|
||||||
|
}
|
||||||
|
|
||||||
|
func AssetSchema() string {
|
||||||
|
return "++, id, name, symbol, decimals, chainCode, createdAt"
|
||||||
|
}
|
||||||
|
|
||||||
|
func ChainSchema() string {
|
||||||
|
return "++, id, name, networkId, chainCode, createdAt"
|
||||||
|
}
|
||||||
|
|
||||||
|
func CredentialSchema() string {
|
||||||
|
return "++, id, subject, controller, attestationType, origin, label, deviceId, credentialId, publicKey, transport, signCount, userPresent, userVerified, backupEligible, backupState, cloneWarning, createdAt, updatedAt"
|
||||||
|
}
|
||||||
|
|
||||||
|
func DIDSchema() string {
|
||||||
|
return "++, id, role, algorithm, encoding, curve, key_type, raw, jwk"
|
||||||
|
}
|
||||||
|
|
||||||
|
func JwkSchema() string {
|
||||||
|
return "++, kty, crv, x, y, n, e"
|
||||||
|
}
|
||||||
|
|
||||||
|
func GrantSchema() string {
|
||||||
|
return "++, subject, controller, origin, token, scopes, createdAt, updatedAt"
|
||||||
|
}
|
||||||
|
|
||||||
|
func KeyshareSchema() string {
|
||||||
|
return "++, id, data, role, createdAt, lastRefreshed"
|
||||||
|
}
|
||||||
|
|
||||||
|
func ProfileSchema() string {
|
||||||
|
return "++, id, subject, controller, originUri, publicMetadata, privateMetadata, createdAt, updatedAt"
|
||||||
|
}
|
||||||
|
|||||||
@@ -17,9 +17,9 @@ processes:
|
|||||||
depends:
|
depends:
|
||||||
- ipfs
|
- ipfs
|
||||||
|
|
||||||
motr:
|
hway:
|
||||||
namespace: testnet
|
namespace: testnet
|
||||||
command: "devbox run start:motr"
|
command: "devbox run start:hway"
|
||||||
restart: on_failure
|
restart: on_failure
|
||||||
max_restarts: 1
|
max_restarts: 1
|
||||||
depends:
|
depends:
|
||||||
|
|||||||
@@ -32,16 +32,16 @@ message Params {
|
|||||||
message Methods {
|
message Methods {
|
||||||
option (amino.name) = "macaroon/methods";
|
option (amino.name) = "macaroon/methods";
|
||||||
option (gogoproto.equal) = true;
|
option (gogoproto.equal) = true;
|
||||||
|
string default = 1;
|
||||||
repeated string methods = 1;
|
repeated string supported = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Scopes defines the set of scopes
|
// Scopes defines the set of scopes
|
||||||
message Scopes {
|
message Scopes {
|
||||||
option (amino.name) = "macaroon/scopes";
|
option (amino.name) = "macaroon/scopes";
|
||||||
option (gogoproto.equal) = true;
|
option (gogoproto.equal) = true;
|
||||||
|
string base = 1;
|
||||||
repeated string scopes = 1;
|
repeated string supported = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Caveats defines the available caveats
|
// Caveats defines the available caveats
|
||||||
@@ -49,5 +49,6 @@ message Caveats {
|
|||||||
option (amino.name) = "macaroon/caveat";
|
option (amino.name) = "macaroon/caveat";
|
||||||
option (gogoproto.equal) = true;
|
option (gogoproto.equal) = true;
|
||||||
|
|
||||||
repeated string caveats = 1;
|
repeated string supported_first_party = 1;
|
||||||
|
repeated string supported_third_party = 2;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,3 +27,25 @@ message Grant {
|
|||||||
string origin = 4;
|
string origin = 4;
|
||||||
int64 expiry_height = 5;
|
int64 expiry_height = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
message Macaroon {
|
||||||
|
option (cosmos.orm.v1.table) = {
|
||||||
|
id: 2
|
||||||
|
primary_key: {
|
||||||
|
fields: "id"
|
||||||
|
auto_increment: true
|
||||||
|
}
|
||||||
|
index: {
|
||||||
|
id: 1
|
||||||
|
fields: "subject,origin"
|
||||||
|
unique: true
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
uint64 id = 1;
|
||||||
|
string controller = 2;
|
||||||
|
string subject = 3;
|
||||||
|
string origin = 4;
|
||||||
|
int64 expiry_height = 5;
|
||||||
|
string macaroon = 6;
|
||||||
|
}
|
||||||
|
|||||||
+1
-2
@@ -13,7 +13,6 @@ import (
|
|||||||
authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper"
|
authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper"
|
||||||
authtypes "github.com/cosmos/cosmos-sdk/x/auth/types"
|
authtypes "github.com/cosmos/cosmos-sdk/x/auth/types"
|
||||||
govtypes "github.com/cosmos/cosmos-sdk/x/gov/types"
|
govtypes "github.com/cosmos/cosmos-sdk/x/gov/types"
|
||||||
|
|
||||||
slashingkeeper "github.com/cosmos/cosmos-sdk/x/slashing/keeper"
|
slashingkeeper "github.com/cosmos/cosmos-sdk/x/slashing/keeper"
|
||||||
stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper"
|
stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper"
|
||||||
|
|
||||||
@@ -59,7 +58,7 @@ type ModuleOutputs struct {
|
|||||||
func ProvideModule(in ModuleInputs) ModuleOutputs {
|
func ProvideModule(in ModuleInputs) ModuleOutputs {
|
||||||
govAddr := authtypes.NewModuleAddress(govtypes.ModuleName).String()
|
govAddr := authtypes.NewModuleAddress(govtypes.ModuleName).String()
|
||||||
|
|
||||||
k := keeper.NewKeeper(in.Cdc, in.StoreService, in.AccountKeeper, in.NFTKeeper, &in.StakingKeeper, log.NewLogger(os.Stderr), govAddr)
|
k := keeper.NewKeeper(in.Cdc, in.StoreService, log.NewLogger(os.Stderr), govAddr, in.AccountKeeper, in.NFTKeeper, &in.StakingKeeper)
|
||||||
m := NewAppModule(in.Cdc, k, in.NFTKeeper)
|
m := NewAppModule(in.Cdc, k, in.NFTKeeper)
|
||||||
|
|
||||||
return ModuleOutputs{Module: m, Keeper: k, Out: depinject.Out{}}
|
return ModuleOutputs{Module: m, Keeper: k, Out: depinject.Out{}}
|
||||||
|
|||||||
@@ -0,0 +1,27 @@
|
|||||||
|
package keeper
|
||||||
|
|
||||||
|
import (
|
||||||
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||||
|
"github.com/onsonr/crypto/mpc"
|
||||||
|
"github.com/onsonr/sonr/x/did/types"
|
||||||
|
)
|
||||||
|
|
||||||
|
func (k Keeper) NewController(ctx sdk.Context) (uint64, types.ControllerI, error) {
|
||||||
|
shares, err := mpc.GenerateKeyshares()
|
||||||
|
if err != nil {
|
||||||
|
return 0, nil, err
|
||||||
|
}
|
||||||
|
controller, err := types.NewController(shares)
|
||||||
|
if err != nil {
|
||||||
|
return 0, nil, err
|
||||||
|
}
|
||||||
|
entry, err := controller.GetTableEntry()
|
||||||
|
if err != nil {
|
||||||
|
return 0, nil, err
|
||||||
|
}
|
||||||
|
num, err := k.OrmDB.ControllerTable().InsertReturningNumber(ctx, entry)
|
||||||
|
if err != nil {
|
||||||
|
return 0, nil, err
|
||||||
|
}
|
||||||
|
return num, controller, nil
|
||||||
|
}
|
||||||
+2
-49
@@ -1,24 +1,17 @@
|
|||||||
package keeper
|
package keeper
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"crypto/sha256"
|
|
||||||
"fmt"
|
|
||||||
|
|
||||||
"cosmossdk.io/collections"
|
"cosmossdk.io/collections"
|
||||||
storetypes "cosmossdk.io/core/store"
|
storetypes "cosmossdk.io/core/store"
|
||||||
"cosmossdk.io/log"
|
"cosmossdk.io/log"
|
||||||
"cosmossdk.io/orm/model/ormdb"
|
"cosmossdk.io/orm/model/ormdb"
|
||||||
nftkeeper "cosmossdk.io/x/nft/keeper"
|
nftkeeper "cosmossdk.io/x/nft/keeper"
|
||||||
"github.com/cosmos/cosmos-sdk/codec"
|
"github.com/cosmos/cosmos-sdk/codec"
|
||||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
||||||
authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper"
|
authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper"
|
||||||
authtypes "github.com/cosmos/cosmos-sdk/x/auth/types"
|
authtypes "github.com/cosmos/cosmos-sdk/x/auth/types"
|
||||||
"gopkg.in/macaroon.v2"
|
|
||||||
|
|
||||||
govtypes "github.com/cosmos/cosmos-sdk/x/gov/types"
|
govtypes "github.com/cosmos/cosmos-sdk/x/gov/types"
|
||||||
stakkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper"
|
stakkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper"
|
||||||
|
|
||||||
"github.com/onsonr/crypto/mpc"
|
|
||||||
apiv1 "github.com/onsonr/sonr/api/did/v1"
|
apiv1 "github.com/onsonr/sonr/api/did/v1"
|
||||||
"github.com/onsonr/sonr/x/did/types"
|
"github.com/onsonr/sonr/x/did/types"
|
||||||
)
|
)
|
||||||
@@ -45,11 +38,11 @@ type Keeper struct {
|
|||||||
func NewKeeper(
|
func NewKeeper(
|
||||||
cdc codec.BinaryCodec,
|
cdc codec.BinaryCodec,
|
||||||
storeService storetypes.KVStoreService,
|
storeService storetypes.KVStoreService,
|
||||||
|
logger log.Logger,
|
||||||
|
authority string,
|
||||||
accKeeper authkeeper.AccountKeeper,
|
accKeeper authkeeper.AccountKeeper,
|
||||||
nftKeeper nftkeeper.Keeper,
|
nftKeeper nftkeeper.Keeper,
|
||||||
stkKeeper *stakkeeper.Keeper,
|
stkKeeper *stakkeeper.Keeper,
|
||||||
logger log.Logger,
|
|
||||||
authority string,
|
|
||||||
) Keeper {
|
) Keeper {
|
||||||
logger = logger.With(log.ModuleKey, "x/"+types.ModuleName)
|
logger = logger.With(log.ModuleKey, "x/"+types.ModuleName)
|
||||||
sb := collections.NewSchemaBuilder(storeService)
|
sb := collections.NewSchemaBuilder(storeService)
|
||||||
@@ -92,43 +85,3 @@ func NewKeeper(
|
|||||||
k.Schema = schema
|
k.Schema = schema
|
||||||
return k
|
return k
|
||||||
}
|
}
|
||||||
|
|
||||||
func (k Keeper) NewController(ctx sdk.Context) (uint64, types.ControllerI, error) {
|
|
||||||
shares, err := mpc.GenerateKeyshares()
|
|
||||||
if err != nil {
|
|
||||||
return 0, nil, err
|
|
||||||
}
|
|
||||||
controller, err := types.NewController(shares)
|
|
||||||
if err != nil {
|
|
||||||
return 0, nil, err
|
|
||||||
}
|
|
||||||
entry, err := controller.GetTableEntry()
|
|
||||||
if err != nil {
|
|
||||||
return 0, nil, err
|
|
||||||
}
|
|
||||||
num, err := k.OrmDB.ControllerTable().InsertReturningNumber(ctx, entry)
|
|
||||||
if err != nil {
|
|
||||||
return 0, nil, err
|
|
||||||
}
|
|
||||||
return num, controller, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// IssueMacaroon creates a macaroon with the specified parameters.
|
|
||||||
func (k Keeper) IssueMacaroon(ctx sdk.Context, sharedMPCPubKey, location, id string, blockExpiry uint64) (*macaroon.Macaroon, error) {
|
|
||||||
// Derive the root key by hashing the shared MPC public key
|
|
||||||
rootKey := sha256.Sum256([]byte(sharedMPCPubKey))
|
|
||||||
// Create the macaroon
|
|
||||||
m, err := macaroon.New(rootKey[:], []byte(id), location, macaroon.LatestVersion)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
// Add the block expiry caveat
|
|
||||||
caveat := fmt.Sprintf("block-expiry=%d", blockExpiry)
|
|
||||||
err = m.AddFirstPartyCaveat([]byte(caveat))
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return m, nil
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ func SetupTest(t *testing.T) *testFixture {
|
|||||||
registerBaseSDKModules(f, encCfg, storeService, logger, require)
|
registerBaseSDKModules(f, encCfg, storeService, logger, require)
|
||||||
|
|
||||||
// Setup POA Keeper.
|
// Setup POA Keeper.
|
||||||
f.k = keeper.NewKeeper(encCfg.Codec, storeService, f.accountkeeper, f.nftKeeper, f.stakingKeeper, logger, f.govModAddr)
|
f.k = keeper.NewKeeper(encCfg.Codec, storeService, logger, f.govModAddr, f.accountkeeper, f.nftKeeper, f.stakingKeeper)
|
||||||
f.msgServer = keeper.NewMsgServerImpl(f.k)
|
f.msgServer = keeper.NewMsgServerImpl(f.k)
|
||||||
f.queryServer = keeper.NewQuerier(f.k)
|
f.queryServer = keeper.NewQuerier(f.k)
|
||||||
f.appModule = module.NewAppModule(encCfg.Codec, f.k, f.nftKeeper)
|
f.appModule = module.NewAppModule(encCfg.Codec, f.k, f.nftKeeper)
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
|
|
||||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||||
|
|
||||||
"github.com/onsonr/sonr/x/did/types"
|
"github.com/onsonr/sonr/x/did/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -20,7 +21,7 @@ func NewQuerier(keeper Keeper) Querier {
|
|||||||
// Params returns the total set of did parameters.
|
// Params returns the total set of did parameters.
|
||||||
func (k Querier) Params(goCtx context.Context, req *types.QueryRequest) (*types.QueryParamsResponse, error) {
|
func (k Querier) Params(goCtx context.Context, req *types.QueryRequest) (*types.QueryParamsResponse, error) {
|
||||||
ctx := sdk.UnwrapSDKContext(goCtx)
|
ctx := sdk.UnwrapSDKContext(goCtx)
|
||||||
p, err := k.Keeper.CurrentParams(ctx)
|
p, err := k.CurrentParams(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -35,13 +36,11 @@ func (k Querier) Resolve(goCtx context.Context, req *types.QueryRequest) (*types
|
|||||||
// Sign implements types.QueryServer.
|
// Sign implements types.QueryServer.
|
||||||
func (k Querier) Sign(goCtx context.Context, req *types.QuerySignRequest) (*types.QuerySignResponse, error) {
|
func (k Querier) Sign(goCtx context.Context, req *types.QuerySignRequest) (*types.QuerySignResponse, error) {
|
||||||
// ctx := sdk.UnwrapSDKContext(goCtx)
|
// ctx := sdk.UnwrapSDKContext(goCtx)
|
||||||
panic("Sign is unimplemented")
|
|
||||||
return &types.QuerySignResponse{}, nil
|
return &types.QuerySignResponse{}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Verify implements types.QueryServer.
|
// Verify implements types.QueryServer.
|
||||||
func (k Querier) Verify(goCtx context.Context, req *types.QueryVerifyRequest) (*types.QueryVerifyResponse, error) {
|
func (k Querier) Verify(goCtx context.Context, req *types.QueryVerifyRequest) (*types.QueryVerifyResponse, error) {
|
||||||
// ctx := sdk.UnwrapSDKContext(goCtx)
|
// ctx := sdk.UnwrapSDKContext(goCtx)
|
||||||
panic("Verify is unimplemented")
|
|
||||||
return &types.QueryVerifyResponse{}, nil
|
return &types.QueryVerifyResponse{}, nil
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import (
|
|||||||
"cosmossdk.io/depinject"
|
"cosmossdk.io/depinject"
|
||||||
"cosmossdk.io/log"
|
"cosmossdk.io/log"
|
||||||
"github.com/cosmos/cosmos-sdk/codec"
|
"github.com/cosmos/cosmos-sdk/codec"
|
||||||
|
authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper"
|
||||||
authtypes "github.com/cosmos/cosmos-sdk/x/auth/types"
|
authtypes "github.com/cosmos/cosmos-sdk/x/auth/types"
|
||||||
govtypes "github.com/cosmos/cosmos-sdk/x/gov/types"
|
govtypes "github.com/cosmos/cosmos-sdk/x/gov/types"
|
||||||
slashingkeeper "github.com/cosmos/cosmos-sdk/x/slashing/keeper"
|
slashingkeeper "github.com/cosmos/cosmos-sdk/x/slashing/keeper"
|
||||||
@@ -37,10 +38,11 @@ func init() {
|
|||||||
type ModuleInputs struct {
|
type ModuleInputs struct {
|
||||||
depinject.In
|
depinject.In
|
||||||
|
|
||||||
Cdc codec.Codec
|
Cdc codec.Codec
|
||||||
StoreService store.KVStoreService
|
StoreService store.KVStoreService
|
||||||
AddressCodec address.Codec
|
AddressCodec address.Codec
|
||||||
DidKeeper didkeeper.Keeper
|
AccountKeeper authkeeper.AccountKeeper
|
||||||
|
DidKeeper didkeeper.Keeper
|
||||||
|
|
||||||
StakingKeeper stakingkeeper.Keeper
|
StakingKeeper stakingkeeper.Keeper
|
||||||
SlashingKeeper slashingkeeper.Keeper
|
SlashingKeeper slashingkeeper.Keeper
|
||||||
@@ -56,7 +58,7 @@ type ModuleOutputs struct {
|
|||||||
func ProvideModule(in ModuleInputs) ModuleOutputs {
|
func ProvideModule(in ModuleInputs) ModuleOutputs {
|
||||||
govAddr := authtypes.NewModuleAddress(govtypes.ModuleName).String()
|
govAddr := authtypes.NewModuleAddress(govtypes.ModuleName).String()
|
||||||
|
|
||||||
k := keeper.NewKeeper(in.Cdc, in.StoreService, log.NewLogger(os.Stderr), govAddr)
|
k := keeper.NewKeeper(in.Cdc, in.StoreService, log.NewLogger(os.Stderr), govAddr, in.AccountKeeper, in.DidKeeper)
|
||||||
m := NewAppModule(in.Cdc, k, in.DidKeeper)
|
m := NewAppModule(in.Cdc, k, in.DidKeeper)
|
||||||
|
|
||||||
return ModuleOutputs{Module: m, Keeper: k, Out: depinject.Out{}}
|
return ModuleOutputs{Module: m, Keeper: k, Out: depinject.Out{}}
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package keeper
|
||||||
|
|
||||||
|
import (
|
||||||
|
"crypto/sha256"
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||||
|
"gopkg.in/macaroon.v2"
|
||||||
|
)
|
||||||
|
|
||||||
|
// IssueMacaroon creates a macaroon with the specified parameters.
|
||||||
|
func (k Keeper) IssueMacaroon(ctx sdk.Context, sharedMPCPubKey, location, id string, blockExpiry uint64) (*macaroon.Macaroon, error) {
|
||||||
|
// Derive the root key by hashing the shared MPC public key
|
||||||
|
rootKey := sha256.Sum256([]byte(sharedMPCPubKey))
|
||||||
|
// Create the macaroon
|
||||||
|
m, err := macaroon.New(rootKey[:], []byte(id), location, macaroon.LatestVersion)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add the block expiry caveat
|
||||||
|
caveat := fmt.Sprintf("block-expiry=%d", blockExpiry)
|
||||||
|
err = m.AddFirstPartyCaveat([]byte(caveat))
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return m, nil
|
||||||
|
}
|
||||||
@@ -6,10 +6,12 @@ import (
|
|||||||
"cosmossdk.io/log"
|
"cosmossdk.io/log"
|
||||||
"cosmossdk.io/orm/model/ormdb"
|
"cosmossdk.io/orm/model/ormdb"
|
||||||
"github.com/cosmos/cosmos-sdk/codec"
|
"github.com/cosmos/cosmos-sdk/codec"
|
||||||
|
authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper"
|
||||||
authtypes "github.com/cosmos/cosmos-sdk/x/auth/types"
|
authtypes "github.com/cosmos/cosmos-sdk/x/auth/types"
|
||||||
govtypes "github.com/cosmos/cosmos-sdk/x/gov/types"
|
govtypes "github.com/cosmos/cosmos-sdk/x/gov/types"
|
||||||
|
|
||||||
apiv1 "github.com/onsonr/sonr/api/macaroon/v1"
|
apiv1 "github.com/onsonr/sonr/api/macaroon/v1"
|
||||||
|
didkeeper "github.com/onsonr/sonr/x/did/keeper"
|
||||||
"github.com/onsonr/sonr/x/macaroon/types"
|
"github.com/onsonr/sonr/x/macaroon/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -23,6 +25,9 @@ type Keeper struct {
|
|||||||
Params collections.Item[types.Params]
|
Params collections.Item[types.Params]
|
||||||
OrmDB apiv1.StateStore
|
OrmDB apiv1.StateStore
|
||||||
|
|
||||||
|
AccountKeeper authkeeper.AccountKeeper
|
||||||
|
DIDKeeper didkeeper.Keeper
|
||||||
|
|
||||||
authority string
|
authority string
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -32,6 +37,8 @@ func NewKeeper(
|
|||||||
storeService storetypes.KVStoreService,
|
storeService storetypes.KVStoreService,
|
||||||
logger log.Logger,
|
logger log.Logger,
|
||||||
authority string,
|
authority string,
|
||||||
|
accKeeper authkeeper.AccountKeeper,
|
||||||
|
didKeeper didkeeper.Keeper,
|
||||||
) Keeper {
|
) Keeper {
|
||||||
logger = logger.With(log.ModuleKey, "x/"+types.ModuleName)
|
logger = logger.With(log.ModuleKey, "x/"+types.ModuleName)
|
||||||
|
|
||||||
@@ -58,6 +65,9 @@ func NewKeeper(
|
|||||||
Params: collections.NewItem(sb, types.ParamsKey, "params", codec.CollValue[types.Params](cdc)),
|
Params: collections.NewItem(sb, types.ParamsKey, "params", codec.CollValue[types.Params](cdc)),
|
||||||
OrmDB: store,
|
OrmDB: store,
|
||||||
|
|
||||||
|
AccountKeeper: accKeeper,
|
||||||
|
DIDKeeper: didKeeper,
|
||||||
|
|
||||||
authority: authority,
|
authority: authority,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ func SetupTest(t *testing.T) *testFixture {
|
|||||||
registerBaseSDKModules(f, encCfg, storeService, logger, require)
|
registerBaseSDKModules(f, encCfg, storeService, logger, require)
|
||||||
|
|
||||||
// Setup Keeper.
|
// Setup Keeper.
|
||||||
f.k = keeper.NewKeeper(encCfg.Codec, storeService, logger, f.govModAddr)
|
f.k = keeper.NewKeeper(encCfg.Codec, storeService, logger, f.govModAddr, f.accountkeeper, f.didk)
|
||||||
f.msgServer = keeper.NewMsgServerImpl(f.k)
|
f.msgServer = keeper.NewMsgServerImpl(f.k)
|
||||||
f.queryServer = keeper.NewQuerier(f.k)
|
f.queryServer = keeper.NewQuerier(f.k)
|
||||||
f.appModule = module.NewAppModule(encCfg.Codec, f.k, f.didk)
|
f.appModule = module.NewAppModule(encCfg.Codec, f.k, f.didk)
|
||||||
|
|||||||
@@ -32,13 +32,11 @@ func (k Querier) Params(c context.Context, req *types.QueryParamsRequest) (*type
|
|||||||
// RefreshToken implements types.QueryServer.
|
// RefreshToken implements types.QueryServer.
|
||||||
func (k Querier) RefreshToken(goCtx context.Context, req *types.QueryRefreshTokenRequest) (*types.QueryRefreshTokenResponse, error) {
|
func (k Querier) RefreshToken(goCtx context.Context, req *types.QueryRefreshTokenRequest) (*types.QueryRefreshTokenResponse, error) {
|
||||||
// ctx := sdk.UnwrapSDKContext(goCtx)
|
// ctx := sdk.UnwrapSDKContext(goCtx)
|
||||||
panic("RefreshToken is unimplemented")
|
|
||||||
return &types.QueryRefreshTokenResponse{}, nil
|
return &types.QueryRefreshTokenResponse{}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// ValidateToken implements types.QueryServer.
|
// ValidateToken implements types.QueryServer.
|
||||||
func (k Querier) ValidateToken(goCtx context.Context, req *types.QueryValidateTokenRequest) (*types.QueryValidateTokenResponse, error) {
|
func (k Querier) ValidateToken(goCtx context.Context, req *types.QueryValidateTokenRequest) (*types.QueryValidateTokenResponse, error) {
|
||||||
// ctx := sdk.UnwrapSDKContext(goCtx)
|
// ctx := sdk.UnwrapSDKContext(goCtx)
|
||||||
panic("ValidateToken is unimplemented")
|
|
||||||
return &types.QueryValidateTokenResponse{}, nil
|
return &types.QueryValidateTokenResponse{}, nil
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,9 +3,9 @@ package keeper
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
|
"cosmossdk.io/errors"
|
||||||
govtypes "github.com/cosmos/cosmos-sdk/x/gov/types"
|
govtypes "github.com/cosmos/cosmos-sdk/x/gov/types"
|
||||||
|
|
||||||
"cosmossdk.io/errors"
|
|
||||||
"github.com/onsonr/sonr/x/macaroon/types"
|
"github.com/onsonr/sonr/x/macaroon/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -31,13 +31,11 @@ func (ms msgServer) UpdateParams(ctx context.Context, msg *types.MsgUpdateParams
|
|||||||
// AuthorizeService implements types.MsgServer.
|
// AuthorizeService implements types.MsgServer.
|
||||||
func (ms msgServer) AuthorizeService(ctx context.Context, msg *types.MsgIssueMacaroon) (*types.MsgIssueMacaroonResponse, error) {
|
func (ms msgServer) AuthorizeService(ctx context.Context, msg *types.MsgIssueMacaroon) (*types.MsgIssueMacaroonResponse, error) {
|
||||||
// ctx := sdk.UnwrapSDKContext(goCtx)
|
// ctx := sdk.UnwrapSDKContext(goCtx)
|
||||||
panic("AuthorizeService is unimplemented")
|
|
||||||
return &types.MsgIssueMacaroonResponse{}, nil
|
return &types.MsgIssueMacaroonResponse{}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// IssueMacaroon implements types.MsgServer.
|
// IssueMacaroon implements types.MsgServer.
|
||||||
func (ms msgServer) IssueMacaroon(ctx context.Context, msg *types.MsgIssueMacaroon) (*types.MsgIssueMacaroonResponse, error) {
|
func (ms msgServer) IssueMacaroon(ctx context.Context, msg *types.MsgIssueMacaroon) (*types.MsgIssueMacaroonResponse, error) {
|
||||||
// ctx := sdk.UnwrapSDKContext(goCtx)
|
// ctx := sdk.UnwrapSDKContext(goCtx)
|
||||||
panic("IssueMacaroon is unimplemented")
|
|
||||||
return &types.MsgIssueMacaroonResponse{}, nil
|
return &types.MsgIssueMacaroonResponse{}, nil
|
||||||
}
|
}
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user