Skip to content
This repository was archived by the owner on Dec 3, 2025. It is now read-only.

Latest commit

 

History

History
142 lines (105 loc) · 16.6 KB

File metadata and controls

142 lines (105 loc) · 16.6 KB

Tuxedo

Solidity smart contracts for ZTX.

Dependencies

Documentation

For further details, see the docs.

Setup

npm install

The system also requires the following environment variables to be set:

Variable Description
TOKEN_NAME The name of the token (e.g. ZTX Token).
TOKEN_SYMBOL The symbol of the primay token (e.g. ZTX).
DOMAIN The domain of where the metadata is hosted.
ENVIRONMENT The environment of the deployment (devnet, testnet or mainnet).
DEPLOYER_PRIVATE_KEY The private key of the deployer.
MAINNET_RPC_URL Arbitrum mainnet RPC host.
TESTNET_RPC_URL Arbitrum testnet RPC host.
ARBITRUM_TESTNET_SEPOLIA_RPC_URL Arbitrum Sepolia Testnet RPC host

See the included .env.example for an example.

Build

To build, run:

forge build

Tests

To run the unit tests:

npm run test:unit

and the integration tests:

npm run test:integration

Linter

To run the linter:

npm run lint:check

ABI

To generate the ABI files, simply run:

npm run clean && npm run build

Static Analysis

We use Slither to analyse our contracts.

Install

npm run slither:install

Run

npm run slither

Contracts

Arbitrum Sepolia (devnet)

Address Contract ABI
0x68D6B4af6668A62Fc1B21ABF3DbfA366DD1d8eC7 CORE Core.abi.json
0x87D7b991540747522404c86b281E4880Cd6dE7f2 GLOBAL_REENTRANCY_LOCK GlobalReentrancyLock.abi.json
0x27564B8cf86aba79b398A39B75898fe8AFf30627 ERC1155_MAX_SUPPLY_MINTABLE_WEARABLES ERC1155MaxSupplyMintable.abi.json
0x898C5e72Cb4121A8ae579faEAe2C5879196493fc ERC1155_MAX_SUPPLY_MINTABLE_CONSUMABLES ERC1155MaxSupplyMintable.abi.json
0xa7654c44f0A4Da52a10469dC380f02F75d6E0631 ERC1155_MAX_SUPPLY_MINTABLE_PLACEABLES ERC1155MaxSupplyMintable.abi.json
0x8ccE22Fe7Bd3F4998E158De3c3a77ee85A6F6bBB SEASONS_TOKEN_ID_REGISTRY SeasonsTokenIdRegistry.abi.json
0x3006b30E32dEA503503Bf9e3f909163834085A5C ERC1155_SEASON_ONE ERC1155SeasonOne.abi.json
0x34c775910e5CbB1511eF00Ea51cd0f6bd1E3E4Db ERC1155_MAX_SUPPLY_ADMIN_MINTER ERC1155AdminMinter.abi.json
0x2a7093311D65550285AcA9650C9F9165f74337f3 ERC1155_AUTO_GRAPH_MINTER ERC1155AutoGraphMinter.abi.json
0x5422a3De80BA3891d663fa4EC7506A7f263c1Fd9 TOKEN Token.abi.json
0xf052f3F94f6E71DfBA39544b8DF02c873De4469F GAME_CONSUMABLE GameConsumer.abi.json

Arbitrum Sepolia (qa)

Address Contract ABI
0xeCd8CF66C8F44D8Ab0f257C2aC5220A943D8d8eE CORE Core.abi.json
0x4FCAaCfed2E0F5A4fdbfE01EBe50748Cdc06CBB6 GLOBAL_REENTRANCY_LOCK GlobalReentrancyLock.abi.json
0x350aCe500A712D944Fb6De1D54C63340a5085b6f ERC1155_MAX_SUPPLY_MINTABLE_WEARABLES ERC1155MaxSupplyMintable.abi.json
0x95C68D9E3c0353a0CDd40000Cd1A06A87ED14744 ERC1155_MAX_SUPPLY_MINTABLE_CONSUMABLES ERC1155MaxSupplyMintable.abi.json
0x425Cdf97Cc3833B6C47c2EE708aE65dC19e7494f ERC1155_MAX_SUPPLY_MINTABLE_PLACEABLES ERC1155MaxSupplyMintable.abi.json
0x11af076f2a418B7627b5Fb3eE2e17ebC4543f94d SEASONS_TOKEN_ID_REGISTRY SeasonsTokenIdRegistry.abi.json
0x14d9548b384dfd5612c5E421584645aE9a3eef38 ERC1155_SEASON_ONE ERC1155SeasonOne.abi.json
0xb0Cb1448b40789302D371CdAC2881D2570DE1CAc ERC1155_MAX_SUPPLY_ADMIN_MINTER ERC1155AdminMinter.abi.json
0xd22040ACd20623c6ee507e8985a3FfdE7a270A63 ERC1155_AUTO_GRAPH_MINTER ERC1155AutoGraphMinter.abi.json
0xfD1B439A292C3690FF5f052Df907Ae7817696537 TOKEN Token.abi.json
0xede3f2c44a7cfF1292eAA72Fe828862B0a334317 GAME_CONSUMABLE GameConsumer.abi.json
0xB6DE3d51297124030371B5ff6009f5A117EFd8b5 CONSUMABLE_SPLITTER ERC20Splitter.abi.json
0x8e5961897d0E1Db128a972c0937Eb08fa9a16C2C ADMIN_TIMELOCK_CONTROLLER TimelockController.abi.json

Arbitrum (mainnet)

Address Contract ABI
0xb2F009749260ddbEFe5E1687895f0A0E411613EA CORE Core.abi.json
0x90eAa68fAe4703ff5328f2E86982e77EBc10539a GLOBAL_REENTRANCY_LOCK GlobalReentrancyLock.abi.json
0x792E36c772f6dA6280fa43159792F89e7444CF18 ERC1155_MAX_SUPPLY_MINTABLE_WEARABLES ERC1155MaxSupplyMintable.abi.json
0x163b2E7696F661F86DBB39Ce4b03e38Bfe22a1C9 ERC1155_MAX_SUPPLY_MINTABLE_CONSUMABLES ERC1155MaxSupplyMintable.abi.json
0x2C154Ae907652A1a9939DBe0622915111816942C ERC1155_MAX_SUPPLY_MINTABLE_PLACEABLES ERC1155MaxSupplyMintable.abi.json
0x5cb7431a545523F25AbD3948c648329636a4b1E5 SEASONS_TOKEN_ID_REGISTRY SeasonsTokenIdRegistry.abi.json
0x59AFA38214C9CCCFB56f72DE7f9a2B47fA17C270 ERC1155_SEASON_ONE ERC1155SeasonOne.abi.json
0xd778a415A3AB81eF27da61218c71a5F31A4D10BE ERC1155_MAX_SUPPLY_ADMIN_MINTER ERC1155AdminMinter.abi.json
0xD031aD02aD4bADFc06b64ec64eBA32cFc781FB9b ERC1155_AUTO_GRAPH_MINTER ERC1155AutoGraphMinter.abi.json
0x1C43D05be7E5b54D506e3DdB6f0305e8A66CD04e TOKEN Token.abi.json
0xeD3ed10Bd8FD4093528B38B6fD7c5a5C616EB28f GAME_CONSUMABLE GameConsumer.abi.json
0x85454964Db79620e239C5425F047eAAe027d0E08 CONSUMABLE_SPLITTER ERC20Splitter.abi.json
0xf16A0E806A4CF6e9031A0dA028c80eF8A771aE48 ADMIN_TIMELOCK_CONTROLLER TimelockController.abi.json