-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow sabmitting the same poyload #461
Conversation
Terraform Feature Environment (dev-461)Terraform Initialization ⚙️
|
@@ -58,6 +59,45 @@ pub async fn request_sign( | |||
Ok((payload, account, tx_hash)) | |||
} | |||
|
|||
pub async fn request_sign_sync( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we shouldn't need to test both versions though. They're pretty much the same, like there's no difference besides the calling mechanism. They're going to be hitting the same code path in near node side anyways
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We'll fix this one later
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I understand that we are testing the same code from our perspective. It's more of a "let's check if MPC returns the signature in time" test. Can be done differently, but this one seems the most convenient to me.
Maybe let's hold off merging this one since @DavidM-D is going to make a separate MPC service for people to make use of and test |
I might be reading this wrong, I think this might be a bit worse than what we have right now. Since two people can be waiting on a response for the same payload, but they both will try to evict the response when they get it, only one of them (randomly selected) will ever succeed. This seems worse than the current solution of saying "you're too late" immediately to the second caller. As discussed, I think we should either count the number of outstanding requests for a good fix. Failing that, I'd remove the eviction of results (with a big TODO mentioning the memory leak it causes) which would allow both results to succeed. |
Ok, I will invest more time into it once I have it. |
OK this is causing @firatNEAR's team problems. If we can't get the dummy signatures working, let's do a hacky fix and work out how to do it right on Monday. |
I already removed evicting the result, so we just basically have the signature cached for the lifetime of the contract now. Lets merge this then |
Terraform Feature Environment Destroy (dev-461)Terraform Initialization ⚙️
|
sign
callnear-fetch
retries and throws "Signature for this payload already requested". I'm still not sure how and why that works in NEAR CLI.I do not think that check is important now, but it's causing many problems for testing and development. We will need to redesign it when we have more time.