LibMagpieAggregator
It defines a storage structure and utility functions for managing various settings and data in the Magpie Aggregator application.
struct CurveSettings {
address mainRegistry;
address cryptoRegistry;
address cryptoFactory;
}
mainRegistry
address
Address of the main registry of the curve protocol.
cryptoRegistry
address
Address of the crypto registry of the curve protocol
cryptoFactory
address
Address of the crypto factory of the crypto factory
struct Amm {
uint8 protocolId;
bytes4 selector;
address addr;
}
protocolId
uint8
The protocol identifier provided by magpie team.
selector
bytes4
The function selector of the AMM.
addr
address
The address of the facet of the AMM.
struct WormholeBridgeSettings {
address bridgeAddress;
}
bridgeAddress
address
The wormhole token bridge address
struct StargateSettings {
address routerAddress;
}
routerAddress
address
The stargate router address.
struct WormholeSettings {
address bridgeAddress;
uint8 consistencyLevel;
}
bridgeAddress
address
The wormhole core bridge address.
consistencyLevel
uint8
The level of finality the guardians will reach before signing the message
struct LayerZeroSettings {
address routerAddress;
}
routerAddress
address
The router address of layer zero protocol
struct CelerBridgeSettings {
address messageBusAddress;
}
messageBusAddress
address
The message bus address of celer bridge
struct AppStorage {
address weth;
uint16 networkId;
mapping(uint16 => bytes32) magpieAggregatorAddresses;
mapping(address => uint256) deposits;
mapping(address => mapping(address => uint256)) depositsByUser;
mapping(uint16 => mapping(bytes32 => mapping(uint64 => bool))) usedTransferKeys;
uint64 swapSequence;
// Pausable
bool paused;
// Reentrancy Guard
bool guarded;
// Amm
mapping(uint16 => Amm) amms;
// Curve Amm
CurveSettings curveSettings;
// Data Transfer
mapping(uint16 => mapping(uint16 => mapping(bytes32 => mapping(uint64 => bytes)))) payloads;
// Stargate Bridge
StargateSettings stargateSettings;
mapping(uint16 => bytes32) magpieStargateBridgeAddresses;
// Wormhole Bridge
WormholeBridgeSettings wormholeBridgeSettings;
mapping(uint64 => uint64) wormholeTokenSequences;
// Wormhole Data Transfer
WormholeSettings wormholeSettings;
mapping(uint16 => uint16) wormholeNetworkIds;
mapping(uint64 => uint64) wormholeCoreSequences;
// LayerZero Data Transfer
LayerZeroSettings layerZeroSettings;
mapping(uint16 => uint16) layerZeroChainIds;
mapping(uint16 => uint16) layerZeroNetworkIds;
address magpieRouterAddress;
mapping(uint16 => mapping(bytes32 => mapping(uint64 => mapping(address => uint256)))) stargateDeposits;
mapping(uint8 => bool) delegatedCalls;
// Celer Bridge
CelerBridgeSettings celerBridgeSettings;
mapping(uint16 => uint64) celerChainIds;
mapping(uint16 => mapping(bytes32 => mapping(uint64 => mapping(address => uint256)))) celerDeposits;
mapping(uint16 => mapping(bytes32 => mapping(uint64 => address))) celerRefundAddresses;
mapping(uint16 => bytes32) magpieCelerBridgeAddresses;
mapping(uint16 => mapping(uint16 => mapping(bytes32 => mapping(uint64 => bytes32)))) payloadHashes;
mapping(uint16 => bytes32) magpieStargateBridgeV2Addresses;
}
weth
address
Address of the Wrapped Ether (WETH) contract.
networkId
uint16
The network ID associated with the application.
magpieAggregatorAddresses
mapping(uint16 => bytes32)
A mapping of network IDs to Magpie aggregator addresses.
deposits
mapping(address => uint256)
Tracks the total deposits made by each user.
depositsByUser
mapping(address => mapping(address => uint256))
Tracks the deposits made by each user for specific token addresses.
usedTransferKeys
mapping(uint16 => mapping(bytes32 => mapping(uint64 => bool)))
Tracks the usage status of transfer keys for specific network IDs, sender addresses, and swap sequences.
swapSequence
uint64
A counter used for generating swap sequences.
paused
bool
A flag indicating whether the contract is paused or not.
guarded
bool
A flag indicating whether reentrancy guard is enabled or not.
amms
mapping(uint16 => Amm)
A mapping of network IDs to AMMs.
curveSettings
CurveSettings
Contains settings related to Curve AMMs.
payloads
mapping(uint16 => mapping(uint16 => mapping(bytes32 => mapping(uint64 => bytes))))
A mapping used for storing data transfer payloads.
stargateSettings
StargateSettings
Contains settings related to the Stargate bridge.
magpieStargateBridgeAddresses
mapping(uint16 => bytes32)
A mapping of network IDs to Magpie Stargate bridge addresses.
wormholeBridgeSettings
WormholeBridgeSettings
Contains settings related to the Wormhole Token bridge.
wormholeTokenSequences
mapping(uint64 => uint64)
Tracks the token sequences for the Wormhole bridge.
wormholeSettings
WormholeSettings
Contains settings related to Wormhole data transfers.
wormholeNetworkIds
mapping(uint16 => uint16)
A mapping of network IDs for the Wormhole bridge.
wormholeCoreSequences
mapping(uint64 => uint64)
Tracks the core sequences for the Wormhole bridge.
layerZeroSettings
LayerZeroSettings
Contains settings related to LayerZero data transfers.
layerZeroChainIds
mapping(uint16 => uint16)
A mapping of chain IDs for LayerZero data transfers.
layerZeroNetworkIds
mapping(uint16 => uint16)
A mapping of network IDs for LayerZero data transfers.
magpieRouterAddress
address
Address of the Magpie Router
stargateDeposits
mapping(uint16 => mapping(bytes32 => mapping(uint64 => mapping(address => uint256))))
A mapping to show how much amount has been deposited why which address along with the message passed by the address and the networkId
delegatedCalls
mapping(uint8 => bool)
used to associate a boolean value (bool
) with a single byte integer (uint8
).
celerBridgeSettings
CelerBridgeSettings
struct CelerBridgeSettings {
address messageBusAddress; // The message bus address of celer bridge
}
celerChainIds
mapping(uint16 => uint64)
A mapping of chain IDs for celer bridge transfers.
celerDeposits
mapping(uint16 => mapping(bytes32 => mapping(uint64 => mapping(address => uint256))))
A mapping of network Ids, data, chain Id, and address to the amount being deposited.
celerRefundAddresses
mapping(uint16 => mapping(bytes32 => mapping(uint64 => address)))
A mapping of network Ids, data, and chain id to the refund address.
magpieCelerBridgeAddresses
mapping(uint16 => bytes32)
A mapping of network ID to the magpie celer bridge address in the form of bytes.
payloadHashes
mapping(uint16 => mapping(uint16 => mapping(bytes32 => mapping(uint64 => bytes32))))
magpieStargateBridgeV2Addresses
mapping(uint16 => bytes32)
A mapping of network ID to the magpie stargate bridge V2 address in the form of bytes.
getStorage():
returns a reference to the AppStorage
struct.
Output:
s
AppStorage
AppStorage
struct.
Last updated