Skip to content

Conversation

@joncinque
Copy link
Contributor

Problem

It's time to move over the SPL program implementations to their specific repos, but it hasn't been done.

Summary of changes

Following the PR for the feature proposal program at solana-program/feature-proposal#1, but for SPL. I ran:

# add the remote for the source repo
git remote add spl https://github.com/solana-labs/solana-program-library.git
# fetch the master from spl under a different local branch
git fetch spl master:fromspl
git switch fromspl
# be safe, remove the remote
git remote rm spl
# filter the stake related files
python3 ../../git-filter-repo \
  --path instruction-padding/program/src/entrypoint.rs \
  --path instruction-padding/program/src/lib.rs \
  --path instruction-padding/program/src/processor.rs \
  --path instruction-padding/program/src/instruction.rs \
  --path instruction-padding/program/tests/noop.rs \
  --path instruction-padding/program/tests/system.rs \
  --path instruction-padding/program/Cargo.toml \
  --path instruction-padding/program/README.md \
  --path-rename instruction-padding/program/src/instruction.rs:program/src/instruction.rs \
  --path-rename instruction-padding/program/src/entrypoint.rs:program/src/entrypoint.rs \
  --path-rename instruction-padding/program/src/processor.rs:program/src/processor.rs \
  --path-rename instruction-padding/program/src/lib.rs:program/src/lib.rs \
  --path-rename instruction-padding/program/Cargo.toml:program/Cargo.toml \
  --path-rename instruction-padding/program/tests/noop.rs:program/tests/noop.rs \
  --path-rename instruction-padding/program/tests/system.rs:program/tests/system.rs \
  --path-rename instruction-padding/program/README.md:program/README.md \
  --force
# re-add this repo
git remote add origin [email protected]:joncinque/instruction-padding.git
git fetch origin main
git switch main
git switch fromspl
git rebase main

joncinque and others added 29 commits December 6, 2024 23:14
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
#### Problem

The 1.16 Solana crates are out, but SPL is still on 1.14 and needs the
new functionality.

#### Solution

Update the:

* rust version to 1.69
* nightly to 2023-04-19
* solana tools to 1.16.1
* solana crates to 1.16.1
* borsh to 0.10

And fix:

* new clippy warnings
* deprecated warnings in the new solana crates
* upgrade to solana 1.16.3

* bring down hashbrown dependency to 0.12.3
Bumps [num_enum](https://github.com/illicitonion/num_enum) from 0.6.1 to 0.7.0.
- [Commits](https://github.com/illicitonion/num_enum/commits)

---
updated-dependencies:
- dependency-name: num_enum
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Run update script

* Update everything to use non-deprecated functions
* Update workspace for new cargo resolver, remove ntapi patch

* Update Rust versions

* Update dependencies with `./update-solana-dependencies.sh 1.17.2`

* Update lockfile

* Fix build errors

* Run clippy with `--fix`

* concurrent-merkle-tree: Fix function to not use mutable ref

* Replace StakeState with StakeStateV2

* governance: Fix clippy lint

* governance: Fix unnecessary mut

* Allow `clippy::items_after_module`

* token: Make error tests clearer

* token-2022: Fix private glob re-export

* token-upgrade-cli: Replace validator with parser

* single-pool-cli: Fix parsers

* ci: Update clippy command

* Update anchor version

* token-metadata: Use `no-entrypoint` feature in token-2022

* ci: Add protobuf-compiler to build deps

* discriminator-syn: *Don't* specify type of lib to build

* ci: Blast directories in cargo-build-test

* account-compression: Update build and lockfile

* Update token-group and feature-gate

* single-pool: revert WrongStakeStateV2

* stake-pool: revert WrongStakeStateV2

* stake-pool-py: revert StakeStateV2

---------

Co-authored-by: hanako mumei <[email protected]>
Bumps [num_enum](https://github.com/illicitonion/num_enum) from 0.7.0 to 0.7.1.
- [Commits](https://github.com/illicitonion/num_enum/commits)

---
updated-dependencies:
- dependency-name: num_enum
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This PR swaps any calls to the `entrypoint!` macro with the full path, ie: `solana_program::entrypoint!`.

This will play a role in the effort to introduce a linting standard to SPL.
* repo: Update to 1.17.6 with script

* Update lockfile

* Remove disabling feature in token-cli tests
Bumps [num_enum](https://github.com/illicitonion/num_enum) from 0.7.1 to 0.7.2.
- [Commits](illicitonion/num_enum@0.7.1...0.7.2)

---
updated-dependencies:
- dependency-name: num_enum
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* token 2022: upgrade sdk to 1.17.13

* Upgrade all remaining packages

---------

Co-authored-by: Jon C <[email protected]>
* Update solana dependency version to allow 2.0.0

* Fix version number in solana-version.sh

* Fix version numbers

* Revert solana-version.sh with note

* Revert Anchor version change

* Relax dependency version upper bound to 2
* upgrade to solana version 1.17.17

* add display for the group extensions

* upgrade to solana version 1.17.17

* update cargo lock
* Update associated-token-account version to 2.3.1

* Update discriminator version to 0.1.1

* Update discriminator-derive version to 0.1.2

* Update discriminator-syn version to 0.1.2

* Update instruction-padding version to 0.1.1

* Update memo version to 4.0.1

* Update pod version to 0.1.1

* Update program-error version to 0.3.1

* Update program-error-derive version to 0.3.2

* Update tlv-account-resolution version to 0.5.2

* Update token version to 4.0.1

* Cargo.lock

* Update token-group-interface version to 0.1.1

* Update token-metadata-interface version to 0.2.1

* Update transfer-hook-interface version to 0.5.1

* Update type-length-value version to 0.3.1

* Cargo.lock

* Remove extraneous whitespace
* upgrade to solana 1.18.2

* upgrade rust version to 1.76.0

* update borsh to 1.2.1

* replace deprecated `try_to_vec` with `borsh::to_vec`

* temporarily allow deprecated functions in cli that uses clap-v3

* use `repr(u32)` for enums in token lending
upgrade solana version to 1.18.11
* solana: Update deps to 2.0.0

* Update lockfile

* Update toolchain version

* Update nightly version

* Fix check issues

* Fix clippy

* Revert upgrade for account compression libs

* Install build deps for serde test

* Fixup versions

* Fixup twoxtx build

* Revert solana install version

* Actually, get version 2.0.0 from the correct place
instruction-padding: Bump version for Solana v2 support
* Run script

* Update lockfile

* Use "processed" instead of deprecated "recent"

* Fixup account compression tests

* account-compression: Remove `only` in test
Bumps [num_enum](https://github.com/illicitonion/num_enum) from 0.7.2 to 0.7.3.
- [Commits](illicitonion/num_enum@0.7.2...0.7.3)

---
updated-dependencies:
- dependency-name: num_enum
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Run update script, update curve25519-dalek dep, rust

* Run clippy + fmt

* Add workspace lints, start fixing doc comments

* Update doc comments for clippy

* Re-run cargo fmt after doc comment update

* Update solana-version

* Update CI jobs
* instruction-padding: Remove solana-program dependency

#### Problem

The instruction-padding program still has an explicit dependency on
solana-program, but it isn't needed.

#### Summary of changes

Use the component crates instead. Some of the syscall consts aren't
available yet outside of solana-program, but it was easy to add a static
assertion for those.

* Add re-exports
@joncinque joncinque requested a review from febo December 6, 2024 22:16
Copy link

@febo febo left a comment

Choose a reason for hiding this comment

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

👌

@joncinque joncinque merged commit e05cebf into solana-program:main Dec 11, 2024
@joncinque
Copy link
Contributor Author

I don't know why it keeps squashing, I'll just push by hand to all of these

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.

6 participants