@settlemint/solidity-diamond-bond
Version:
Smart contract set to build an enterprise bond usecase in SettleMint
153 lines • 4.35 kB
JSON
{
"compiler": {
"version": "0.8.30+commit.73712a01"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "struct IDiamond.FacetCut[]",
"name": "_diamondCut",
"type": "tuple[]",
"components": [
{
"internalType": "address",
"name": "facetAddress",
"type": "address"
},
{
"internalType": "enum IDiamond.FacetCutAction",
"name": "action",
"type": "uint8"
},
{
"internalType": "bytes4[]",
"name": "functionSelectors",
"type": "bytes4[]"
}
],
"indexed": false
},
{
"internalType": "address",
"name": "_init",
"type": "address",
"indexed": false
},
{
"internalType": "bytes",
"name": "_calldata",
"type": "bytes",
"indexed": false
}
],
"type": "event",
"name": "DiamondCut",
"anonymous": false
},
{
"inputs": [
{
"internalType": "struct IDiamond.FacetCut[]",
"name": "_diamondCut",
"type": "tuple[]",
"components": [
{
"internalType": "address",
"name": "facetAddress",
"type": "address"
},
{
"internalType": "enum IDiamond.FacetCutAction",
"name": "action",
"type": "uint8"
},
{
"internalType": "bytes4[]",
"name": "functionSelectors",
"type": "bytes4[]"
}
]
},
{
"internalType": "address",
"name": "_init",
"type": "address"
},
{
"internalType": "bytes",
"name": "_calldata",
"type": "bytes"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "diamondCut"
}
],
"devdoc": {
"kind": "dev",
"methods": {
"diamondCut((address,uint8,bytes4[])[],address,bytes)": {
"params": {
"_calldata": "A function call, including function selector and arguments _calldata is executed with delegatecall on _init",
"_diamondCut": "Contains the facet addresses and function selectors",
"_init": "The address of the contract or facet to execute _calldata"
}
}
},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {
"diamondCut((address,uint8,bytes4[])[],address,bytes)": {
"notice": "Add/replace/remove any number of functions and optionally execute a function with delegatecall"
}
},
"version": 1
}
},
"settings": {
"remappings": [
"@openzeppelin/=node_modules/@openzeppelin/",
"@prb/math/=node_modules/@prb/math/",
"forge-std/=lib/forge-std/src/",
"hardhat/=node_modules/hardhat/"
],
"optimizer": {
"enabled": true,
"runs": 200
},
"metadata": {
"bytecodeHash": "ipfs"
},
"compilationTarget": {
"contracts/interfaces/IDiamondCut.sol": "IDiamondCut"
},
"evmVersion": "cancun",
"libraries": {},
"viaIR": true
},
"sources": {
"contracts/interfaces/IDiamond.sol": {
"keccak256": "0xe64a3e7835e76770dde0a4ebd76518adf3625bad068d7f1ebf67226c8b9f45bb",
"urls": [
"bzz-raw://ae31e558bc047906d9405946934b997f2422e89f90a7c401d14e6bed3288a7b3",
"dweb:/ipfs/QmRz2yxg5EU7bQfKjV5v2BoBioSg4b3jS3B2Q26HUinjNH"
],
"license": "FSL-1.1-MIT"
},
"contracts/interfaces/IDiamondCut.sol": {
"keccak256": "0xd5ceb83ab242c9121c7aaea777284a3f9a197fcf233c2f87a05894d3849a34c8",
"urls": [
"bzz-raw://fc6be88f47cd1f40e4c37b9bff8028836baf85c04862c810c92644030474da2a",
"dweb:/ipfs/QmRnNhYSUH3REeBJRgkNuEDPnFF34Dosae5BJaP7ZCCDBT"
],
"license": "FSL-1.1-MIT"
}
},
"version": 1
}