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

Serve binary contracts as a Go package from this repository #384

Closed
roman-khimov opened this issue Dec 20, 2023 · 0 comments
Closed

Serve binary contracts as a Go package from this repository #384

roman-khimov opened this issue Dec 20, 2023 · 0 comments
Labels
feature Completely new functionality I2 Regular impact S1 Highly significant U3 Regular
Milestone

Comments

@roman-khimov
Copy link
Member

Is your feature request related to a problem? Please describe.

I'm always frustrated when I'm updating contracts in the node repository, you need to grab some NEFs, unpack them in a proper way, see how deploy sequence/parameters/witnesses have changed. Then you need to update bindings (regular go dependency). Then check to see if it works at all.

Sometimes we change things related to deployment and while it's trivial to do here, this then requires adjustments on the node side. These adjustments are not always immediately obvious and usually people don't think about them when changing contracts. There is often a time gap between contract changes and node update, big enough for people to forget some details. We also want to solve #381 ideally.

Describe the solution you'd like

Move NEFs here, make a Go package with them. Ideally, also move the minimal proper deployment code into this package for #381. Then contract update would just be a matter of Go dependency upgrade for the node. If there any new contracts -- OK, they're handled here. If there is an updated sequence -- OK, it's handled here. If there are some additional parameters needed -- OK, we track them here and modify corresponding code along with contract modifications.

Describe alternatives you've considered

I know we have discussed it, the alternative is basically to leave things as is. This keeps the repository clean and allows to concentrate on contracts, but at the same time adds somewhat more overhead for node integration.

@roman-khimov roman-khimov added U3 Regular S1 Highly significant I2 Regular impact feature Completely new functionality labels Dec 20, 2023
roman-khimov added a commit to nspcc-dev/neofs-node that referenced this issue Jun 14, 2024
As a part of nspcc-dev/neofs-contract#384 I'd like
to unify different code dealing with them.

Signed-off-by: Roman Khimov <[email protected]>
roman-khimov added a commit to nspcc-dev/neofs-node that referenced this issue Jun 14, 2024
As a part of nspcc-dev/neofs-contract#384 I'd like
to unify different code dealing with them.

Signed-off-by: Roman Khimov <[email protected]>
roman-khimov added a commit to nspcc-dev/neofs-node that referenced this issue Jun 14, 2024
As a part of nspcc-dev/neofs-contract#384 I'd like
to unify different code dealing with them.

Signed-off-by: Roman Khimov <[email protected]>
@roman-khimov roman-khimov added this to the v0.20.0 milestone Jun 14, 2024
roman-khimov added a commit that referenced this issue Jun 14, 2024
roman-khimov added a commit that referenced this issue Jun 14, 2024
Make them available via a simple package update.

Signed-off-by: Roman Khimov <[email protected]>
roman-khimov added a commit that referenced this issue Jun 14, 2024
Make them available via a simple package update.

Signed-off-by: Roman Khimov <[email protected]>
roman-khimov added a commit to nspcc-dev/neofs-node that referenced this issue Jun 14, 2024
Now updating neofs-contract dependency will automatically update contracts,
see nspcc-dev/neofs-contract#384

Signed-off-by: Roman Khimov <[email protected]>
roman-khimov added a commit that referenced this issue Jun 14, 2024
Make them available via a simple package update.

Signed-off-by: Roman Khimov <[email protected]>
roman-khimov added a commit to nspcc-dev/neofs-node that referenced this issue Jun 14, 2024
Now updating neofs-contract dependency will automatically update contracts,
see nspcc-dev/neofs-contract#384

Signed-off-by: Roman Khimov <[email protected]>
roman-khimov added a commit to nspcc-dev/neofs-node that referenced this issue Jul 30, 2024
As a part of nspcc-dev/neofs-contract#384 I'd like
to unify different code dealing with them.

Signed-off-by: Roman Khimov <[email protected]>
roman-khimov added a commit to nspcc-dev/neofs-node that referenced this issue Jul 30, 2024
Now updating neofs-contract dependency will automatically update contracts,
see nspcc-dev/neofs-contract#384

This also updates contracts dependency to 0.20.0 adjusting the code where
neccessary.

Signed-off-by: Roman Khimov <[email protected]>
roman-khimov added a commit to nspcc-dev/neofs-node that referenced this issue Jul 30, 2024
Now updating neofs-contract dependency will automatically update contracts,
see nspcc-dev/neofs-contract#384

This also updates contracts dependency to 0.20.0 adjusting the code where
neccessary.

Signed-off-by: Roman Khimov <[email protected]>
roman-khimov added a commit to nspcc-dev/neofs-node that referenced this issue Jul 30, 2024
As a part of nspcc-dev/neofs-contract#384 I'd like
to unify different code dealing with them.

Signed-off-by: Roman Khimov <[email protected]>
roman-khimov added a commit to nspcc-dev/neofs-node that referenced this issue Jul 30, 2024
Now updating neofs-contract dependency will automatically update contracts,
see nspcc-dev/neofs-contract#384

This also updates contracts dependency to 0.20.0 adjusting the code where
neccessary.

Signed-off-by: Roman Khimov <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Completely new functionality I2 Regular impact S1 Highly significant U3 Regular
Projects
None yet
Development

No branches or pull requests

1 participant