From 8ae38fababad661535ddd45a3f9d1527c857c8fd Mon Sep 17 00:00:00 2001 From: happenwah Date: Wed, 2 Apr 2025 20:49:47 +0100 Subject: [PATCH] chore: lending module proposal script --- .../STEXDeploy.s.sol/999/run-1743612181.json | 63 ++++++++++ .../STEXDeploy.s.sol/999/run-latest.json | 61 +++++----- deploy_stex.sh | 2 +- propose_lending_module.sh | 1 + scripts/LendingModuleProposal.s.sol | 110 ++++++++++++++++++ scripts/STEXDeploy.s.sol | 57 ++++----- stex_lp.sh | 2 +- 7 files changed, 235 insertions(+), 61 deletions(-) create mode 100644 broadcast/STEXDeploy.s.sol/999/run-1743612181.json create mode 100644 propose_lending_module.sh create mode 100644 scripts/LendingModuleProposal.s.sol diff --git a/broadcast/STEXDeploy.s.sol/999/run-1743612181.json b/broadcast/STEXDeploy.s.sol/999/run-1743612181.json new file mode 100644 index 0000000..a129361 --- /dev/null +++ b/broadcast/STEXDeploy.s.sol/999/run-1743612181.json @@ -0,0 +1,63 @@ +{ + "transactions": [ + { + "hash": "0x3b763913e2c659fe57619df47ccff8de0ac228e81dd1f01fb4b35ed78471102b", + "transactionType": "CREATE", + "contractName": null, + "contractAddress": "0x36bafeb0f12a13ca579ed4080d95ac74f59e98e0", + "function": null, + "arguments": null, + "transaction": { + "from": "0x388e360edaac94372df1a2663ffe52671bbd8b58", + "gas": "0x121eed", + "value": "0x0", + "input": "0x610100604052348015610010575f80fd5b506040516110bf3803806110bf83398101604081905261002f9161010e565b826001600160a01b03811661005d57604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b610066816100a4565b506001600160a01b0395861660805293851660a05291841660c05250600180546001600160a01b031916919093161790915561ffff1660e052610188565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b0381168114610109575f80fd5b919050565b5f805f805f8060c08789031215610123575f80fd5b61012c876100f3565b955061013a602088016100f3565b9450610148604088016100f3565b9350610156606088016100f3565b9250610164608088016100f3565b915060a087015161ffff8116811461017a575f80fd5b809150509295509295509295565b60805160a05160c05160e051610eb86102075f395f818161022a01526105a401525f8181610148015281816102b7015281816104a9015281816104eb0152818161056f015261071501525f81816101aa0152818161079a015261097001525f818160f7015281816102ee0152818161050d01526105ce0152610eb85ff3fe608060405234801561000f575f80fd5b50600436106100d9575f3560e01c806376d5de8511610088578063b8dc491b11610063578063b8dc491b146101fc578063c66f24551461020f578063d8b6d25214610225578063f2fde38b1461025f575f80fd5b806376d5de85146101a55780638da5cb5b146101cc578063b6b55f25146101e9575f80fd5b80634771eeaf116100b85780634771eeaf1461016a5780635ea125571461017d578063715018a61461019d575f80fd5b8062f714ce146100dd57806316f0115b146100f257806338d52e0f14610143575b5f80fd5b6100f06100eb366004610de2565b610272565b005b6101197f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6101197f000000000000000000000000000000000000000000000000000000000000000081565b6100f0610178366004610e0c565b61035d565b6001546101199073ffffffffffffffffffffffffffffffffffffffff1681565b6100f0610474565b6101197f000000000000000000000000000000000000000000000000000000000000000081565b5f5473ffffffffffffffffffffffffffffffffffffffff16610119565b6100f06101f7366004610e2c565b610487565b6100f061020a366004610e43565b610628565b610217610940565b60405190815260200161013a565b61024c7f000000000000000000000000000000000000000000000000000000000000000081565b60405161ffff909116815260200161013a565b6100f061026d366004610e0c565b6109f3565b61027a610a5b565b6040517f69328dec00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820184905282811660448301527f000000000000000000000000000000000000000000000000000000000000000016906369328dec906064016020604051808303815f875af1158015610334573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103589190610e6b565b505050565b60015473ffffffffffffffffffffffffffffffffffffffff1633146103ae576040517f479ccbfc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81166103fb576040517f495350ef00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527fe270c0f13fe1cbdfd2d272034026790a686d70c42e3ecfddc188ffc18e74d08c9060200160405180910390a150565b61047c610a5b565b6104855f610aad565b565b61048f610a5b565b6104d173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016333084610b21565b61053273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000167f000000000000000000000000000000000000000000000000000000000000000083610bb0565b6040517f617ba03700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390523060448301527f000000000000000000000000000000000000000000000000000000000000000061ffff1660648301527f0000000000000000000000000000000000000000000000000000000000000000169063617ba037906084015f604051808303815f87803b15801561060f575f80fd5b505af1158015610621573d5f803e3d5ffd5b5050505050565b60015473ffffffffffffffffffffffffffffffffffffffff163314610679576040517f479ccbfc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166106c6576040517f495350ef00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116610713576040517f495350ef00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610798576040517fbb42845a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361081d576040517f4401eb1600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201525f9073ffffffffffffffffffffffffffffffffffffffff8416906370a0823190602401602060405180830381865afa158015610887573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ab9190610e6b565b90508015610358576108d473ffffffffffffffffffffffffffffffffffffffff84168383610c87565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab78360405161093391815260200190565b60405180910390a3505050565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201525f907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa1580156109ca573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ee9190610e6b565b905090565b6109fb610a5b565b73ffffffffffffffffffffffffffffffffffffffff8116610a4f576040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f60048201526024015b60405180910390fd5b610a5881610aad565b50565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610485576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610a46565b5f805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60405173ffffffffffffffffffffffffffffffffffffffff8481166024830152838116604483015260648201839052610baa9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610cc5565b50505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b300000000000000000000000000000000000000000000000000000000179052610c3c8482610d64565b610baa5760405173ffffffffffffffffffffffffffffffffffffffff84811660248301525f6044830152610c7d91869182169063095ea7b390606401610b63565b610baa8482610cc5565b60405173ffffffffffffffffffffffffffffffffffffffff83811660248301526044820183905261035891859182169063a9059cbb90606401610b63565b5f8060205f8451602086015f885af180610ce4576040513d5f823e3d81fd5b50505f513d91508115610cfb578060011415610d15565b73ffffffffffffffffffffffffffffffffffffffff84163b155b15610baa576040517f5274afe700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610a46565b5f805f8060205f8651602088015f8a5af192503d91505f519050828015610db057508115610d955780600114610db0565b5f8673ffffffffffffffffffffffffffffffffffffffff163b115b9695505050505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ddd575f80fd5b919050565b5f8060408385031215610df3575f80fd5b82359150610e0360208401610dba565b90509250929050565b5f60208284031215610e1c575f80fd5b610e2582610dba565b9392505050565b5f60208284031215610e3c575f80fd5b5035919050565b5f8060408385031215610e54575f80fd5b610e5d83610dba565b9150610e0360208401610dba565b5f60208284031215610e7b575f80fd5b505191905056fea26469706673582212205e5870594c285d3d2223a12df8b6c2180d9176b64f37598685ab6316d63bb0af64736f6c63430008190033000000000000000000000000cecce0eb9dd2ef7996e01e25dd70e461f918a14b0000000000000000000000007c97cd7b57b736c6ad74fae97c0e21e856251dcf000000000000000000000000555555555555555555555555555555555555555500000000000000000000000040ba056b004edd0b572509a1276fd8530cf2bb7f000000000000000000000000e26da5cbf101bda4028e2b3208c32424f5d094210000000000000000000000000000000000000000000000000000000000000002", + "nonce": "0xce", + "chainId": "0x3e7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x10690e", + "logs": [ + { + "address": "0x36bafeb0f12a13ca579ed4080d95ac74f59e98e0", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000040ba056b004edd0b572509a1276fd8530cf2bb7f" + ], + "data": "0x", + "blockHash": "0x22bb21d6841008361c2cd45c0ebb935bce19bccc34ed97b4bc9178a26274809a", + "blockNumber": "0x1da7d5", + "blockTimestamp": "0x67ed6914", + "transactionHash": "0x3b763913e2c659fe57619df47ccff8de0ac228e81dd1f01fb4b35ed78471102b", + "transactionIndex": "0x4", + "logIndex": "0x4", + "removed": false + } + ], + "logsBloom": "0x00000004000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000001000000000000000000000000000000000000060000000000000000000800000000000000000000000000000000400000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000400000000000000000000000000000000000000000000000800", + "type": "0x2", + "transactionHash": "0x3b763913e2c659fe57619df47ccff8de0ac228e81dd1f01fb4b35ed78471102b", + "transactionIndex": "0x4", + "blockHash": "0x22bb21d6841008361c2cd45c0ebb935bce19bccc34ed97b4bc9178a26274809a", + "blockNumber": "0x1da7d5", + "gasUsed": "0xdf068", + "effectiveGasPrice": "0x6efc6bf", + "from": "0x388e360edaac94372df1a2663ffe52671bbd8b58", + "to": null, + "contractAddress": "0x36bafeb0f12a13ca579ed4080d95ac74f59e98e0" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1743612181, + "chain": 999, + "commit": "1473466" +} \ No newline at end of file diff --git a/broadcast/STEXDeploy.s.sol/999/run-latest.json b/broadcast/STEXDeploy.s.sol/999/run-latest.json index 93b00e4..a129361 100644 --- a/broadcast/STEXDeploy.s.sol/999/run-latest.json +++ b/broadcast/STEXDeploy.s.sol/999/run-latest.json @@ -1,21 +1,18 @@ { "transactions": [ { - "hash": "0x76e6692d856e4f2b535ff5d7fcb8fec9cd9c64f34e17726c6b9fb67951d5ce26", - "transactionType": "CALL", + "hash": "0x3b763913e2c659fe57619df47ccff8de0ac228e81dd1f01fb4b35ed78471102b", + "transactionType": "CREATE", "contractName": null, - "contractAddress": "0x39694eff3b02248929120c73f90347013aec834d", - "function": "transferOwnership(address)", - "arguments": [ - "0xe26dA5cBf101bDA4028E2B3208c32424f5D09421" - ], + "contractAddress": "0x36bafeb0f12a13ca579ed4080d95ac74f59e98e0", + "function": null, + "arguments": null, "transaction": { "from": "0x388e360edaac94372df1a2663ffe52671bbd8b58", - "to": "0x39694eff3b02248929120c73f90347013aec834d", - "gas": "0x9a56", + "gas": "0x121eed", "value": "0x0", - "input": "0xf2fde38b000000000000000000000000e26da5cbf101bda4028e2b3208c32424f5d09421", - "nonce": "0xc2", + "input": "0x610100604052348015610010575f80fd5b506040516110bf3803806110bf83398101604081905261002f9161010e565b826001600160a01b03811661005d57604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b610066816100a4565b506001600160a01b0395861660805293851660a05291841660c05250600180546001600160a01b031916919093161790915561ffff1660e052610188565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b0381168114610109575f80fd5b919050565b5f805f805f8060c08789031215610123575f80fd5b61012c876100f3565b955061013a602088016100f3565b9450610148604088016100f3565b9350610156606088016100f3565b9250610164608088016100f3565b915060a087015161ffff8116811461017a575f80fd5b809150509295509295509295565b60805160a05160c05160e051610eb86102075f395f818161022a01526105a401525f8181610148015281816102b7015281816104a9015281816104eb0152818161056f015261071501525f81816101aa0152818161079a015261097001525f818160f7015281816102ee0152818161050d01526105ce0152610eb85ff3fe608060405234801561000f575f80fd5b50600436106100d9575f3560e01c806376d5de8511610088578063b8dc491b11610063578063b8dc491b146101fc578063c66f24551461020f578063d8b6d25214610225578063f2fde38b1461025f575f80fd5b806376d5de85146101a55780638da5cb5b146101cc578063b6b55f25146101e9575f80fd5b80634771eeaf116100b85780634771eeaf1461016a5780635ea125571461017d578063715018a61461019d575f80fd5b8062f714ce146100dd57806316f0115b146100f257806338d52e0f14610143575b5f80fd5b6100f06100eb366004610de2565b610272565b005b6101197f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6101197f000000000000000000000000000000000000000000000000000000000000000081565b6100f0610178366004610e0c565b61035d565b6001546101199073ffffffffffffffffffffffffffffffffffffffff1681565b6100f0610474565b6101197f000000000000000000000000000000000000000000000000000000000000000081565b5f5473ffffffffffffffffffffffffffffffffffffffff16610119565b6100f06101f7366004610e2c565b610487565b6100f061020a366004610e43565b610628565b610217610940565b60405190815260200161013a565b61024c7f000000000000000000000000000000000000000000000000000000000000000081565b60405161ffff909116815260200161013a565b6100f061026d366004610e0c565b6109f3565b61027a610a5b565b6040517f69328dec00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820184905282811660448301527f000000000000000000000000000000000000000000000000000000000000000016906369328dec906064016020604051808303815f875af1158015610334573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103589190610e6b565b505050565b60015473ffffffffffffffffffffffffffffffffffffffff1633146103ae576040517f479ccbfc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81166103fb576040517f495350ef00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527fe270c0f13fe1cbdfd2d272034026790a686d70c42e3ecfddc188ffc18e74d08c9060200160405180910390a150565b61047c610a5b565b6104855f610aad565b565b61048f610a5b565b6104d173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016333084610b21565b61053273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000167f000000000000000000000000000000000000000000000000000000000000000083610bb0565b6040517f617ba03700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390523060448301527f000000000000000000000000000000000000000000000000000000000000000061ffff1660648301527f0000000000000000000000000000000000000000000000000000000000000000169063617ba037906084015f604051808303815f87803b15801561060f575f80fd5b505af1158015610621573d5f803e3d5ffd5b5050505050565b60015473ffffffffffffffffffffffffffffffffffffffff163314610679576040517f479ccbfc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166106c6576040517f495350ef00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116610713576040517f495350ef00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610798576040517fbb42845a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361081d576040517f4401eb1600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201525f9073ffffffffffffffffffffffffffffffffffffffff8416906370a0823190602401602060405180830381865afa158015610887573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ab9190610e6b565b90508015610358576108d473ffffffffffffffffffffffffffffffffffffffff84168383610c87565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab78360405161093391815260200190565b60405180910390a3505050565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201525f907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa1580156109ca573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ee9190610e6b565b905090565b6109fb610a5b565b73ffffffffffffffffffffffffffffffffffffffff8116610a4f576040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f60048201526024015b60405180910390fd5b610a5881610aad565b50565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610485576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610a46565b5f805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60405173ffffffffffffffffffffffffffffffffffffffff8481166024830152838116604483015260648201839052610baa9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610cc5565b50505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b300000000000000000000000000000000000000000000000000000000179052610c3c8482610d64565b610baa5760405173ffffffffffffffffffffffffffffffffffffffff84811660248301525f6044830152610c7d91869182169063095ea7b390606401610b63565b610baa8482610cc5565b60405173ffffffffffffffffffffffffffffffffffffffff83811660248301526044820183905261035891859182169063a9059cbb90606401610b63565b5f8060205f8451602086015f885af180610ce4576040513d5f823e3d81fd5b50505f513d91508115610cfb578060011415610d15565b73ffffffffffffffffffffffffffffffffffffffff84163b155b15610baa576040517f5274afe700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610a46565b5f805f8060205f8651602088015f8a5af192503d91505f519050828015610db057508115610d955780600114610db0565b5f8673ffffffffffffffffffffffffffffffffffffffff163b115b9695505050505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ddd575f80fd5b919050565b5f8060408385031215610df3575f80fd5b82359150610e0360208401610dba565b90509250929050565b5f60208284031215610e1c575f80fd5b610e2582610dba565b9392505050565b5f60208284031215610e3c575f80fd5b5035919050565b5f8060408385031215610e54575f80fd5b610e5d83610dba565b9150610e0360208401610dba565b5f60208284031215610e7b575f80fd5b505191905056fea26469706673582212205e5870594c285d3d2223a12df8b6c2180d9176b64f37598685ab6316d63bb0af64736f6c63430008190033000000000000000000000000cecce0eb9dd2ef7996e01e25dd70e461f918a14b0000000000000000000000007c97cd7b57b736c6ad74fae97c0e21e856251dcf000000000000000000000000555555555555555555555555555555555555555500000000000000000000000040ba056b004edd0b572509a1276fd8530cf2bb7f000000000000000000000000e26da5cbf101bda4028e2b3208c32424f5d094210000000000000000000000000000000000000000000000000000000000000002", + "nonce": "0xce", "chainId": "0x3e7" }, "additionalContracts": [], @@ -25,42 +22,42 @@ "receipts": [ { "status": "0x1", - "cumulativeGasUsed": "0x5691b", + "cumulativeGasUsed": "0x10690e", "logs": [ { - "address": "0x39694eff3b02248929120c73f90347013aec834d", + "address": "0x36bafeb0f12a13ca579ed4080d95ac74f59e98e0", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "0x000000000000000000000000388e360edaac94372df1a2663ffe52671bbd8b58", - "0x000000000000000000000000e26da5cbf101bda4028e2b3208c32424f5d09421" + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000040ba056b004edd0b572509a1276fd8530cf2bb7f" ], "data": "0x", - "blockHash": "0xec68df9da435e96ebab5941fe34fc8acd7d7db454d0ab7ad5d744ec7a2a12ce2", - "blockNumber": "0x1d9321", - "blockTimestamp": "0x67ed4100", - "transactionHash": "0x76e6692d856e4f2b535ff5d7fcb8fec9cd9c64f34e17726c6b9fb67951d5ce26", - "transactionIndex": "0x2", - "logIndex": "0x7", + "blockHash": "0x22bb21d6841008361c2cd45c0ebb935bce19bccc34ed97b4bc9178a26274809a", + "blockNumber": "0x1da7d5", + "blockTimestamp": "0x67ed6914", + "transactionHash": "0x3b763913e2c659fe57619df47ccff8de0ac228e81dd1f01fb4b35ed78471102b", + "transactionIndex": "0x4", + "logIndex": "0x4", "removed": false } ], - "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000100000000000000000004000000000000000000000000000000000000000000000000000000001000000000000000000000000000200000000000000000000000000100000000000000000001000000000000000400000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000", + "logsBloom": "0x00000004000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000001000000000000000000000000000000000000060000000000000000000800000000000000000000000000000000400000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000400000000000000000000000000000000000000000000000800", "type": "0x2", - "transactionHash": "0x76e6692d856e4f2b535ff5d7fcb8fec9cd9c64f34e17726c6b9fb67951d5ce26", - "transactionIndex": "0x2", - "blockHash": "0xec68df9da435e96ebab5941fe34fc8acd7d7db454d0ab7ad5d744ec7a2a12ce2", - "blockNumber": "0x1d9321", - "gasUsed": "0x6fbe", - "effectiveGasPrice": "0x5fbae4b", + "transactionHash": "0x3b763913e2c659fe57619df47ccff8de0ac228e81dd1f01fb4b35ed78471102b", + "transactionIndex": "0x4", + "blockHash": "0x22bb21d6841008361c2cd45c0ebb935bce19bccc34ed97b4bc9178a26274809a", + "blockNumber": "0x1da7d5", + "gasUsed": "0xdf068", + "effectiveGasPrice": "0x6efc6bf", "from": "0x388e360edaac94372df1a2663ffe52671bbd8b58", - "to": "0x39694eff3b02248929120c73f90347013aec834d", - "contractAddress": null + "to": null, + "contractAddress": "0x36bafeb0f12a13ca579ed4080d95ac74f59e98e0" } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1743601921, + "timestamp": 1743612181, "chain": 999, - "commit": "0f08994" + "commit": "1473466" } \ No newline at end of file diff --git a/deploy_stex.sh b/deploy_stex.sh index 0d85590..75c54e4 100644 --- a/deploy_stex.sh +++ b/deploy_stex.sh @@ -1 +1 @@ -eval $(grep '^RPC_URL' .env) && forge script scripts/STEXDeploy.s.sol:STEXDeployScript --rpc-url $RPC_URL --broadcast \ No newline at end of file +eval $(grep '^RPC_URL' .env) && forge script scripts/STEXDeploy.s.sol:STEXDeployScript --rpc-url $RPC_URL \ No newline at end of file diff --git a/propose_lending_module.sh b/propose_lending_module.sh new file mode 100644 index 0000000..344d7b6 --- /dev/null +++ b/propose_lending_module.sh @@ -0,0 +1 @@ +eval $(grep '^RPC_URL' .env) && forge script scripts/LendingModuleProposal.s.sol:LendingModuleProposalScript --rpc-url $RPC_URL \ No newline at end of file diff --git a/scripts/LendingModuleProposal.s.sol b/scripts/LendingModuleProposal.s.sol new file mode 100644 index 0000000..b9e5b2b --- /dev/null +++ b/scripts/LendingModuleProposal.s.sol @@ -0,0 +1,110 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.25; + +import "forge-std/Script.sol"; +import {Test} from "forge-std/Test.sol"; + +import {AaveLendingModule} from "src/AaveLendingModule.sol"; +import {STEXAMM} from "src/STEXAMM.sol"; +import {stHYPEWithdrawalModule} from "src/stHYPEWithdrawalModule.sol"; +import {WithdrawalModuleKeeper} from "src/owner/WithdrawalModuleKeeper.sol"; +import {WithdrawalModuleManager} from "src/owner/WithdrawalModuleManager.sol"; + +contract LendingModuleProposalScript is Script, Test { + function run() external { + if (block.chainid != 999) revert("Chain ID not Hyper EVM mainnet"); + + console.log("Deployer address: ", deployerAddress); + + // Address of owner multi-sig wallet + address ownerMultisig = 0xe26dA5cBf101bDA4028E2B3208c32424f5D09421; + + // stHYPE + address token0 = 0xfFaa4a3D97fE9107Cef8a3F48c069F577Ff76cC1; + // WHYPE + address token1 = 0x5555555555555555555555555555555555555555; + + // Valantis Protocol Factory + address protocolFactory = 0x7E028ac56cB2AF75292F3D967978189698C24732; + + stHYPEWithdrawalModule withdrawalModule = stHYPEWithdrawalModule( + payable(0x40Ba056B004Edd0b572509A1276Fd8530cf2bb7f) + ); + + STEXAMM stex = STEXAMM( + payable(0x39694eFF3b02248929120c73F90347013Aec834d) + ); + assertEq(stex.owner(), ownerMultisig); + + address pool = stex.pool(); + console.log("STEX sovereign pool: ", pool); + + console.log("STEX AMM: ", address(stex)); + + WithdrawalModuleKeeper keeper = WithdrawalModuleKeeper( + 0x0Aef1eAAd539C16292faEB16D3F4AB5842F0aa6c + ); + assertEq(keeper.owner(), ownerMultisig); + + WithdrawalModuleManager manager = WithdrawalModuleManager( + 0x80c7f89398160fCD9E74519f63F437459E5d02E2 + ); + assertEq(manager.owner(), ownerMultisig); + assertEq(manager.keeper(), address(keeper)); + + AaveLendingModule lendingModule = AaveLendingModule( + 0x36baFeB0f12A13Ca579ED4080D95AC74f59e98e0 + ); + + // Simulate proposal + assertEq(lendingModule.assetBalance(), 0); + + /*vm.startPrank(address(manager)); + withdrawalModule.proposeLendingModule(address(lendingModule), 3 days); + ( + address lendingModuleProposed, + uint256 startTimestamp + ) = withdrawalModule.lendingModuleProposal(); + assertEq(lendingModuleProposed, address(lendingModule)); + assertEq(startTimestamp, block.timestamp + 3 days); + + vm.warp(block.timestamp + 3 days); + + withdrawalModule.setProposedLendingModule(); + assertEq( + address(withdrawalModule.lendingModule()), + address(lendingModule) + ); + + withdrawalModule.supplyToken1ToLendingPool(10 ether); + assertEq(lendingModule.assetBalance(), 10 ether); + vm.stopPrank();*/ + + // Generate payload for proposal + /*vm.startPrank(ownerMultisig); + + bytes memory payload = abi.encodeWithSelector( + stHYPEWithdrawalModule.proposeLendingModule.selector, + address(lendingModule), + 3 days + ); + bytes memory managerPayload = abi.encodeWithSelector( + WithdrawalModuleManager.call.selector, + address(withdrawalModule), + payload + ); + console.log("payload to withdrawalModule manager: "); + console.logBytes(managerPayload); + + (bool success, ) = address(manager).call(managerPayload); + assertTrue(success); + ( + address lendingModuleProposed, + uint256 startTimestamp + ) = withdrawalModule.lendingModuleProposal(); + assertEq(lendingModuleProposed, address(lendingModule)); + assertEq(startTimestamp, block.timestamp + 3 days); + + vm.stopPrank();*/ + } +} diff --git a/scripts/STEXDeploy.s.sol b/scripts/STEXDeploy.s.sol index 7ce8e9f..98b2490 100644 --- a/scripts/STEXDeploy.s.sol +++ b/scripts/STEXDeploy.s.sol @@ -73,7 +73,7 @@ contract STEXDeployScript is Script, Test { // feeMaxBips // ); }*/ - { + /*{ ( uint32 minThresholdRatioBips, uint32 maxThresholdRatioBips, @@ -84,7 +84,7 @@ contract STEXDeployScript is Script, Test { assertEq(maxThresholdRatioBips, 7_000); assertEq(feeMinBips, 5); assertEq(feeMaxBips, 40); - } + }*/ // Uncomment for deployment of Withdrawal Module /*stHYPEWithdrawalModule withdrawalModule = new stHYPEWithdrawalModule( @@ -115,20 +115,20 @@ contract STEXDeployScript is Script, Test { STEXAMM stex = STEXAMM( payable(0x39694eFF3b02248929120c73F90347013Aec834d) ); - stex.transferOwnership(ownerMultisig); + //stex.transferOwnership(ownerMultisig); assertEq(stex.owner(), ownerMultisig); - address pool = stex.pool(); - console.log("STEX sovereign pool: ", pool); + //address pool = stex.pool(); + //console.log("STEX sovereign pool: ", pool); // Uncomment to set STEX's pool manager fees in bips // 20% - uint256 managerFeeBips = 2_000; + //uint256 managerFeeBips = 2_000; - bytes memory data = abi.encodeWithSelector( + /*bytes memory data = abi.encodeWithSelector( STEXAMM.setPoolManagerFeeBips.selector, managerFeeBips - ); + );*/ //console.log("payload for stex.setPoolManagerFeeBips: "); //console.logBytes(data); @@ -181,29 +181,32 @@ contract STEXDeployScript is Script, Test { ); //manager.transferOwnership(ownerMultisig); assertEq(manager.owner(), ownerMultisig); + assertEq(manager.keeper(), address(keeper)); //withdrawalModule.transferOwnership(address(manager)); assertEq(withdrawalModule.owner(), address(manager)); // Uncomment for deployment of Aave Lending Module - /*address WHYPE = stex.token1(); - address aWHYPE = 0x7C97cd7B57b736c6AD74fAE97C0e21e856251dcf; - address aaveV3Pool = 0xceCcE0EB9DD2Ef7996e01e25DD70e461F918A14b; - address owner = address(withdrawalModule); - address tokenSweepManager = ownerMultisig; - uint16 referralCode = 2; - AaveLendingModule lendingModule = new AaveLendingModule( - aaveV3Pool, - aWHYPE, - WHYPE, - owner, - tokenSweepManager, - referralCode - ); - assertEq(address(lendingModule.pool()), aaveV3Pool); - assertEq(lendingModule.yieldToken(), aWHYPE); - assertEq(lendingModule.owner(), address(withdrawalModule)); - assertEq(lendingModule.tokenSweepManager(), ownerMultisig); - assertEq(lendingModule.referralCode(), 2);*/ + /*{ + AaveLendingModule lendingModule = new AaveLendingModule( + 0xceCcE0EB9DD2Ef7996e01e25DD70e461F918A14b, // AAVE V3 pool + 0x7C97cd7B57b736c6AD74fAE97C0e21e856251dcf, // aWHYPE + stex.token1(), // WHYPE + address(withdrawalModule), // owner + ownerMultisig, // tokenSweepManager + 2 + ); + assertEq( + address(lendingModule.pool()), + 0xceCcE0EB9DD2Ef7996e01e25DD70e461F918A14b + ); + assertEq( + lendingModule.yieldToken(), + 0x7C97cd7B57b736c6AD74fAE97C0e21e856251dcf + ); + assertEq(lendingModule.owner(), address(withdrawalModule)); + assertEq(lendingModule.tokenSweepManager(), ownerMultisig); + assertEq(lendingModule.referralCode(), 2); + }*/ vm.stopBroadcast(); } diff --git a/stex_lp.sh b/stex_lp.sh index a8be6d6..b4fba99 100644 --- a/stex_lp.sh +++ b/stex_lp.sh @@ -1 +1 @@ -eval $(grep '^RPC_URL' .env) && forge script scripts/STEXLP.s.sol:STEXLPScript --rpc-url $RPC_URL --broadcast \ No newline at end of file +eval $(grep '^RPC_URL' .env) && forge script scripts/STEXLP.s.sol:STEXLPScript --rpc-url $RPC_URL \ No newline at end of file