Delay unilateral exit and support send to onchain address (#117)

* add delay on redeem close + forfeit close

* increase default round lifetime (16 minutes min)

* add sequence to final pset

* update CLI and server to support delayed vtxos oncahin

* rename future to "locked"

* add configurable EXIT_DELAY variable

* renaming

* rename "close" --> "closure"

* rename "close" to "closure"

* error message config.go
This commit is contained in:
Louis Singer
2024-02-22 16:47:52 +01:00
committed by GitHub
parent 7c8ee7ab12
commit a95a829b20
30 changed files with 1244 additions and 719 deletions

View File

@@ -29,9 +29,10 @@ var (
network.Testnet.Name: "https://blockstream.info/liquidtestnet/api",
}
initialState = map[string]string{
initialState = map[string]interface{}{
"ark_url": "",
"ark_pubkey": "",
"ark_lifetime": 0,
"encrypted_private_key": "",
"password_hash": "",
"public_key": "",
@@ -109,7 +110,7 @@ func cleanAndExpandPath(path string) string {
return filepath.Clean(os.ExpandEnv(path))
}
func getState() (map[string]string, error) {
func getState() (map[string]interface{}, error) {
file, err := os.ReadFile(statePath)
if err != nil {
if !os.IsNotExist(err) {
@@ -121,7 +122,7 @@ func getState() (map[string]string, error) {
return initialState, nil
}
data := map[string]string{}
data := map[string]interface{}{}
if err := json.Unmarshal(file, &data); err != nil {
return nil, err
}
@@ -137,7 +138,7 @@ func setInitialState() error {
return os.WriteFile(statePath, jsonString, 0755)
}
func setState(data map[string]string) error {
func setState(data map[string]interface{}) error {
currentData, err := getState()
if err != nil {
return err
@@ -157,8 +158,8 @@ func setState(data map[string]string) error {
return nil
}
func merge(maps ...map[string]string) map[string]string {
merge := make(map[string]string, 0)
func merge(maps ...map[string]interface{}) map[string]interface{} {
merge := make(map[string]interface{}, 0)
for _, m := range maps {
for k, v := range m {
merge[k] = v