Skip to content

Commit

Permalink
Merge branch 'main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
dantaik authored Aug 30, 2024
2 parents c780661 + 465456e commit 8528d4d
Show file tree
Hide file tree
Showing 177 changed files with 2,805 additions and 7,986 deletions.
22 changes: 17 additions & 5 deletions .github/workflows/taiko-client--hive_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@ name: "Taiko Client Hive Tests"
on:
push:
branches: [main]
paths:
- "packages/taiko-client/**"
pull_request:
paths:
- "packages/taiko-client/**"
- "go.mod"
Expand All @@ -30,9 +27,24 @@ jobs:
go-version: 1.21
cache: true

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

- name: Install pnpm dependencies
uses: ./.github/actions/install-pnpm-dependencies

- name: Clone taikoxyz/hive
run: git clone https://github.com/taikoxyz/hive.git /tmp/hive

- name: hive tests
- name: Update taiko contract tx list
working-directory: .
run: |
export TAIKO_MONO_DIR=$PWD
cd /tmp/hive/simulators/taiko
sh scripts/deploy_l1_contract.sh
- name: Hive tests
working-directory: packages/taiko-client
run: export HIVE_BASE_DIR=/tmp/hive && go test -v -p=1 ./integration_test -timeout=600s
run: |
export HIVE_DIR=/tmp/hive
go test -v -p=1 ./integration_test -timeout=1200s
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"packages/relayer": "0.12.0",
"packages/snaefell-ui": "1.1.0",
"packages/supplementary-contracts": "1.0.0",
"packages/taiko-client": "0.30.0",
"packages/taiko-client": "0.33.0",
"packages/taikoon-ui": "1.2.0",
"packages/ui-lib": "1.0.0"
}
4 changes: 2 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ require (
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0
github.com/ethereum-optimism/optimism v1.7.4
github.com/ethereum/go-ethereum v1.13.15
github.com/ethereum/hive v0.0.0-20240808014330-625b82294b46
github.com/ethereum/hive v0.0.0-20240822135954-91829ccfb2c5
github.com/go-git/go-git/v5 v5.12.0
github.com/go-resty/resty/v2 v2.7.0
github.com/gomarkdown/markdown v0.0.0-20231222211730-1d6d20845b47
Expand Down Expand Up @@ -338,4 +338,4 @@ replace github.com/ethereum-optimism/optimism v1.7.4 => github.com/taikoxyz/opti

replace github.com/uber/jaeger-client-go => github.com/uber/jaeger-client-go v2.25.0+incompatible

replace github.com/ethereum/hive v0.0.0-20240808014330-625b82294b46 => github.com/taikoxyz/hive v0.0.0-20240815122245-7e511f1afe7b
replace github.com/ethereum/hive v0.0.0-20240822135954-91829ccfb2c5 => github.com/taikoxyz/hive v0.0.0-20240827015317-405b241dd082
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -1175,8 +1175,8 @@ github.com/swaggo/swag v1.16.3/go.mod h1:DImHIuOFXKpMFAQjcC7FG4m3Dg4+QuUgUzJmKjI
github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc=
github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d h1:vfofYNRScrDdvS342BElfbETmL1Aiz3i2t0zfRj16Hs=
github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d/go.mod h1:RRCYJbIwD5jmqPI9XoAFR0OcDxqUctll6zUj/+B4S48=
github.com/taikoxyz/hive v0.0.0-20240815122245-7e511f1afe7b h1:yk10A6jYSPWlKVG7ar/C4rOsojkb/vMpRtR/GNXUqHM=
github.com/taikoxyz/hive v0.0.0-20240815122245-7e511f1afe7b/go.mod h1:SRnVApayESg4JOlUIojO1nKNG8BLxdpZSkewWrj6rYU=
github.com/taikoxyz/hive v0.0.0-20240827015317-405b241dd082 h1:ymZR+Y88LOnA8i3KeuJXK7hff2n7bpMIhONPJwpcA5w=
github.com/taikoxyz/hive v0.0.0-20240827015317-405b241dd082/go.mod h1:RHnIu3EFehrWX3JhFAMQSXD5uz7l0xaNroTzXrap7EQ=
github.com/taikoxyz/optimism v0.0.0-20240627102435-4845247ff00c h1:Hfhh/icxShwpLdX7RqYzZN1EU40MGWhvSXc2V+ZzTxw=
github.com/taikoxyz/optimism v0.0.0-20240627102435-4845247ff00c/go.mod h1:jKn73pLX8eDIG0Y3XeuUSetepecM8OvRflyPHbi05B4=
github.com/taikoxyz/taiko-geth v1.5.1-0.20240808041410-882a6cd3294c h1:XQDnwQfisAlFAGKqabDcLdg9B+pRwS3nxS+03yP1g9o=
Expand Down
1 change: 0 additions & 1 deletion packages/eventindexer/.golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ linters:
- gocritic
- gofmt
# - revive
- gosec
- gosimple
- lll
- unused
Expand Down
1 change: 0 additions & 1 deletion packages/eventindexer/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
[![Golang](https://github.com/taikoxyz/taiko-mono/actions/workflows/golang.yml/badge.svg)](https://github.com/taikoxyz/taiko-mono/actions/workflows/golang.yml)
[![Relayer](https://codecov.io/gh/taikoxyz/taiko-mono/branch/main/graph/badge.svg?token=E468X2PTJC&flag=relayer)](https://codecov.io/gh/taikoxyz/taiko-mono)

# Indexer
Expand Down
2 changes: 1 addition & 1 deletion packages/guardian-prover-health-check/.default.env
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ DATABASE_HOST=localhost:3306
DATABASE_MAX_IDLE_CONNS=50
DATABASE_MAX_OPEN_CONNS=3000
DATABASE_CONN_MAX_LIFETIME_IN_MS=100000
GUARDIAN_PROVER_CONTRACT=0xDf8038e9f4535040D7421A89ead398b3A38366EC
GUARDIAN_PROVER_CONTRACT_ADDRESS=0xDf8038e9f4535040D7421A89ead398b3A38366EC
L1_RPC_URL=wss://l1ws.internal.taiko.xyz
L2_RPC_URL=wss://ws.internal.taiko.xyz
INTERVAL=12s
1 change: 0 additions & 1 deletion packages/guardian-prover-health-check/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
[![Golang](https://github.com/taikoxyz/taiko-mono/actions/workflows/golang.yml/badge.svg)](https://github.com/taikoxyz/taiko-mono/actions/workflows/golang.yml)
[![GuardianProverHealthCheck](https://codecov.io/gh/taikoxyz/taiko-mono/branch/main/graph/badge.svg?token=E468X2PTJC&flag=guardianproverhealthcheck)](https://codecov.io/gh/taikoxyz/taiko-mono)

# Guardian Prover Health Check Service
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ var (
Name: "guardianProverContractAddress",
Usage: "Address of the GuardianProver contract",
Category: healthCheckCategory,
EnvVars: []string{"GUARDIAN_PROVER_CONTRACT"},
EnvVars: []string{"GUARDIAN_PROVER_CONTRACT_ADDRESS"},
Required: true,
}
L1RPCUrl = &cli.StringFlag{
Expand Down
51 changes: 51 additions & 0 deletions packages/nfts/contracts/party-ticket/TaikoPartyTicketV2.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
// SPDX-License-Identifier: MIT
// Compatible with OpenZeppelin Contracts ^5.0.0
pragma solidity ^0.8.24;

import { TaikoPartyTicket } from "./TaikoPartyTicket.sol";

/// @title TaikoPartyTicketV2
/// @dev Upgrade to support Golden Ticket (winner of winners, singular) ticket
/// @custom:security-contact [email protected]
contract TaikoPartyTicketV2 is TaikoPartyTicket {
/// @notice Get the version of the contract
/// @return The version of the contract
function version() public pure returns (string memory) {
return "v2";
}

/// @notice Get individual token's URI
/// @param tokenId The token ID
/// @return The token URI
/// @dev re-implemented to support golden winner
function tokenURI(uint256 tokenId) public view virtual override returns (string memory) {
if (winnerIds.length == 0) {
return string(abi.encodePacked(baseURI, "/raffle.json"));
} else if (winners[tokenId] && winnerIds[0] == tokenId) {
return string(abi.encodePacked(baseURI, "/golden-winner.json"));
} else if (winners[tokenId]) {
return string(abi.encodePacked(baseURI, "/winner.json"));
} else {
return string(abi.encodePacked(baseURI, "/loser.json"));
}
}

/// @notice Checks if a tokenId is the golden winner
/// @param tokenId The token ID
/// @return True if the token is the golden winner
function isGoldenWinner(uint256 tokenId) public view returns (bool) {
return winners[tokenId] && winnerIds[0] == tokenId;
}

/// @notice Checks if an account has a golden winner token
/// @param account The account address
/// @return True if the account has a golden winner
function isGoldenWinner(address account) public view returns (bool) {
for (uint256 i = 0; i < balanceOf(account); i++) {
if (isGoldenWinner(tokenOfOwnerByIndex(account, i))) {
return true;
}
}
return false;
}
}
5 changes: 5 additions & 0 deletions packages/nfts/data/party-token/metadata/golden-winner.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"name": "[GW] KBW Party Raffle Ticket",
"description": "A unique raffle ticket for the KBW Party. This ticket won a special prize at the raffle.",
"image": "https://taikonfts.4everland.link/ipfs/bafybeif2piyppimpd4rn6wkq4mxtwdgajil7vt6shkb2gt72a2zyqufg2a/golden-winner.png"
}
2 changes: 1 addition & 1 deletion packages/nfts/data/party-token/metadata/loser.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "[L] KBW Party Raffle Ticket",
"description": "A raffle ticket for the KBW Party. This ticket won nothing at the raffle.",
"image": "https://taikonfts.4everland.link/ipfs/bafybeialwrhlnfb46o3mdd2gcrrc3ksf5exuji5lmwwcljynae4kdq4pae/loser.png"
"image": "https://taikonfts.4everland.link/ipfs/bafybeif2piyppimpd4rn6wkq4mxtwdgajil7vt6shkb2gt72a2zyqufg2a/loser.png"
}
2 changes: 1 addition & 1 deletion packages/nfts/data/party-token/metadata/raffle.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "KBW Party Raffle Ticket",
"description": "A raffle ticket for the KBW Party. This ticket gives you a chance to win a special prize.",
"image": "https://taikonfts.4everland.link/ipfs/bafybeialwrhlnfb46o3mdd2gcrrc3ksf5exuji5lmwwcljynae4kdq4pae/raffle.png"
"image": "https://taikonfts.4everland.link/ipfs/bafybeif2piyppimpd4rn6wkq4mxtwdgajil7vt6shkb2gt72a2zyqufg2a/raffle.png"
}
4 changes: 2 additions & 2 deletions packages/nfts/data/party-token/metadata/winner.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "[W] KBW Party Raffle Ticket",
"description": "A raffle ticket for the KBW Party. This ticket won a special prize at the raffle.",
"image": "https://taikonfts.4everland.link/ipfs/bafybeialwrhlnfb46o3mdd2gcrrc3ksf5exuji5lmwwcljynae4kdq4pae/winner.gif",
"animation_url": "https://taikonfts.4everland.link/ipfs/bafybeialwrhlnfb46o3mdd2gcrrc3ksf5exuji5lmwwcljynae4kdq4pae/winner.gif"
"image": "https://taikonfts.4everland.link/ipfs/bafybeif2piyppimpd4rn6wkq4mxtwdgajil7vt6shkb2gt72a2zyqufg2a/winner.gif",
"animation_url": "https://taikonfts.4everland.link/ipfs/bafybeif2piyppimpd4rn6wkq4mxtwdgajil7vt6shkb2gt72a2zyqufg2a/winner.gif"
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified packages/nfts/data/party-token/static/loser.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion packages/nfts/deployments/party-ticket/hekla.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"TaikoPartyTicket": "0x1fE073fb9C749Ba99aab01aEc4E9d08875ea55a9"
"TaikoPartyTicket": "0x1d504615c42130F4fdbEb87775585B250BA78422"
}
3 changes: 3 additions & 0 deletions packages/nfts/deployments/party-ticket/mainnet.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"TaikoPartyTicket": "0x00E6dc8B0a58d505de61309df3568Ba3f9734a6C"
}
7 changes: 5 additions & 2 deletions packages/nfts/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,10 @@
"galxe:deploy:mainnet": "forge clean && pnpm compile && forge script script/galxe/Deploy.s.sol --rpc-url https://rpc.mainnet.taiko.xyz --legacy --with-gas-price 1",
"tbzb:deploy:mainnet": "forge clean && pnpm compile && forge script script/trailblazers-badges/sol/Deploy.s.sol --rpc-url https://rpc.mainnet.taiko.xyz --broadcast --legacy --with-gas-price 13 ",
"taikoon:deploy:v2": "forge clean && pnpm compile && forge script script/taikoon/sol/UpgradeV2.sol --rpc-url https://rpc.mainnet.taiko.xyz --broadcast",
"kbw:deploy:hekla": "forge clean && pnpm compile && forge script script/party-ticket/sol/Deploy.s.sol --rpc-url https://rpc.hekla.taiko.xyz --broadcast --gas-estimate-multiplier 200"
"kbw:deploy:hekla": "forge clean && pnpm compile && forge script script/party-ticket/sol/Deploy.s.sol --rpc-url https://rpc.hekla.taiko.xyz --broadcast --gas-estimate-multiplier 200",
"kbw:deploy:mainnet": "forge clean && pnpm compile && forge script script/party-ticket/sol/Deploy.s.sol --rpc-url https://rpc.mainnet.taiko.xyz --broadcast --legacy --with-gas-price 30 ",
"kbw:upgradeV2:hekla": "forge clean && pnpm compile && forge script script/party-ticket/sol/UpgradeV2.s.sol --rpc-url https://rpc.hekla.taiko.xyz --broadcast --gas-estimate-multiplier 200",
"kbw:upgradeV2:mainnet": "forge clean && pnpm compile && forge script script/party-ticket/sol/UpgradeV2.s.sol --rpc-url https://rpc.mainnet.taiko.xyz --broadcast"
},
"devDependencies": {
"@types/node": "^20.11.30",
Expand Down Expand Up @@ -58,7 +61,7 @@
"ds-test": "github:dapphub/ds-test#e282159d5170298eb2455a6c05280ab5a73a4ef0",
"forge-std": "github:foundry-rs/forge-std",
"ipfs-http-client": "^60.0.1",
"merkletreejs": "^0.3.11",
"merkletreejs": "^0.4.0",
"murky": "github:dmfxyz/murky",
"p256-verifier": "github:taikoxyz/p256-verifier#v0.1.0",
"sharp": "^0.33.3",
Expand Down
10 changes: 9 additions & 1 deletion packages/nfts/script/party-ticket/sol/Deploy.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import { Merkle } from "murky/Merkle.sol";
import { ERC1967Proxy } from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol";
import { TaikoPartyTicket } from "../../../contracts/party-ticket/TaikoPartyTicket.sol";
import { IMinimalBlacklist } from "@taiko/blacklist/IMinimalBlacklist.sol";
import { TaikoPartyTicketV2 } from "../../../contracts/party-ticket/TaikoPartyTicketV2.sol";

contract DeployScript is Script {
UtilsScript public utils;
Expand All @@ -15,7 +16,7 @@ contract DeployScript is Script {
address public deployerAddress;

string baseURI =
"https://taikonfts.4everland.link/ipfs/bafybeia5mmkauevbhs4fm6wfib5wfifefrwfremlc67whrrgsgzj46kfsm";
"https://taikonfts.4everland.link/ipfs/bafybeiep3ju3glnzsrqdzaibv7v5ifa7dy4bkyprwkjz6wytl37oqwcmya";
IMinimalBlacklist blacklist = IMinimalBlacklist(0xfA5EA6f9A13532cd64e805996a941F101CCaAc9a);

uint256 mintFee = 0.002 ether;
Expand Down Expand Up @@ -50,7 +51,14 @@ contract DeployScript is Script {

console.log("Token Base URI:", baseURI);
console.log("Deployed TaikoPartyTicket to:", address(token));
/*
token.upgradeToAndCall(
address(new TaikoPartyTicketV2()), abi.encodeCall(TaikoPartyTicketV2.version, ())
);
TaikoPartyTicketV2 tokenV2 = TaikoPartyTicketV2(address(token));
*/
string memory finalJson = vm.serializeAddress(jsonRoot, "TaikoPartyTicket", address(token));
vm.writeJson(finalJson, jsonLocation);

Expand Down
54 changes: 54 additions & 0 deletions packages/nfts/script/party-ticket/sol/UpgradeV2.s.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.8.24;

import { UtilsScript } from "./Utils.s.sol";
import { Script, console } from "forge-std/src/Script.sol";
import { Merkle } from "murky/Merkle.sol";
import { ERC1967Proxy } from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol";
import { TaikoPartyTicket } from "../../../contracts/party-ticket/TaikoPartyTicket.sol";
import { IMinimalBlacklist } from "@taiko/blacklist/IMinimalBlacklist.sol";
import { TaikoPartyTicketV2 } from "../../../contracts/party-ticket/TaikoPartyTicketV2.sol";

contract DeployScript is Script {
UtilsScript public utils;
string public jsonLocation;
uint256 public deployerPrivateKey;
address public deployerAddress;

// hekla
//address tokenV1 = 0x1d504615c42130F4fdbEb87775585B250BA78422;
// mainnet
address tokenV1 = 0x00E6dc8B0a58d505de61309df3568Ba3f9734a6C;

function setUp() public {
utils = new UtilsScript();
utils.setUp();

jsonLocation = utils.getContractJsonLocation();
deployerPrivateKey = utils.getPrivateKey();
deployerAddress = utils.getAddress();
}

function run() public {
string memory jsonRoot = "root";

vm.startBroadcast(deployerPrivateKey);

TaikoPartyTicket token = TaikoPartyTicket(tokenV1);

console.log("Deployed TaikoPartyTicket to:", address(token));

token.upgradeToAndCall(
address(new TaikoPartyTicketV2()), abi.encodeCall(TaikoPartyTicketV2.version, ())
);

TaikoPartyTicketV2 tokenV2 = TaikoPartyTicketV2(address(token));
console.log("Upgraded token to:", address(tokenV2));
console.log("Version:", tokenV2.version());

string memory finalJson = vm.serializeAddress(jsonRoot, "TaikoPartyTicket", address(token));
vm.writeJson(finalJson, jsonLocation);

vm.stopBroadcast();
}
}
Loading

0 comments on commit 8528d4d

Please sign in to comment.