Skip to content

Commit ca9a4ac

Browse files
committed
chore: update contract ABI snapshot after intra-doc link conversion
1 parent 418ff18 commit ca9a4ac

1 file changed

Lines changed: 15 additions & 15 deletions

File tree

crates/contract/tests/snapshots/abi__abi_has_not_changed.snap

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ expression: abi
3131
},
3232
{
3333
"name": "allowed_foreign_chain_providers",
34-
"doc": " On-chain RPC provider whitelist keyed by `ForeignChain`. Nodes read this at\n startup to validate their local `foreign_chains.yaml`. Borsh-encoded result.",
34+
"doc": " On-chain RPC provider whitelist keyed by [`ForeignChain`](dtos::ForeignChain). Nodes read this at\n startup to validate their local `foreign_chains.yaml`. Borsh-encoded result.",
3535
"kind": "view",
3636
"result": {
3737
"serialization_type": "borsh",
@@ -423,7 +423,7 @@ expression: abi
423423
},
424424
{
425425
"name": "clean_invalid_attestations",
426-
"doc": " Prunes up to `max_scan` stored attestations that fail re-verification (expired or\n referencing stale whitelists). Returns the number of entries removed. Callable by\n anyone while the protocol is in `Running`.",
426+
"doc": " Prunes up to `max_scan` stored attestations that fail re-verification (expired or\n referencing stale whitelists). Returns the number of entries removed. Callable by\n anyone while the protocol is in [`Running`](ProtocolContractState::Running).",
427427
"kind": "call",
428428
"params": {
429429
"serialization_type": "json",
@@ -487,7 +487,7 @@ expression: abi
487487
},
488488
{
489489
"name": "conclude_node_migration",
490-
"doc": " Finalizes a node migration for the calling account.\n\n This method can only be called while the protocol is in a `Running` state\n and by an existing participant. On success, the participant’s information is\n updated to the new destination node.\n\n # Errors\n Returns the following errors:\n - `InvalidState::ProtocolStateNotRunning`: if protocol is not in `Running` state\n - `InvalidState::NotParticipant`: if caller is not a current participant\n - `NodeMigrationError::KeysetMismatch`: if provided keyset does not match the expected keyset\n - `NodeMigrationError::MigrationNotFound`: if no migration record exists for the caller\n - `NodeMigrationError::AccountPublicKeyMismatch`: if caller’s public key does not match the expected destination node\n - `InvalidParameters::InvalidTeeRemoteAttestation`: if destination node’s TEE quote is invalid",
490+
"doc": " Finalizes a node migration for the calling account.\n\n This method can only be called while the protocol is in a [`Running`](ProtocolContractState::Running) state\n and by an existing participant. On success, the participant’s information is\n updated to the new destination node.\n\n # Errors\n Returns the following errors:\n - [`InvalidState::ProtocolStateNotRunning`]: if protocol is not in [`Running`](ProtocolContractState::Running) state\n - [`InvalidState::NotParticipant`]: if caller is not a current participant\n - [`NodeMigrationError::KeysetMismatch`](crate::errors::NodeMigrationError::KeysetMismatch): if provided keyset does not match the expected keyset\n - [`NodeMigrationError::MigrationNotFound`](crate::errors::NodeMigrationError::MigrationNotFound): if no migration record exists for the caller\n - [`NodeMigrationError::AccountPublicKeyMismatch`](crate::errors::NodeMigrationError::AccountPublicKeyMismatch): if caller’s public key does not match the expected destination node\n - [`InvalidParameters::InvalidTeeRemoteAttestation`]: if destination node’s TEE quote is invalid",
491491
"kind": "call",
492492
"params": {
493493
"serialization_type": "json",
@@ -668,7 +668,7 @@ expression: abi
668668
},
669669
{
670670
"name": "get_pending_ckd_request",
671-
"doc": " Presence check for a pending CKD request, exposed as a view call.\n\n See [`Self::get_pending_request`] for the contract: the returned `YieldIndex`\n is an arbitrary representative of a fan-out queue, not \"the\" yield. Only the\n `Some`/`None` distinction is meaningful.",
671+
"doc": " Presence check for a pending CKD request, exposed as a view call.\n\n See [`Self::get_pending_request`] for the contract: the returned [`YieldIndex`]\n is an arbitrary representative of a fan-out queue, not \"the\" yield. Only the\n `Some`/`None` distinction is meaningful.",
672672
"kind": "view",
673673
"params": {
674674
"serialization_type": "json",
@@ -697,7 +697,7 @@ expression: abi
697697
},
698698
{
699699
"name": "get_pending_request",
700-
"doc": " Presence check for a pending signature request, exposed as a view call.\n\n **The returned `YieldIndex` is an arbitrary representative, not \"the\" yield\n for this request.** Since the duplicate-request fan-out feature (PR #3187),\n a single request key can have N queued yields; this method returns the head of the\n queue. Callers that need to act on the full set are wrong to use this. The\n only correct interpretation is presence: `Some(_)` vs `None`.\n\n The `Option<YieldIndex>` shape is retained for JSON wire compatibility with\n out-of-tree consumers; the in-tree caller (`tx_sender::observe_tx_result`)\n only matches on presence. Prefer a `bool`-shaped accessor if one is added.",
700+
"doc": " Presence check for a pending signature request, exposed as a view call.\n\n **The returned [`YieldIndex`] is an arbitrary representative, not \"the\" yield\n for this request.** Since the duplicate-request fan-out feature (PR #3187),\n a single request key can have N queued yields; this method returns the head of the\n queue. Callers that need to act on the full set are wrong to use this. The\n only correct interpretation is presence: `Some(_)` vs `None`.\n\n The `Option<YieldIndex>` shape is retained for JSON wire compatibility with\n out-of-tree consumers; the in-tree caller (`tx_sender::observe_tx_result`)\n only matches on presence. Prefer a `bool`-shaped accessor if one is added.",
701701
"kind": "view",
702702
"params": {
703703
"serialization_type": "json",
@@ -726,7 +726,7 @@ expression: abi
726726
},
727727
{
728728
"name": "get_pending_verify_foreign_tx_request",
729-
"doc": " Presence check for a pending foreign-tx verification request, exposed as a\n view call.\n\n See [`Self::get_pending_request`] for the contract: the returned `YieldIndex`\n is an arbitrary representative of a fan-out queue, not \"the\" yield. Only the\n `Some`/`None` distinction is meaningful.",
729+
"doc": " Presence check for a pending foreign-tx verification request, exposed as a\n view call.\n\n See [`Self::get_pending_request`] for the contract: the returned [`YieldIndex`]\n is an arbitrary representative of a fan-out queue, not \"the\" yield. Only the\n `Some`/`None` distinction is meaningful.",
730730
"kind": "view",
731731
"params": {
732732
"serialization_type": "json",
@@ -1228,7 +1228,7 @@ expression: abi
12281228
},
12291229
{
12301230
"name": "register_foreign_chain_support",
1231-
"doc": " Registers the set of foreign chains the calling node supports.\n\n Must be called directly from the participant's own NEAR account\n (`voter_or_panic` requires `signer == predecessor`, blocking calls forwarded\n through another contract). Callable by a participant in any active protocol phase\n (Initializing, Running, or Resharing — authenticated against that phase's participant\n set); panics in `NotInitialized` or when the caller is not a participant. Entries for\n accounts that are no longer participants are pruned after resharing by\n [`Self::clean_foreign_chain_data`].",
1231+
"doc": " Registers the set of foreign chains the calling node supports.\n\n Must be called directly from the participant's own NEAR account\n (`voter_or_panic` requires `signer == predecessor`, blocking calls forwarded\n through another contract). Callable by a participant in any active protocol phase\n (Initializing, Running, or Resharing — authenticated against that phase's participant\n set); panics in [`NotInitialized`](ProtocolContractState::NotInitialized) or when the caller is not a participant. Entries for\n accounts that are no longer participants are pruned after resharing by\n [`Self::clean_foreign_chain_data`].",
12321232
"kind": "call",
12331233
"params": {
12341234
"serialization_type": "json",
@@ -1302,7 +1302,7 @@ expression: abi
13021302
},
13031303
{
13041304
"name": "request_app_private_key",
1305-
"doc": " To avoid overloading the network with too many requests,\n we ask for a small deposit for each ckd request.\n\n Note: identity points are accepted in `AppPublicKeyPV` to support use cases\n where the derived key is intentionally public (no encryption).",
1305+
"doc": " To avoid overloading the network with too many requests,\n we ask for a small deposit for each ckd request.\n\n Note: identity points are accepted in\n [`AppPublicKeyPV`](near_mpc_contract_interface::types::CKDAppPublicKey::AppPublicKeyPV)\n to support use cases\n where the derived key is intentionally public (no encryption).",
13061306
"kind": "call",
13071307
"modifiers": [
13081308
"payable"
@@ -2288,7 +2288,7 @@ expression: abi
22882288
},
22892289
{
22902290
"name": "start_node_migration",
2291-
"doc": " Sets the destination node for the calling account.\n\n This function can only be called while the protocol is in a `Running` state.\n The signer must be a current participant of the current epoch, otherwise an error is returned.\n On success, the provided `DestinationNodeInfo` is stored in the contract state\n under the signer’s account ID.\n\n # Errors\n - [`InvalidState::ProtocolStateNotRunning`] if the protocol is not in the `Running` state.\n - [`InvalidState::NotParticipant`] if the signer is not a current participant.\n\n Requires a deposit of at least [`MINIMUM_NODE_MANAGEMENT_DEPOSIT`] (excess is refunded), so\n the call must be signed by a full-access key rather than the node's function-call access\n key.",
2291+
"doc": " Sets the destination node for the calling account.\n\n This function can only be called while the protocol is in a [`Running`](ProtocolContractState::Running) state.\n The signer must be a current participant of the current epoch, otherwise an error is returned.\n On success, the provided [`DestinationNodeInfo`](dtos::DestinationNodeInfo) is stored in the contract state\n under the signer’s account ID.\n\n # Errors\n - [`InvalidState::ProtocolStateNotRunning`] if the protocol is not in the [`Running`](ProtocolContractState::Running) state.\n - [`InvalidState::NotParticipant`] if the signer is not a current participant.\n\n Requires a deposit of at least [`MINIMUM_NODE_MANAGEMENT_DEPOSIT`] (excess is refunded), so\n the call must be signed by a full-access key rather than the node's function-call access\n key.",
22922292
"kind": "call",
22932293
"modifiers": [
22942294
"payable"
@@ -2636,7 +2636,7 @@ expression: abi
26362636
},
26372637
{
26382638
"name": "vote_new_parameters",
2639-
"doc": " Propose new parameters for the MPC network: participants, governance\n threshold, and optional per-domain `ReconstructionThreshold` updates\n (empty map keeps the current ones), applied on resharing completion.\n If a threshold number of votes are reached on the exact same proposal, this will transition\n the contract into the Resharing state.\n\n The epoch_id must be equal to 1 plus the current epoch ID (if Running) or prospective epoch\n ID (if Resharing). Otherwise the vote is ignored. This is to prevent late transactions from\n accidentally voting on outdated proposals.\n\n Like the other governance voting methods, this must be called directly from the\n participant's own NEAR account: `assert_caller_is_signer()` requires\n `signer_account_id == predecessor_account_id`, so calls forwarded through another\n contract are rejected.",
2639+
"doc": " Propose new parameters for the MPC network: participants, governance\n threshold, and optional per-domain\n [`ReconstructionThreshold`](near_mpc_contract_interface::types::ReconstructionThreshold) updates\n (empty map keeps the current ones), applied on resharing completion.\n If a threshold number of votes are reached on the exact same proposal, this will transition\n the contract into the Resharing state.\n\n The epoch_id must be equal to 1 plus the current epoch ID (if Running) or prospective epoch\n ID (if Resharing). Otherwise the vote is ignored. This is to prevent late transactions from\n accidentally voting on outdated proposals.\n\n Like the other governance voting methods, this must be called directly from the\n participant's own NEAR account: [`assert_caller_is_signer()`](MpcContract::assert_caller_is_signer) requires\n `signer_account_id == predecessor_account_id`, so calls forwarded through another\n contract are rejected.",
26402640
"kind": "call",
26412641
"params": {
26422642
"serialization_type": "json",
@@ -2809,7 +2809,7 @@ expression: abi
28092809
},
28102810
{
28112811
"name": "vote_update_foreign_chain_providers",
2812-
"doc": " Vote on per-chain RPC provider whitelist state. The input is keyed by\n `ForeignChain`; each `ChainEntry` value carries the proposed full provider list\n and the RPC response quorum for that chain. The chain's stored state is replaced\n once the protocol's signing threshold of participants has voted the same\n `(providers, quorum)` pair. `NonEmptyBTreeMap` enforces a non-empty batch and\n at-most-one entry per chain at borsh-deserialize time.",
2812+
"doc": " Vote on per-chain RPC provider whitelist state. The input is keyed by\n [`ForeignChain`](dtos::ForeignChain); each [`ChainEntry`](dtos::ChainEntry) value carries the proposed full provider list\n and the RPC response quorum for that chain. The chain's stored state is replaced\n once the protocol's signing threshold of participants has voted the same\n `(providers, quorum)` pair. [`NonEmptyBTreeMap`](near_mpc_bounded_collections::NonEmptyBTreeMap) enforces a non-empty batch and\n at-most-one entry per chain at borsh-deserialize time.",
28132813
"kind": "call",
28142814
"params": {
28152815
"serialization_type": "borsh",
@@ -3329,7 +3329,7 @@ expression: abi
33293329
]
33303330
},
33313331
"AuthenticatedParticipantId2": {
3332-
"description": "This struct is supposed to contain the participant id associated to the account `env::signer_account_id()`, but is only constructible given a set of participants that includes the signer, thus acting as a type system-based enforcement mechanism (albeit a best-effort one) for authenticating the signer.",
3332+
"description": "This struct is supposed to contain the participant id associated to the account [`env::signer_account_id()`], but is only constructible given a set of participants that includes the signer, thus acting as a type system-based enforcement mechanism (albeit a best-effort one) for authenticating the signer.",
33333333
"allOf": [
33343334
{
33353335
"$ref": "#/definitions/ParticipantId"
@@ -4963,7 +4963,7 @@ expression: abi
49634963
}
49644964
},
49654965
"Participants": {
4966-
"description": "DTO representation of the contract-internal `Participants` type.\n\nIt decouples the JSON wire format (used in view methods like `state()` via [`GovernanceThresholdParameters`](crate::types::state::GovernanceThresholdParameters) from the internal `Participants` representation, allowing internal changes (e.g., migrating to [`BTreeMap`](std::collections::BTreeMap) in [#1861](https://github.com/near/mpc/pull/1861)) without breaking the public API.",
4966+
"description": "DTO representation of the contract-internal [`Participants`] type.\n\nIt decouples the JSON wire format (used in view methods like `state()` via [`GovernanceThresholdParameters`](crate::types::state::GovernanceThresholdParameters) from the internal [`Participants`] representation, allowing internal changes (e.g., migrating to [`BTreeMap`](std::collections::BTreeMap) in [#1861](https://github.com/near/mpc/pull/1861)) without breaking the public API.",
49674967
"type": "object",
49684968
"required": [
49694969
"next_id",
@@ -5108,7 +5108,7 @@ expression: abi
51085108
}
51095109
},
51105110
"ProposedGovernanceThresholdParameters": {
5111-
"description": "A proposed set of threshold parameters submitted to `vote_new_parameters`: the proposed [`GovernanceThresholdParameters`] plus per-domain `ReconstructionThreshold` updates for the resharing it would trigger. An empty `per_domain_thresholds` keeps the current ones; a populated map must reference only existing domains (contract-validated), is applied to the `DomainRegistry` on resharing, and never persists onto the stored [`GovernanceThresholdParameters`].",
5111+
"description": "A proposed set of threshold parameters submitted to `vote_new_parameters`: the proposed [`GovernanceThresholdParameters`] plus per-domain [`ReconstructionThreshold`] updates for the resharing it would trigger. An empty `per_domain_thresholds` keeps the current ones; a populated map must reference only existing domains (contract-validated), is applied to the [`DomainRegistry`] on resharing, and never persists onto the stored [`GovernanceThresholdParameters`].",
51125112
"type": "object",
51135113
"required": [
51145114
"parameters"
@@ -5427,7 +5427,7 @@ expression: abi
54275427
"uniqueItems": true
54285428
},
54295429
"per_domain_thresholds": {
5430-
"description": "Per-domain `ReconstructionThreshold` updates carried from the accepted proposal. Applied to the `DomainRegistry` when resharing completes.",
5430+
"description": "Per-domain [`ReconstructionThreshold`] updates carried from the accepted proposal. Applied to the [`DomainRegistry`] when resharing completes.",
54315431
"default": {},
54325432
"type": "object",
54335433
"additionalProperties": {

0 commit comments

Comments
 (0)