Skip to content
Merged

Dev #18

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
3af0d76
Replace erc2535-diamond-template with diamond-lib
dadadave80 Oct 13, 2025
43e62bf
Refactor diamond initialization logic in deployment scripts
dadadave80 Oct 13, 2025
8ea25d4
Update HostItTickets constructor signature
dadadave80 Oct 13, 2025
c010550
Add diamond-lib as a git submodule
dadadave80 Oct 13, 2025
611dead
Update dependencies in foundry.lock
dadadave80 Oct 13, 2025
83c4d24
Add comment for addresses and fees retrieval
dadadave80 Oct 13, 2025
a38584f
Refactor function order in LibMarketplace
dadadave80 Oct 13, 2025
eebb869
Add refund claim functionality to marketplace
dadadave80 Oct 14, 2025
7c6b417
Add maxTicketsPerUser to ticket data update
dadadave80 Oct 14, 2025
51ce46b
Add refund claim tests and enable refunds
dadadave80 Oct 14, 2025
9cb8d42
Update proxy contracts and documentation
dadadave80 Oct 14, 2025
0201904
Refactor HostIt fee logic and update interface docs
dadadave80 Oct 14, 2025
865cbe7
Return ticket ID from createTicket functions
dadadave80 Oct 14, 2025
d2304c8
Add NatSpec and custom storage comments
dadadave80 Oct 14, 2025
611e6d2
Add NatSpec comments
dadadave80 Oct 14, 2025
2e94b63
use uint48 for time
dadadave80 Oct 14, 2025
cd674e2
Enable instant withdrawals for non refundable tickets
dadadave80 Oct 15, 2025
e3d2658
Emit initialization fields
dadadave80 Oct 15, 2025
8a8eb59
Remove indexing of array logs
dadadave80 Oct 15, 2025
84f2960
Use uint40 for tokenId
dadadave80 Oct 15, 2025
83170ee
Update diamond lib
dadadave80 Oct 17, 2025
631f491
Split diamond and HostIt deployment
dadadave80 Oct 17, 2025
865a36e
Delete broadcast/DeployHostItTicketsLisk.s.sol/4202 directory
dadadave80 Oct 18, 2025
91f7d81
Add badge for Ask DeepWiki to README
dadadave80 Nov 3, 2025
3a4a3b6
forge fmt
dadadave80 Nov 3, 2025
481cc0d
Rename script helper to helpers and update imports
dadadave80 Nov 3, 2025
611a1ff
Update .env sample fields
dadadave80 Nov 3, 2025
a2ed49e
chore: clean up deploy scripts and remove debug logs
dadadave80 Mar 13, 2026
8683cf8
Fix remapping
dadadave80 Mar 13, 2026
0c8c37a
Disable metadata hash for deterministic bytecode
dadadave80 Mar 13, 2026
84cb0e5
fix: inline diamond deployment in test setUp to resolve Unauthorized …
dadadave80 Mar 13, 2026
43d2347
fix: foundry test ci
dadadave80 Mar 13, 2026
c1d9b8e
Merge pull request #19 from hostit-events:chore/fixes-and-improvements
dadadave80 Mar 13, 2026
9cfd940
feat: add Mantle mainnet and sepolia deployment setup
dadadave80 Mar 13, 2026
38fd630
fix: Ignore all broadcast logs
dadadave80 Mar 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,12 @@ AVALANCHE_VERIFIER_URL=https://api.routescan.io/v2/network/mainnet/evm/43114/eth
AVALANCHE_FUJI_VERIFIER_URL=https://api.routescan.io/v2/network/testnet/evm/43113/etherscan

# ACCOUNTS
ACCOUNT=
WALLET_ADDR=
ETH_KEYSTORE_ACCOUNT=
WALLET_ADDR=

# SALT
DIAMOND_CUT_SALT=
DIAMOND_LOUPE_SALT=
OWNABLE_ROLES_SALT=
DIAMOND_INIT_SALT=
HOST_IT_SALT=
24 changes: 10 additions & 14 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
name: CI

permissions: {}

on:
push:
pull_request:
Expand All @@ -12,31 +14,25 @@ jobs:
check:
name: Foundry project
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
persist-credentials: false
submodules: recursive

- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly

- name: Show Forge version
run: |
forge --version
run: forge --version

- name: Run Forge fmt
run: |
forge fmt --check
id: fmt
run: forge fmt --check

- name: Run Forge build
run: |
forge build --sizes
id: build
run: forge build --sizes

- name: Run Forge tests
run: |
forge test -vvv
id: test
run: forge test -vvv
11 changes: 2 additions & 9 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,8 @@
cache/
out/

# Ignores development broadcast logs
!/broadcast
/broadcast/*/31337/
/broadcast/**/dry-run/
*broadcast/

# Crytic
crytic-export/
medusa.json
# Ignores all broadcast logs
/broadcast

# Docs
docs/
Expand Down
6 changes: 3 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
[submodule "lib/solady"]
path = lib/solady
url = https://github.com/Vectorized/solady
[submodule "lib/erc2535-diamond-template"]
path = lib/erc2535-diamond-template
url = https://github.com/dadadave80/erc2535-diamond-template
[submodule "lib/contracts"]
path = lib/contracts
url = https://github.com/tokenbound/contracts
[submodule "lib/diamond-lib"]
path = lib/diamond-lib
url = https://github.com/dadadave80/diamond-lib
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/hostit-events/ticket)

# HostIt Protocol - Ticket Smart Contracts

## Overview
Expand Down
707 changes: 0 additions & 707 deletions broadcast/DeployHostItTicketsLisk.s.sol/4202/run-1756240758.json

This file was deleted.

707 changes: 0 additions & 707 deletions broadcast/DeployHostItTicketsLisk.s.sol/4202/run-latest.json

This file was deleted.

32 changes: 10 additions & 22 deletions foundry.lock
Original file line number Diff line number Diff line change
@@ -1,29 +1,17 @@
{
"lib/solady": {
"rev": "33b4b98e350bbcba6aa85642957c313e98b5f911"
},
"lib/forge-std": {
"tag": {
"name": "v1.10.0",
"rev": "8bbcf6e3f8f62f419e5429a0bd89331c85c37824"
}
"lib/contracts": {
"rev": "bce75f985558fad3d06ee1b86f224f0cfb783631"
},
"lib/erc2535-diamond-template": {
"tag": {
"name": "v1.0.0-rc.3",
"rev": "cbc0de4c7e72210150a56b69a00bf03f2c22a9b2"
}
"lib/diamond-lib": {
"rev": "f1dfda3a56ce134326a1914fdb2039abb2625c02"
},
"lib/contracts": {
"tag": {
"name": "v0.3.1",
"rev": "2bd70ff3fb5f1c0e562425b4d5312f619d9f2720"
}
"lib/forge-std": {
"rev": "551a2d30d7fecba7092ab45a587b5268149a48fb"
},
"lib/openzeppelin-contracts-upgradeable": {
"tag": {
"name": "v5.4.0",
"rev": "e725abddf1e01cf05ace496e950fc8e243cc7cab"
}
"rev": "e725abddf1e01cf05ace496e950fc8e243cc7cab"
},
"lib/solady": {
"rev": "208e4f31cfae26e4983eb95c3488a14fdc497ad7"
}
}
7 changes: 6 additions & 1 deletion foundry.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,13 @@ remappings = [
'@ticket-storage/=src/libs/storage/',
"@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/",
"@openzeppelin/contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/",
"@tokenbound/=lib/contracts/src/"
"@tokenbound/=lib/contracts/src/",
]
ffi = true
optimizer_runs = 999_999
# Disable metadata hash for deterministic bytecode
bytecode_hash = "none"
cbor_metadata = false

[fmt]
sort_imports = true
Expand All @@ -34,6 +37,8 @@ arbitrum-one = "${ARBITRUM_MAINNET_URL}"
arbitrum-sepolia = "${ARBITRUM_SEPOLIA_URL}"
avalanche = "${AVALANCHE_MAINNET_URL}"
avalanche-fuji = "${AVALANCHE_FUJI_URL}"
mantle = "${MANTLE_MAINNET_URL}"
mantle-sepolia = "${MANTLE_SEPOLIA_URL}"

[etherscan]
mainnet = { key = "${ETHERSCAN_API_KEY}" }
Expand Down
1 change: 1 addition & 0 deletions lib/diamond-lib
Submodule diamond-lib added at f1dfda
1 change: 0 additions & 1 deletion lib/erc2535-diamond-template
Submodule erc2535-diamond-template deleted from ac991b
14 changes: 7 additions & 7 deletions remappings.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,16 @@
@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/
@openzeppelin/contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/
@tokenbound/=lib/contracts/src/
@diamond-errors/=lib/erc2535-diamond-template/src/libraries/errors/
@diamond-logs/=lib/erc2535-diamond-template/src/libraries/logs/
@diamond-script/=lib/erc2535-diamond-template/script/
@diamond-storage/=lib/erc2535-diamond-template/src/libraries/storage/
@diamond-test/=lib/erc2535-diamond-template/test/
@diamond/=lib/erc2535-diamond-template/src/
@diamond-errors/=lib/diamond-lib/src/libraries/errors/
@diamond-logs/=lib/diamond-lib/src/libraries/logs/
@diamond-script/=lib/diamond-lib/script/
@diamond-storage/=lib/diamond-lib/src/libraries/storage/
@diamond-test/=lib/diamond-lib/test/
@diamond/=lib/diamond-lib/src/
account-abstraction/=lib/contracts/lib/account-abstraction/contracts/
contracts/=lib/contracts/src/
diamond-lib/=lib/diamond-lib/
ds-test/=lib/contracts/lib/forge-std/lib/ds-test/src/
erc2535-diamond-template/=lib/erc2535-diamond-template/
erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/
erc6551/=lib/contracts/lib/erc6551/
forge-std/=lib/forge-std/src/
Expand Down
44 changes: 21 additions & 23 deletions script/DeployHostItTickets.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ pragma solidity 0.8.30;
import {DiamondCutFacet} from "@diamond/facets/DiamondCutFacet.sol";
import {DiamondLoupeFacet} from "@diamond/facets/DiamondLoupeFacet.sol";
import {OwnableRolesFacet} from "@diamond/facets/OwnableRolesFacet.sol";
import {ERC165Init} from "@diamond/initializers/ERC165Init.sol";
import {MultiInit} from "@diamond/initializers/MultiInit.sol";
import {DiamondInit} from "@diamond/initializers/DiamondInit.sol";
import {IDiamondCut} from "@diamond/interfaces/IDiamondCut.sol";
import {UpgradeableBeacon} from "@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol";
import {DeployHostItTicketsHelper} from "@ticket-script/helper/DeployHostItTicketsHelper.sol";
import {LibAddressesAndFees} from "@ticket-script/helper/LibAddressesAndFees.sol";
import {DeployHostItTicketsHelper} from "@ticket-script/helpers/DeployHostItTicketsHelper.sol";
import {LibAddressesAndFees} from "@ticket-script/helpers/LibAddressesAndFees.sol";
import {HostItTickets} from "@ticket/HostItTickets.sol";
import {CheckInFacet} from "@ticket/facets/CheckInFacet.sol";
import {FactoryFacet} from "@ticket/facets/FactoryFacet.sol";
Expand All @@ -18,43 +18,41 @@ import {Ticket} from "@ticket/libs/Ticket.sol";
import {TicketProxy} from "@ticket/libs/TicketProxy.sol";
import {Script} from "forge-std/Script.sol";

contract DeployHostItTicketsTest is Script, DeployHostItTicketsHelper {
contract DeployHostItTickets is Script, DeployHostItTicketsHelper {
function run() public returns (address hostIt_) {
vm.startBroadcast();
// Deploy facets
address diamondCutFacet = address(new DiamondCutFacet());
address diamondLoupeFacet = address(new DiamondLoupeFacet());
address ownableRolesFacet = address(new OwnableRolesFacet());

// Deploy HostItTickets diamond
hostIt_ = _getHostItTickets();

address factoryFacet = address(new FactoryFacet());
address checkInFacet = address(new CheckInFacet());
address marketplaceFacet = address(new MarketplaceFacet());
address checkInFacet = address(new CheckInFacet());

// Deploy initializers
address multiInit = address(new MultiInit());
address erc165Init = address(new ERC165Init());
// Deploy initializer
address hostItInit = address(new HostItInit());

// Deploy Ticket Impl
address ticketImpl = address(new Ticket());

// Deploy Ticket Beacon
address ticketBeacon = address(new UpgradeableBeacon(ticketImpl, _msgSender()));
address ticketBeacon = address(new UpgradeableBeacon(ticketImpl, hostIt_));

// Deploy Ticket Proxy
address ticketProxy = address(new TicketProxy(ticketBeacon));

// Get addresses and fees
(address[] memory addresses, uint8[] memory feeTypes) =
LibAddressesAndFees._getAddressesAndFeesByChainId(block.chainid);

// Deploy HostItTickets diamond
hostIt_ = address(
new HostItTickets(
_createFacetCuts(
diamondCutFacet, diamondLoupeFacet, ownableRolesFacet, factoryFacet, checkInFacet, marketplaceFacet
),
_createDiamondArgs(multiInit, erc165Init, hostItInit, ticketProxy, feeTypes, addresses)
)
);
// Initialize HostItTickets
IDiamondCut(hostIt_)
.diamondCut(
_createHostItFacetCuts(factoryFacet, marketplaceFacet, checkInFacet),
hostItInit,
abi.encodeWithSelector(HostItInit.initHostIt.selector, ticketProxy, feeTypes, addresses)
);

vm.stopBroadcast();
}
}
75 changes: 0 additions & 75 deletions script/helper/DeployHostItTicketsHelper.sol

This file was deleted.

Loading