Skip to content
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

Update spec to 1.4.15 #509

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

sleepdefic1t
Copy link

@sleepdefic1t sleepdefic1t commented Nov 7, 2024

Fixes # .

Motivation

Schnorr BIP-340 support in mesh-sdk-go first requires the addition of the appropriate curve and signature types found in the current specifications release.

Solution

Update mesh specification to 1.4.15 as discussed in #500

  • adds BIP-340 support to CurveType and SignatureType

@cb-heimdall
Copy link

cb-heimdall commented Nov 7, 2024

🟡 Heimdall Review Status

Requirement Status More Info
Reviews 🟡 -1/1
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 0
Global minimum 0
Max 1
1
1 if commit is unverified 0
Sum 1

@potterbm-cb
Copy link
Contributor

This looks good to me, but I'll defer to @jingweicb or @GeekArthur for the changes to types/*

@sleepdefic1t
Copy link
Author

Thank you, @potterbm-cb

I'll keep an eye out for any updates here 👍

@jingweicb
Copy link
Contributor

Hi @sleepdefic1t , how did you test the pr? can you add the testing in pr discriptions?

type ConstructionPreprocessRequest struct {
NetworkIdentifier *NetworkIdentifier `json:"network_identifier"`
Copy link
Contributor

@jingweicb jingweicb Nov 8, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why removed SuggestedFeeMultiplier and MaxFee?

Copy link
Author

@sleepdefic1t sleepdefic1t Nov 8, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jingweicb

The reason codegen.sh removes those two fields is because your team's fix was never merged.

#479

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @jingweicb

Noting that #479 (your team’s fix) is unmerged and out of scope here. Can we mark this resolved?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you add them back manually ?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jingweicb

Reverted: 092fb69

@sleepdefic1t
Copy link
Author

Hi @sleepdefic1t , how did you test the pr? can you add the testing in pr discriptions?

I'm not sure I follow, @jingweicb

This PR only updates the spec version used by the SDK, what should be tested?


Our proposal to add BIP-340 support was shared by @GeekArthur here:

Perhaps that discussion can provide clarity.

@sleepdefic1t
Copy link
Author

@jingweicb

Just following up.
Since there are no functional changes and no existing tests apply to this PR, would you prefer to merge this as-is, or are there adjustments you’d like to address first?

I'm ready to proceed whenever you are.

@@ -33,5 +35,6 @@ const (
EcdsaRecovery SignatureType = "ecdsa_recovery"
Ed25519 SignatureType = "ed25519"
Schnorr1 SignatureType = "schnorr_1"
SchnorrBip340 SignatureType = "schnorr_bip340"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @sleepdefic1t , CAN I have more context of why we add it ?
if you wanna support a new type, you can test in at derive endpoint

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jingweicb

CAN I have more context of why we add it ?

The addition of these types is necessary because the construction and handling of BIP-340 signatures and public keys differ from other signature types.

To reiterate, all of this was previously discussed and approved here: coinbase/mesh-specifications#113


if you wanna support a new type, you can test in at derive endpoint

Perhaps I'm still misunderstanding.

This PR only adds the base signature and curve types as they relate to the specification, it's not intended to be a full or partial implementation of BIP-340.

It was discussed and agreed upon that a subsequent PR would handle the actual implementation of BIP-340, which would then utilise these new types.

Could you clarify where you propose adding a test? Without further implementation, testing doesn’t seem possible based solely on the spec update.

type ConstructionPreprocessRequest struct {
NetworkIdentifier *NetworkIdentifier `json:"network_identifier"`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you add them back manually ?

Manually revert ConstructionPreprocessRequest types file per @jingweicb
@jingweicb
Copy link
Contributor

Hi @sleepdefic1t , how did you test the pr? can you add the testing in pr discriptions?

I'm not sure I follow, @jingweicb

This PR only updates the spec version used by the SDK, what should be tested?

Our proposal to add BIP-340 support was shared by @GeekArthur here:

Perhaps that discussion can provide clarity.

Hi @GeekArthur , I think this pr matches the discussion raised by you, can you take a look?

I am ok once the pr can add the missing fields back
also I suggest a test of derive endpoint as mentioned here #509 (comment)

@sleepdefic1t
Copy link
Author

Hello @jingweicb @GeekArthur

I'd like to keep the momentum going here so that we may continue with adding BIP-340 support.

Please let me know how you'd like to proceed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

4 participants