Skip to content

Commit 25ddd0d

Browse files
authored
Merge pull request #48 from o1-labs-XT/refactor/remove-params-configs
Simplify Contract by Removing Config/Params
2 parents 5a9ef89 + b1475c1 commit 25ddd0d

19 files changed

Lines changed: 415 additions & 3840 deletions

README.md

Lines changed: 2 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@ The `FungibleToken` contract stores:
1717

1818
- `decimals`: Token decimal precision
1919
- `admin`: Administrator public key with special privileges
20-
- `packedAmountConfigs`: Configuration for mint/burn operations (Bools which configure what type of amount checks are performed)
21-
- `packedMintParams`, `packedBurnParams`: Parameters for mint/burn operations (Numeric values which parametrize the amount checks)
2220
- `packedDynamicProofConfigs`: Configuration for dynamic proof verification
2321
- `vKeyMapRoot`: Root hash for verification key Merkle map (for side-loaded proofs)
2422

@@ -42,10 +40,6 @@ await Mina.transaction(
4240
await token.initialize(
4341
adminPublicKey, // Admin account
4442
UInt8.from(9), // Decimals (e.g., 9)
45-
MintConfig.default,
46-
mintParams,
47-
BurnConfig.default,
48-
burnParams,
4943
MintDynamicProofConfig.default,
5044
BurnDynamicProofConfig.default,
5145
TransferDynamicProofConfig.default,
@@ -61,39 +55,11 @@ await Mina.transaction(
6155
- `burn/burnWithProof`: Destroy tokens
6256
- `transferCustom/transferCustomWithProof`: Transfer tokens between accounts
6357
- `approveBaseCustom/approveBaseCustomWithProof`: Approve custom token account updates
64-
- `updateMintConfig/updateBurnConfig`: Update token configuration
58+
- `updateDynamicProofConfig`: Update the dynamic proof configuration for a specific operation
6559
- `updateSideLoadedVKeyHash`: Update the verification key for side loaded proofs
6660
- `setAdmin`: Change the admin account
6761

68-
### Updating State
69-
70-
To update state (admin key, configs, params, verification keys), there are several methods exposed on the contract.
71-
72-
#### Full Objects
73-
74-
To fully replace a config or param on chain, you can use the methods:
75-
76-
- `updateMintConfig` - update the entire mint configuration
77-
- `updateBurnConfig` - update the entire burn configuration
78-
- `updateMintParams` - update the entire mint parameters
79-
- `updateBurnParams` - update the entire burn parameters
80-
81-
#### Partial Objects
82-
83-
To replace a single key within a params object, several methods are exposed:
84-
85-
- `updateMintFixedAmount` - update the fixed amount allowed for mint operations
86-
- `updateBurnFixedAmount` - update the fixed amount allowed for burn operations
87-
- `updateMintMinAmount` - update the minimum amount allowed for mint operations
88-
- `updateBurnMinAmount` - update the minimum amount allowed for burn operations
89-
- `updateMintMaxAmount` - update the maximum amount allowed for mint operations
90-
- `updateBurnMaxAmount` - update the maximum amount allowed for burn operations
91-
- `updateMintFixedAmountConfig` - update the fixed amount config for mint operations
92-
- `updateBurnFixedAmountConfig` - update the fixed amount config for burn operations
93-
- `updateMintRangedAmountConfig` - update the ranged amount config for mint operations
94-
- `updateBurnRangedAmountConfig` - update the ranged amount config for burn operations
95-
96-
## Running Examples
62+
### Running Examples
9763

9864
The repository includes several example applications:
9965

0 commit comments

Comments
 (0)