use generated list

pull/2917/head
filip mertens 2 years ago
parent aeeb3d1cf1
commit ae41e0803f
  1. 275
      libs/remix-ui/editor/src/lib/providers/completion/completionGlobals.ts
  2. 278
      libs/remix-ui/editor/src/lib/providers/completion/contracts/OpenZeppelinContracts.txt

@ -1,5 +1,16 @@
import { IRange } from "monaco-editor";
import monaco from "../../../types/monaco";
import path from "path";
let OZContracts;
// @ts-ignore
import('raw-loader!libs/remix-ui/editor/src/lib/providers/completion/contracts/OpenZeppelinContracts.txt').then(
(txt) => {
// eslint-disable-next-line @typescript-eslint/no-unused-vars
OZContracts = txt.default.split('\n').filter(x => !x.includes('mock'))
}
)
export function getStringCompletionItems(range: IRange, monaco): monaco.languages.CompletionItem[] {
return [
@ -390,262 +401,16 @@ export function GeCompletionUnits(range: IRange, monaco): monaco.languages.Compl
return completionItems;
}
export function GetImports(range: IRange, monaco): monaco.languages.CompletionItem[] {
let list = [
{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/token/ERC20/ERC20.sol',
label: 'OZ ERC20',
range
},
{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/token/ERC721/ERC721.sol',
label: 'OZ ERC721',
range
},
{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/access/Ownable.sol',
label: 'OZ Ownable',
range
},
{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/utils/Counters.sol',
label: 'OZ Counters',
range
},
{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/utils/Address.sol',
label: 'OZ Address',
range
},
{
detail: '@openzeppelin/contracts/utils/Context.sol',
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/utils/Context.sol',
label: 'OZ Context',
range
},
{
detail: '@openzeppelin/contracts/utils/EnumerableSet.sol',
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/utils/EnumerableSet.sol',
label: 'OZ EnumerableSet',
range
},
{
detail: '@openzeppelin/contracts/utils/EnumerableMap.sol',
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/utils/EnumerableMap.sol',
label: 'OZ EnumerableMap',
range
},
{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/utils/Strings.sol',
label: 'OZ Strings',
range
},
{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/utils/ReentrancyGuard.sol',
label: 'OZ ReentrancyGuard',
range
},
{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/utils/Pausable.sol',
label: 'OZ Pausable',
range
},
{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/utils/structs/EnumerableSet.sol',
label: 'OZ EnumerableSet',
range
},
{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/utils/structs/EnumerableMap.sol',
label: 'OZ EnumerableMap',
range
},{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/utils/math/SafeMath.sol',
label: 'OZ SafeMath',
range
},{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/utils/math/SafeCast.sol',
label: 'OZ SafeCast',
range
},
{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/utils/math/Math.sol',
label: 'OZ Math',
range
},{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/utils/math/SignedSafeMath.sol',
label: 'OZ SignedSafeMath',
range
},
{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/utils/math/SafeMath.sol',
label: 'OZ SafeMath',
range
},{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/utils/math/SafeCast.sol',
label: 'OZ SafeCast',
range
},{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol',
label: 'OZ ERC20Burnable',
range
},
{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol',
label: 'OZ ERC20Pausable',
range
},
{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/token/ERC20/extensions/ERC20Snapshot.sol',
label: 'OZ ERC20Snapshot',
range
},
{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol',
label: 'OZ ERC20Permit',
range
},
{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Votes.sol',
label: 'OZ ERC20Votes',
range
},
{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/token/ERC1155/ERC1155.sol',
label: 'OZ ERC1155',
range
},
{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/token/ERC20/IERC20.sol',
label: 'OZ IERC20',
range
},
{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/token/ERC721/IERC721.sol',
label: 'OZ IERC721',
range
},
{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/token/ERC1155/IERC1155.sol',
label: 'OZ IERC1155',
range
},
{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/token/ERC20/IERC20Metadata.sol',
label: 'OZ IERC20Metadata',
range
},
{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/token/ERC721/IERC721Metadata.sol',
label: 'OZ IERC721Metadata',
range
},
{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/token/ERC1155/IERC1155MetadataURI.sol',
label: 'OZ IERC1155MetadataURI',
range
},
{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol',
label: 'OZ IERC1155Receiver',
range
},
{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol',
label: 'OZ IERC721Receiver',
range
},
{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol',
label: 'OZ SafeERC20',
range
},
{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/governance/Governor.sol',
label: 'OZ Governor',
range
},
{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol',
label: 'OZ GovernorCountingSimple',
range
},{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/governance/extensions/GovernorVotes.sol',
label: 'OZ GovernorVotes',
range
},{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol',
label: 'OZ GovernorVotesQuorumFraction',
range
},{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/governance/extensions/GovernorTimelockCompound.sol',
label: 'OZ GovernorTimelockCompound',
range
},{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol',
label: 'OZ GovernorTimelockControl',
range
},{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol',
label: 'OZ GovernorCountingSimple',
range
},{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/governance/extensions/GovernorSettings.sol',
label: 'OZ GovernorSettings',
range
},{
kind: monaco.languages.CompletionItemKind.Module,
insertText: '@openzeppelin/contracts/governance/extensions/GovernorCompatibilityBravo.sol',
label: 'OZ GovernorCompatibilityBravo',
range
}
]
list = list.map((item) => {
let list = []
list.filter
list = OZContracts
.map((item) => {
const filename = path.basename(item)
return {
...item,
label: `${item.label}: ${item.insertText}`,
kind: monaco.languages.CompletionItemKind.Module,
range: range,
label: `OZ ${filename}: ${item}`,
insertText: `@openzeppelin${item}`,
}
})
console.log(list)

@ -0,0 +1,278 @@
/contracts/access/AccessControl.sol
/contracts/access/AccessControlCrossChain.sol
/contracts/access/AccessControlEnumerable.sol
/contracts/access/IAccessControl.sol
/contracts/access/IAccessControlEnumerable.sol
/contracts/access/Ownable.sol
/contracts/access/Ownable2Step.sol
/contracts/crosschain/amb/CrossChainEnabledAMB.sol
/contracts/crosschain/amb/LibAMB.sol
/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL1.sol
/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL2.sol
/contracts/crosschain/arbitrum/LibArbitrumL1.sol
/contracts/crosschain/arbitrum/LibArbitrumL2.sol
/contracts/crosschain/CrossChainEnabled.sol
/contracts/crosschain/errors.sol
/contracts/crosschain/optimism/CrossChainEnabledOptimism.sol
/contracts/crosschain/optimism/LibOptimism.sol
/contracts/crosschain/polygon/CrossChainEnabledPolygonChild.sol
/contracts/finance/PaymentSplitter.sol
/contracts/finance/VestingWallet.sol
/contracts/governance/compatibility/GovernorCompatibilityBravo.sol
/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol
/contracts/governance/extensions/GovernorCountingSimple.sol
/contracts/governance/extensions/GovernorPreventLateQuorum.sol
/contracts/governance/extensions/GovernorProposalThreshold.sol
/contracts/governance/extensions/GovernorSettings.sol
/contracts/governance/extensions/GovernorTimelockCompound.sol
/contracts/governance/extensions/GovernorTimelockControl.sol
/contracts/governance/extensions/GovernorVotes.sol
/contracts/governance/extensions/GovernorVotesComp.sol
/contracts/governance/extensions/GovernorVotesQuorumFraction.sol
/contracts/governance/extensions/IGovernorTimelock.sol
/contracts/governance/Governor.sol
/contracts/governance/IGovernor.sol
/contracts/governance/TimelockController.sol
/contracts/governance/utils/IVotes.sol
/contracts/governance/utils/Votes.sol
/contracts/interfaces/draft-IERC1822.sol
/contracts/interfaces/draft-IERC2612.sol
/contracts/interfaces/IERC1155.sol
/contracts/interfaces/IERC1155MetadataURI.sol
/contracts/interfaces/IERC1155Receiver.sol
/contracts/interfaces/IERC1271.sol
/contracts/interfaces/IERC1363.sol
/contracts/interfaces/IERC1363Receiver.sol
/contracts/interfaces/IERC1363Spender.sol
/contracts/interfaces/IERC165.sol
/contracts/interfaces/IERC1820Implementer.sol
/contracts/interfaces/IERC1820Registry.sol
/contracts/interfaces/IERC20.sol
/contracts/interfaces/IERC20Metadata.sol
/contracts/interfaces/IERC2309.sol
/contracts/interfaces/IERC2981.sol
/contracts/interfaces/IERC3156.sol
/contracts/interfaces/IERC3156FlashBorrower.sol
/contracts/interfaces/IERC3156FlashLender.sol
/contracts/interfaces/IERC4626.sol
/contracts/interfaces/IERC721.sol
/contracts/interfaces/IERC721Enumerable.sol
/contracts/interfaces/IERC721Metadata.sol
/contracts/interfaces/IERC721Receiver.sol
/contracts/interfaces/IERC777.sol
/contracts/interfaces/IERC777Recipient.sol
/contracts/interfaces/IERC777Sender.sol
/contracts/metatx/ERC2771Context.sol
/contracts/metatx/MinimalForwarder.sol
/contracts/mocks/AccessControlCrossChainMock.sol
/contracts/mocks/AccessControlEnumerableMock.sol
/contracts/mocks/AccessControlMock.sol
/contracts/mocks/AddressImpl.sol
/contracts/mocks/ArraysMock.sol
/contracts/mocks/BadBeacon.sol
/contracts/mocks/Base64Mock.sol
/contracts/mocks/BitmapMock.sol
/contracts/mocks/CallReceiverMock.sol
/contracts/mocks/CheckpointsMock.sol
/contracts/mocks/ClashingImplementation.sol
/contracts/mocks/ClonesMock.sol
/contracts/mocks/compound/CompTimelock.sol
/contracts/mocks/ConditionalEscrowMock.sol
/contracts/mocks/ContextMock.sol
/contracts/mocks/CountersImpl.sol
/contracts/mocks/Create2Impl.sol
/contracts/mocks/crosschain/bridges.sol
/contracts/mocks/crosschain/receivers.sol
/contracts/mocks/DoubleEndedQueueMock.sol
/contracts/mocks/DummyImplementation.sol
/contracts/mocks/ECDSAMock.sol
/contracts/mocks/EIP712External.sol
/contracts/mocks/EnumerableMapMock.sol
/contracts/mocks/EnumerableSetMock.sol
/contracts/mocks/ERC1155BurnableMock.sol
/contracts/mocks/ERC1155Mock.sol
/contracts/mocks/ERC1155PausableMock.sol
/contracts/mocks/ERC1155ReceiverMock.sol
/contracts/mocks/ERC1155SupplyMock.sol
/contracts/mocks/ERC1155URIStorageMock.sol
/contracts/mocks/ERC1271WalletMock.sol
/contracts/mocks/ERC165/ERC165InterfacesSupported.sol
/contracts/mocks/ERC165/ERC165MaliciousData.sol
/contracts/mocks/ERC165/ERC165MissingData.sol
/contracts/mocks/ERC165/ERC165NotSupported.sol
/contracts/mocks/ERC165/ERC165ReturnBomb.sol
/contracts/mocks/ERC165CheckerMock.sol
/contracts/mocks/ERC165Mock.sol
/contracts/mocks/ERC165StorageMock.sol
/contracts/mocks/ERC1820ImplementerMock.sol
/contracts/mocks/ERC20BurnableMock.sol
/contracts/mocks/ERC20CappedMock.sol
/contracts/mocks/ERC20DecimalsMock.sol
/contracts/mocks/ERC20FlashMintMock.sol
/contracts/mocks/ERC20Mock.sol
/contracts/mocks/ERC20PausableMock.sol
/contracts/mocks/ERC20PermitMock.sol
/contracts/mocks/ERC20SnapshotMock.sol
/contracts/mocks/ERC20VotesCompMock.sol
/contracts/mocks/ERC20VotesMock.sol
/contracts/mocks/ERC20WrapperMock.sol
/contracts/mocks/ERC2771ContextMock.sol
/contracts/mocks/ERC3156FlashBorrowerMock.sol
/contracts/mocks/ERC4626Mock.sol
/contracts/mocks/ERC721BurnableMock.sol
/contracts/mocks/ERC721ConsecutiveMock.sol
/contracts/mocks/ERC721EnumerableMock.sol
/contracts/mocks/ERC721Mock.sol
/contracts/mocks/ERC721PausableMock.sol
/contracts/mocks/ERC721ReceiverMock.sol
/contracts/mocks/ERC721RoyaltyMock.sol
/contracts/mocks/ERC721URIStorageMock.sol
/contracts/mocks/ERC721VotesMock.sol
/contracts/mocks/ERC777Mock.sol
/contracts/mocks/ERC777SenderRecipientMock.sol
/contracts/mocks/EtherReceiverMock.sol
/contracts/mocks/GovernorCompatibilityBravoMock.sol
/contracts/mocks/GovernorCompMock.sol
/contracts/mocks/GovernorMock.sol
/contracts/mocks/GovernorPreventLateQuorumMock.sol
/contracts/mocks/GovernorTimelockCompoundMock.sol
/contracts/mocks/GovernorTimelockControlMock.sol
/contracts/mocks/GovernorVoteMock.sol
/contracts/mocks/GovernorWithParamsMock.sol
/contracts/mocks/InitializableMock.sol
/contracts/mocks/MathMock.sol
/contracts/mocks/MerkleProofWrapper.sol
/contracts/mocks/MulticallTest.sol
/contracts/mocks/MulticallTokenMock.sol
/contracts/mocks/MultipleInheritanceInitializableMocks.sol
/contracts/mocks/Ownable2StepMock.sol
/contracts/mocks/OwnableMock.sol
/contracts/mocks/PausableMock.sol
/contracts/mocks/PullPaymentMock.sol
/contracts/mocks/ReentrancyAttack.sol
/contracts/mocks/ReentrancyMock.sol
/contracts/mocks/RegressionImplementation.sol
/contracts/mocks/SafeCastMock.sol
/contracts/mocks/SafeERC20Helper.sol
/contracts/mocks/SafeMathMock.sol
/contracts/mocks/SignatureCheckerMock.sol
/contracts/mocks/SignedMathMock.sol
/contracts/mocks/SignedSafeMathMock.sol
/contracts/mocks/SingleInheritanceInitializableMocks.sol
/contracts/mocks/StorageSlotMock.sol
/contracts/mocks/StringsMock.sol
/contracts/mocks/TimersBlockNumberImpl.sol
/contracts/mocks/TimersTimestampImpl.sol
/contracts/mocks/UUPS/UUPSLegacy.sol
/contracts/mocks/UUPS/UUPSUpgradeableMock.sol
/contracts/mocks/VotesMock.sol
/contracts/mocks/wizard/MyGovernor1.sol
/contracts/mocks/wizard/MyGovernor2.sol
/contracts/mocks/wizard/MyGovernor3.sol
/contracts/proxy/beacon/BeaconProxy.sol
/contracts/proxy/beacon/IBeacon.sol
/contracts/proxy/beacon/UpgradeableBeacon.sol
/contracts/proxy/Clones.sol
/contracts/proxy/ERC1967/ERC1967Proxy.sol
/contracts/proxy/ERC1967/ERC1967Upgrade.sol
/contracts/proxy/Proxy.sol
/contracts/proxy/transparent/ProxyAdmin.sol
/contracts/proxy/transparent/TransparentUpgradeableProxy.sol
/contracts/proxy/utils/Initializable.sol
/contracts/proxy/utils/UUPSUpgradeable.sol
/contracts/security/Pausable.sol
/contracts/security/PullPayment.sol
/contracts/security/ReentrancyGuard.sol
/contracts/token/common/ERC2981.sol
/contracts/token/ERC1155/ERC1155.sol
/contracts/token/ERC1155/extensions/ERC1155Burnable.sol
/contracts/token/ERC1155/extensions/ERC1155Pausable.sol
/contracts/token/ERC1155/extensions/ERC1155Supply.sol
/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol
/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol
/contracts/token/ERC1155/IERC1155.sol
/contracts/token/ERC1155/IERC1155Receiver.sol
/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol
/contracts/token/ERC1155/utils/ERC1155Holder.sol
/contracts/token/ERC1155/utils/ERC1155Receiver.sol
/contracts/token/ERC20/ERC20.sol
/contracts/token/ERC20/extensions/draft-ERC20Permit.sol
/contracts/token/ERC20/extensions/draft-IERC20Permit.sol
/contracts/token/ERC20/extensions/ERC20Burnable.sol
/contracts/token/ERC20/extensions/ERC20Capped.sol
/contracts/token/ERC20/extensions/ERC20FlashMint.sol
/contracts/token/ERC20/extensions/ERC20Pausable.sol
/contracts/token/ERC20/extensions/ERC20Snapshot.sol
/contracts/token/ERC20/extensions/ERC20Votes.sol
/contracts/token/ERC20/extensions/ERC20VotesComp.sol
/contracts/token/ERC20/extensions/ERC20Wrapper.sol
/contracts/token/ERC20/extensions/ERC4626.sol
/contracts/token/ERC20/extensions/IERC20Metadata.sol
/contracts/token/ERC20/IERC20.sol
/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol
/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol
/contracts/token/ERC20/utils/SafeERC20.sol
/contracts/token/ERC20/utils/TokenTimelock.sol
/contracts/token/ERC721/ERC721.sol
/contracts/token/ERC721/extensions/draft-ERC721Votes.sol
/contracts/token/ERC721/extensions/ERC721Burnable.sol
/contracts/token/ERC721/extensions/ERC721Consecutive.sol
/contracts/token/ERC721/extensions/ERC721Enumerable.sol
/contracts/token/ERC721/extensions/ERC721Pausable.sol
/contracts/token/ERC721/extensions/ERC721Royalty.sol
/contracts/token/ERC721/extensions/ERC721URIStorage.sol
/contracts/token/ERC721/extensions/IERC721Enumerable.sol
/contracts/token/ERC721/extensions/IERC721Metadata.sol
/contracts/token/ERC721/IERC721.sol
/contracts/token/ERC721/IERC721Receiver.sol
/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol
/contracts/token/ERC721/utils/ERC721Holder.sol
/contracts/token/ERC777/ERC777.sol
/contracts/token/ERC777/IERC777.sol
/contracts/token/ERC777/IERC777Recipient.sol
/contracts/token/ERC777/IERC777Sender.sol
/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol
/contracts/utils/Address.sol
/contracts/utils/Arrays.sol
/contracts/utils/Base64.sol
/contracts/utils/Checkpoints.sol
/contracts/utils/Context.sol
/contracts/utils/Counters.sol
/contracts/utils/Create2.sol
/contracts/utils/cryptography/draft-EIP712.sol
/contracts/utils/cryptography/ECDSA.sol
/contracts/utils/cryptography/EIP712.sol
/contracts/utils/cryptography/MerkleProof.sol
/contracts/utils/cryptography/SignatureChecker.sol
/contracts/utils/escrow/ConditionalEscrow.sol
/contracts/utils/escrow/Escrow.sol
/contracts/utils/escrow/RefundEscrow.sol
/contracts/utils/introspection/ERC165.sol
/contracts/utils/introspection/ERC165Checker.sol
/contracts/utils/introspection/ERC165Storage.sol
/contracts/utils/introspection/ERC1820Implementer.sol
/contracts/utils/introspection/IERC165.sol
/contracts/utils/introspection/IERC1820Implementer.sol
/contracts/utils/introspection/IERC1820Registry.sol
/contracts/utils/math/Math.sol
/contracts/utils/math/SafeCast.sol
/contracts/utils/math/SafeMath.sol
/contracts/utils/math/SignedMath.sol
/contracts/utils/math/SignedSafeMath.sol
/contracts/utils/Multicall.sol
/contracts/utils/StorageSlot.sol
/contracts/utils/Strings.sol
/contracts/utils/structs/BitMaps.sol
/contracts/utils/structs/DoubleEndedQueue.sol
/contracts/utils/structs/EnumerableMap.sol
/contracts/utils/structs/EnumerableSet.sol
/contracts/utils/Timers.sol
/contracts/vendor/amb/IAMB.sol
/contracts/vendor/arbitrum/IArbSys.sol
/contracts/vendor/arbitrum/IBridge.sol
/contracts/vendor/arbitrum/IInbox.sol
/contracts/vendor/arbitrum/IMessageProvider.sol
/contracts/vendor/arbitrum/IOutbox.sol
/contracts/vendor/compound/ICompoundTimelock.sol
/contracts/vendor/optimism/ICrossDomainMessenger.sol
/contracts/vendor/polygon/IFxMessageProcessor.sol
Loading…
Cancel
Save