Skip to content

Instantly share code, notes, and snippets.

View mudgen's full-sized avatar

Nick Mudge mudgen

View GitHub Profile
// SPDX-License-Identifier: MIT
pragma solidity 0.8.6;
contract ContractA {
string internal tokenName = "FunToken";
function initialize() external {
address contractBAddress = 0x6B175474E89094C44Da98b954EedeAC495271d0F;
did:3:kjzl6cwe1jw1497jm1ckqomr59zuprfmyjqqsk4mayxovtmgynx89x2ktfsvk69
pragma solidity ^0.8.17;
library LibPerson {
uint256 private constant INNER_STRUCT = 0;
struct Car {
string brand;
string model;
}
// SPDX-License-Identifier: MIT
pragma solidity 0.8.11;
// Note: A facet is a contract used by a diamond.
// Note: This is a contrived example to show how to share internal functions between facets
// Note: It is not an accurate or complete implementation
// This design of sharing internal functions between facets works because remember the diamond proxy holds all the
// data and the facets read and write to the diamond proxy contract storage-- not to their own contract storage.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
DiamondStorage storage ds = diamondStorage();
bytes4 functionSelector = bytes4(keccak256("myFunction(uint256)"));
// get facet address of function
address facet = ds.selectorToFacet[functionSelector];
bytes memory myFunctionCall = abi.encodeWithSelector(functionSelector, 4);
(bool success, bytes memory result) = address(facet).delegatecall(myFunctionCall);
require(success, "myFunction failed");
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;
struct Data {
uint a;
uint b;
}
//SPDX-License-Identifier: MIT
pragma solidity =0.8.9;
library MyLib {
function appStorage()
internal
pure
returns (AppStorage storage ds)
{
assembly {
@mudgen
mudgen / right_click_menu
Created July 29, 2013 23:33
Right click menu popup functionality
def getDirectoryPopup(event):
from com.inductiveautomation.ignition.client.images import PathIcon
from java.awt import Insets,Dimension,FlowLayout,Component,BorderLayout
from javax.swing import SwingConstants,JMenuItem,BorderFactory,JPopupMenu,JLabel
tree = event.source
selItem = tree.selectedItem
selPath = tree.selectedPath
def addRecipe(event):
app.directories.addRecipe(tree)
DiamondStorage storage ds = diamondStorage();
bytes4 functionSelector = bytes4(keccak256("myFunction(uint256)"));
// get facet address of function
address facet = ds.selectorToFacet[functionSelector];
bytes memory myFunctionCall = abi.encodeWithSelector(functionSelector, 4);
(bool success, uint result) = address(facet).delegatecall(myFunctionCall);
require(success, "myFunction failed");
// SPDX-License-Identifier: MIT
pragma solidity 0.8.11;
import { LibDiamond } from "../libraries/LibDiamond.sol";
import { IDiamondCut } from "../interfaces/IDiamondCut.sol";
import { IERC165 } from "../interfaces/IERC165.sol";
import { IERC721 } from "../interfaces/IERC721.sol";
contract Diamond {