Gala security record

As of 3 Nov 2026, Gala has 4 audit reports by 1 security firm on Trustblock; the latest is by CertiK, dated 22 Nov 2024. Those reports list no open critical findings. It also holds 1 deployed contract on 1 chain and 1 incident (latest 19 May 2024).

Critical findings
No open critical findings
Across the 4 reports, 2 critical findings were reported. Each is marked fixed by the firm that reported it. See the findings
Incident
Incident 19 May 2024
Source: De.Fi incident database. 2 audits have been published since. See the incident
Open the latest report
Your label, live
Get the label for your site

Record last updated . It holds audits, findings and contracts up to Nov 2026, and incidents up to Oct 2026. Trustblock does not review code.

Audits4

Newest first

AuditSecurity firmDateScopeCritical findingsReport
Gala Games - TON BridgeSecurity firm: CertiKDate: Scope: Not recorded (see the report)1 critical finding, fixedOpen · skynet.certik.com
Gala - FilmSecurity firm: CertiKDate: Scope: 1 address on EthereumNo open critical findingsOpen · skynet.certik.com
Gala - governance voting APISecurity firm: CertiKDate: Scope: Not recorded (see the report)1 critical finding, fixedOpen · skynet.certik.com
Gala Games - GalaV2Security firm: CertiKDate: Scope: Files named in the reportNo open critical findingsOpen · skynet.certik.com

Findings37

Statuses are the security firm’s own, from each report.

SeverityOpenAcknowledgedFixed
Critical002
High212
Medium003
Low5022
HighCentralization Related RisksGala - Film · CertiK · 21 May 2024Open

In the contract `GalaFilm`, the role `MINTER_ROLE` has authority over the following functions: - `mint()` - `mintBulk()` Any compromise to a `MINTER_ROLE` account may allow a hacker to take advantage of this authority and mint any amount of tokens to any address, particularly one they control. In the contract `GalaFilm`, the role `BLOCKLISTER_ROLE` has authority over the following functions: - `blocklist()` - `unBlocklist()` Any compromise to a `BLOCKLISTER_ROLE` account may allow a hacker to take advantage of this authority and block an address that should not be blocked, or unblock a malicious address during a critical period of time. In the contract `GalaFilm`, the role `DEFAULT_ADMIN_ROLE` has authority over the following functions: - `pause()` - `unpause()` - `transferAdmin()` - `grantRole()` - `revokeRole()` Any compromise to a `DEFAULT_ADMIN_ROLE` account may allow a hacker to take advantage of this authority and pause or unpause sensitive functions within the contract during a critical period of time. By default, the `DEFAULT_ADMIN_ROLE` is the admin role of all other roles and thus can also grant and revoke any role from any account, including their own, and `UPGRADER_ROLE`. All roles have the ability to renounce their own role through `renounceRole()`, potentially leaving the contract without a privileged account.

Open the report
HighCentralized Control of Contract UpgradeGala - Film · CertiK · 21 May 2024Open

The `GalaFilm` contract inherits upgradeable contracts, indicating that it is part of an upgradeable system. The privileged role `UPGRADER_ROLE` has the authority to update the implementation contract to possess any logic. Any compromise of the privileged account could allow a hacker to exploit this authority, potentially altering the implementation contract pointed to by the proxy and thus executing malicious functionality within the implementation contract.

Open the report
Low`for` Loop OptimizationsGala - Film · CertiK · 21 May 2024Open

The following operations can be made in the cited `for` loop of the codebase: 1. The increment operation saves a small amount of gas if performed from the left (`++i`) instead of from the righthand side (`i++`). 2. The increment operation can be placed in an `unchecked` block at the end of the loop logic, since it is bounded above by the loop limit which must be a `uint256` value, avoiding overflow.

Open the report
LowCustom Errors Can Be UsedGala - Film · CertiK · 21 May 2024Open

From Solidity `v0.8.4`, there are more gas-efficient ways to explain to users why an operation failed than through the use of strings. Using custom errors can significantly reduce the size of the deployed bytecode and reduce the gas cost when calls revert.

Open the report
LowModifier `whenNotPaused` Used on Privileged FunctGala - Film · CertiK · 21 May 2024Open

Modifier `whenNotPaused` is used both for user-facing and privileged actions. The privileged actions affected by the modifier are: - `mint()` - `mintBulk()` - `blocklist()` - `unBlocklist()` - `addMinter()` - `removeMinter()` - `addUpgrader()` - `removeUpgrader()` - `addBlocklister()` - `removeBlocklister()` - `transferAdmin()` - `grantRole()` - `revokeRole()` Please confirm that it is the intention of the team to prevent the use of each of these functions when the contract is paused.

Open the report
LowNo protection against blocklisting `DEFAULT_ADMINGala - Film · CertiK · 21 May 2024Open

Function `blocklist()` ensures that the address to be blocked does not possess the `MINTER_ROLE`, `UPGRADER_ROLE`, or `BLOCKLISTER_ROLE`, but the function does not prevent the `DEFAULT_ADMIN_ROLE` from being blocklisted.

Open the report
LowUnnecessary Direct InheritancesGala - Film · CertiK · 21 May 2024Open

Contracts `Initializable` and `ERC20Upgradeable` are already inherited implicitly through other explicit inheritances and it is not necessary to explicitly include them.

Open the report

Incidents1

Attached through a shared contract address. Our incident data ends in Oct 2026.

Incident

Incident,

Source: De.Fi incident database.

Audits before it
2.
Audits since
2, the latest dated 22 Nov 2024.

Contracts1

AddressChainSource code
0xacc36ebdc4b394f0b03ee2bbd1a6b701c0ab15cdChain: EthereumSource code: Verified source

All 1 address and the files the reports name

Show this on your site

Is this your project? Show this record on your own website. The label states what the record holds, links to this page and updates by itself. It is free and needs no sign-in.

Content

Facts

Automatic: the three strongest facts of this project’s own record (its last audit and two more), highlighted. They update with the record. Picking a fact turns Automatic off.

Fixed as
Language

Style

Layout
Theme
Accent
Corners

Format

Size
Date
Embed as
HTML
<head>
<script src="https://widget.trustblock.run/project-widget.min.js" defer></script>
</head>
<body>
<div
data-tb-project-widget
data-tb-project-slug="gala-games"
></div>
</body>

Paste the code where the label should appear. It uses no API credit and updates by itself.

Something wrong on this page? A missing report, a wrong date, a finding that was fixed since. Tell us and we check it against its source.

Tell us