Transaction Hash:
Block:
14412841 at Mar-18-2022 09:27:56 PM +UTC
Transaction Fee:
0.023421857447157862 ETH
$59.41
Gas Used:
378,154 Gas / 61.937352103 Gwei
Emitted Events:
572 |
BicoTokenProxy.0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef( 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, 0x000000000000000000000000b681e94cadf59bb445dd30439912e3e8e6c8ea32, 0x0000000000000000000000002a5c2568b10a0e826bfa892cf21ba7218310180b, 0000000000000000000000000000000000000000000000091cd79ddf92638000 )
|
573 |
BicoTokenProxy.0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925( 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925, 0x000000000000000000000000b681e94cadf59bb445dd30439912e3e8e6c8ea32, 0x000000000000000000000000ebab24f13de55789ec1f3ffe99a285754e15f7b9, fffffffffffffffffffffffffffffffffffffffffffffff6e32862206d9c7fff )
|
574 |
TransparentUpgradeableProxy.0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef( 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x000000000000000000000000b681e94cadf59bb445dd30439912e3e8e6c8ea32, 0x00000000000000000000000000000000000000000000000000000000000003ac )
|
575 |
TransparentUpgradeableProxy.0xf28044030a28cf7d3fb8e8f7bbaa42aee92214081fd522b3a38afb279577db89( 0xf28044030a28cf7d3fb8e8f7bbaa42aee92214081fd522b3a38afb279577db89, 0x000000000000000000000000f17e65822b568b3903685a7c9f496cf7656cc6c2, 0x00000000000000000000000000000000000000000000d434c9b4e466910c16ec )
|
576 |
TransparentUpgradeableProxy.0xa21288bdd948f634bcd5a8bfc9825db1b01914f370ef82149e123b7c8dc3b65b( 0xa21288bdd948f634bcd5a8bfc9825db1b01914f370ef82149e123b7c8dc3b65b, 0x000000000000000000000000f17e65822b568b3903685a7c9f496cf7656cc6c2, 0x0000000000000000000000000000000000000000000000091cd79ddf92638000, 0x000000000000000000000000b681e94cadf59bb445dd30439912e3e8e6c8ea32 )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0xb681e94c...8e6C8eA32 |
0.068125173010873045 Eth
Nonce: 2
|
0.044703315563715183 Eth
Nonce: 3
| 0.023421857447157862 | ||
0xc49B65e5...2668717c2 | |||||
0xc730B028...FBC49890D
Miner
| (Ezil.me : Ezil Pool 4) | 236.500922322196992402 Eth | 236.501489553196992402 Eth | 0.000567231 | |
0xebaB24F1...54e15F7b9 | (Biconomy: Liquidity Providers) | ||||
0xF17e6582...7656Cc6C2 |
Execution Trace
TransparentUpgradeableProxy.14fe72aa( )
LiquidityProviders.addTokenLiquidity( _token=0xF17e65822b568B3903685a7c9F496CF7656Cc6C2, _amount=168099000000000000000 )
-
TokenManager.getTokensInfo( tokenAddress=0xF17e65822b568B3903685a7c9F496CF7656Cc6C2 ) => ( [{name:transferOverhead, type:uint256, order:1, indexed:false, value:85949, valueString:85949}, {name:supportedToken, type:bool, order:2, indexed:false, value:true, valueString:True}, {name:equilibriumFee, type:uint256, order:3, indexed:false, value:10000000, valueString:10000000}, {name:maxFee, type:uint256, order:4, indexed:false, value:250000000, valueString:250000000}, {name:tokenConfig, type:tuple, order:5, indexed:false, value:[{name:min, type:uint256, order:1, indexed:false, value:50000000000000000000, valueString:50000000000000000000}, {name:max, type:uint256, order:2, indexed:false, value:123220000000000000000000, valueString:123220000000000000000000}], valueString:[{name:min, type:uint256, order:1, indexed:false, value:50000000000000000000, valueString:50000000000000000000}, {name:max, type:uint256, order:2, indexed:false, value:123220000000000000000000, valueString:123220000000000000000000}]}] )
BicoTokenProxy.dd62ed3e( )
-
BicoTokenImplementation.allowance( owner=0xb681e94cadf59bb445Dd30439912E3e8e6C8eA32, spender=0xebaB24F13de55789eC1F3fFe99A285754e15F7b9 ) => ( 115792089237316195423570985008687907853269984665640564039457584007913129639935 )
-
BicoTokenProxy.23b872dd( )
-
BicoTokenImplementation.transferFrom( sender=0xb681e94cadf59bb445Dd30439912E3e8e6C8eA32, recipient=0x2A5c2568b10A0E826BfA892Cf21BA7218310180b, amount=168099000000000000000 ) => ( True )
-
TransparentUpgradeableProxy.6a627842( )
-
LPToken.mint( _to=0xb681e94cadf59bb445Dd30439912E3e8e6C8eA32 ) => ( 940 )
-
TransparentUpgradeableProxy.4810f4ae( )
-
LPToken.updateTokenMetadata( _tokenId=940, _lpTokenMetadata=[{name:token, type:address, order:1, indexed:false, value:0xF17e65822b568B3903685a7c9F496CF7656Cc6C2, valueString:0xF17e65822b568B3903685a7c9F496CF7656Cc6C2}, {name:suppliedLiquidity, type:uint256, order:2, indexed:false, value:0, valueString:0}, {name:shares, type:uint256, order:3, indexed:false, value:0, valueString:0}] )
-
TransparentUpgradeableProxy.6914db60( )
-
LPToken.tokenMetadata( 940 ) => ( token=0xF17e65822b568B3903685a7c9F496CF7656Cc6C2, suppliedLiquidity=0, shares=0 )
-
TransparentUpgradeableProxy.4f558e79( )
-
LPToken.exists( _tokenId=940 ) => ( True )
-
TransparentUpgradeableProxy.6352211e( )
-
LPToken.ownerOf( tokenId=940 ) => ( 0xb681e94cadf59bb445Dd30439912E3e8e6C8eA32 )
-
TransparentUpgradeableProxy.6914db60( )
-
LPToken.tokenMetadata( 940 ) => ( token=0xF17e65822b568B3903685a7c9F496CF7656Cc6C2, suppliedLiquidity=0, shares=0 )
-
TransparentUpgradeableProxy.645625f3( )
WhitelistPeriodManager.beforeLiquidityAddition( _lp=0xb681e94cadf59bb445Dd30439912E3e8e6C8eA32, _token=0xF17e65822b568B3903685a7c9F496CF7656Cc6C2, _amount=168099000000000000000 )
TransparentUpgradeableProxy.b3524e30( )
-
LiquidityProviders.getSuppliedLiquidityByToken( tokenAddress=0xF17e65822b568B3903685a7c9F496CF7656Cc6C2 ) => ( 542065156000000000000000 )
-
TransparentUpgradeableProxy.4810f4ae( )
-
LPToken.updateTokenMetadata( _tokenId=940, _lpTokenMetadata=[{name:token, type:address, order:1, indexed:false, value:0xF17e65822b568B3903685a7c9F496CF7656Cc6C2, valueString:0xF17e65822b568B3903685a7c9F496CF7656Cc6C2}, {name:suppliedLiquidity, type:uint256, order:2, indexed:false, value:168099000000000000000, valueString:168099000000000000000}, {name:shares, type:uint256, order:3, indexed:false, value:168092092624251120856787041551708710066, valueString:168092092624251120856787041551708710066}] )
-
-
File 1 of 9: TransparentUpgradeableProxy
File 2 of 9: BicoTokenProxy
File 3 of 9: TransparentUpgradeableProxy
File 4 of 9: LiquidityProviders
File 5 of 9: TokenManager
File 6 of 9: BicoTokenImplementation
File 7 of 9: LPToken
File 8 of 9: TransparentUpgradeableProxy
File 9 of 9: WhitelistPeriodManager
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity ^0.8.0;import "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol";import "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol";import "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol";// Kept for backwards compatibility with older versions of Hardhat and Truffle plugins.contract AdminUpgradeabilityProxy is TransparentUpgradeableProxy {constructor(address logic, address admin, bytes memory data) payable TransparentUpgradeableProxy(logic, admin, data) {}}// SPDX-License-Identifier: MITpragma solidity ^0.8.0;import "../Proxy.sol";import "./ERC1967Upgrade.sol";/*** @dev This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an* implementation address that can be changed. This address is stored in storage in the location specified by
File 2 of 9: BicoTokenProxy
12345678910111213141516// Sources flattened with hardhat v2.6.4 https://hardhat.org// File @openzeppelin/contracts/proxy/Proxy.sol@v4.3.2// SPDX-License-Identifier: MITpragma solidity ^0.8.0;/*** @dev This abstract contract provides a fallback function that delegates all calls to another contract using the EVM* instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to* be specified by overriding the virtual {_implementation} function.** Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a* different contract through the {_delegate} function.*
File 3 of 9: TransparentUpgradeableProxy
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity ^0.8.0;import "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol";import "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol";import "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol";// Kept for backwards compatibility with older versions of Hardhat and Truffle plugins.contract AdminUpgradeabilityProxy is TransparentUpgradeableProxy {constructor(address logic, address admin, bytes memory data) payable TransparentUpgradeableProxy(logic, admin, data) {}}// SPDX-License-Identifier: MITpragma solidity ^0.8.0;import "../Proxy.sol";import "./ERC1967Upgrade.sol";/*** @dev This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an* implementation address that can be changed. This address is stored in storage in the location specified by
File 4 of 9: LiquidityProviders
12345678// $$\\ $$\\ $$\\ $$\\ $$\\ $$\\ $$$$$$$\\ $$\\ $$\\// $$ | \\__| \\__| $$ |\\__| $$ | $$ __$$\\ \\__| $$ |// $$ | $$\\ $$$$$$\\ $$\\ $$\\ $$\\ $$$$$$$ |$$\\ $$$$$$\\ $$\\ $$\\ $$ | $$ | $$$$$$\\ $$$$$$\\ $$\\ $$\\ $$\\ $$$$$$$| $$$$$$\\ $$$$$$\\ $$$$$$$\\// $$ | $$ |$$ __$$\\ $$ | $$ |$$ |$$ __$$ |$$ |\\_$$ _| $$ | $$ | $$$$$$$ |$$ __$$\\ $$ __$$\\\\$$\\ $$ |$$ |$$ __$$ |$$__$$\\ $$ __$$\\ $$ _____|// $$ | $$ |$$ / $$ |$$ | $$ |$$ |$$ / $$ |$$ | $$ | $$ | $$ | $$ ____/ $$ | \\__|$$ / $$ |\\$$\\$$ / $$ |$$ / $$ |$$$$$$$$|$$ | \\__|\\$$$$$$\\// $$ | $$ |$$ | $$ |$$ | $$ |$$ |$$ | $$ |$$ | $$ |$$\\ $$ | $$ | $$ | $$ | $$ | $$ | \\$$$ / $$ |$$ | $$ |$$____|$$ | \\____$$\\// $$$$$$$$\\ $$ |\\$$$$$$$ |\\$$$$$$ |$$ |\\$$$$$$$ |$$ | \\$$$$ |\\$$$$$$$ | $$ | $$ | \\$$$$$$ | \\$ / $$ |\\$$$$$$$|\\$$$$$$$\\ $$ | $$$$$$$ |// \\________|\\__| \\____$$ | \\______/ \\__| \\_______|\\__| \\____/ \\____$$ | \\__| \\__| \\______/ \\_/ \\__|\\_______| \\_______|\\__| \\_______/
File 5 of 9: TokenManager
12345678910111213141516// $$$$$$$$\\ $$\\ $$\\ $$\\// \\__$$ __| $$ | $$$\\ $$$ |// $$ | $$$$$$\\ $$ | $$\\ $$$$$$\\ $$$$$$$\\ $$$$\\ $$$$ | $$$$$$\\ $$$$$$$\\ $$$$$$\\ $$$$$$\\ $$$$$$\\ $$$$$$\\// $$ |$$ __$$\\ $$ | $$ |$$ __$$\\ $$ __$$\\ $$\\$$\\$$ $$ | \\____$$\\ $$ __$$\\ \\____$$\\ $$ __$$\\ $$ __$$\\ $$ __$$\\// $$ |$$ / $$ |$$$$$$ / $$$$$$$$ |$$ | $$ | $$ \\$$$ $$ | $$$$$$$ |$$ | $$ | $$$$$$$ |$$ / $$ |$$$$$$$$ |$$ | \\__|// $$ |$$ | $$ |$$ _$$< $$ ____|$$ | $$ | $$ |\\$ /$$ |$$ __$$ |$$ | $$ |$$ __$$ |$$ | $$ |$$ ____|$$ |// $$ |\\$$$$$$ |$$ | \\$$\\ \\$$$$$$$\\ $$ | $$ | $$ | \\_/ $$ |\\$$$$$$$ |$$ | $$ |\\$$$$$$$ |\\$$$$$$$ |\\$$$$$$$\\ $$ |// \\__| \\______/ \\__| \\__| \\_______|\\__| \\__| \\__| \\__| \\_______|\\__| \\__| \\_______| \\____$$ | \\_______|\\__|// $$\\ $$ |// \\$$$$$$ |// \\______/// SPDX-License-Identifier: MITpragma solidity 0.8.0;import "@openzeppelin/contracts/access/Ownable.sol";import "@openzeppelin/contracts/security/Pausable.sol";import "../metatx/ERC2771Context.sol";
File 6 of 9: BicoTokenImplementation
12345678910111213141516// Sources flattened with hardhat v2.6.5 https://hardhat.org// File @openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol@v4.3.2// SPDX-License-Identifier: MITpragma solidity 0.8.4;/*** @dev This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed* behind a proxy. Since a proxied contract can't have a constructor, it's common to move constructor logic to an* external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer* function so it can only be called once. The {initializer} modifier provided by this contract will have this effect.** TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as* possible by providing the encoded function call as the `_data` argument to {ERC1967Proxy-constructor}.
File 7 of 9: LPToken
12345678910111213141516// $$\\ $$\\ $$\\ $$\\ $$\\ $$\\ $$\\ $$\\ $$$$$$$$\\ $$$$$$$$\\// $$ | \\__| \\__| $$ |\\__| $$ | $$$\\ $$ |$$ _____|\\__$$ __|// $$ | $$\\ $$$$$$\\ $$\\ $$\\ $$\\ $$$$$$$ |$$\\ $$$$$$\\ $$\\ $$\\ $$$$\\ $$ |$$ | $$ |// $$ | $$ |$$ __$$\\ $$ | $$ |$$ |$$ __$$ |$$ |\\_$$ _| $$ | $$ | $$ $$\\$$ |$$$$$\\ $$ |// $$ | $$ |$$ / $$ |$$ | $$ |$$ |$$ / $$ |$$ | $$ | $$ | $$ | $$ \\$$$$ |$$ __| $$ |// $$ | $$ |$$ | $$ |$$ | $$ |$$ |$$ | $$ |$$ | $$ |$$\\ $$ | $$ | $$ |\\$$$ |$$ | $$ |// $$$$$$$$\\ $$ |\\$$$$$$$ |\\$$$$$$ |$$ |\\$$$$$$$ |$$ | \\$$$$ |\\$$$$$$$ | $$ | \\$$ |$$ | $$ |// \\________|\\__| \\____$$ | \\______/ \\__| \\_______|\\__| \\____/ \\____$$ | \\__| \\__|\\__| \\__|// $$ | $$\\ $$ |// $$ | \\$$$$$$ |// \\__| \\______/// SPDX-License-Identifier: MIpragma solidity 0.8.0;pragma abicoder v2;import "@openzeppelin/contracts-upgradeable/metatx/ERC2771ContextUpgradeable.sol";import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
File 8 of 9: TransparentUpgradeableProxy
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity ^0.8.0;import "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol";import "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol";import "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol";// Kept for backwards compatibility with older versions of Hardhat and Truffle plugins.contract AdminUpgradeabilityProxy is TransparentUpgradeableProxy {constructor(address logic, address admin, bytes memory data) payable TransparentUpgradeableProxy(logic, admin, data) {}}// SPDX-License-Identifier: MITpragma solidity ^0.8.0;import "../Proxy.sol";import "./ERC1967Upgrade.sol";/*** @dev This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an* implementation address that can be changed. This address is stored in storage in the location specified by
File 9 of 9: WhitelistPeriodManager
123456789// $$\\ $$\\ $$\\ $$\\ $$\\ $$\\ $$\\ $$\\ $$\\// $$$\\ $$$ | $$ | $$ | \\__| \\__| $$ |\\__| $$ |// $$$$\\ $$$$ | $$$$$$\\ $$$$$$$\\ $$$$$$\\ $$$$$$\\ $$$$$$\\ $$$$$$$ | $$ | $$\\ $$$$$$\\ $$\\ $$\\ $$\\ $$$$$$$ |$$\\$$$$$$\\ $$\\ $$\\// $$\\$$\\$$ $$ | \\____$$\\ $$ __$$\\ \\____$$\\ $$ __$$\\ $$ __$$\\ $$ __$$ | $$ | $$ |$$ __$$\\ $$ | $$ |$$ |$$ __$$ |$$ |\\_$$_| $$ | $$ |// $$ \\$$$ $$ | $$$$$$$ |$$ | $$ | $$$$$$$ |$$ / $$ |$$$$$$$$ |$$ / $$ | $$ | $$ |$$ / $$ |$$ | $$ |$$ |$$ / $$ |$$ | $$ | $$ |$$ |// $$ |\\$ /$$ |$$ __$$ |$$ | $$ |$$ __$$ |$$ | $$ |$$ ____|$$ | $$ | $$ | $$ |$$ | $$ |$$ | $$ |$$ |$$ | $$ |$$ | $$ |$$\\ $$| $$ |// $$ | \\_/ $$ |\\$$$$$$$ |$$ | $$ |\\$$$$$$$ |\\$$$$$$$ |\\$$$$$$$\\ \\$$$$$$$ | $$$$$$$$\\ $$ |\\$$$$$$$ |\\$$$$$$ |$$ |\\$$$$$$$ |$$ |\\$$$$ |\\$$$$$$$ |// \\__| \\__| \\_______|\\__| \\__| \\_______| \\____$$ | \\_______| \\_______| \\________|\\__| \\____$$ | \\______/ \\__|\\_______|\\__| \\____/ \\____$$ |// $$\\ $$ | $$ | $$\\$$ |