gemworks / gem-farm

Configurable staking for NFT Projects on Solana
https://gemfarm.gg/
MIT License
338 stars 252 forks source link

Remove dependency on `@solana/spl-token v0.1.8` #130

Open 0xnetfox opened 1 year ago

0xnetfox commented 1 year ago

I was having difficulties using the gem-farm app as the wallet adapter kept complaining about getMinBalanceRentForExemptMint not existing when trying to mint a test token, using @gemworks/gem-farm-ts v0.26.4. Digging a bit I found out that the wallet adapters have a dependency on @solana/spl-token v0.1.8, which is a version from 2 years ago, so I've done a bit of refactoring in order to remove that dependency.

The change consists mostly about deleting old imports and re-importing the correct functions, with correct parameters and correct types from the newest version of the spl-token library, and fixing the tests that complained.

The change ended up being bigger than I expected, so I may have fucked up something :D the tests all pass correctly and as far as I tried, the app wallet adapter works correctly now when pointed to the local version of the library.

Let me know if the change is ok or anything needs to be modified :)

netlify[bot] commented 1 year ago

Deploy Preview for pensive-hamilton-d73c94 canceled.

Name Link
Latest commit a19310d2d8113b68a2e3a39d11e17387eddf8e3c
Latest deploy log https://app.netlify.com/sites/pensive-hamilton-d73c94/deploys/63fa4fe1af764300087ea8df
0xnetfox commented 1 year ago

If you end up merging this lmk if you would mind a few more PRs :) I've been cleaning up a bit since I needed to use it for smth, changes for now are:

peterschwarzdev commented 1 year ago

Does this fix the current ongoing issue @0xnetfox ?

0xnetfox commented 1 year ago

@peterschwarzdev sorry, just seen the comment

This PR isn't related to that issue. My uneducated guess is that the linked issue is related to the changes that ilmoi did to accommodate programmable NFTs at the end of January. Those changes shouldn't break existing farms as far as I know so I'd bet the issue resides on the SDK library.

If updating the @gemworks/gem-farm-ts library to the latest version (0.26.4) doesn't fix the issue, someone will need to dig exactly why it is happening and if it is fixable :)