[CLD-1924]: feat(solana): port solana funding helpers from Chainlink#19
Conversation
There was a problem hiding this comment.
Pull request overview
Adds Solana-side SOL funding helpers to support deployer-funded transfers, aligning this repo’s deployment utilities with the referenced upstream implementation.
Changes:
- Introduces
FundFromAddressIxsto build System Program transfer instructions for funding multiple accounts. - Introduces
FundFromDeployerKeyto fund accounts from the chain deployer key and confirm the resulting transaction.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
c348e5e to
75a0d66
Compare
There was a problem hiding this comment.
Pull request overview
Adds Solana SOL funding helpers to support deployer-funded transfers, ported from chainlink’s deployments helpers.
Changes:
- Introduces
FundFromAddressIxsto build system program SOL transfer instructions for multiple recipients. - Introduces
FundFromDeployerKeyto transfer SOL from the chain deployer key and wait for confirmation. - Adds a unit test validating the generated transfer instructions decode as
system.Transferwith the expected lamports.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| pkg/family/solana/fund.go | Adds instruction builder + deployer-based funding/confirm helper. |
| pkg/family/solana/fund_test.go | Adds unit test coverage for FundFromAddressIxs instruction construction/decoding. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
75a0d66 to
785b33d
Compare
785b33d to
8f729dd
Compare
There was a problem hiding this comment.
Pull request overview
Ports Solana funding helper utilities into this repo to make it easy to generate (and optionally submit/confirm) SOL transfer instructions for funding multiple recipient accounts.
Changes:
- Added
FundFromAddressIxsto build system program transfer instructions for a sender → N recipients. - Added
FundFromDeployerKeywrapper to fund recipients from the configured Solana deployer key and wait for confirmation. - Added a unit test validating the generated instructions and promoted the Solana gobindings dependency to a direct
go.modrequirement.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| pkg/family/solana/fund.go | Introduces SOL funding helpers (instruction creation + deployer-key confirmation wrapper). |
| pkg/family/solana/fund_test.go | Adds unit coverage for instruction generation/decoding and lamport amount correctness. |
| go.mod | Makes the Solana gobindings dependency direct (consistent with existing direct imports). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
8f729dd to
015997e
Compare
015997e to
7a801cd
Compare
There was a problem hiding this comment.
Pull request overview
Adds Solana SOL funding helper utilities (ported from Chainlink deployments) to construct system-program transfer instructions and optionally submit/confirm them via the Solana chain wrapper.
Changes:
- Introduce
FundFromAddressIxsto build Solana system transfer instructions for multiple recipients. - Introduce
FundFromDeployerKeyto fund recipients from the chain deployer key and wait for confirmation. - Add a unit test validating the generated instructions decode as
system.Transferwith the expected accounts and lamports.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| pkg/family/solana/fund.go | Adds instruction builder + deployer-key funding helper that confirms transfers. |
| pkg/family/solana/fund_test.go | Adds unit test asserting instruction structure and decoded transfer amount. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
7a801cd to
110644e
Compare
🤖 I have created a release *beep* *boop* --- ## [0.1.0](cld-changesets-v0.0.1...cld-changesets-v0.1.0) (2026-05-06) ### Features * add "catalog create chain metadata" changeset ([#36](#36)) ([c12bb51](c12bb51)) * add catalog create contract metadata changeset ([#27](#27)) ([8ec1cbc](8ec1cbc)) * add CRE workflow deploy changeset and operation ([#1](#1)) ([960fde1](960fde1)) * add target name param to cre deploy changeset ([#3](#3)) ([8b25662](8b25662)) * fund mcms pdas ([#22](#22)) ([821e542](821e542)) * **jobspec:** port jobspec changesets from chainlink ([#21](#21)) ([0ce3f74](0ce3f74)) * link token ([#30](#30)) ([07345c1](07345c1)) * **pkg:** add contract constants and Solana MCMS state loading ([#5](#5)) ([6a2bbee](6a2bbee)) * port BuildProposalFromBatchesV2 ([#24](#24)) ([28d53d7](28d53d7)) * port run changeset from chainlink ([#32](#32)) ([693922f](693922f)) * port solana grant role ([#33](#33)) ([7eca5be](7eca5be)) * port token approve ([#40](#40)) ([04130de](04130de)) * **port:** firedrill mcms with operations api refactor ([#25](#25)) ([6d9010c](6d9010c)) * **solana:** add SOL funding helpers for deployer transfers ([#19](#19)) ([63bebf8](63bebf8)) * **solana:** port over mcms pda loader ([#11](#11)) ([7170ddc](7170ddc)) ### Bug Fixes * **aptos:** move state load ([#8](#8)) ([de58102](de58102)) * **evm:** port state load evm funcs ([#9](#9)) ([99279f1](99279f1)) * **state:** restore addressbook usage ([#17](#17)) ([017cd5e](017cd5e)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: app-token-issuer-ops-platform[bot] <275822481+app-token-issuer-ops-platform[bot]@users.noreply.github.com> Co-authored-by: James Kong <61834+jkongie@users.noreply.github.com>
Port from https://github.com/smartcontractkit/chainlink/blob/develop/deployment/common/changeset/solana/helpers.go
JIRA: https://smartcontract-it.atlassian.net/browse/CLD-1924