You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/defi/rosetta/icp_rosetta/construction_api/staking.mdx
+54Lines changed: 54 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -245,6 +245,60 @@ curl --location '0.0.0.0:8081/construction/payloads' --header 'Content-Type: a
245
245
}'
246
246
```
247
247
248
+
## Disburse maturity
249
+
250
+
|||
251
+
|----------------------|--------|
252
+
| Since version | 2.1.7 |
253
+
| Idempotent? | No |
254
+
| Minimal access level | controller |
255
+
256
+
Disburses a neuron's maturity to the neuron's controller or a specified recipient.
257
+
258
+
### Preconditions
259
+
260
+
*`account.address` is the ledger address of the neuron controller.
261
+
*`metadata.percentage_to_disburse` is the percentage of the neuron's maturity that is going to be disbursed.
262
+
*`metadata.recipient` contains an account_identifier that should receive the ICP disbursed from the maturity. If not specified, the maturity will be disbursed to `account.address`.
263
+
* The disbursed amount (disburse percentage * total neuron's maturity), needs to be at least 1 ICP plus the worst-case maturity modulation (`500``e8s`), i.e., at least `100_000_500``e8s`.
264
+
265
+
### Postconditions
266
+
267
+
* The neuron's maturity was reduced by the percentage specified in the request.
268
+
*`metadata.recipient` or `account.address` (if recipient was not specified) received the specified percentage of maturity after seven days.
Copy file name to clipboardExpand all lines: docs/references/_attachments/interface-spec-changelog.md
+5-1Lines changed: 5 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,13 @@
1
1
## Changelog {#changelog}
2
2
3
-
### 0.45.0 (2025-08-25) {$0_45_0}
3
+
### 0.46.0 (2025-08-25) {$0_46_0}
4
4
* The management canister method `canister_status` returns two new fields: `version` indicating the canister version, and `ready_for_migration` indicating whether a canister's queues are empty and its streams flushed. The value only makes sense when the canister status is `stopped`.
5
5
* Canister history provides the source of a snapshot in the entry for loading the snapshot.
6
6
7
+
### 0.45.0 (2025-08-18) {$0_45_0}
8
+
* Canister ranges of every subnet are now available at a dedicated prefix `/canister_ranges` in the state tree,
9
+
facilitating fragmentation due to canister migration.
10
+
7
11
### 0.44.0 (2025-08-11) {$0_44_0}
8
12
* The management canister method `subnet_info` returns a new field `registry_version` providing the registry version of the corresponding subnet.
A non-empty set of canister ids assigned to the provided subnet, starting with the provided canister id and
484
+
ending with a canister id that is smaller than `<next_canister_id>` for the next canister id
485
+
in a path of the form `/canister_ranges/<subnet_id>/<next_canister_id>`
486
+
(in other words, the lexicographically sorted list of all canister ids assigned to the provided subnet is split into chunks starting at the provided `<canister_id>`).
487
+
The set of canister ids is represented as a list of closed intervals of canister ids, ordered lexicographically, and encoded as CBOR (see [CBOR](#cbor)) according to this CDDL (see [CDDL](#cddl)):
488
+
```
489
+
canister_ranges = tagged<[*canister_range]>
490
+
canister_range = [principal principal]
491
+
principal = bytes .size (0..29)
492
+
tagged<t> = #6.55799(t) ; the CBOR tag
493
+
```
494
+
477
495
### Subnet information {#state-tree-subnet}
478
496
479
497
The state tree contains information about the topology of the Internet Computer.
@@ -773,13 +791,13 @@ The functionality exposed via the [The IC management canister](#ic-management-ca
773
791
774
792
:::note
775
793
776
-
Requesting paths with the prefix `/subnet` at `/api/v2/canister/<effective_canister_id>/read_state` might be deprecated in the future. Hence, users might want to point their requests for paths with the prefix `/subnet` to `/api/v2/subnet/<subnet_id>/read_state`.
794
+
Requesting paths with the prefix `/canister_ranges` and `/subnet` at `/api/v2/canister/<effective_canister_id>/read_state` might be deprecated in the future. Hence, users might want to point their requests for paths with the prefix`/canister_ranges` and`/subnet` to `/api/v2/subnet/<subnet_id>/read_state`.
777
795
778
796
On the IC mainnet, the root subnet ID `tdb26-jop6k-aogll-7ltgs-eruif-6kk7m-qpktf-gdiqx-mxtrf-vb5e6-eqe` can be used to retrieve the list of all IC mainnet's subnets by requesting the prefix `/subnet` at `/api/v2/subnet/tdb26-jop6k-aogll-7ltgs-eruif-6kk7m-qpktf-gdiqx-mxtrf-vb5e6-eqe/read_state`.
779
797
780
798
:::
781
799
782
-
In order to read parts of the [The system state tree](#state-tree), the user makes a POST request to `/api/v2/canister/<effective_canister_id>/read_state` or `/api/v2/subnet/<subnet_id>/read_state`. The subnet form should be used when the information to be retrieved is subnet specific, i.e., when requesting paths with the prefix `/time` or `/subnet`, and the subnet form must be used when requesting paths of the form `/subnet/<subnet_id>/metrics`. The request body consists of an authentication envelope with a `content` map with the following fields:
800
+
In order to read parts of the [The system state tree](#state-tree), the user makes a POST request to `/api/v2/canister/<effective_canister_id>/read_state` or `/api/v2/subnet/<subnet_id>/read_state`. The subnet form should be used when the information to be retrieved is subnet specific, i.e., when requesting paths with the prefix `/time`, `/canister_ranges`, or `/subnet`, and the subnet form must be used when requesting paths of the form `/subnet/<subnet_id>/metrics`. The request body consists of an authentication envelope with a `content` map with the following fields:
783
801
784
802
-`request_type` (`text`): Always `read_state`
785
803
@@ -828,6 +846,8 @@ All requested paths must have the following form:
828
846
829
847
-`/api_boundary_nodes`, `/api_boundary_nodes/<node_id>`, `/api_boundary_nodes/<node_id>/domain`, `/api_boundary_nodes/<node_id>/ipv4_address`, `/api_boundary_nodes/<node_id>/ipv6_address`. Can always be requested.
830
848
849
+
-`/canister_ranges/<subnet_id>`. Can always be requested.
850
+
831
851
-`/subnet`, `/subnet/<subnet_id>`, `/subnet/<subnet_id>/public_key`, `/subnet/<subnet_id>/canister_ranges`, `/subnet/<subnet_id>/node`, `/subnet/<subnet_id>/node/<node_id>`, `/subnet/<subnet_id>/node/<node_id>/public_key`. Can always be requested.
832
852
833
853
-`/subnet/<subnet_id>/metrics`. Can be requested at `/api/v2/subnet/<subnet_id>/read_state` (i.e., if the `<subnet_id>` in the URL matches the `<subnet_id>` in the paths). Cannot be requested at `/api/v2/canister/<effective_canister_id>/read_state`.
@@ -6948,6 +6968,7 @@ A record with
6948
6968
The predicate `may_read_path_for_canister` is defined as follows, implementing the access control outlined in [Request: Read state](#http-read-state):
@@ -7018,6 +7040,7 @@ where `state_tree` constructs a labeled tree from the IC state `S` and the (so f
7018
7040
```
7019
7041
state_tree(S) = {
7020
7042
"time": S.system_time;
7043
+
"canister_ranges": { subnet_id : { canister_id : ranges | the lexicographically sorted list of ranges in subnet_ranges is split into chunks starting at canister_id } | (subnet_id, _, subnet_ranges, _) ∈ subnets };
Copy file name to clipboardExpand all lines: showcase.json
+35-2Lines changed: 35 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -238,7 +238,7 @@
238
238
"DAO"
239
239
],
240
240
"description": "The Gold DAO represents a groundbreaking fusion of traditional gold and modern blockchain technology, allowing anyone in the world to access physical gold instantaneously, without depending on banks.",
241
-
"logo": "/img/showcase/golddao_logo.png"
241
+
"logo": "/img/showcase/GLDGov.svg"
242
242
},
243
243
{
244
244
"id": "omnity_ree",
@@ -3105,7 +3105,9 @@
3105
3105
"name": "AppIC DAO",
3106
3106
"display": "Normal",
3107
3107
"website": "https://app.appic.solutions/",
3108
+
"twitter": "https://x.com/Appic_ICP",
3108
3109
"github": "https://github.com/Appic-Solutions",
3110
+
"youtube": "https://www.youtube.com/@AppIC-DAO",
3109
3111
"submittableId": 44626035,
3110
3112
"tags": [
3111
3113
"Tools / Infrastructure",
@@ -5907,7 +5909,6 @@
5907
5909
"DeFi",
5908
5910
"Chain Fusion"
5909
5911
],
5910
-
"stats": "We are not open for public use yet, but we are proud of our MVP",
5911
5912
"description": "Rumi Protocol lets users mint icUSD by locking ICP, ckBTC, or ckETH—bringing decentralized, collateral-backed stablecoins to the ICP ecosystem.",
5912
5913
"usesInternetIdentity": false,
5913
5914
"logo": "/img/showcase/Rumi_protocol.jpg",
@@ -5951,6 +5952,38 @@
5951
5952
"/img/showcase/Rhino_spider_screenshot.png"
5952
5953
],
5953
5954
"oneLiner": "RhinoSpider: Get rewarded for sharing your internet bandwidth!"
5955
+
},
5956
+
{
5957
+
"id": "cordial_treasury",
5958
+
"name": "Cordial Treasury",
5959
+
"display": "Normal",
5960
+
"website": "https://cordialsystems.com/",
5961
+
"twitter": "https://x.com/cordialsys",
5962
+
"submittableId": 50738612,
5963
+
"tags": [
5964
+
"Wallet",
5965
+
"Tools / Infrastructure",
5966
+
"Enterprise"
5967
+
],
5968
+
"description": "Cordial Treasury is the MPC wallet platform built by Cordial Systems, used by institutions such as Jump Trading Group, Figure.com, and SwissBorg. ",
0 commit comments