Repository navigation
Feat/issues 1148 1149 1150 1151 - #1275
Merged
fejilaup-cloud merged 5 commits intoOct 21, 2026
Merged
Conversation
…ite (AtomicIP#1148) notarize_ip_timestamp now refuses an IP that already has a notary signature, returning the new AlreadyNotarized error (code 60). The first signature is kept and no overwrite can occur. Closes AtomicIP#1148
The notary signed only ip_id || timestamp, so a signature issued for one deployment sharing the notary key could be replayed on another. notary_signing_message now prefixes a version byte (1), a fixed domain tag, the network id and the contract address. Legacy untagged signatures no longer verify. The format is documented in docs/notary-signature-format.md. Closes AtomicIP#1149
…vels (AtomicIP#1150) grant_ip_access reported an authorization failure (Unauthorized) when the access level was outside 1..=3. It now returns the new InvalidAccessLevel error (code 61). revoke_ip_access takes no access level, so it is unchanged. Closes AtomicIP#1150
…tomicIP#1151) IpAccessGrant gains an optional expires_at. grant_ip_access_with_expiry accepts it (an expiry not in the future is rejected with InvalidExpiry), and check_ip_access treats an expired grant as absent. grant_ip_access keeps its signature and stores a non-expiring grant. The owner can no longer grant access to themselves; the call returns the new SelfGrantNotAllowed error (code 62). Closes AtomicIP#1151
|
@aladi11isah Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
gabrielujelistic-collab
pushed a commit
to Stellar-drive/stellar-drive-atomic-ip
that referenced
this pull request
Nov 9, 2026
…49-1150-1151 Feat/issues 1148 1149 1150 1151
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ip_registry: notary and access-grant hardening
Closes #1148
Closes #1149
Closes #1150
Closes #1151
Changes
notarize_ip_timestampreturnsAlreadyNotarized(code 60) and the first signature is kept.AtomicIP/notarytag, network id, and contract address. Legacy untagged signatures are rejected. Format documented indocs/notary-signature-format.md.InvalidAccessLevel(code 61) instead ofUnauthorized.expires_atviagrant_ip_access_with_expiry. Expired grants are ignored bycheck_ip_access. Self-grants are rejected withSelfGrantNotAllowed(code 62).Notes
IpAccessGranthas a newexpires_atfield, which changes its stored shape and client type.grant_ip_accesskeeps its signature.mainyet (pre-existing errors), so these changes are not compiled or tested in CI here.contracts/ip_registry/src/notary_access_tests.rs. Changelog entries added.