logos-messaging-rlnv2-contract/script/DeployTokenWithProxy.s.sol
Tanya S b4508dd0d4
Use proxy for token contract (#30)
* Add proxy contract for TST

* Fix token proxy update function to use provided new TST address

* Transfer token proxy contract ownership to deployer

* Add Token Proxy Contract Owner as init input

* Add UUPSUPgradeable to TST

* Formatting

* fix import format

* Add README to explain TST usage

* Linting fix

* Check TST test transfer return val

* Add descriptions in README for TST usage

* Fix linting

* Use TST token deployer in test conrtact, update test README

* USe assertTrue in TST test
2025-08-26 17:34:32 +02:00

24 lines
799 B
Solidity

// SPDX-License-Identifier: MIT
pragma solidity >=0.8.19 <0.9.0;
import { BaseScript } from "./Base.s.sol";
import { TestStableToken } from "../test/TestStableToken.sol";
import { ERC1967Proxy } from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol";
contract DeployTokenWithProxy is BaseScript {
function run() public broadcast returns (address) {
return address(deploy());
}
function deploy() public returns (ERC1967Proxy) {
// Deploy the initial implementation
address implementation = address(new TestStableToken());
// Encode the initialize call
bytes memory data = abi.encodeCall(TestStableToken.initialize, ());
// Deploy the proxy with initialization data
return new ERC1967Proxy(implementation, data);
}
}