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

Add limit on nesting depth for go-scale #60

Merged
merged 3 commits into from
Jun 20, 2023
Merged

Conversation

fasmat
Copy link
Member

@fasmat fasmat commented Jun 19, 2023

Part of spacemeshos/go-spacemesh#4094.

This limits the depth of types encoded with scale. By default nesting more than 4 levels deep will cause an error when encoding or decoding a scale object. This is done during runtime. This limit is configurable when instantiating the Encoder or Decoder.

@fasmat fasmat requested a review from dshulyak June 19, 2023 17:35
@fasmat fasmat self-assigned this Jun 19, 2023
decoder.go Outdated Show resolved Hide resolved
@fasmat fasmat merged commit 62aa1b3 into master Jun 20, 2023
@fasmat fasmat deleted the limit-nested-collections branch June 20, 2023 08:20
bors bot pushed a commit to spacemeshos/go-spacemesh that referenced this pull request Jun 20, 2023
## Motivation
Closes #4094. Merge after spacemeshos/go-scale#60 has been merged and released.

## Changes
- Integrates go-scale with limit on nesting in types
- Default max. nesting depth is 4, can be configured if more or less is better

## Test Plan
- Tests added to go-scale for new functionallity.

## TODO
<!-- This section should be removed when all items are complete -->
- [x] Explain motivation or link existing issue(s)
- [x] Test changes and document test plan
- [x] Update documentation as needed

## DevOps Notes
<!-- Please uncheck these items as applicable to make DevOps aware of changes that may affect releases -->
- [x] This PR does not require configuration changes (e.g., environment variables, GitHub secrets, VM resources)
- [x] This PR does not affect public APIs
- [x] This PR does not rely on a new version of external services (PoET, elasticsearch, etc.)
- [x] This PR does not make changes to log messages (which monitoring infrastructure may rely on)
bors bot pushed a commit to spacemeshos/go-spacemesh that referenced this pull request Jun 20, 2023
## Motivation
Closes #4094. Merge after spacemeshos/go-scale#60 has been merged and released.

## Changes
- Integrates go-scale with limit on nesting in types
- Default max. nesting depth is 4, can be configured if more or less is better

## Test Plan
- Tests added to go-scale for new functionallity.

## TODO
<!-- This section should be removed when all items are complete -->
- [x] Explain motivation or link existing issue(s)
- [x] Test changes and document test plan
- [x] Update documentation as needed

## DevOps Notes
<!-- Please uncheck these items as applicable to make DevOps aware of changes that may affect releases -->
- [x] This PR does not require configuration changes (e.g., environment variables, GitHub secrets, VM resources)
- [x] This PR does not affect public APIs
- [x] This PR does not rely on a new version of external services (PoET, elasticsearch, etc.)
- [x] This PR does not make changes to log messages (which monitoring infrastructure may rely on)
bors bot pushed a commit to spacemeshos/go-spacemesh that referenced this pull request Jun 20, 2023
## Motivation
Closes #4094. Merge after spacemeshos/go-scale#60 has been merged and released.

## Changes
- Integrates go-scale with limit on nesting in types
- Default max. nesting depth is 4, can be configured if more or less is better

## Test Plan
- Tests added to go-scale for new functionallity.

## TODO
<!-- This section should be removed when all items are complete -->
- [x] Explain motivation or link existing issue(s)
- [x] Test changes and document test plan
- [x] Update documentation as needed

## DevOps Notes
<!-- Please uncheck these items as applicable to make DevOps aware of changes that may affect releases -->
- [x] This PR does not require configuration changes (e.g., environment variables, GitHub secrets, VM resources)
- [x] This PR does not affect public APIs
- [x] This PR does not rely on a new version of external services (PoET, elasticsearch, etc.)
- [x] This PR does not make changes to log messages (which monitoring infrastructure may rely on)
bors bot pushed a commit to spacemeshos/go-spacemesh that referenced this pull request Jun 20, 2023
## Motivation
Closes #4094. Merge after spacemeshos/go-scale#60 has been merged and released.

## Changes
- Integrates go-scale with limit on nesting in types
- Default max. nesting depth is 4, can be configured if more or less is better

## Test Plan
- Tests added to go-scale for new functionallity.

## TODO
<!-- This section should be removed when all items are complete -->
- [x] Explain motivation or link existing issue(s)
- [x] Test changes and document test plan
- [x] Update documentation as needed

## DevOps Notes
<!-- Please uncheck these items as applicable to make DevOps aware of changes that may affect releases -->
- [x] This PR does not require configuration changes (e.g., environment variables, GitHub secrets, VM resources)
- [x] This PR does not affect public APIs
- [x] This PR does not rely on a new version of external services (PoET, elasticsearch, etc.)
- [x] This PR does not make changes to log messages (which monitoring infrastructure may rely on)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants