Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions solana/devnet/2025-10-22-mcm-upgrade/.env
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,13 @@ MCM_VALID_UNTIL=1761205094 # Thu Oct 23 2025 07:38:14 GMT+0000

# Set to true if you want to override the previous root when registering the proposal
# If set to true, it allows to override the (proposal) root even if there are outstanding operations left to execute in the previous proposal
MCM_OVERRIDE_PREVIOUS_ROOT=false
MCM_OVERRIDE_PREVIOUS_ROOT=true

# Total number of signatures required to execute the proposal
MCM_SIGNATURES_COUNT=3

# MCM proposal signatures
MCM_SIGNATURES=
MCM_SIGNATURES=0x4abbb6dc9e68fe5c79e6090502760d62be8993e98c60d1afa8f0c14e910690d5192819cc8ca11d6612b51e589be518585551b87f719b09330877d154fd5305ca1c,0x9f9b0d4b05315606bcc1c5bd2694f130ea9abc7b163132a0b46240b40efff07469880b3bdaec433cb1f67e52540fa99d49bff7d3a53ea1df1e2fabff6ad200ce1c,0x753f913e62a7fe1bd80edd4e818245b872c64610035c4141ecfe6b87bdba44c418c1cd60b838118fa7b4686b2a4aa116e470ff87f9d2e9deb1da9946d0086c771c

# Output file for the MCM proposal
MCM_PROPOSAL_OUTPUT=proposal.json
Expand All @@ -49,10 +49,10 @@ AUTHORITY=~/.config/solana/id.json
PROGRAM=$(MCM_PROGRAM_ID)

# Buffer address containing the new program data (obtained from 'make write-buffer')
BUFFER=C4XSxK5zGw2ANbWQSURn6Cx4HaFiCxpmD6Nbb4T6szNu
BUFFER=FsfzjZQu5MUAuZybaNNEkQbbzgKExUdGNFEbTohBGJGn

# Spill account address to receive refunded lamports
SPILL=2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72 # Payer address
SPILL=AFs1LCbodhvwpgX3u3URLsud6R1XMSaMiQ5LtXw4GKYT # Payer address

##
# Variables for managing the temporary buffer
Expand All @@ -65,4 +65,4 @@ PROGRAM_BINARY=./chainlink-ccip/chains/solana/contracts/target/deploy/mcm.so
NEW_BUFFER_AUTHORITY=$(MCM_AUTHORITY)

# Signature of the set-buffer-authority transaction
SET_BUFFER_AUTHORITY_SIGNATURE=5MH2pXrEmvoUepzVNfqWzJ5mVXyJn4T9b81yqFaK8T8QzW8quRAXoaATWqtaaaVXJ7hzmywaHFDwcAHj7EQ5EFEs
SET_BUFFER_AUTHORITY_SIGNATURE=4a2Wnni9JcVibkaoKKe27uXxMZ5sRK3nsWPj6tVs4kX86qt8kqeFbnzRDXYCdWBp1ruHUDzzoTq3FE5McKj19wJ
2 changes: 1 addition & 1 deletion solana/devnet/2025-10-22-mcm-upgrade/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ sign:

# Step 6: Execute proposal (signatures + set-root + execute)
.PHONY: step6-execute-proposal
step5-execute-proposal:
step6-execute-proposal:
@echo "==> Step 6: Executing MCM proposal..."
make mcm-signatures-all
make mcm-proposal-all
4 changes: 2 additions & 2 deletions solana/devnet/2025-10-22-mcm-upgrade/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# MCM Program Upgrade via Multi-Chain Multisig

Status: PENDING
Status: [EXECUTED](https://solscan.io/tx/5cqjb6boxTizf75bUGRxfRt3sna7VxehDnW1dsy7FhzdPsBhimrrXdP2TUMxz1VXEkHGv2nsqb53tujEKHBR5UXJ?cluster=devnet)

## Description

Expand Down Expand Up @@ -34,7 +34,7 @@ These values are in the `.env` file and the generated `proposal.json`.
### 4. Sign the proposal

```bash
make mcm-sign
make sign
```

This command will:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
{
"confirmationStatus": "finalized",
"transaction": {
"signatures": [
"5cqjb6boxTizf75bUGRxfRt3sna7VxehDnW1dsy7FhzdPsBhimrrXdP2TUMxz1VXEkHGv2nsqb53tujEKHBR5UXJ"
],
"message": {
"header": {
"numRequiredSignatures": 1,
"numReadonlySignedAccounts": 0,
"numReadonlyUnsignedAccounts": 5
},
"accountKeys": [
"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72",
"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL",
"9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN",
"Ca93fFb5tQR14XzNpvBi6WNTuPHWZLNwoZ3hu6EErgDF",
"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX",
"FsfzjZQu5MUAuZybaNNEkQbbzgKExUdGNFEbTohBGJGn",
"AFs1LCbodhvwpgX3u3URLsud6R1XMSaMiQ5LtXw4GKYT",
"DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S",
"BPFLoaderUpgradeab1e11111111111111111111111",
"2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ",
"SysvarRent111111111111111111111111111111111",
"SysvarC1ock11111111111111111111111111111111"
],
"recentBlockhash": "38XcLeeoHPdjbSrV65cojkGoit5yEAuPrvndH1TWY3g7",
"instructions": [
{
"programIdIndex": 4,
"accounts": [
1,
7,
2,
8,
9,
0,
3,
4,
5,
6,
10,
11,
9
],
"data": "65zRtZe3ydJWJeJJEUXq3RVmLzRGFdSm94DUpibi5UNcLWiV78xjAha9DLJrUHx7qbdjn514ix9CUwqJmkfRGBimoMCqfa4Gz6EPLBHCDMt71vhiXhgdgTG7FAy6p5XwZR7Ds32gb",
"stackHeight": null
}
]
}
},
"meta": {
"err": null,
"status": {
"Ok": null
},
"fee": 5000,
"preBalances": [
197831196360,
4134240,
1252800,
6670665840,
1141440,
3335600880,
0,
1343280,
1,
0,
1009200,
1169280
],
"postBalances": [
197831191360,
4134240,
1252800,
6670665840,
1141440,
0,
3335600880,
1343280,
1,
0,
1009200,
1169280
],
"innerInstructions": [
{
"index": 0,
"instructions": [
{
"programIdIndex": 8,
"accounts": [
3,
4,
5,
6,
10,
11,
9
],
"data": "5Sxr3",
"stackHeight": 2
}
]
}
],
"logMessages": [
"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]",
"Program log: Instruction: Execute",
"Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [2]",
"Upgraded program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX",
"Program BPFLoaderUpgradeab1e11111111111111111111111 success",
"Program data: 3Q/UHSP8/04AAAAAAAAAAAKo9pFOiKGw4hAVPvdjrisAwrk9FsEk0sBTehAEgAAABAAAAAMAAAA=",
"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 46411 of 200000 compute units",
"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success"
],
"preTokenBalances": [],
"postTokenBalances": [],
"rewards": [],
"loadedAddresses": {
"writable": [],
"readonly": []
},
"computeUnitsConsumed": 46411
},
"blockTime": 1761166938,
"slot": 416405847
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
{
"confirmationStatus": "finalized",
"transaction": {
"signatures": [
"5rFJuhjr75g7a3QUpFMhLP8jx8UDCwXQzgCPTSeLq7hMZP43dbfpjwtJ6g8ZJGY1G1HukZkfAEMENSRLBo79mGB6"
],
"message": {
"header": {
"numRequiredSignatures": 1,
"numReadonlySignedAccounts": 0,
"numReadonlyUnsignedAccounts": 3
},
"accountKeys": [
"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72",
"EFUdVAfnn9ij9e1hvNT71M5p8UXprbygDeJjJqHxJ2g5",
"DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S",
"DJysVC7pSfy3MyXzbzoJLaJmJB7GKovNdcHWJCWNpWt3",
"9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN",
"7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL",
"11111111111111111111111111111111",
"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX"
],
"recentBlockhash": "GB9gRdUJscxtv8GynFEd3sgNZx5YACUXvRY5ynaXPkj5",
"instructions": [
{
"programIdIndex": 7,
"accounts": [
1,
2,
3,
4,
5,
0,
6
],
"data": "K9UBFxzzmUF86odsdKWb6A2fuzRXx1VQLqWaNmspdxDzEh8pmM5J9neQZEZR3y8kxx6CtAAWsGHBV5yReuG3gKYB27RtTWqs8HjJB2JvaFmKpMoSgaQsexExa8cRDYtpAmMFSkNnHuixnRJMF6g3gMnqujpFyoEGqd86zdapwJdTdHsMiSPto6A2rHEf47sC2fD1PC8UoGdTPhgoc4HGkpbiijYg1numZZhNUVp",
"stackHeight": null
}
]
}
},
"meta": {
"err": null,
"status": {
"Ok": null
},
"fee": 5000,
"preBalances": [
197829809360,
2345520,
1343280,
0,
1252800,
4134240,
1,
1141440
],
"postBalances": [
197831196360,
0,
1343280,
953520,
1252800,
4134240,
1,
1141440
],
"innerInstructions": [
{
"index": 0,
"instructions": [
{
"programIdIndex": 6,
"accounts": [
0,
3
],
"data": "11117UcthqATmHRa77Wg3s82tM6xxYxd7PiZ2oZ4h1ZRQ3Q6anaT7puATNmrGRBPnEn6Uh",
"stackHeight": 2
}
]
}
],
"logMessages": [
"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]",
"Program log: Instruction: SetRoot",
"Program 11111111111111111111111111111111 invoke [2]",
"Program 11111111111111111111111111111111 success",
"Program data: 0hm7digqPXeiEXv4NnCvz1Ew1YhVTJrplnmwi/oRxOKsk15o/iywd2bb+WgAAAAAAAAAAFvuOPs7hiam+/CQoroqEyiPrjtrRaqBltmHvQYLpVUzAAAAAAAAAAABAAAAAAAAAAE=",
"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 103806 of 200000 compute units",
"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success"
],
"preTokenBalances": [],
"postTokenBalances": [],
"rewards": [],
"loadedAddresses": {
"writable": [],
"readonly": []
},
"computeUnitsConsumed": 103806
},
"blockTime": 1761166922,
"slot": 416405807
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
{
"confirmationStatus": "finalized",
"transaction": {
"signatures": [
"2zp5tCzEb2BNMr2Gx8HEfqgiyR2eN25PeUS9wNaTqxzKZyPwo29uvVAJwb3USav2Cb9nu8cRsSe3kzpnn5Pc4yKr"
],
"message": {
"header": {
"numRequiredSignatures": 1,
"numReadonlySignedAccounts": 0,
"numReadonlyUnsignedAccounts": 1
},
"accountKeys": [
"2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72",
"EFUdVAfnn9ij9e1hvNT71M5p8UXprbygDeJjJqHxJ2g5",
"Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX"
],
"recentBlockhash": "38p92JJpzW6862egpeCHWHZxbSqMnwzzQsmRSi6CP1QN",
"instructions": [
{
"programIdIndex": 2,
"accounts": [
1,
0
],
"data": "8JM1NbBrt3Xh3kxoE3gUoUhdacSAaBKUdPn3SULoy5MqoavKwgx6PuKEqS9qTRWTLgc99wkDGDT7QuyCsAZEZjWyxMFkaMXJiHU6QdAXAz6UCNdYjcduSB7hRtKcaQD3gN813g2QEcJt91iSKKHMF2TVCjoWDNZHdaCewfYVkU1a63yFtyZEg1fGdPkz4JjK9igmk2FWr2MQQLpDZAx8D3gV3e1a2fUsGDPEnE5oVmGsTTfgsYWkDBUhbdA8ZwajzvNBYqF8FcAYSsJ28w7VHu6Dr68PAAopfAR9rMz4n3uGQyGptM3iDxFkR4DCPVYhiDzbtjuYipCUFKpe7EdLtd47fxS6TD4zcfPBLjmo7ZwDQtfmsgbfLoCi",
"stackHeight": null
}
]
}
},
"meta": {
"err": null,
"status": {
"Ok": null
},
"fee": 5000,
"preBalances": [
197829819360,
2345520,
1141440
],
"postBalances": [
197829814360,
2345520,
1141440
],
"innerInstructions": [],
"logMessages": [
"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]",
"Program log: Instruction: AppendSignatures",
"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 5385 of 200000 compute units",
"Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success"
],
"preTokenBalances": [],
"postTokenBalances": [],
"rewards": [],
"loadedAddresses": {
"writable": [],
"readonly": []
},
"computeUnitsConsumed": 5385
},
"blockTime": 1761166890,
"slot": 416405725
}
Loading