Skip to content

Commit 11eebdb

Browse files
authored
Merge branch 'main' into update-react
2 parents 578b1dd + 214edea commit 11eebdb

23 files changed

+388
-113
lines changed

.github/dependabot.yml

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,19 @@ updates:
66
schedule:
77
interval: "weekly"
88
groups:
9-
base-npm-all:
9+
base-npm:
1010
patterns:
1111
- "*"
12+
ignore:
13+
- dependency-name: "*"
14+
update-types: ["version-update:semver-patch"]
1215
# Enable version updates for GitHub Actions
1316
- package-ecosystem: "github-actions"
1417
directory: "/"
1518
schedule:
1619
interval: "weekly"
1720
groups:
18-
actions-all:
21+
actions:
1922
patterns:
2023
- "*"
2124
# Enable version updates for automations uv
@@ -24,42 +27,57 @@ updates:
2427
schedule:
2528
interval: "weekly"
2629
groups:
27-
automations-uv-all:
30+
automations-uv:
2831
patterns:
2932
- "*"
33+
ignore:
34+
- dependency-name: "*"
35+
update-types: ["version-update:semver-patch"]
3036
# Enable version updates for examples uv
3137
- package-ecosystem: "uv"
3238
directory: "/examples/developer-hub-python/"
3339
schedule:
3440
interval: "weekly"
3541
groups:
36-
examples-uv-all:
42+
examples-uv:
3743
patterns:
3844
- "*"
45+
ignore:
46+
- dependency-name: "*"
47+
update-types: ["version-update:semver-patch"]
3948
# Enable version updates for examples js
4049
- package-ecosystem: "npm"
4150
directory: "/examples/developer-hub-javascript/"
4251
schedule:
4352
interval: "weekly"
4453
groups:
45-
examples-js-all:
54+
examples-js:
4655
patterns:
4756
- "*"
57+
ignore:
58+
- dependency-name: "*"
59+
update-types: ["version-update:semver-patch"]
4860
# Enable version updates for examples go
4961
- package-ecosystem: "gomod"
5062
directory: "/examples/developer-hub-go/"
5163
schedule:
5264
interval: "weekly"
5365
groups:
54-
examples-go-all:
66+
examples-go:
5567
patterns:
5668
- "*"
69+
ignore:
70+
- dependency-name: "*"
71+
update-types: ["version-update:semver-patch"]
5772
# Enable version updates for examples rust
5873
- package-ecosystem: "cargo"
5974
directory: "/examples/developer-hub-rust/"
6075
schedule:
6176
interval: "weekly"
6277
groups:
63-
examples-rust-all:
78+
examples-rust:
6479
patterns:
6580
- "*"
81+
ignore:
82+
- dependency-name: "*"
83+
update-types: ["version-update:semver-patch"]

.github/workflows/deploy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
- uses: actions/checkout@v5
2020
with:
2121
fetch-depth: 0
22-
- uses: actions/setup-node@v4
22+
- uses: actions/setup-node@v5
2323
with:
2424
node-version: 22
2525
cache: "npm"

.github/workflows/lint-check-internal-links.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
runs-on: ubuntu-latest
1515
steps:
1616
- uses: actions/checkout@v5
17-
- uses: actions/setup-node@v4
17+
- uses: actions/setup-node@v5
1818
with:
1919
node-version: 22
2020
cache: "npm"
@@ -28,7 +28,7 @@ jobs:
2828
runs-on: ubuntu-latest
2929
steps:
3030
- uses: actions/checkout@v5
31-
- uses: actions/setup-node@v4
31+
- uses: actions/setup-node@v5
3232
with:
3333
node-version: 22
3434
cache: "npm"
@@ -42,7 +42,7 @@ jobs:
4242
runs-on: ubuntu-latest
4343
steps:
4444
- uses: actions/checkout@v5
45-
- uses: actions/setup-node@v4
45+
- uses: actions/setup-node@v5
4646
with:
4747
node-version: 22
4848
cache: "npm"
@@ -56,7 +56,7 @@ jobs:
5656
runs-on: ubuntu-latest
5757
steps:
5858
- uses: actions/checkout@v5
59-
- uses: actions/setup-node@v4
59+
- uses: actions/setup-node@v5
6060
with:
6161
node-version: 22
6262
cache: "npm"

.github/workflows/test-go-examples.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
working-directory: ./examples/developer-hub-go
2121
steps:
2222
- uses: actions/checkout@v5
23-
- uses: actions/setup-go@v5
23+
- uses: actions/setup-go@v6
2424
with:
2525
go-version: stable
2626
cache-dependency-path: "examples/developer-hub-go/go.sum"

.github/workflows/test-javascript-examples.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
working-directory: ./examples/developer-hub-javascript
2121
steps:
2222
- uses: actions/checkout@v5
23-
- uses: actions/setup-node@v4
23+
- uses: actions/setup-node@v5
2424
with:
2525
node-version: 22
2626
cache: "npm"
File renamed without changes.

docs/fassets/3-redemption.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ This is the summary of the redemption process:
3434

3535
4. Every agent pays the redeemer on the underlying chain and includes the payment reference in the memo field of the payment transaction.
3636

37-
Agents can pay the redemption from any address they control on the underlying chain.
37+
Agents can pay the redemption from their own address they control on the underlying chain.
3838
It does not need to be the same address where they receive minting payments.
3939

4040
5. After the payment is finalized, the agent uses the [FDC](/fdc/overview) to prove the payment and obtain a payment proof.

docs/fassets/4-collateral.mdx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -213,21 +213,21 @@ It is worth noting that:
213213
<details>
214214
<summary>Fee entitlement formulae and examples.</summary>
215215

216-
The following formulas consider all the above information to calculate each provider's due share of FAsset minting fees.
216+
The following formulas are based on the concept of virtual fees, which are the fees that a provider would be entitled to if they had no fee debt.
217217

218218
The amount of debt a provider $p$ is assigned upon entering a pool is calculated as:
219219

220220
$$
221-
fee\_debt_p = { added\_collateral_p \over collateral\_in\_pool } \times fees\_in\_pool
221+
fee\_debt_p = { added\_collateral_p \over collateral\_in\_pool } \times total\_virtual\_fees
222222
$$
223223

224224
where:
225225

226226
- $added\_collateral_p$ is the amount of FLR tokens that provider $p$ is adding to the pool.
227227
- $collateral\_in\_pool$ is the amount of FLR tokens in the pool before adding the new tokens.
228-
- $fees\_in\_pool$ is the amount of FAsset minting fees currently in the pool.
228+
- $total\_virtual\_fees$ is the sum of all provider's virtual fees.
229229

230-
The following formulas are based on the concept of **virtual fees**, which are the fees that a provider would be entitled to if they had no fee debt.
230+
The following formulas use **total virtual fees**, which are the gross fees accrued to a provider assuming no prior fee withdrawals, slashing, or outstanding fee debt.
231231

232232
The **total virtual fees** is the sum of all provider's virtual fees and can be expressed as:
233233

@@ -269,7 +269,7 @@ The following example shows fee entitlement.
269269
| An agent creates a new vault. | 0 | 0 | 0 | 0 |
270270
| Alice deposits 100 FLR and gets 100 CPTs in return. | **100** | 0 | 0 | 0 |
271271
| 10 FAssets of fees are added to the pool due to a mint. | 100 | **10** | 0 | **10** |
272-
| Bob deposits 100 FLR and gets 100s CPT in return. | **200** | 10 | **10** | **20** |
272+
| Bob deposits 100 FLR and gets 100 CPTs in return. | **200** | 10 | **10** | **20** |
273273
| 10 more FAssets of fees are added to the pool due to another mint. | 200 | **20** | 10 | **30** |
274274
| Alice withdraws 10 FAssets of fees. | 200 | **10** | **20** | 30 |
275275
| Bob exits the pool by returning the 100 CPTs and withdrawing 100 FLR. | **100** | **5** | **10** | **15** |

docs/fassets/7-emergency-pause.mdx

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
---
2+
title: Emergency Pause System
3+
description: FAssets emergency pause system
4+
keywords: [fassets, emergency, pause, security, system-control, maintenance]
5+
---
6+
7+
## Overview
8+
9+
The FAssets system includes a structured **three-level emergency pause mechanism** that allows governance to selectively restrict operations in response to planned upgrades, critical failures, or security threats.
10+
Each level defines a different scope of restrictions, ensuring a balance between **security, system availability, and user protection**.
11+
12+
## Emergency Pause Levels
13+
14+
### Start Operations
15+
16+
This level is intended for scenarios like network upgrades or planned maintenance.
17+
The goal is to prevent anyone from initiating new actions while allowing operations already in progress to complete before proceeding with maintenance.
18+
19+
#### Halted Operations
20+
21+
- **User/Agent Operations**: [minting](/fassets/minting), [redeeming](/fassets/redemption), [liquidation](/fassets/liquidation), [destroy agent](/fassets/reference/agent-bot#close-agent-vault), [collateral withdrawal](/fassets/reference/agent-bot#withdraw-vault-collateral), [exit available](/fassets/reference/agent-bot#exit-available).
22+
- **One-Step Operations**: [self mint](/fassets/reference/agent-bot#self-mint-fasset), [self close](/fassets/reference/agent-bot#self-close), [enter](/fassets/reference/agent-bot#enter-available), [create agent](/fassets/reference/agent-bot#create).
23+
- **Collateral Pool Operations**: [enter](/fassets/reference/user-bot#enter-pool), [exit](/fassets/reference/user-bot#exit-pool), [withdraw fees](/fassets/reference/agent-bot#withdraw-vault-collateral-1), [pay fee debt](/fassets/collateral#minting-fees-and-debt), [delegate pool collateral](/fassets/reference/agent-bot#delegate-pool-collateral).
24+
25+
#### Use Cases
26+
27+
- Scheduled network upgrades.
28+
- System configuration or parameter changes.
29+
- Non-critical security patches.
30+
31+
### Full
32+
33+
This level is designed for critical emergencies.
34+
It halts practically all activity while preserving essential system functions.
35+
36+
#### Halted Operations
37+
38+
Stops almost everything, except:
39+
40+
- **FAsset transfers**, but users can still move their assets.
41+
- **Settings modifications**, but governance can still adjust parameters.
42+
- **System upgrades**, but critical updates can still be deployed.
43+
44+
#### Use Cases
45+
46+
- Confirmed security vulnerabilities.
47+
- Market manipulation attempts.
48+
- Critical system failures.
49+
- Regulatory compliance requirements.
50+
51+
### Full and Transfer
52+
53+
The most restrictive level that freezes all transactional activity, including asset transfers.
54+
55+
#### Halted Operations
56+
57+
This is identical to the FULL level, but it also stops the **FAsset transfers**.
58+
It completely freezes all movement of the FAssets.
59+
60+
#### Use Cases
61+
62+
- Severe security breaches.
63+
- Complete system compromise.
64+
- Emergency asset protection.
65+
- Extreme market conditions.
66+
67+
## Conclusion
68+
69+
The FAssets emergency pause system provides a robust framework for maintaining system security and stability during critical situations.
70+
The system can respond appropriately to various types of threats while maintaining essential functionality and protecting user assets.

0 commit comments

Comments
 (0)