> For the complete documentation index, see [llms.txt](https://smart-global.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://smart-global.gitbook.io/docs/smart-contracts/fee-contract/administrative-functions.md).

# Administrative Functions

## Technical Reference: Administrative Functions

The functions in this section are utilized to establish initial connections between the governance treasury (`FeeContract`) and core ecosystem contracts (the native token and package sales gateway). Invoking these functions is restricted to the owner account (`onlyOwner`). These initial connection functions are executable strictly once. Following execution, the connection variables are permanently locked.

### 1. One-Time Native Token Address Configuration (`setGlobalToken`)

Function Signature: `function setGlobalToken(address _globalToken) external onlyOwner`

#### 💡 Systemic Logic and Application

This function registers the native ecosystem token contract (`SmartGlobalToken - SGT`) to the fee treasury. The governance fund utilizes this connection to query token balances and execute token transfers during the implementation of financial resolutions (Proposal Type 1). This function can be executed strictly once; following the initial setup, the connection variable is locked.

#### 🧮 System State Change

\[ The `globalToken` variable updates to the native token contract address (`_globalToken`) ]

#### 🛡️ Execution Conditions and Restrictions

* Administrative Authentication: The caller must be the contract owner (`onlyOwner`).
* One-Time Lock: The `globalToken` variable must evaluate to the zero address (`require(address(globalToken) == address(0), "Token already set")`).
* Target Address Validation: The submitted address must not evaluate to the zero address (`require(_globalToken != address(0))`).

### 2. One-Time Payment Gateway Contract Address Configuration (`setGlobalPay`)

Function Signature: `function setGlobalPay(address _globalPay) external onlyOwner`

#### 💡 Systemic Logic and Application

This function connects the governance fund to the package sales gateway contract (`SmartGlobalPay`). The fund utilizes this connection to verify user eligibility during community voting and identify members of the 300-point club (`ownerPoint300`) to calculate voting thresholds. This function can be executed strictly once by the founder. Subsequent modifications to the network address require execution through a governance voting mechanism (Proposal Type 2).

#### 🧮 System State Change

\[ The `globalPayAddress` variable updates to the payment contract address (`_globalPay`) ]

#### 🛡️ Execution Conditions and Restrictions

* Administrative Authentication: The caller must be the contract owner (`onlyOwner`).
* One-Time Lock: The `globalPayAddress` variable must evaluate to the zero address (`require(globalPayAddress == address(0), "Network already set")`).
* Target Address Validation: The submitted address must not evaluate to the zero address (`require(_globalPay != address(0))`).
