Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Contract Pipeline Scripts #561

Merged
merged 55 commits into from
Oct 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
3939e92
feat: MovementDeployer
Primata Sep 11, 2024
b44012a
add the actual movementdeployer script
Primata Sep 11, 2024
c33d0d5
feat: break down scripts
Primata Sep 11, 2024
e185384
add missing loadConfig
Primata Sep 12, 2024
b0be4a5
feat: call upgrade and propose safe transaction from cli
Primata Sep 13, 2024
7710b45
improve code
Primata Sep 13, 2024
8f52a3d
README
Primata Sep 16, 2024
986f528
temp
Primata Sep 17, 2024
e839ab6
merge main
Primata Sep 18, 2024
d959f05
merge main
Primata Sep 19, 2024
d95014c
feat: pre-foundry-std upgrade
Primata Sep 19, 2024
dbcb26b
weird issue with parseRaw
Primata Sep 19, 2024
e601e3c
fix: config loading in abc order
Primata Sep 20, 2024
9cdb5e9
fix: start repurposing Multisig
Primata Sep 20, 2024
6c2b688
multisig move token deployer finalized
Primata Sep 23, 2024
877239b
add writability to all deployers
Primata Sep 23, 2024
4a5e8cc
add sepolia deployment
Primata Sep 24, 2024
6d26e31
feat: propose transactions
Primata Sep 24, 2024
2da6d99
feat: simplify
Primata Sep 24, 2024
686a921
conditional operation
Primata Sep 24, 2024
95c1d26
rewording token notices
Primata Sep 24, 2024
44275d7
add tx acceptance
Primata Sep 24, 2024
3d28bf5
cleanup
Primata Sep 24, 2024
1f7d2c4
fix: only write to upgrade file if broadcasting
Primata Sep 24, 2024
cca0eef
fix deployer
Primata Sep 24, 2024
26da9df
modify multisig deployment
Primata Sep 25, 2024
e2d1909
feat: multisig deployment
Primata Sep 26, 2024
2a4d64f
feat: multisig deployment
Primata Sep 26, 2024
dfe0ab5
pre addition of custody param
Primata Sep 26, 2024
f1d51e0
add some keys
Primata Sep 26, 2024
a5b4845
add token fixes
Primata Sep 26, 2024
209a2b7
feat: mainnet deployment
Primata Sep 27, 2024
d4c324a
feat: accept kms signature
Primata Sep 30, 2024
bbe8cf5
rename logo file
Primata Sep 30, 2024
4c27a3c
fix: tests
Primata Oct 1, 2024
35ee46f
merge conflicts
Primata Oct 1, 2024
f1180b3
feat: diff storage before upgrade
Primata Oct 3, 2024
633e830
feat: kms and registry update
Primata Oct 8, 2024
2a79014
fix: review
Primata Oct 8, 2024
02aeb82
fix: CoreDeployer fixes
Primata Oct 8, 2024
78a1d31
feat:artifact versioning
Primata Oct 9, 2024
f4dab18
adjust workflow to contain environment
Primata Oct 9, 2024
2c192f9
feat: include mainnet token release artifacts
Primata Oct 9, 2024
79d9a2b
move artifacts
Primata Oct 9, 2024
6d56eb4
dev deployment
Primata Oct 10, 2024
86adea1
deploy to holesky
Primata Oct 10, 2024
ded7606
move faucet
Primata Oct 10, 2024
ff1989b
faucet
Primata Oct 11, 2024
dca5b1a
fix: faucet
Primata Oct 14, 2024
f5b3ec6
fix tests
Primata Oct 15, 2024
7eb8e40
fix conflict options
Primata Oct 16, 2024
8d532f0
test withdraw
Primata Oct 16, 2024
b39861f
maxBalance config
Primata Oct 16, 2024
370f9c2
Merge branch 'main' into primata/contract-pipeline
Primata Oct 16, 2024
4cfa884
move faucet to holesky
Primata Oct 16, 2024
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
6 changes: 6 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,9 @@
[submodule "protocol-units/settlement/mcr/contracts/lib/safe-smart-account"]
path = protocol-units/settlement/mcr/contracts/lib/safe-smart-account
url = https://github.com/safe-global/safe-smart-account
[submodule "protocol-units/settlement/mcr/contracts/lib/solmate"]
path = protocol-units/settlement/mcr/contracts/lib/solmate
url = https://github.com/transmissions11/solmate
[submodule "bridge-forge-std"]
path = protocol-units/bridge/contracts/lib/forge-std
url = https://github.com/foundry-rs/forge-std
Expand All @@ -64,3 +67,6 @@
[submodule "dispute-murky"]
path = protocol-units/dispute/lib/murky
url = https://github.com/dmfxyz/murky
[submodule "protocol-units/tokens/mock/testnet/holesky/lib/openzeppelin-contracts"]
path = protocol-units/tokens/mock/testnet/holesky/lib/openzeppelin-contracts
url = https://github.com/OpenZeppelin/openzeppelin-contracts
16 changes: 16 additions & 0 deletions protocol-units/settlement/mcr/contracts/.prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"printWidth": 120,
"singleQuote": true,
"trailingComma": "all",
"arrowParens": "avoid",
"overrides": [
{
"files": "*.sol",
"options": {
"singleQuote": false
}
}
],
"plugins": ["prettier-plugin-solidity"]
}

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"abi":[],"bytecode":{"object":"0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212206a9e9855a85d5489ede812d97348aee64bf8f16ae4a9acbdaacd107487a3c0aa64736f6c634300081a0033","sourceMap":"248:311:91:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;248:311:91;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212206a9e9855a85d5489ede812d97348aee64bf8f16ae4a9acbdaacd107487a3c0aa64736f6c634300081a0033","sourceMap":"248:311:91:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/Bytes32AddressLib.sol)\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Library for converting between addresses and bytes32 values.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/solmate/src/utils/Bytes32AddressLib.sol\":\"Bytes32AddressLib\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@createx/=lib/createx/src/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@safe-smart-account/=lib/safe-smart-account/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":murky/=lib/murky/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/createx/lib/openzeppelin-contracts/contracts/\",\":safe-smart-account/=lib/safe-smart-account/\",\":solady/=lib/createx/lib/solady/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/solmate/src/utils/Bytes32AddressLib.sol\":{\"keccak256\":\"0xe709c9f2c6fb8bfe1158fa31967c0a2109844c52079fe4e327baec82fb87acb6\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://9633ab7c471e653dfb37c78b6475db47924c9ee731118545b5bc28aad97f2434\",\"dweb:/ipfs/Qmbt9gLb3hrs21nQxwSiG1ciE56Y73LLt1iPDfnmkcz27E\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@createx/=lib/createx/src/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@safe-smart-account/=lib/safe-smart-account/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","murky/=lib/murky/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/createx/lib/openzeppelin-contracts/contracts/","safe-smart-account/=lib/safe-smart-account/","solady/=lib/createx/lib/solady/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/solmate/src/utils/Bytes32AddressLib.sol":"Bytes32AddressLib"},"evmVersion":"cancun","libraries":{}},"sources":{"lib/solmate/src/utils/Bytes32AddressLib.sol":{"keccak256":"0xe709c9f2c6fb8bfe1158fa31967c0a2109844c52079fe4e327baec82fb87acb6","urls":["bzz-raw://9633ab7c471e653dfb37c78b6475db47924c9ee731118545b5bc28aad97f2434","dweb:/ipfs/Qmbt9gLb3hrs21nQxwSiG1ciE56Y73LLt1iPDfnmkcz27E"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/solmate/src/utils/Bytes32AddressLib.sol","id":50121,"exportedSymbols":{"Bytes32AddressLib":[50120]},"nodeType":"SourceUnit","src":"42:518:91","nodes":[{"id":50083,"nodeType":"PragmaDirective","src":"42:24:91","nodes":[],"literals":["solidity",">=","0.8",".0"]},{"id":50120,"nodeType":"ContractDefinition","src":"248:311:91","nodes":[{"id":50103,"nodeType":"FunctionDefinition","src":"280:138:91","nodes":[],"body":{"id":50102,"nodeType":"Block","src":"357:61:91","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":50097,"name":"bytesValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50086,"src":"398:10:91","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":50096,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"390:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":50095,"name":"uint256","nodeType":"ElementaryTypeName","src":"390:7:91","typeDescriptions":{}}},"id":50098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"390:19:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50094,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"382:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":50093,"name":"uint160","nodeType":"ElementaryTypeName","src":"382:7:91","typeDescriptions":{}}},"id":50099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"382:28:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":50092,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"374:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50091,"name":"address","nodeType":"ElementaryTypeName","src":"374:7:91","typeDescriptions":{}}},"id":50100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"374:37:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":50090,"id":50101,"nodeType":"Return","src":"367:44:91"}]},"implemented":true,"kind":"function","modifiers":[],"name":"fromLast20Bytes","nameLocation":"289:15:91","parameters":{"id":50087,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50086,"mutability":"mutable","name":"bytesValue","nameLocation":"313:10:91","nodeType":"VariableDeclaration","scope":50103,"src":"305:18:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":50085,"name":"bytes32","nodeType":"ElementaryTypeName","src":"305:7:91","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"304:20:91"},"returnParameters":{"id":50090,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50089,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50103,"src":"348:7:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50088,"name":"address","nodeType":"ElementaryTypeName","src":"348:7:91","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"347:9:91"},"scope":50120,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":50119,"nodeType":"FunctionDefinition","src":"424:133:91","nodes":[],"body":{"id":50118,"nodeType":"Block","src":"503:54:91","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":50114,"name":"addressValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50105,"src":"536:12:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":50113,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"528:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes20_$","typeString":"type(bytes20)"},"typeName":{"id":50112,"name":"bytes20","nodeType":"ElementaryTypeName","src":"528:7:91","typeDescriptions":{}}},"id":50115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"528:21:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes20","typeString":"bytes20"}],"id":50111,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"520:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":50110,"name":"bytes32","nodeType":"ElementaryTypeName","src":"520:7:91","typeDescriptions":{}}},"id":50116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"520:30:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":50109,"id":50117,"nodeType":"Return","src":"513:37:91"}]},"implemented":true,"kind":"function","modifiers":[],"name":"fillLast12Bytes","nameLocation":"433:15:91","parameters":{"id":50106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50105,"mutability":"mutable","name":"addressValue","nameLocation":"457:12:91","nodeType":"VariableDeclaration","scope":50119,"src":"449:20:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50104,"name":"address","nodeType":"ElementaryTypeName","src":"449:7:91","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"448:22:91"},"returnParameters":{"id":50109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50108,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50119,"src":"494:7:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":50107,"name":"bytes32","nodeType":"ElementaryTypeName","src":"494:7:91","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"493:9:91"},"scope":50120,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"Bytes32AddressLib","contractDependencies":[],"contractKind":"library","documentation":{"id":50084,"nodeType":"StructuredDocumentation","src":"68:180:91","text":"@notice Library for converting between addresses and bytes32 values.\n @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/Bytes32AddressLib.sol)"},"fullyImplemented":true,"linearizedBaseContracts":[50120],"name":"Bytes32AddressLib","nameLocation":"256:17:91","scope":50121,"usedErrors":[],"usedEvents":[]}],"license":"AGPL-3.0-only"},"id":91}

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Loading