solana icon indicating copy to clipboard operation
solana copied to clipboard

Feature Gate: Enable the `ExtendProgram` ix for the bpf upgradeable loader

Open jstarry opened this issue 2 years ago • 24 comments

Description

See #26386

Add a feature gate to enable a new ExtendProgram instruction which is permission less and allows extending the program data by a specified number of bytes so that developers don't need to pre-allocate program data accounts.

Note

Do NOT activate this before enable program redeployment cooldown.

Feature ID

8Zs9W7D9MpSEtUWSQdGniZk2cNmV22y6FLJwCx53asme

Activation Method

Single Core Contributor

Minimum Version

v1.16.0

Testnet Activation Epoch

492

Devnet Activation Epoch

547

Mainnet-Beta Activation Epoch

532

jstarry avatar Jul 04 '22 11:07 jstarry

What is eta for this?

mgild avatar Jul 04 '22 12:07 mgild

What is eta for this?

Needs to get reviewed, audited, and then activated via feature gate. I'm hoping to get this feature into v1.11 and will activate it once each cluster is fully upgraded to that version.

jstarry avatar Jul 04 '22 12:07 jstarry

thanks for working on this @jstarry! any guidance on earliest possible 1.11 release?

codestoned1 avatar Aug 11 '22 21:08 codestoned1

thanks for working on this @jstarry! any guidance on earliest possible 1.11 release?

It will be enabled on testnet soon but it's quite difficult to predict when mainnet will be updated to v1.11 at this time

jstarry avatar Aug 12 '22 11:08 jstarry

It's great change @jstarry. Will solana program deploy CLI command handle resizing automatically ?

In description you wrote "extending", I assume we can also shrink it and recover unused SOL ?

mardragon avatar Aug 24 '22 10:08 mardragon

Will solana program deploy CLI command handle resizing automatically ?

That would be a nice feature, but not implemented yet in the CLI

I assume we can also shrink it and recover unused SOL ?

The length of the program data isn't stored in the metadata so it's not possible to know how much data can be shrunk safely. That could be implemented though and added as a separate feature.

jstarry avatar Aug 24 '22 15:08 jstarry

@jstarry Would you have any idea when this would hit mainnet?

iurage avatar Oct 07 '22 07:10 iurage

@jstarry Would you have any idea when this would hit mainnet?

When mainnet is running v14.. hopefully not too long but it could take months

jstarry avatar Oct 07 '22 08:10 jstarry

@jstarry Would you have any idea when this would hit mainnet?

When mainnet is running v14.. hopefully not too long but it could take months

sheesh we need it a lot

Timikcool avatar Oct 07 '22 12:10 Timikcool

hope this is out soon, badly needed for our side as well

enzoampil avatar Oct 26 '22 05:10 enzoampil

Yeah also hope this is deployed soon.

ADBalici avatar Nov 23 '22 14:11 ADBalici

Is there a rough ETA for when it will be deployed?

dr497 avatar Jan 12 '23 07:01 dr497

This gate is on the schedule at https://github.com/solana-labs/solana/wiki/Feature-Gate-Activation-Schedule, and is the 25th (if I counted right) feature gate in the 1.14 release line. So best case, it'll be activated 25 epochs after mainnet adopts the 1.14 release line

mvines avatar Jan 12 '23 08:01 mvines

Sorry everybody who has been patiently waiting. We will have to delay this until we fix our executor cache (https://github.com/solana-labs/solana/issues/29803).

Lichtso avatar Feb 07 '23 09:02 Lichtso

@Lichtso do you have a rough timeline in mind?

ilmoi avatar Feb 12 '23 14:02 ilmoi

do you have a rough timeline in mind?

It is making good progress so we should have something on testnet by the next release cycle. Though it will take a lot longer until it hits MNB. Unfortunately our current design makes it hard to implement this right.


@ilmoi @dr497 @ADBalici @enzoampil @Timikcool @iurage @mardragon @zlex7 @mgild Hate to ping you all like this, but if you are still interested in improving the program management workflow, I would like some feedback on the design of our new loader built-in program, which also comes with a new program management workflow over here: #30464

Lichtso avatar Feb 17 '23 12:02 Lichtso

Are there any updates on the timeline of this feature? It looks like it got pushed back several minor versions but we're really hurting for more binary space.

blockiosaurus avatar Apr 26 '23 21:04 blockiosaurus

Would like an update on this too, out of space on multiple programs, very hard to fit in due to evolving metaplex updates and stuff.

FoxyDev42 avatar May 06 '23 13:05 FoxyDev42

This feature is still on the master branch, will ship in the v1.16 release line. When this reaches mainnet depends on how quickly the validators choose to adopt the v1.14 release so that we can begin stabilizing v1.16

mvines avatar May 06 '23 15:05 mvines

excellent

Flawm avatar May 06 '23 18:05 Flawm

It is place 3 in the Feature-Gate-Activation-Schedule of MNB so should be in the next few weeks.

Lichtso avatar Nov 06 '23 22:11 Lichtso

FYI this feature was activated a few days ago in epoch 532 on mainnet-beta

jstarry avatar Nov 15 '23 09:11 jstarry

okay to close it then?

ksolana avatar Jan 15 '24 00:01 ksolana

Once the feature gate code is cleaned up it will be closed

jstarry avatar Jan 16 '24 00:01 jstarry