From d403859c0b29d03bf837abf2ae9e8568c1b17176 Mon Sep 17 00:00:00 2001 From: koo-virtuals Date: Mon, 11 May 2026 10:24:48 +0800 Subject: [PATCH 1/3] support arc testnet --- .openzeppelin/unknown-5042002.json | 2508 +++++++++++++++++ hardhat.config.js | 35 + .../deployUniswapV2TestnetLiquidity.ts | 2 +- scripts/launchpadv5/run_local_deploy.sh | 13 +- 4 files changed, 2555 insertions(+), 3 deletions(-) create mode 100644 .openzeppelin/unknown-5042002.json diff --git a/.openzeppelin/unknown-5042002.json b/.openzeppelin/unknown-5042002.json new file mode 100644 index 0000000..cba0ffc --- /dev/null +++ b/.openzeppelin/unknown-5042002.json @@ -0,0 +1,2508 @@ +{ + "manifestVersion": "3.2", + "proxies": [ + { + "address": "0xC08ffCfCD03F069915d10671D325F35d86798323", + "txHash": "0x80f606056f4e129a6d64e52e51b7c2b0c130fe0e76b094c61ba91ed802a0e7ac", + "kind": "transparent" + }, + { + "address": "0xF15514c682B7650b503fba47d842A90f113B59A0", + "txHash": "0x59ba1390f1b656ffcbcb8bb4412adb2aae881d3ee8d43e2450ea14817abe1a4a", + "kind": "transparent" + }, + { + "address": "0x2a125a7cDFd73e0941Aad3DC96F008d32698D6A6", + "txHash": "0xe2f7218973ea2bb4ffd9943150d3d0333ac1db6477ad32a0dbeba5139f337d32", + "kind": "transparent" + }, + { + "address": "0x28f03acC51a8F7e14e0dcd6fcf8d5B2e1AFff78f", + "txHash": "0xaaed1e0a05b433b3aad55a63928587caaaac8c2a973474f36e1ac07c3144769a", + "kind": "transparent" + }, + { + "address": "0xFB87ec5b49345c48443C24b27FC767e66ed8977a", + "txHash": "0x96e17c3017345d30a054999f4e0c2a93e13dab3cdffbecaacb3a79ea1f369ccc", + "kind": "transparent" + }, + { + "address": "0x7B9e4E0aD521118A1591Cc21f49FdD52aAe3a167", + "txHash": "0x1bc140e0713bc61653b4c4f200028916fb6257b3fb9067c59efd3d3d6e62ce5d", + "kind": "transparent" + }, + { + "address": "0xfE8BB7D9f4D60e271784B932C0e9E7d6Af44c665", + "txHash": "0x7789f780f289e12f15cc78767620a0f16013e104dec801323acd8a903c54f33b", + "kind": "transparent" + }, + { + "address": "0x996168CefD7160cB6Dcaa539d9e009302B6052B8", + "txHash": "0xe76c4b0de63adb1663ea5c95c3434618cfc08070fba2a010c78f7a2121128bf9", + "kind": "transparent" + } + ], + "impls": { + "4404c04f459a91d19124ebe6b6ddae906577fc2e37f77bf4f411cd18a8a65cd8": { + "address": "0x9e94Add598bcaDDb3f0F05523bd1ec9672246086", + "txHash": "0x25c6d8d11fbf28e10deebecb7d538a415a739a6dcf3b22459eb91be85c8fbdc7", + "layout": { + "solcVersion": "0.8.26", + "storage": [ + { + "label": "coreTypes", + "offset": 0, + "slot": "0", + "type": "t_mapping(t_uint8,t_string_storage)", + "contract": "CoreRegistry", + "src": "contracts/virtualPersona/CoreRegistry.sol:7" + }, + { + "label": "_nextCoreType", + "offset": 0, + "slot": "1", + "type": "t_uint8", + "contract": "CoreRegistry", + "src": "contracts/virtualPersona/CoreRegistry.sol:8" + }, + { + "label": "_validatorsMap", + "offset": 0, + "slot": "2", + "type": "t_mapping(t_uint256,t_mapping(t_address,t_bool))", + "contract": "ValidatorRegistry", + "src": "contracts/virtualPersona/ValidatorRegistry.sol:8" + }, + { + "label": "_baseValidatorScore", + "offset": 0, + "slot": "3", + "type": "t_mapping(t_address,t_mapping(t_uint256,t_uint256))", + "contract": "ValidatorRegistry", + "src": "contracts/virtualPersona/ValidatorRegistry.sol:10" + }, + { + "label": "_validators", + "offset": 0, + "slot": "4", + "type": "t_mapping(t_uint256,t_array(t_address)dyn_storage)", + "contract": "ValidatorRegistry", + "src": "contracts/virtualPersona/ValidatorRegistry.sol:12" + }, + { + "label": "_getScoreOf", + "offset": 0, + "slot": "5", + "type": "t_function_internal_view(t_uint256,t_address)returns(t_uint256)", + "contract": "ValidatorRegistry", + "src": "contracts/virtualPersona/ValidatorRegistry.sol:14" + }, + { + "label": "_getMaxScore", + "offset": 8, + "slot": "5", + "type": "t_function_internal_view(t_uint256)returns(t_uint256)", + "contract": "ValidatorRegistry", + "src": "contracts/virtualPersona/ValidatorRegistry.sol:15" + }, + { + "label": "_getPastScore", + "offset": 16, + "slot": "5", + "type": "t_function_internal_view(t_uint256,t_address,t_uint256)returns(t_uint256)", + "contract": "ValidatorRegistry", + "src": "contracts/virtualPersona/ValidatorRegistry.sol:16" + }, + { + "label": "_nextVirtualId", + "offset": 0, + "slot": "6", + "type": "t_uint256", + "contract": "AgentNftV2", + "src": "contracts/virtualPersona/AgentNftV2.sol:27" + }, + { + "label": "_stakingTokenToVirtualId", + "offset": 0, + "slot": "7", + "type": "t_mapping(t_address,t_uint256)", + "contract": "AgentNftV2", + "src": "contracts/virtualPersona/AgentNftV2.sol:28" + }, + { + "label": "virtualInfos", + "offset": 0, + "slot": "8", + "type": "t_mapping(t_uint256,t_struct(VirtualInfo)89113_storage)", + "contract": "AgentNftV2", + "src": "contracts/virtualPersona/AgentNftV2.sol:47" + }, + { + "label": "_contributionNft", + "offset": 0, + "slot": "9", + "type": "t_address", + "contract": "AgentNftV2", + "src": "contracts/virtualPersona/AgentNftV2.sol:49" + }, + { + "label": "_serviceNft", + "offset": 0, + "slot": "10", + "type": "t_address", + "contract": "AgentNftV2", + "src": "contracts/virtualPersona/AgentNftV2.sol:50" + }, + { + "label": "_blacklists", + "offset": 0, + "slot": "11", + "type": "t_mapping(t_uint256,t_bool)", + "contract": "AgentNftV2", + "src": "contracts/virtualPersona/AgentNftV2.sol:54" + }, + { + "label": "virtualLPs", + "offset": 0, + "slot": "12", + "type": "t_mapping(t_uint256,t_struct(VirtualLP)89125_storage)", + "contract": "AgentNftV2", + "src": "contracts/virtualPersona/AgentNftV2.sol:55" + }, + { + "label": "_eloCalculator", + "offset": 0, + "slot": "13", + "type": "t_address", + "contract": "AgentNftV2", + "src": "contracts/virtualPersona/AgentNftV2.sol:56" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_address,t_bool))": { + "label": "mapping(address => mapping(address => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)460_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_address)": { + "label": "mapping(uint256 => address)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_string_storage)": { + "label": "mapping(uint256 => string)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(AccessControlStorage)470_storage": { + "label": "struct AccessControlUpgradeable.AccessControlStorage", + "members": [ + { + "label": "_roles", + "type": "t_mapping(t_bytes32,t_struct(RoleData)460_storage)", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(ERC721Storage)2305_storage": { + "label": "struct ERC721Upgradeable.ERC721Storage", + "members": [ + { + "label": "_name", + "type": "t_string_storage", + "offset": 0, + "slot": "0" + }, + { + "label": "_symbol", + "type": "t_string_storage", + "offset": 0, + "slot": "1" + }, + { + "label": "_owners", + "type": "t_mapping(t_uint256,t_address)", + "offset": 0, + "slot": "2" + }, + { + "label": "_balances", + "type": "t_mapping(t_address,t_uint256)", + "offset": 0, + "slot": "3" + }, + { + "label": "_tokenApprovals", + "type": "t_mapping(t_uint256,t_address)", + "offset": 0, + "slot": "4" + }, + { + "label": "_operatorApprovals", + "type": "t_mapping(t_address,t_mapping(t_address,t_bool))", + "offset": 0, + "slot": "5" + } + ], + "numberOfBytes": "192" + }, + "t_struct(ERC721URIStorageStorage)2763_storage": { + "label": "struct ERC721URIStorageUpgradeable.ERC721URIStorageStorage", + "members": [ + { + "label": "_tokenURIs", + "type": "t_mapping(t_uint256,t_string_storage)", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(InitializableStorage)1948_storage": { + "label": "struct Initializable.InitializableStorage", + "members": [ + { + "label": "_initialized", + "type": "t_uint64", + "offset": 0, + "slot": "0" + }, + { + "label": "_initializing", + "type": "t_bool", + "offset": 8, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(RoleData)460_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "hasRole", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint64": { + "label": "uint64", + "numberOfBytes": "8" + }, + "t_array(t_address)dyn_storage": { + "label": "address[]", + "numberOfBytes": "32" + }, + "t_array(t_uint8)dyn_storage": { + "label": "uint8[]", + "numberOfBytes": "32" + }, + "t_function_internal_view(t_uint256)returns(t_uint256)": { + "label": "function (uint256) view returns (uint256)", + "numberOfBytes": "8" + }, + "t_function_internal_view(t_uint256,t_address)returns(t_uint256)": { + "label": "function (uint256,address) view returns (uint256)", + "numberOfBytes": "8" + }, + "t_function_internal_view(t_uint256,t_address,t_uint256)returns(t_uint256)": { + "label": "function (uint256,address,uint256) view returns (uint256)", + "numberOfBytes": "8" + }, + "t_mapping(t_address,t_mapping(t_uint256,t_uint256))": { + "label": "mapping(address => mapping(uint256 => uint256))", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_array(t_address)dyn_storage)": { + "label": "mapping(uint256 => address[])", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_bool)": { + "label": "mapping(uint256 => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_mapping(t_address,t_bool))": { + "label": "mapping(uint256 => mapping(address => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(VirtualInfo)89113_storage)": { + "label": "mapping(uint256 => struct IAgentNft.VirtualInfo)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(VirtualLP)89125_storage)": { + "label": "mapping(uint256 => struct IAgentNft.VirtualLP)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_uint256)": { + "label": "mapping(uint256 => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint8,t_string_storage)": { + "label": "mapping(uint8 => string)", + "numberOfBytes": "32" + }, + "t_struct(VirtualInfo)89113_storage": { + "label": "struct IAgentNft.VirtualInfo", + "members": [ + { + "label": "dao", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "token", + "type": "t_address", + "offset": 0, + "slot": "1" + }, + { + "label": "founder", + "type": "t_address", + "offset": 0, + "slot": "2" + }, + { + "label": "tba", + "type": "t_address", + "offset": 0, + "slot": "3" + }, + { + "label": "coreTypes", + "type": "t_array(t_uint8)dyn_storage", + "offset": 0, + "slot": "4" + } + ], + "numberOfBytes": "160" + }, + "t_struct(VirtualLP)89125_storage": { + "label": "struct IAgentNft.VirtualLP", + "members": [ + { + "label": "pool", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "veToken", + "type": "t_address", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": { + "erc7201:openzeppelin.storage.AccessControl": [ + { + "contract": "AccessControlUpgradeable", + "label": "_roles", + "type": "t_mapping(t_bytes32,t_struct(RoleData)460_storage)", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61", + "offset": 0, + "slot": "0" + } + ], + "erc7201:openzeppelin.storage.ERC721URIStorage": [ + { + "contract": "ERC721URIStorageUpgradeable", + "label": "_tokenURIs", + "type": "t_mapping(t_uint256,t_string_storage)", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol:25", + "offset": 0, + "slot": "0" + } + ], + "erc7201:openzeppelin.storage.ERC721": [ + { + "contract": "ERC721Upgradeable", + "label": "_name", + "type": "t_string_storage", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:27", + "offset": 0, + "slot": "0" + }, + { + "contract": "ERC721Upgradeable", + "label": "_symbol", + "type": "t_string_storage", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:30", + "offset": 0, + "slot": "1" + }, + { + "contract": "ERC721Upgradeable", + "label": "_owners", + "type": "t_mapping(t_uint256,t_address)", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:32", + "offset": 0, + "slot": "2" + }, + { + "contract": "ERC721Upgradeable", + "label": "_balances", + "type": "t_mapping(t_address,t_uint256)", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:34", + "offset": 0, + "slot": "3" + }, + { + "contract": "ERC721Upgradeable", + "label": "_tokenApprovals", + "type": "t_mapping(t_uint256,t_address)", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:36", + "offset": 0, + "slot": "4" + }, + { + "contract": "ERC721Upgradeable", + "label": "_operatorApprovals", + "type": "t_mapping(t_address,t_mapping(t_address,t_bool))", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:38", + "offset": 0, + "slot": "5" + } + ], + "erc7201:openzeppelin.storage.Initializable": [ + { + "contract": "Initializable", + "label": "_initialized", + "type": "t_uint64", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:69", + "offset": 0, + "slot": "0" + }, + { + "contract": "Initializable", + "label": "_initializing", + "type": "t_bool", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:73", + "offset": 8, + "slot": "0" + } + ] + } + } + }, + "85cf056397642d80d12d07c8b4e9ca19ce23d51c07aba728bf27f871e1bc6d1a": { + "address": "0x457ECb053A8378bdc35A7c36F80B99A49E0e7262", + "txHash": "0x3b8ee8e7a2c8c754ea6b7103e05eb9c2a47912a2d79c214f967a017c73563876", + "layout": { + "solcVersion": "0.8.26", + "storage": [ + { + "label": "assetToken", + "offset": 0, + "slot": "0", + "type": "t_address", + "contract": "AgentTaxV2", + "src": "contracts/tax/AgentTaxV2.sol:48" + }, + { + "label": "taxToken", + "offset": 0, + "slot": "1", + "type": "t_address", + "contract": "AgentTaxV2", + "src": "contracts/tax/AgentTaxV2.sol:49" + }, + { + "label": "router", + "offset": 0, + "slot": "2", + "type": "t_contract(IRouter)58068", + "contract": "AgentTaxV2", + "src": "contracts/tax/AgentTaxV2.sol:50" + }, + { + "label": "treasury", + "offset": 0, + "slot": "3", + "type": "t_address", + "contract": "AgentTaxV2", + "src": "contracts/tax/AgentTaxV2.sol:51" + }, + { + "label": "feeRate", + "offset": 20, + "slot": "3", + "type": "t_uint16", + "contract": "AgentTaxV2", + "src": "contracts/tax/AgentTaxV2.sol:52" + }, + { + "label": "minSwapThreshold", + "offset": 0, + "slot": "4", + "type": "t_uint256", + "contract": "AgentTaxV2", + "src": "contracts/tax/AgentTaxV2.sol:53" + }, + { + "label": "maxSwapThreshold", + "offset": 0, + "slot": "5", + "type": "t_uint256", + "contract": "AgentTaxV2", + "src": "contracts/tax/AgentTaxV2.sol:54" + }, + { + "label": "tokenRecipients", + "offset": 0, + "slot": "6", + "type": "t_mapping(t_address,t_struct(TaxRecipient)61309_storage)", + "contract": "AgentTaxV2", + "src": "contracts/tax/AgentTaxV2.sol:56" + }, + { + "label": "tokenTaxAmounts", + "offset": 0, + "slot": "7", + "type": "t_mapping(t_address,t_struct(TaxAmounts)61314_storage)", + "contract": "AgentTaxV2", + "src": "contracts/tax/AgentTaxV2.sol:57" + }, + { + "label": "bondingV5", + "offset": 0, + "slot": "8", + "type": "t_contract(IBondingV5ForTaxV2)61295", + "contract": "AgentTaxV2", + "src": "contracts/tax/AgentTaxV2.sol:59" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)460_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_struct(AccessControlStorage)470_storage": { + "label": "struct AccessControlUpgradeable.AccessControlStorage", + "members": [ + { + "label": "_roles", + "type": "t_mapping(t_bytes32,t_struct(RoleData)460_storage)", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(InitializableStorage)1948_storage": { + "label": "struct Initializable.InitializableStorage", + "members": [ + { + "label": "_initialized", + "type": "t_uint64", + "offset": 0, + "slot": "0" + }, + { + "label": "_initializing", + "type": "t_bool", + "offset": 8, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(RoleData)460_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "hasRole", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint64": { + "label": "uint64", + "numberOfBytes": "8" + }, + "t_contract(IBondingV5ForTaxV2)61295": { + "label": "contract IBondingV5ForTaxV2", + "numberOfBytes": "20" + }, + "t_contract(IRouter)58068": { + "label": "contract IRouter", + "numberOfBytes": "20" + }, + "t_mapping(t_address,t_struct(TaxAmounts)61314_storage)": { + "label": "mapping(address => struct AgentTaxV2.TaxAmounts)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_struct(TaxRecipient)61309_storage)": { + "label": "mapping(address => struct AgentTaxV2.TaxRecipient)", + "numberOfBytes": "32" + }, + "t_struct(TaxAmounts)61314_storage": { + "label": "struct AgentTaxV2.TaxAmounts", + "members": [ + { + "label": "amountCollected", + "type": "t_uint256", + "offset": 0, + "slot": "0" + }, + { + "label": "amountSwapped", + "type": "t_uint256", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_struct(TaxRecipient)61309_storage": { + "label": "struct AgentTaxV2.TaxRecipient", + "members": [ + { + "label": "tba", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "creator", + "type": "t_address", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint16": { + "label": "uint16", + "numberOfBytes": "2" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + } + }, + "namespaces": { + "erc7201:openzeppelin.storage.AccessControl": [ + { + "contract": "AccessControlUpgradeable", + "label": "_roles", + "type": "t_mapping(t_bytes32,t_struct(RoleData)460_storage)", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61", + "offset": 0, + "slot": "0" + } + ], + "erc7201:openzeppelin.storage.Initializable": [ + { + "contract": "Initializable", + "label": "_initialized", + "type": "t_uint64", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:69", + "offset": 0, + "slot": "0" + }, + { + "contract": "Initializable", + "label": "_initializing", + "type": "t_bool", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:73", + "offset": 8, + "slot": "0" + } + ] + } + } + }, + "e2355dd3c8296597f82bb1827f5d0b769dee9b1476e134381a18877b06f17601": { + "address": "0x2712075448A73C145E5348C043e1F33419d4Db3B", + "txHash": "0xe49a33db7a2474eb0ddbbede95f2a689201838ccec8d609019a320b67b6dabe6", + "layout": { + "solcVersion": "0.8.26", + "storage": [ + { + "label": "_pair", + "offset": 0, + "slot": "0", + "type": "t_mapping(t_address,t_mapping(t_address,t_address))", + "contract": "FFactoryV3", + "src": "contracts/launchpadv2/FFactoryV3.sol:26" + }, + { + "label": "pairs", + "offset": 0, + "slot": "1", + "type": "t_array(t_address)dyn_storage", + "contract": "FFactoryV3", + "src": "contracts/launchpadv2/FFactoryV3.sol:28" + }, + { + "label": "router", + "offset": 0, + "slot": "2", + "type": "t_address", + "contract": "FFactoryV3", + "src": "contracts/launchpadv2/FFactoryV3.sol:30" + }, + { + "label": "taxVault", + "offset": 0, + "slot": "3", + "type": "t_address", + "contract": "FFactoryV3", + "src": "contracts/launchpadv2/FFactoryV3.sol:32" + }, + { + "label": "buyTax", + "offset": 0, + "slot": "4", + "type": "t_uint256", + "contract": "FFactoryV3", + "src": "contracts/launchpadv2/FFactoryV3.sol:33" + }, + { + "label": "sellTax", + "offset": 0, + "slot": "5", + "type": "t_uint256", + "contract": "FFactoryV3", + "src": "contracts/launchpadv2/FFactoryV3.sol:34" + }, + { + "label": "antiSniperBuyTaxStartValue", + "offset": 0, + "slot": "6", + "type": "t_uint256", + "contract": "FFactoryV3", + "src": "contracts/launchpadv2/FFactoryV3.sol:35" + }, + { + "label": "antiSniperTaxVault", + "offset": 0, + "slot": "7", + "type": "t_address", + "contract": "FFactoryV3", + "src": "contracts/launchpadv2/FFactoryV3.sol:36" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)460_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_struct(AccessControlStorage)470_storage": { + "label": "struct AccessControlUpgradeable.AccessControlStorage", + "members": [ + { + "label": "_roles", + "type": "t_mapping(t_bytes32,t_struct(RoleData)460_storage)", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(InitializableStorage)1948_storage": { + "label": "struct Initializable.InitializableStorage", + "members": [ + { + "label": "_initialized", + "type": "t_uint64", + "offset": 0, + "slot": "0" + }, + { + "label": "_initializing", + "type": "t_bool", + "offset": 8, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(ReentrancyGuardStorage)2967_storage": { + "label": "struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage", + "members": [ + { + "label": "_status", + "type": "t_uint256", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(RoleData)460_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "hasRole", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint64": { + "label": "uint64", + "numberOfBytes": "8" + }, + "t_array(t_address)dyn_storage": { + "label": "address[]", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_address)": { + "label": "mapping(address => address)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_address,t_address))": { + "label": "mapping(address => mapping(address => address))", + "numberOfBytes": "32" + } + }, + "namespaces": { + "erc7201:openzeppelin.storage.ReentrancyGuard": [ + { + "contract": "ReentrancyGuardUpgradeable", + "label": "_status", + "type": "t_uint256", + "src": "@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol:40", + "offset": 0, + "slot": "0" + } + ], + "erc7201:openzeppelin.storage.AccessControl": [ + { + "contract": "AccessControlUpgradeable", + "label": "_roles", + "type": "t_mapping(t_bytes32,t_struct(RoleData)460_storage)", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61", + "offset": 0, + "slot": "0" + } + ], + "erc7201:openzeppelin.storage.Initializable": [ + { + "contract": "Initializable", + "label": "_initialized", + "type": "t_uint64", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:69", + "offset": 0, + "slot": "0" + }, + { + "contract": "Initializable", + "label": "_initializing", + "type": "t_bool", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:73", + "offset": 8, + "slot": "0" + } + ] + } + } + }, + "b80e1834a2354ea32b7450ade1893f41ca815cd217757b8f4bbe1a61b9a984ee": { + "address": "0x0445C9AA3b0474DeCc6A655D6590a24D1896Dd3B", + "txHash": "0xdfb7c7cc1aa59de79b244b13d46d664b178cd5dfd399bfafec414775db014f12", + "layout": { + "solcVersion": "0.8.26", + "storage": [ + { + "label": "factory", + "offset": 0, + "slot": "0", + "type": "t_contract(FFactoryV3)47632", + "contract": "FRouterV3", + "src": "contracts/launchpadv2/FRouterV3.sol:48" + }, + { + "label": "assetToken", + "offset": 0, + "slot": "1", + "type": "t_address", + "contract": "FRouterV3", + "src": "contracts/launchpadv2/FRouterV3.sol:49" + }, + { + "label": "bondingV5", + "offset": 0, + "slot": "2", + "type": "t_contract(IBondingV5ForRouter)49564", + "contract": "FRouterV3", + "src": "contracts/launchpadv2/FRouterV3.sol:52" + }, + { + "label": "bondingConfig", + "offset": 0, + "slot": "3", + "type": "t_contract(IBondingConfigForRouter)49577", + "contract": "FRouterV3", + "src": "contracts/launchpadv2/FRouterV3.sol:53" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)460_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_struct(AccessControlStorage)470_storage": { + "label": "struct AccessControlUpgradeable.AccessControlStorage", + "members": [ + { + "label": "_roles", + "type": "t_mapping(t_bytes32,t_struct(RoleData)460_storage)", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(InitializableStorage)1948_storage": { + "label": "struct Initializable.InitializableStorage", + "members": [ + { + "label": "_initialized", + "type": "t_uint64", + "offset": 0, + "slot": "0" + }, + { + "label": "_initializing", + "type": "t_bool", + "offset": 8, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(ReentrancyGuardStorage)2967_storage": { + "label": "struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage", + "members": [ + { + "label": "_status", + "type": "t_uint256", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(RoleData)460_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "hasRole", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint64": { + "label": "uint64", + "numberOfBytes": "8" + }, + "t_contract(FFactoryV3)47632": { + "label": "contract FFactoryV3", + "numberOfBytes": "20" + }, + "t_contract(IBondingConfigForRouter)49577": { + "label": "contract IBondingConfigForRouter", + "numberOfBytes": "20" + }, + "t_contract(IBondingV5ForRouter)49564": { + "label": "contract IBondingV5ForRouter", + "numberOfBytes": "20" + } + }, + "namespaces": { + "erc7201:openzeppelin.storage.ReentrancyGuard": [ + { + "contract": "ReentrancyGuardUpgradeable", + "label": "_status", + "type": "t_uint256", + "src": "@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol:40", + "offset": 0, + "slot": "0" + } + ], + "erc7201:openzeppelin.storage.AccessControl": [ + { + "contract": "AccessControlUpgradeable", + "label": "_roles", + "type": "t_mapping(t_bytes32,t_struct(RoleData)460_storage)", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61", + "offset": 0, + "slot": "0" + } + ], + "erc7201:openzeppelin.storage.Initializable": [ + { + "contract": "Initializable", + "label": "_initialized", + "type": "t_uint64", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:69", + "offset": 0, + "slot": "0" + }, + { + "contract": "Initializable", + "label": "_initializing", + "type": "t_bool", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:73", + "offset": 8, + "slot": "0" + } + ] + } + } + }, + "823d9f87074c1707e7e21efbf3614fd7672f08c60bfd718fc135042b37ccadc4": { + "address": "0x4e60d441BC3B6c5d80Bce6469f8b74051cE1Ce67", + "txHash": "0xd0c2ba838bf225b3b90fbddfa312d76d52deb3c893b1a6a65f929d88f2ac84d7", + "layout": { + "solcVersion": "0.8.26", + "storage": [ + { + "label": "taxRecipient", + "offset": 0, + "slot": "0", + "type": "t_address", + "contract": "TaxAccountingAdapter", + "src": "contracts/tax/TaxAccountingAdapter.sol:36" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_struct(InitializableStorage)1948_storage": { + "label": "struct Initializable.InitializableStorage", + "members": [ + { + "label": "_initialized", + "type": "t_uint64", + "offset": 0, + "slot": "0" + }, + { + "label": "_initializing", + "type": "t_bool", + "offset": 8, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(OwnableStorage)642_storage": { + "label": "struct OwnableUpgradeable.OwnableStorage", + "members": [ + { + "label": "_owner", + "type": "t_address", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(ReentrancyGuardStorage)2967_storage": { + "label": "struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage", + "members": [ + { + "label": "_status", + "type": "t_uint256", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint64": { + "label": "uint64", + "numberOfBytes": "8" + } + }, + "namespaces": { + "erc7201:openzeppelin.storage.Ownable": [ + { + "contract": "OwnableUpgradeable", + "label": "_owner", + "type": "t_address", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:24", + "offset": 0, + "slot": "0" + } + ], + "erc7201:openzeppelin.storage.ReentrancyGuard": [ + { + "contract": "ReentrancyGuardUpgradeable", + "label": "_status", + "type": "t_uint256", + "src": "@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol:40", + "offset": 0, + "slot": "0" + } + ], + "erc7201:openzeppelin.storage.Initializable": [ + { + "contract": "Initializable", + "label": "_initialized", + "type": "t_uint64", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:69", + "offset": 0, + "slot": "0" + }, + { + "contract": "Initializable", + "label": "_initializing", + "type": "t_bool", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:73", + "offset": 8, + "slot": "0" + } + ] + } + } + }, + "08f5d446f9d3f41429cb1e12cc992416b1528e9bb926f71bb4bf34645bee4351": { + "address": "0x844425a396b174C97A778318840e89a2D28C9Eb1", + "txHash": "0xb3e3f88aab4361733bd0273b75c5c33708a9f951a0ef46a18bdbcdc4deb594a8", + "layout": { + "solcVersion": "0.8.26", + "storage": [ + { + "label": "_roles", + "offset": 0, + "slot": "0", + "type": "t_mapping(t_bytes32,t_struct(RoleData)8943_storage)", + "contract": "AccessControl", + "src": "@openzeppelin/contracts/access/AccessControl.sol:55" + }, + { + "label": "_nextId", + "offset": 0, + "slot": "1", + "type": "t_uint256", + "contract": "AgentFactoryV7", + "src": "contracts/virtualPersona/AgentFactoryV7.sol:66" + }, + { + "label": "tokenImplementation", + "offset": 0, + "slot": "2", + "type": "t_address", + "contract": "AgentFactoryV7", + "src": "contracts/virtualPersona/AgentFactoryV7.sol:70" + }, + { + "label": "daoImplementation", + "offset": 0, + "slot": "3", + "type": "t_address", + "contract": "AgentFactoryV7", + "src": "contracts/virtualPersona/AgentFactoryV7.sol:71" + }, + { + "label": "nft", + "offset": 0, + "slot": "4", + "type": "t_address", + "contract": "AgentFactoryV7", + "src": "contracts/virtualPersona/AgentFactoryV7.sol:72" + }, + { + "label": "tbaRegistry", + "offset": 0, + "slot": "5", + "type": "t_address", + "contract": "AgentFactoryV7", + "src": "contracts/virtualPersona/AgentFactoryV7.sol:73" + }, + { + "label": "allTokens", + "offset": 0, + "slot": "6", + "type": "t_array(t_address)dyn_storage", + "contract": "AgentFactoryV7", + "src": "contracts/virtualPersona/AgentFactoryV7.sol:75" + }, + { + "label": "allDAOs", + "offset": 0, + "slot": "7", + "type": "t_array(t_address)dyn_storage", + "contract": "AgentFactoryV7", + "src": "contracts/virtualPersona/AgentFactoryV7.sol:76" + }, + { + "label": "assetToken", + "offset": 0, + "slot": "8", + "type": "t_address", + "contract": "AgentFactoryV7", + "src": "contracts/virtualPersona/AgentFactoryV7.sol:78" + }, + { + "label": "maturityDuration", + "offset": 0, + "slot": "9", + "type": "t_uint256", + "contract": "AgentFactoryV7", + "src": "contracts/virtualPersona/AgentFactoryV7.sol:79" + }, + { + "label": "_applications", + "offset": 0, + "slot": "10", + "type": "t_mapping(t_uint256,t_struct(Application)75838_storage)", + "contract": "AgentFactoryV7", + "src": "contracts/virtualPersona/AgentFactoryV7.sol:116" + }, + { + "label": "gov", + "offset": 0, + "slot": "11", + "type": "t_address", + "contract": "AgentFactoryV7", + "src": "contracts/virtualPersona/AgentFactoryV7.sol:118" + }, + { + "label": "_vault", + "offset": 0, + "slot": "12", + "type": "t_address", + "contract": "AgentFactoryV7", + "src": "contracts/virtualPersona/AgentFactoryV7.sol:129" + }, + { + "label": "locked", + "offset": 20, + "slot": "12", + "type": "t_bool", + "contract": "AgentFactoryV7", + "src": "contracts/virtualPersona/AgentFactoryV7.sol:131" + }, + { + "label": "allTradingTokens", + "offset": 0, + "slot": "13", + "type": "t_array(t_address)dyn_storage", + "contract": "AgentFactoryV7", + "src": "contracts/virtualPersona/AgentFactoryV7.sol:143" + }, + { + "label": "_uniswapRouter", + "offset": 0, + "slot": "14", + "type": "t_address", + "contract": "AgentFactoryV7", + "src": "contracts/virtualPersona/AgentFactoryV7.sol:144" + }, + { + "label": "veTokenImplementation", + "offset": 0, + "slot": "15", + "type": "t_address", + "contract": "AgentFactoryV7", + "src": "contracts/virtualPersona/AgentFactoryV7.sol:145" + }, + { + "label": "_minter", + "offset": 0, + "slot": "16", + "type": "t_address", + "contract": "AgentFactoryV7", + "src": "contracts/virtualPersona/AgentFactoryV7.sol:146" + }, + { + "label": "_tokenAdmin", + "offset": 0, + "slot": "17", + "type": "t_address", + "contract": "AgentFactoryV7", + "src": "contracts/virtualPersona/AgentFactoryV7.sol:147" + }, + { + "label": "defaultDelegatee", + "offset": 0, + "slot": "18", + "type": "t_address", + "contract": "AgentFactoryV7", + "src": "contracts/virtualPersona/AgentFactoryV7.sol:148" + }, + { + "label": "_tokenSupplyParams", + "offset": 0, + "slot": "19", + "type": "t_bytes_storage", + "contract": "AgentFactoryV7", + "src": "contracts/virtualPersona/AgentFactoryV7.sol:151" + }, + { + "label": "_tokenTaxParams", + "offset": 0, + "slot": "20", + "type": "t_bytes_storage", + "contract": "AgentFactoryV7", + "src": "contracts/virtualPersona/AgentFactoryV7.sol:152" + }, + { + "label": "_tokenMultiplier", + "offset": 0, + "slot": "21", + "type": "t_uint16", + "contract": "AgentFactoryV7", + "src": "contracts/virtualPersona/AgentFactoryV7.sol:153" + }, + { + "label": "_existingAgents", + "offset": 0, + "slot": "22", + "type": "t_mapping(t_address,t_bool)", + "contract": "AgentFactoryV7", + "src": "contracts/virtualPersona/AgentFactoryV7.sol:161" + }, + { + "label": "taxAccountingAdapter", + "offset": 0, + "slot": "23", + "type": "t_address", + "contract": "AgentFactoryV7", + "src": "contracts/virtualPersona/AgentFactoryV7.sol:164" + }, + { + "label": "legacyAgentTokenV3Implementation", + "offset": 0, + "slot": "24", + "type": "t_address", + "contract": "AgentFactoryV7", + "src": "contracts/virtualPersona/AgentFactoryV7.sol:174" + }, + { + "label": "v3SwapThresholdBasisPoints", + "offset": 0, + "slot": "25", + "type": "t_uint256", + "contract": "AgentFactoryV7", + "src": "contracts/virtualPersona/AgentFactoryV7.sol:176" + } + ], + "types": { + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_struct(InitializableStorage)1948_storage": { + "label": "struct Initializable.InitializableStorage", + "members": [ + { + "label": "_initialized", + "type": "t_uint64", + "offset": 0, + "slot": "0" + }, + { + "label": "_initializing", + "type": "t_bool", + "offset": 8, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(PausableStorage)2903_storage": { + "label": "struct PausableUpgradeable.PausableStorage", + "members": [ + { + "label": "_paused", + "type": "t_bool", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_uint64": { + "label": "uint64", + "numberOfBytes": "8" + }, + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_address)dyn_storage": { + "label": "address[]", + "numberOfBytes": "32" + }, + "t_array(t_uint8)dyn_storage": { + "label": "uint8[]", + "numberOfBytes": "32" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_bytes_storage": { + "label": "bytes", + "numberOfBytes": "32" + }, + "t_enum(ApplicationStatus)75807": { + "label": "enum AgentFactoryV7.ApplicationStatus", + "members": [ + "Active", + "Executed", + "Withdrawn" + ], + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)8943_storage)": { + "label": "mapping(bytes32 => struct AccessControl.RoleData)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(Application)75838_storage)": { + "label": "mapping(uint256 => struct AgentFactoryV7.Application)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(Application)75838_storage": { + "label": "struct AgentFactoryV7.Application", + "members": [ + { + "label": "name", + "type": "t_string_storage", + "offset": 0, + "slot": "0" + }, + { + "label": "symbol", + "type": "t_string_storage", + "offset": 0, + "slot": "1" + }, + { + "label": "tokenURI", + "type": "t_string_storage", + "offset": 0, + "slot": "2" + }, + { + "label": "status", + "type": "t_enum(ApplicationStatus)75807", + "offset": 0, + "slot": "3" + }, + { + "label": "withdrawableAmount", + "type": "t_uint256", + "offset": 0, + "slot": "4" + }, + { + "label": "proposer", + "type": "t_address", + "offset": 0, + "slot": "5" + }, + { + "label": "cores", + "type": "t_array(t_uint8)dyn_storage", + "offset": 0, + "slot": "6" + }, + { + "label": "proposalEndBlock", + "type": "t_uint256", + "offset": 0, + "slot": "7" + }, + { + "label": "virtualId", + "type": "t_uint256", + "offset": 0, + "slot": "8" + }, + { + "label": "tbaSalt", + "type": "t_bytes32", + "offset": 0, + "slot": "9" + }, + { + "label": "tbaImplementation", + "type": "t_address", + "offset": 0, + "slot": "10" + }, + { + "label": "daoVotingPeriod", + "type": "t_uint32", + "offset": 20, + "slot": "10" + }, + { + "label": "daoThreshold", + "type": "t_uint256", + "offset": 0, + "slot": "11" + }, + { + "label": "tokenAddress", + "type": "t_address", + "offset": 0, + "slot": "12" + } + ], + "numberOfBytes": "416" + }, + "t_struct(RoleData)8943_storage": { + "label": "struct AccessControl.RoleData", + "members": [ + { + "label": "hasRole", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint16": { + "label": "uint16", + "numberOfBytes": "2" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint32": { + "label": "uint32", + "numberOfBytes": "4" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": { + "erc7201:openzeppelin.storage.Pausable": [ + { + "contract": "PausableUpgradeable", + "label": "_paused", + "type": "t_bool", + "src": "@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol:21", + "offset": 0, + "slot": "0" + } + ], + "erc7201:openzeppelin.storage.Initializable": [ + { + "contract": "Initializable", + "label": "_initialized", + "type": "t_uint64", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:69", + "offset": 0, + "slot": "0" + }, + { + "contract": "Initializable", + "label": "_initializing", + "type": "t_bool", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:73", + "offset": 8, + "slot": "0" + } + ] + } + } + }, + "7a897a622182cf7744792957d6f73b7c019f92272e60f471ff6e1c2916925f2e": { + "address": "0xAb2ed5d53d9EF273784435395bf9CAAf5Df6AAc1", + "txHash": "0x1bc015bfd867d264c68f8b05a654bc9a2ef5d96d6ac409ad612bfe2cfa1f4bb7", + "layout": { + "solcVersion": "0.8.26", + "storage": [ + { + "label": "reserveSupplyParams", + "offset": 0, + "slot": "0", + "type": "t_struct(ReserveSupplyParams)39248_storage", + "contract": "BondingConfig", + "src": "contracts/launchpadv2/BondingConfig.sol:26" + }, + { + "label": "scheduledLaunchParams", + "offset": 0, + "slot": "1", + "type": "t_struct(ScheduledLaunchParams)39267_storage", + "contract": "BondingConfig", + "src": "contracts/launchpadv2/BondingConfig.sol:41" + }, + { + "label": "teamTokenReservedWallet", + "offset": 0, + "slot": "4", + "type": "t_address", + "contract": "BondingConfig", + "src": "contracts/launchpadv2/BondingConfig.sol:44" + }, + { + "label": "isPrivilegedLauncher", + "offset": 0, + "slot": "5", + "type": "t_mapping(t_address,t_bool)", + "contract": "BondingConfig", + "src": "contracts/launchpadv2/BondingConfig.sol:47" + }, + { + "label": "bondingCurveParams", + "offset": 0, + "slot": "6", + "type": "t_struct(BondingCurveParams)39282_storage", + "contract": "BondingConfig", + "src": "contracts/launchpadv2/BondingConfig.sol:54" + }, + { + "label": "deployParams", + "offset": 0, + "slot": "8", + "type": "t_struct(DeployParams)39369_storage", + "contract": "BondingConfig", + "src": "contracts/launchpadv2/BondingConfig.sol:109" + }, + { + "label": "initialSupply", + "offset": 0, + "slot": "11", + "type": "t_uint256", + "contract": "BondingConfig", + "src": "contracts/launchpadv2/BondingConfig.sol:112" + }, + { + "label": "feeTo", + "offset": 0, + "slot": "12", + "type": "t_address", + "contract": "BondingConfig", + "src": "contracts/launchpadv2/BondingConfig.sol:113" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_struct(InitializableStorage)1948_storage": { + "label": "struct Initializable.InitializableStorage", + "members": [ + { + "label": "_initialized", + "type": "t_uint64", + "offset": 0, + "slot": "0" + }, + { + "label": "_initializing", + "type": "t_bool", + "offset": 8, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(OwnableStorage)642_storage": { + "label": "struct OwnableUpgradeable.OwnableStorage", + "members": [ + { + "label": "_owner", + "type": "t_address", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_uint64": { + "label": "uint64", + "numberOfBytes": "8" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_struct(BondingCurveParams)39282_storage": { + "label": "struct BondingConfig.BondingCurveParams", + "members": [ + { + "label": "fakeInitialVirtualLiq", + "type": "t_uint256", + "offset": 0, + "slot": "0" + }, + { + "label": "targetRealVirtual", + "type": "t_uint256", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_struct(DeployParams)39369_storage": { + "label": "struct BondingConfig.DeployParams", + "members": [ + { + "label": "tbaSalt", + "type": "t_bytes32", + "offset": 0, + "slot": "0" + }, + { + "label": "tbaImplementation", + "type": "t_address", + "offset": 0, + "slot": "1" + }, + { + "label": "daoVotingPeriod", + "type": "t_uint32", + "offset": 20, + "slot": "1" + }, + { + "label": "daoThreshold", + "type": "t_uint256", + "offset": 0, + "slot": "2" + } + ], + "numberOfBytes": "96" + }, + "t_struct(ReserveSupplyParams)39248_storage": { + "label": "struct BondingConfig.ReserveSupplyParams", + "members": [ + { + "label": "maxAirdropBips", + "type": "t_uint16", + "offset": 0, + "slot": "0" + }, + { + "label": "maxTotalReservedBips", + "type": "t_uint16", + "offset": 2, + "slot": "0" + }, + { + "label": "acfReservedBips", + "type": "t_uint16", + "offset": 4, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(ScheduledLaunchParams)39267_storage": { + "label": "struct BondingConfig.ScheduledLaunchParams", + "members": [ + { + "label": "startTimeDelay", + "type": "t_uint256", + "offset": 0, + "slot": "0" + }, + { + "label": "normalLaunchFee", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "acfFee", + "type": "t_uint256", + "offset": 0, + "slot": "2" + } + ], + "numberOfBytes": "96" + }, + "t_uint16": { + "label": "uint16", + "numberOfBytes": "2" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint32": { + "label": "uint32", + "numberOfBytes": "4" + } + }, + "namespaces": { + "erc7201:openzeppelin.storage.Ownable": [ + { + "contract": "OwnableUpgradeable", + "label": "_owner", + "type": "t_address", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:24", + "offset": 0, + "slot": "0" + } + ], + "erc7201:openzeppelin.storage.Initializable": [ + { + "contract": "Initializable", + "label": "_initialized", + "type": "t_uint64", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:69", + "offset": 0, + "slot": "0" + }, + { + "contract": "Initializable", + "label": "_initializing", + "type": "t_bool", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:73", + "offset": 8, + "slot": "0" + } + ] + } + } + }, + "1c25b07c8d8c3b2115c4b6cabad107ed42f7ec9b7f74c93a94e7e6534ab7c134": { + "address": "0x48Be9bda3F777071C486ccaDD9f9cb1F647E9220", + "txHash": "0x6a81484946308f8d3af5e52ecdbb5b070cf9978b0b6b040fcc5ca3afd9ec53fa", + "layout": { + "solcVersion": "0.8.26", + "storage": [ + { + "label": "factory", + "offset": 0, + "slot": "0", + "type": "t_contract(IFFactoryV2Minimal)44912", + "contract": "BondingV5", + "src": "contracts/launchpadv2/BondingV5.sol:95" + }, + { + "label": "router", + "offset": 0, + "slot": "1", + "type": "t_contract(IFRouterV3Minimal)44974", + "contract": "BondingV5", + "src": "contracts/launchpadv2/BondingV5.sol:96" + }, + { + "label": "agentFactory", + "offset": 0, + "slot": "2", + "type": "t_contract(IAgentFactoryV7Minimal)45039", + "contract": "BondingV5", + "src": "contracts/launchpadv2/BondingV5.sol:97" + }, + { + "label": "bondingConfig", + "offset": 0, + "slot": "3", + "type": "t_contract(BondingConfig)39868", + "contract": "BondingV5", + "src": "contracts/launchpadv2/BondingV5.sol:98" + }, + { + "label": "tokenInfo", + "offset": 0, + "slot": "4", + "type": "t_mapping(t_address,t_struct(Token)39349_storage)", + "contract": "BondingV5", + "src": "contracts/launchpadv2/BondingV5.sol:100" + }, + { + "label": "tokenInfos", + "offset": 0, + "slot": "5", + "type": "t_array(t_address)dyn_storage", + "contract": "BondingV5", + "src": "contracts/launchpadv2/BondingV5.sol:101" + }, + { + "label": "tokenLaunchParams", + "offset": 0, + "slot": "6", + "type": "t_mapping(t_address,t_struct(LaunchParams)39360_storage)", + "contract": "BondingV5", + "src": "contracts/launchpadv2/BondingV5.sol:107" + }, + { + "label": "tokenGradThreshold", + "offset": 0, + "slot": "7", + "type": "t_mapping(t_address,t_uint256)", + "contract": "BondingV5", + "src": "contracts/launchpadv2/BondingV5.sol:110" + }, + { + "label": "isFeeDelegation", + "offset": 0, + "slot": "8", + "type": "t_mapping(t_address,t_bool)", + "contract": "BondingV5", + "src": "contracts/launchpadv2/BondingV5.sol:112" + }, + { + "label": "tokenPreLaunchExtParams", + "offset": 0, + "slot": "9", + "type": "t_mapping(t_address,t_bytes_storage)", + "contract": "BondingV5", + "src": "contracts/launchpadv2/BondingV5.sol:115" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_struct(InitializableStorage)1948_storage": { + "label": "struct Initializable.InitializableStorage", + "members": [ + { + "label": "_initialized", + "type": "t_uint64", + "offset": 0, + "slot": "0" + }, + { + "label": "_initializing", + "type": "t_bool", + "offset": 8, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(OwnableStorage)642_storage": { + "label": "struct OwnableUpgradeable.OwnableStorage", + "members": [ + { + "label": "_owner", + "type": "t_address", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(ReentrancyGuardStorage)2967_storage": { + "label": "struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage", + "members": [ + { + "label": "_status", + "type": "t_uint256", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint64": { + "label": "uint64", + "numberOfBytes": "8" + }, + "t_array(t_address)dyn_storage": { + "label": "address[]", + "numberOfBytes": "32" + }, + "t_array(t_uint8)dyn_storage": { + "label": "uint8[]", + "numberOfBytes": "32" + }, + "t_bytes_storage": { + "label": "bytes", + "numberOfBytes": "32" + }, + "t_contract(BondingConfig)39868": { + "label": "contract BondingConfig", + "numberOfBytes": "20" + }, + "t_contract(IAgentFactoryV7Minimal)45039": { + "label": "contract IAgentFactoryV7Minimal", + "numberOfBytes": "20" + }, + "t_contract(IFFactoryV2Minimal)44912": { + "label": "contract IFFactoryV2Minimal", + "numberOfBytes": "20" + }, + "t_contract(IFRouterV3Minimal)44974": { + "label": "contract IFRouterV3Minimal", + "numberOfBytes": "20" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_bytes_storage)": { + "label": "mapping(address => bytes)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_struct(LaunchParams)39360_storage)": { + "label": "mapping(address => struct BondingConfig.LaunchParams)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_struct(Token)39349_storage)": { + "label": "mapping(address => struct BondingConfig.Token)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(Data)39310_storage": { + "label": "struct BondingConfig.Data", + "members": [ + { + "label": "token", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "name", + "type": "t_string_storage", + "offset": 0, + "slot": "1" + }, + { + "label": "_name", + "type": "t_string_storage", + "offset": 0, + "slot": "2" + }, + { + "label": "ticker", + "type": "t_string_storage", + "offset": 0, + "slot": "3" + }, + { + "label": "supply", + "type": "t_uint256", + "offset": 0, + "slot": "4" + }, + { + "label": "price", + "type": "t_uint256", + "offset": 0, + "slot": "5" + }, + { + "label": "marketCap", + "type": "t_uint256", + "offset": 0, + "slot": "6" + }, + { + "label": "liquidity", + "type": "t_uint256", + "offset": 0, + "slot": "7" + }, + { + "label": "volume", + "type": "t_uint256", + "offset": 0, + "slot": "8" + }, + { + "label": "volume24H", + "type": "t_uint256", + "offset": 0, + "slot": "9" + }, + { + "label": "prevPrice", + "type": "t_uint256", + "offset": 0, + "slot": "10" + }, + { + "label": "lastUpdated", + "type": "t_uint256", + "offset": 0, + "slot": "11" + } + ], + "numberOfBytes": "384" + }, + "t_struct(LaunchParams)39360_storage": { + "label": "struct BondingConfig.LaunchParams", + "members": [ + { + "label": "launchMode", + "type": "t_uint8", + "offset": 0, + "slot": "0" + }, + { + "label": "airdropBips", + "type": "t_uint16", + "offset": 1, + "slot": "0" + }, + { + "label": "needAcf", + "type": "t_bool", + "offset": 3, + "slot": "0" + }, + { + "label": "antiSniperTaxType", + "type": "t_uint8", + "offset": 4, + "slot": "0" + }, + { + "label": "isProject60days", + "type": "t_bool", + "offset": 5, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(Token)39349_storage": { + "label": "struct BondingConfig.Token", + "members": [ + { + "label": "creator", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "token", + "type": "t_address", + "offset": 0, + "slot": "1" + }, + { + "label": "pair", + "type": "t_address", + "offset": 0, + "slot": "2" + }, + { + "label": "agentToken", + "type": "t_address", + "offset": 0, + "slot": "3" + }, + { + "label": "data", + "type": "t_struct(Data)39310_storage", + "offset": 0, + "slot": "4" + }, + { + "label": "description", + "type": "t_string_storage", + "offset": 0, + "slot": "16" + }, + { + "label": "cores", + "type": "t_array(t_uint8)dyn_storage", + "offset": 0, + "slot": "17" + }, + { + "label": "image", + "type": "t_string_storage", + "offset": 0, + "slot": "18" + }, + { + "label": "twitter", + "type": "t_string_storage", + "offset": 0, + "slot": "19" + }, + { + "label": "telegram", + "type": "t_string_storage", + "offset": 0, + "slot": "20" + }, + { + "label": "youtube", + "type": "t_string_storage", + "offset": 0, + "slot": "21" + }, + { + "label": "website", + "type": "t_string_storage", + "offset": 0, + "slot": "22" + }, + { + "label": "trading", + "type": "t_bool", + "offset": 0, + "slot": "23" + }, + { + "label": "tradingOnUniswap", + "type": "t_bool", + "offset": 1, + "slot": "23" + }, + { + "label": "applicationId", + "type": "t_uint256", + "offset": 0, + "slot": "24" + }, + { + "label": "initialPurchase", + "type": "t_uint256", + "offset": 0, + "slot": "25" + }, + { + "label": "virtualId", + "type": "t_uint256", + "offset": 0, + "slot": "26" + }, + { + "label": "launchExecuted", + "type": "t_bool", + "offset": 0, + "slot": "27" + } + ], + "numberOfBytes": "896" + }, + "t_uint16": { + "label": "uint16", + "numberOfBytes": "2" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": { + "erc7201:openzeppelin.storage.Ownable": [ + { + "contract": "OwnableUpgradeable", + "label": "_owner", + "type": "t_address", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:24", + "offset": 0, + "slot": "0" + } + ], + "erc7201:openzeppelin.storage.ReentrancyGuard": [ + { + "contract": "ReentrancyGuardUpgradeable", + "label": "_status", + "type": "t_uint256", + "src": "@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol:40", + "offset": 0, + "slot": "0" + } + ], + "erc7201:openzeppelin.storage.Initializable": [ + { + "contract": "Initializable", + "label": "_initialized", + "type": "t_uint64", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:69", + "offset": 0, + "slot": "0" + }, + { + "contract": "Initializable", + "label": "_initializing", + "type": "t_bool", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:73", + "offset": 8, + "slot": "0" + } + ] + } + } + } + } +} diff --git a/hardhat.config.js b/hardhat.config.js index 21f36ff..ef31ea4 100644 --- a/hardhat.config.js +++ b/hardhat.config.js @@ -227,6 +227,24 @@ module.exports = { browserURL: "https://sepolia.arbiscan.io/", }, }, + // Arc Network — uses Blockscout (Etherscan-compatible API). + // Explorer: https://testnet.arcscan.app + { + network: "arc_testnet", + chainId: 5042002, + urls: { + apiURL: "https://testnet.arcscan.app/api", + browserURL: "https://testnet.arcscan.app", + }, + }, + { + network: "arc_mainnet", + chainId: 5042, + urls: { + apiURL: "https://arcscan.app/api", + browserURL: "https://arcscan.app", + }, + }, // X Layer (OKLink) — kept for reference only. Verification uses okxweb3explorer (okverify) below. // Standard Etherscan format (verify:verify / verify:etherscan) fails with "Missing or unsupported chainid parameter". { @@ -394,6 +412,23 @@ module.exports = { accounts: [process.env.PRIVATE_KEY], chainId: 196, }, + // Arc Network — https://www.arc.network/ + // Do not fall back to RPC_URL to avoid accidental cross-chain deploys. + arc_testnet: { + url: + process.env.ARC_TESTNET_RPC_URL || + "https://rpc.arc-testnet.network", + accounts: [process.env.PRIVATE_KEY], + chainId: 5042002, + timeout: 120_000, + }, + arc_mainnet: { + url: + process.env.ARC_MAINNET_RPC_URL || + "https://rpc.arc.network", + accounts: [process.env.PRIVATE_KEY], + chainId: 5042, + }, base_sepolia_fire: { url: "https://sepolia.base.org", accounts: [process.env.PRIVATE_KEY], diff --git a/scripts/launchpadv5/deployUniswapV2TestnetLiquidity.ts b/scripts/launchpadv5/deployUniswapV2TestnetLiquidity.ts index 0407946..881191d 100644 --- a/scripts/launchpadv5/deployUniswapV2TestnetLiquidity.ts +++ b/scripts/launchpadv5/deployUniswapV2TestnetLiquidity.ts @@ -192,7 +192,7 @@ function formatRevertError(err: unknown): string { } } - const liquidityHuman = process.env.LIQUIDITY_AMOUNT?.trim() || "10"; + const liquidityHuman = process.env.LIQUIDITY_AMOUNT?.trim() || "1"; const virtualRO = new ethers.Contract( virtualToken, diff --git a/scripts/launchpadv5/run_local_deploy.sh b/scripts/launchpadv5/run_local_deploy.sh index bc9ce35..5aeedfe 100755 --- a/scripts/launchpadv5/run_local_deploy.sh +++ b/scripts/launchpadv5/run_local_deploy.sh @@ -204,9 +204,18 @@ case "$NETWORK" in echo "Press Ctrl+C within 5 seconds to cancel..." sleep 5 ;; + "arc_testnet") + HARDHAT_NETWORK="arc_testnet" + ;; + "arc_mainnet") + HARDHAT_NETWORK="arc_mainnet" + echo "⚠️ WARNING: Deploying to ARC MAINNET!" + echo "Press Ctrl+C within 5 seconds to cancel..." + sleep 5 + ;; *) echo "Error: Unknown network '$NETWORK'" - echo "Valid networks: local, base_sepolia, base, bsc_testnet, abstract_testnet, abstract_mainnet, monad_testnet, xlayer_testnet, xlayer_mainnet" + echo "Valid networks: local, base_sepolia, base, bsc_testnet, abstract_testnet, abstract_mainnet, monad_testnet, xlayer_testnet, xlayer_mainnet, arc_testnet, arc_mainnet" exit 1 ;; esac @@ -313,7 +322,7 @@ save_univ2_env_from_log() { run_univ2_liquidity_deploy() { case "$HARDHAT_NETWORK" in - local|bsc_testnet|monad_testnet|xlayer_testnet) + local|bsc_testnet|monad_testnet|xlayer_testnet|arc_testnet) ;; *) echo "Skipping deployUniswapV2TestnetLiquidity.ts (not run on network $HARDHAT_NETWORK)" From 8a4ef93e5dbc1859f18e5a079b14d2c166d26bbe Mon Sep 17 00:00:00 2001 From: koo-virtuals Date: Mon, 18 May 2026 15:39:27 +0800 Subject: [PATCH 2/3] support arc testnet buy/sel --- scripts/launchpadv5/handle_buy_sell.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/launchpadv5/handle_buy_sell.ts b/scripts/launchpadv5/handle_buy_sell.ts index 3e344e3..4d08ada 100644 --- a/scripts/launchpadv5/handle_buy_sell.ts +++ b/scripts/launchpadv5/handle_buy_sell.ts @@ -13,6 +13,7 @@ const { ethers } = hre; // ENV_FILE=.env.launchpadv5_dev_arbitrum_sepolia npx hardhat run ./scripts/launchpadv5/handle_buy_sell.ts --network arbitrum_sepolia // ENV_FILE=.env.launchpadv5_dev_bsc_testnet npx hardhat run ./scripts/launchpadv5/handle_buy_sell.ts --network bsc_testnet // ENV_FILE=.env.launchpadv5_dev_xlayer_testnet npx hardhat run ./scripts/launchpadv5/handle_buy_sell.ts --network xlayer_testnet [--no-compile] +// ENV_FILE=.env.launchpadv5_dev_arc_testnet npx hardhat run ./scripts/launchpadv5/handle_buy_sell.ts --network arc_testnet [--no-compile] // ============================================ // Configuration - Modify these values @@ -25,6 +26,7 @@ const TOKEN_ADDRESS_BY_NETWORK: Record = { eth_sepolia: "0x02b6d8a16f9D79Cb9E8eD685492a1cD64fF627c3", bsc_testnet: "0x6B9048DFF2fA0ACd74fC9b195dC4768E1d541FBf", xlayer_testnet: "0x37cc29cfd8ca2238639791489a7668ccbc061be5", // agent token — X Layer testnet + arc_testnet: "0xd4f5Cc88A3A046e0CD9e4E5021F1d8bc838e088E", // agent token — Arc testnet (fill in after creating an agent) }; function resolveTokenAddress(): string { @@ -39,7 +41,7 @@ const CONFIG = { tokenAddress: resolveTokenAddress(), // Amount of VIRTUAL to spend on buy - buyAmount: "43000", // 1 VIRTUAL + buyAmount: "1000", // 1 VIRTUAL // Contract addresses (from environment or hardcode) bondingV5Address: process.env.BONDING_V5_ADDRESS || "", From aac6575d451aaef9870d844cdc2b839b7587f5d6 Mon Sep 17 00:00:00 2001 From: koo-virtuals Date: Tue, 19 May 2026 10:16:31 +0800 Subject: [PATCH 3/3] change test script addr --- scripts/launchpadv5/handle_buy_sell.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/launchpadv5/handle_buy_sell.ts b/scripts/launchpadv5/handle_buy_sell.ts index 4d08ada..859c4ea 100644 --- a/scripts/launchpadv5/handle_buy_sell.ts +++ b/scripts/launchpadv5/handle_buy_sell.ts @@ -20,7 +20,7 @@ const { ethers } = hre; // ============================================ const TOKEN_ADDRESS_BY_NETWORK: Record = { // base_sepolia: "0xC4C27033ac81b7f6CE94bFcf5577956d5B690a08", // agentTokenV4 on base sepolia - base_sepolia: "0xbc36D98d309A8927e8a616C978BCF93111eC9196", // agentTokenV3 on base sepolia + base_sepolia: "0x2b06E5EC214341dea12430f83002278ce64252Bb", // agentTokenV3 on base sepolia // arbitrum_sepolia: "0x17742fa86139ed9dB81B2ec8037b2525061F97B9", // agentTokenV4 on arbitrum sepolia arbitrum_sepolia: "0x85A02c33aced66eD39a0fD07FB0cd8d75290939D", // agentTokenV3 on arbitrum sepolia eth_sepolia: "0x02b6d8a16f9D79Cb9E8eD685492a1cD64fF627c3",