feature/1114 implement account interface (#1167)

- **refactor: move session-related code to middleware package**
- **refactor: update PKL build process and adjust related
configurations**
- **feat: integrate base.cosmos.v1 Genesis module**
- **refactor: pass session context to modal rendering functions**
- **refactor: move nebula package to app directory and update templ
version**
- **refactor: Move home section video view to dedicated directory**
- **refactor: remove unused views file**
- **refactor: move styles and UI components to global scope**
- **refactor: Rename images.go to cdn.go**
- **feat: Add Empty State Illustrations**
- **refactor: Consolidate Vault Index Logic**
- **fix: References to App.wasm and remove Vault Directory embedded CDN
files**
- **refactor: Move CDN types to Models**
- **fix: Correct line numbers in templ error messages for
arch_templ.go**
- **refactor: use common types for peer roles**
- **refactor: move common types and ORM to a shared package**
- **fix: Config import dwn**
- **refactor: move nebula directory to app**
- **feat: Rebuild nebula**
- **fix: correct file paths in panels templates**
- **feat: Remove duplicate types**
- **refactor: Move dwn to pkg/core**
- **refactor: Binary Structure**
- **feat: Introduce Crypto Pkg**
- **fix: Broken Process Start**
- **feat: Update pkg/* structure**
- **feat: Refactor PKL Structure**
- **build: update pkl build process**
- **chore: Remove Empty Files**
- **refactor: remove unused macaroon package**
- **feat: Add WebAwesome Components**
- **refactor: consolidate build and generation tasks into a single
taskfile, remove redundant makefile targets**
- **refactor: refactor server and move components to pkg/core/dwn**
- **build: update go modules**
- **refactor: move gateway logic into dedicated hway command**
- **feat: Add KSS (Krawczyk-Song-Song) MPC cryptography module**
- **feat: Implement MPC-based JWT signing and UCAN token generation**
- **feat: add support for MPC-based JWT signing**
- **feat: Implement MPC-based UCAN capabilities for smart accounts**
- **feat: add address field to keyshareSource**
- **feat: Add comprehensive MPC test suite for keyshares, UCAN tokens,
and token attenuations**
- **refactor: improve MPC keyshare management and signing process**
- **feat: enhance MPC capability hierarchy documentation**
- **refactor: rename GenerateKeyshares function to NewKeyshareSource for
clarity**
- **refactor: remove unused Ethereum address computation**
- **feat: Add HasHandle and IsAuthenticated methods to HTTPContext**
- **refactor: Add context.Context support to session HTTPContext**
- **refactor: Resolve context interface conflicts in HTTPContext**
- **feat: Add session ID context key and helper functions**
- **feat: Update WebApp Page Rendering**
- **refactor: Simplify context management by using single HTTPContext
key**
- **refactor: Simplify HTTPContext creation and context management in
session middleware**
- **refactor: refactor session middleware to use a single data
structure**
- **refactor: Simplify HTTPContext implementation and session data
handling**
- **refactor: Improve session context handling and prevent nil pointer
errors**
- **refactor: Improve session context handling with nil safety and type
support**
- **refactor: improve session data injection**
- **feat: add full-screen modal component and update registration flow**
- **chore: add .air.toml to .gitignore**
- **feat: add Air to devbox and update dependencies**
This commit is contained in:
Prad Nukala
2024-11-23 01:28:58 -05:00
committed by GitHub
parent bf94277b0f
commit 89989fa102
549 changed files with 74162 additions and 9856 deletions
+89
View File
@@ -0,0 +1,89 @@
module config.sonr.App
import "package://pkg.pkl-lang.org/pkl-pantry/pkl.toml@1.0.0#/toml.pkl"
class Chain {
`minimum-gas-prices`: String = "0stake"
`query-gas-limit`: String = "0"
pruning: String = "default"
`pruning-keep-recent`: String = "0"
`pruning-interval`: String = "0"
`halt-height`: Int = 0
`halt-time`: Int = 0
`min-retain-blocks`: Int = 0
`inter-block-cache`: Boolean = true
`index-events`: Listing<String> = new {}
`iavl-cache-size`: Int = 781250
`iavl-disable-fastnode`: Boolean = false
`app-db-backend`: String = ""
telemetry: Telemetry = new {}
api: Api = new {}
grpc: Grpc = new {}
`grpc-web`: GrpcWeb = new {}
`state-sync`: StateSync = new {}
streaming: Streaming = new {}
mempool: Mempool = new {}
}
class Telemetry {
`service-name`: String = ""
enabled: Boolean = true
`enable-hostname`: Boolean = false
`enable-hostname-label`: Boolean = false
`enable-service-label`: Boolean = false
`prometheus-retention-time`: Int = 60
`global-labels`: Listing<Listing<String>> = new {
new {
"chain_id"
"chain-NKlMbx"
}
}
`metrics-sink`: String = ""
`statsd-addr`: String = ""
`datadog-hostname`: String = ""
}
class Api {
enable: Boolean = true
swagger: Boolean = false
address: String = "tcp://0.0.0.0:1317"
`max-open-connections`: Int = 1000
`rpc-read-timeout`: Int = 10
`rpc-write-timeout`: Int = 0
`rpc-max-body-bytes`: Int = 1000000
`enabled-unsafe-cors`: Boolean = false
}
class Grpc {
enable: Boolean = true
address: String = "0.0.0.0:9090"
`max-recv-msg-size`: String = "10485760"
`max-send-msg-size`: String = "2147483647"
}
class GrpcWeb {
enable: Boolean = true
}
class StateSync {
`snapshot-interval`: Int = 0
`snapshot-keep-recent`: Int = 2
}
class Streaming {
abci: Abci = new {}
}
class Abci {
keys: Listing<String> = new {}
plugin: String = ""
`stop-node-on-err`: Boolean = true
}
class Mempool {
`max-txs`: Int = 5000
}
output {
renderer = new toml.Renderer {}
}
+154
View File
@@ -0,0 +1,154 @@
module config.sonr.Chain
import "package://pkg.pkl-lang.org/pkl-pantry/pkl.toml@1.0.0#/toml.pkl"
class Chain {
version: String = "0.38.5"
proxy_app: String = "tcp://127.0.0.1:26658"
moniker: String = "node0"
db_backend: String = "goleveldb"
db_dir: String = "data"
log_level: String = "info"
log_format: String = "plain"
genesis_file: String = "config/genesis.json"
priv_validator_key_file: String = "config/priv_validator_key.json"
priv_validator_state_file: String = "data/priv_validator_state.json"
priv_validator_laddr: String = ""
node_key_file: String = "config/node_key.json"
abci: String = "socket"
filter_peers: Boolean = false
rpc: Rpc = new {}
p2p: P2p = new {}
mempool: Mempool = new {}
statesync: StateSync = new {}
blocksync: BlockSync = new {}
consensus: Consensus = new {}
storage: Storage = new {}
tx_index: TxIndex = new {}
instrumentation: Instrumentation = new {}
}
class Rpc {
laddr: String = "tcp://0.0.0.0:26657"
cors_allowed_origins: Listing<String> = new {}
cors_allowed_methods: Listing<String> = new {
"HEAD"
"GET"
"POST"
}
cors_allowed_headers: Listing<String> = new {
"Origin"
"Accept"
"Content-Type"
"X-Requested-With"
"X-Server-Time"
}
grpc_laddr: String = ""
grpc_max_open_connections: Int = 900
unsafe: Boolean = false
max_open_connections: Int = 900
max_subscription_clients: Int = 100
max_subscriptions_per_client: Int = 5
experimental_subscription_buffer_size: Int = 200
experimental_websocket_write_buffer_size: Int = 200
experimental_close_on_slow_client: Boolean = false
timeout_broadcast_tx_commit: String = "10s"
max_body_bytes: Int = 1000000
max_header_bytes: Int = 1048576
tls_cert_file: String = ""
tls_key_file: String = ""
pprof_laddr: String = "localhost:6060"
}
class P2p {
laddr: String = "tcp://0.0.0.0:26656"
external_address: String = ""
seeds: String = ""
persistent_peers: String = "7698b304905ac4459e8bf5fe8f8373aa46a528a5@192.168.0.2:26656,b1aee1db2ac83c57ffe561624ba169bdcd80dc1a@192.168.0.4:26656,cda55214016021246cd26f8991bd842a0c1dc3fb@192.168.0.3:26656"
addr_book_file: String = "config/addrbook.json"
addr_book_strict: Boolean = true
max_num_inbound_peers: Int = 40
max_num_outbound_peers: Int = 10
unconditional_peer_ids: String = ""
persistent_peers_max_dial_period: String = "0s"
flush_throttle_timeout: String = "100ms"
max_packet_msg_payload_size: Int = 1024
send_rate: Int = 5120000
recv_rate: Int = 5120000
pex: Boolean = true
seed_mode: Boolean = false
private_peer_ids: String = ""
allow_duplicate_ip: Boolean = false
handshake_timeout: String = "20s"
dial_timeout: String = "3s"
}
class Mempool {
type: String = "flood"
recheck: Boolean = true
broadcast: Boolean = true
wal_dir: String = ""
size: Int = 5000
max_txs_bytes: Int = 1073741824
cache_size: Int = 10000
`keep-invalid-txs-in-cache`: Boolean = false
max_tx_bytes: Int = 1048576
max_batch_bytes: Int = 0
experimental_max_gossip_connections_to_persistent_peers: Int = 0
experimental_max_gossip_connections_to_non_persistent_peers: Int = 0
}
class StateSync {
enable: Boolean = false
rpc_servers: String = ""
trust_height: Int = 0
trust_hash: String = ""
trust_period: String = "168h0m0s"
discovery_time: String = "15s"
temp_dir: String = ""
chunk_request_timeout: String = "10s"
chunk_fetchers: String = "4"
}
class BlockSync {
version: String = "v0"
}
class Consensus {
wal_file: String = "data/cs.wal/wal"
timeout_propose: String = "3s"
timeout_propose_delta: String = "500ms"
timeout_prevote: String = "1s"
timeout_prevote_delta: String = "500ms"
timeout_precommit: String = "1s"
timeout_precommit_delta: String = "500ms"
timeout_commit: String = "5s"
double_sign_check_height: Int = 0
skip_timeout_commit: Boolean = false
create_empty_blocks: Boolean = true
create_empty_blocks_interval: String = "0s"
peer_gossip_sleep_duration: String = "100ms"
peer_query_maj23_sleep_duration: String = "2s"
}
class Storage {
discard_abci_responses: Boolean = false
}
class TxIndex {
indexer: String = "kv"
`psql-conn`: String = ""
}
class Instrumentation {
prometheus: Boolean = false
prometheus_listen_addr: String = ":26660"
max_open_connections: Int = 3
namespace: String = "cometbft"
}
output {
renderer = new toml.Renderer {}
}
+3
View File
@@ -0,0 +1,3 @@
module config.sonr.Genesis
+22
View File
@@ -0,0 +1,22 @@
//===----------------------------------------------------------------------===//
// Copyright © 2024 Apple Inc. and the Pkl project authors. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//===----------------------------------------------------------------------===//
/// Base configuration files for initializing a sonr chain
amends "../basePklProject.pkl"
package {
name = "chain.sonr"
version = "0.0.1"
}
+4
View File
@@ -0,0 +1,4 @@
{
"schemaVersion": 1,
"resolvedDependencies": {}
}