Skip to content
This repository was archived by the owner on Aug 21, 2023. It is now read-only.

Commit c2f6779

Browse files
authored
Merge pull request #54 from bugout-dev/add-transferability-burnability-methods
Added methods to view and change pool transferability/burnability
2 parents 242bbd1 + fc02a5b commit c2f6779

4 files changed

Lines changed: 375 additions & 46 deletions

File tree

contracts/terminus/TerminusFacet.sol

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,26 @@ contract TerminusFacet is ERC1155WithTerminusStorage {
176176
return LibTerminus.terminusStorage().poolSupply[poolID];
177177
}
178178

179+
function poolIsTransferable(uint256 poolID) external view returns (bool) {
180+
return !LibTerminus.terminusStorage().poolNotTransferable[poolID];
181+
}
182+
183+
function poolIsBurnable(uint256 poolID) external view returns (bool) {
184+
return LibTerminus.terminusStorage().poolBurnable[poolID];
185+
}
186+
187+
function setPoolTransferable(uint256 poolID, bool transferable) external {
188+
LibTerminus.enforcePoolIsController(poolID, msg.sender);
189+
LibTerminus.TerminusStorage storage ts = LibTerminus.terminusStorage();
190+
ts.poolNotTransferable[poolID] = !transferable;
191+
}
192+
193+
function setPoolBurnable(uint256 poolID, bool burnable) external {
194+
LibTerminus.enforcePoolIsController(poolID, msg.sender);
195+
LibTerminus.TerminusStorage storage ts = LibTerminus.terminusStorage();
196+
ts.poolBurnable[poolID] = burnable;
197+
}
198+
179199
function createSimplePool(uint256 _capacity) external returns (uint256) {
180200
LibTerminus.enforceIsController();
181201
LibTerminus.TerminusStorage storage ts = LibTerminus.terminusStorage();

0 commit comments

Comments
 (0)