@across-protocol/contracts 5.0.6-alpha.1 → 5.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/broadcast/deployed-addresses.json +600 -60
- package/dist/{abi → evm/artifacts}/AccessControl.sol/AccessControl.json +1 -1
- package/dist/{abi → evm/artifacts}/AccessControlEnumerable.sol/AccessControlEnumerable.json +1 -1
- package/dist/{abi → evm/artifacts}/AccessControlUpgradeable.sol/AccessControlUpgradeable.json +1 -1
- package/dist/evm/artifacts/AcrossConfigStore.sol/AcrossConfigStore.json +1 -0
- package/dist/evm/artifacts/AcrossEventEmitter.sol/AcrossEventEmitter.json +1 -0
- package/dist/evm/artifacts/AcrossMerkleDistributor.sol/AcrossMerkleDistributor.json +1 -0
- package/dist/evm/artifacts/AcrossMessageHandlerMock.sol/AcrossMessageHandlerMock.json +1 -0
- package/dist/{abi → evm/artifacts}/AdapterInterface.sol/AdapterInterface.json +1 -1
- package/dist/evm/artifacts/AdapterStore.sol/AdapterStore.json +1 -0
- package/dist/evm/artifacts/AdapterStore.sol/MessengerTypes.json +1 -0
- package/dist/evm/artifacts/Address.sol/Address.json +1 -0
- package/dist/evm/artifacts/AddressConverters.sol/Bytes32ToAddress.json +1 -0
- package/dist/{abi → evm/artifacts}/AddressWhitelistInterface.sol/AddressWhitelistInterface.json +1 -1
- package/dist/evm/artifacts/AdminRelayTokensAdapter.sol/AdminRelayTokensAdapter.json +1 -0
- package/dist/evm/artifacts/AdminWithdrawManager.sol/AdminWithdrawManager.json +1 -0
- package/dist/{abi → evm/artifacts}/ArbitraryEVMFlowExecutor.sol/ArbitraryEVMFlowExecutor.json +1 -1
- package/dist/{abi → evm/artifacts}/ArbitrumBridge.sol/ArbitrumCustomGasTokenInbox.json +1 -1
- package/dist/{abi → evm/artifacts}/ArbitrumBridge.sol/ArbitrumERC20Bridge.json +1 -1
- package/dist/{abi → evm/artifacts}/ArbitrumBridge.sol/ArbitrumInboxLike.json +1 -1
- package/dist/{abi → evm/artifacts}/ArbitrumBridge.sol/ArbitrumL1ERC20GatewayLike.json +1 -1
- package/dist/{abi → evm/artifacts}/ArbitrumBridge.sol/ArbitrumL2ERC20GatewayLike.json +1 -1
- package/dist/evm/artifacts/ArbitrumMocks.sol/ArbitrumMockErc20GatewayRouter.json +1 -0
- package/dist/evm/artifacts/ArbitrumMocks.sol/Inbox.json +1 -0
- package/dist/evm/artifacts/ArbitrumMocks.sol/L2GatewayRouter.json +1 -0
- package/dist/evm/artifacts/Arbitrum_Adapter.sol/Arbitrum_Adapter.json +1 -0
- package/dist/evm/artifacts/Arbitrum_CustomGasToken_Adapter.sol/Arbitrum_CustomGasToken_Adapter.json +1 -0
- package/dist/{abi → evm/artifacts}/Arbitrum_CustomGasToken_Adapter.sol/FunderInterface.json +1 -1
- package/dist/evm/artifacts/Arbitrum_Forwarder.sol/Arbitrum_Forwarder.json +1 -0
- package/dist/evm/artifacts/Arbitrum_RescueAdapter.sol/Arbitrum_RescueAdapter.json +1 -0
- package/dist/evm/artifacts/Arbitrum_SendTokensAdapter.sol/Arbitrum_SendTokensAdapter.json +1 -0
- package/dist/evm/artifacts/Arbitrum_SpokePool.sol/Arbitrum_SpokePool.json +1 -0
- package/dist/evm/artifacts/Arbitrum_WithdrawalHelper.sol/Arbitrum_WithdrawalHelper.json +1 -0
- package/dist/{abi → evm/artifacts}/AuthorizedFundedFlow.sol/AuthorizedFundedFlow.json +1 -1
- package/dist/{abi → evm/artifacts}/BaseModuleHandler.sol/BaseModuleHandler.json +1 -1
- package/dist/{abi → evm/artifacts}/BaseSimulatorTest.sol/BaseSimulatorTest.json +1 -1
- package/dist/evm/artifacts/Base_Adapter.sol/Base_Adapter.json +1 -0
- package/dist/evm/artifacts/BeaconProxy.sol/BeaconProxy.json +1 -0
- package/dist/evm/artifacts/Blast_Adapter.sol/Blast_Adapter.json +1 -0
- package/dist/{abi → evm/artifacts}/Blast_Adapter.sol/IL1ERC20Bridge.json +1 -1
- package/dist/evm/artifacts/Blast_DaiRetriever.sol/Blast_DaiRetriever.json +1 -0
- package/dist/{abi → evm/artifacts}/Blast_DaiRetriever.sol/USDYieldManager.json +1 -1
- package/dist/evm/artifacts/Blast_RescueAdapter.sol/Blast_RescueAdapter.json +1 -0
- package/dist/evm/artifacts/Blast_SpokePool.sol/Blast_SpokePool.json +1 -0
- package/dist/{abi → evm/artifacts}/Blast_SpokePool.sol/IBlast.json +1 -1
- package/dist/{abi → evm/artifacts}/Blast_SpokePool.sol/IERC20Rebasing.json +1 -1
- package/dist/{abi → evm/artifacts}/Blast_SpokePool.sol/IUSDBL2Bridge.json +1 -1
- package/dist/evm/artifacts/Boba_Adapter.sol/Boba_Adapter.json +1 -0
- package/dist/evm/artifacts/Boba_SpokePool.sol/Boba_SpokePool.json +1 -0
- package/dist/evm/artifacts/BondToken.sol/BondToken.json +1 -0
- package/dist/{abi → evm/artifacts}/BondToken.sol/ExtendedHubPoolInterface.json +1 -1
- package/dist/evm/artifacts/BytesLib.sol/BytesLib.json +1 -0
- package/dist/{abi → evm/artifacts}/CCTPInterfaces.sol/IMessageTransmitter.json +1 -1
- package/dist/{abi → evm/artifacts}/CCTPInterfaces.sol/IMessageTransmitterV2.json +1 -1
- package/dist/{abi → evm/artifacts}/CCTPInterfaces.sol/ITokenMessenger.json +1 -1
- package/dist/{abi → evm/artifacts}/CCTPInterfaces.sol/ITokenMessengerV2.json +1 -1
- package/dist/{abi → evm/artifacts}/CCTPInterfaces.sol/ITokenMinter.json +1 -1
- package/dist/evm/artifacts/Cher_SpokePool.sol/Cher_SpokePool.json +1 -0
- package/dist/{abi → evm/artifacts}/CircleCCTPAdapter.sol/CircleCCTPAdapter.json +1 -1
- package/dist/{abi → evm/artifacts}/CircleCCTPAdapter.sol/CircleDomainIds.json +1 -1
- package/dist/evm/artifacts/Clones.sol/Clones.json +1 -0
- package/dist/evm/artifacts/Constants.sol/Constants.json +1 -0
- package/dist/evm/artifacts/Constants.sol/OptimisticOracleConstraints.json +1 -0
- package/dist/evm/artifacts/Constants.sol/OracleInterfaces.json +1 -0
- package/dist/{abi → evm/artifacts}/ContextUpgradeable.sol/ContextUpgradeable.json +1 -1
- package/dist/evm/artifacts/CoreExecution.sol/CoreExecution.json +1 -0
- package/dist/evm/artifacts/CoreSimulatorLib.sol/HypeSystemContract.json +1 -0
- package/dist/evm/artifacts/CoreState.sol/CoreState.json +1 -0
- package/dist/evm/artifacts/CoreView.sol/CoreView.json +1 -0
- package/dist/{abi → evm/artifacts}/CoreWriterLib.sol/CoreWriterLib.json +1 -1
- package/dist/evm/artifacts/CoreWriterSim.sol/CoreWriterSim.json +1 -0
- package/dist/evm/artifacts/CounterfactualConfig.sol/CounterfactualConfig.json +1 -0
- package/dist/evm/artifacts/CounterfactualDeposit.sol/CounterfactualDeposit.json +1 -0
- package/dist/evm/artifacts/CounterfactualDepositCCTP.sol/CounterfactualDepositCCTP.json +1 -0
- package/dist/{abi → evm/artifacts}/CounterfactualDepositCCTP.sol/ISponsoredCCTPSrcPeriphery.json +1 -1
- package/dist/evm/artifacts/CounterfactualDepositFactory.sol/CounterfactualDepositFactory.json +1 -0
- package/dist/evm/artifacts/CounterfactualDepositFactoryTron.sol/CounterfactualDepositFactoryTron.json +1 -0
- package/dist/evm/artifacts/CounterfactualDepositOFT.sol/CounterfactualDepositOFT.json +1 -0
- package/dist/{abi → evm/artifacts}/CounterfactualDepositOFT.sol/ISponsoredOFTSrcPeriphery.json +1 -1
- package/dist/evm/artifacts/CounterfactualDepositSpokePool.sol/CounterfactualDepositSpokePool.json +1 -0
- package/dist/evm/artifacts/Create2.sol/Create2.json +1 -0
- package/dist/evm/artifacts/CrossDomainEnabled.sol/CrossDomainEnabled.json +1 -0
- package/dist/evm/artifacts/DeployedAddresses.sol/DeployedAddresses.json +1 -0
- package/dist/evm/artifacts/DeploymentUtils.sol/DeploymentUtils.json +1 -0
- package/dist/evm/artifacts/DoctorWho_Adapter.sol/DoctorWho_Adapter.json +1 -0
- package/dist/{abi → evm/artifacts}/DonationBox.sol/DonationBox.json +1 -1
- package/dist/evm/artifacts/DstOFTHandler.sol/DstOFTHandler.json +1 -0
- package/dist/{abi → evm/artifacts}/ECDSA.sol/ECDSA.json +1 -1
- package/dist/{abi → evm/artifacts}/EIP712.sol/EIP712.json +1 -1
- package/dist/{abi → evm/artifacts}/EIP712CrossChainUpgradeable.sol/EIP712CrossChainUpgradeable.json +1 -1
- package/dist/evm/artifacts/ERC1155.sol/ERC1155.json +1 -0
- package/dist/{abi → evm/artifacts}/ERC165.sol/ERC165.json +1 -1
- package/dist/{abi → evm/artifacts}/ERC165Upgradeable.sol/ERC165Upgradeable.json +1 -1
- package/dist/evm/artifacts/ERC1967Proxy.sol/ERC1967Proxy.json +1 -0
- package/dist/{abi → evm/artifacts}/ERC1967Upgrade.sol/ERC1967Upgrade.json +1 -1
- package/dist/{abi → evm/artifacts}/ERC1967UpgradeUpgradeable.sol/ERC1967UpgradeUpgradeable.json +1 -1
- package/dist/{abi → evm/artifacts}/ERC1967Utils.sol/ERC1967Utils.json +1 -1
- package/dist/evm/artifacts/ERC20.sol/ERC20.json +1 -0
- package/dist/{abi → evm/artifacts}/ERC20Permit.sol/ERC20Permit.json +1 -1
- package/dist/{abi → evm/artifacts}/ERC7683.sol/IDestinationSettler.json +1 -1
- package/dist/{abi → evm/artifacts}/Errors.sol/Errors.json +1 -1
- package/dist/evm/artifacts/Ethereum_Adapter.sol/Ethereum_Adapter.json +1 -0
- package/dist/evm/artifacts/Ethereum_RescueAdapter.sol/Ethereum_RescueAdapter.json +1 -0
- package/dist/{abi → evm/artifacts}/Ethereum_SpokePool.sol/Ethereum_SpokePool.json +1 -1
- package/dist/evm/artifacts/ExpandedERC20.sol/ExpandedERC20.json +1 -0
- package/dist/evm/artifacts/ExpandedERC20WithBlacklist.sol/ExpandedERC20WithBlacklist.json +1 -0
- package/dist/{abi → evm/artifacts}/ExpandedIERC20.sol/ExpandedIERC20.json +1 -1
- package/dist/{abi → evm/artifacts}/FinderInterface.sol/FinderInterface.json +1 -1
- package/dist/{abi → evm/artifacts}/ForwarderBase.sol/ForwarderBase.json +1 -1
- package/dist/{abi → evm/artifacts}/ForwarderInterface.sol/ForwarderInterface.json +1 -1
- package/dist/{abi → evm/artifacts}/HLConstants.sol/HLConstants.json +1 -1
- package/dist/evm/artifacts/HLConversions.sol/HLConversions.json +1 -0
- package/dist/evm/artifacts/HubPool.sol/HubPool.json +1 -0
- package/dist/{abi → evm/artifacts}/HubPoolInterface.sol/HubPoolInterface.json +1 -1
- package/dist/evm/artifacts/HubPoolStore.sol/HubPoolStore.json +1 -0
- package/dist/{abi → evm/artifacts}/HubPoolStore.sol/IHubPool.json +1 -1
- package/dist/{abi → evm/artifacts}/HubPoolTestBase.sol/HubPoolTestBase.json +1 -1
- package/dist/evm/artifacts/HubPoolTestBase.sol/MockAddressWhitelist.json +1 -0
- package/dist/evm/artifacts/HubPoolTestBase.sol/MockFinder.json +1 -0
- package/dist/{abi → evm/artifacts}/HubPoolTestBase.sol/MockIdentifierWhitelist.json +1 -1
- package/dist/evm/artifacts/HubPoolTestBase.sol/MockLpTokenFactory.json +1 -0
- package/dist/{abi → evm/artifacts}/HubPoolTestBase.sol/MockOptimisticOracle.json +1 -1
- package/dist/{abi → evm/artifacts}/HubPoolTestBase.sol/MockStore.json +1 -1
- package/dist/evm/artifacts/HyperCore.sol/HyperCore.json +1 -0
- package/dist/evm/artifacts/HyperCoreFlowExecutor.sol/HyperCoreFlowExecutor.json +1 -0
- package/dist/{abi → evm/artifacts}/HyperCoreFlowRoles.sol/HyperCoreFlowRoles.json +1 -1
- package/dist/{abi → evm/artifacts}/HyperCoreLib.sol/HyperCoreLib.json +1 -1
- package/dist/{abi → evm/artifacts}/HyperCoreLib.sol/ICoreWriter.json +1 -1
- package/dist/evm/artifacts/HyperCoreMockHelper.sol/HyperCoreMockHelper.json +1 -0
- package/dist/evm/artifacts/HyperliquidDepositHandler.sol/HyperliquidDepositHandler.json +1 -0
- package/dist/{abi → evm/artifacts}/IAccessControl.sol/IAccessControl.json +1 -1
- package/dist/{abi → evm/artifacts}/IAccessControlEnumerable.sol/IAccessControlEnumerable.json +1 -1
- package/dist/{abi → evm/artifacts}/IBeacon.sol/IBeacon.json +1 -1
- package/dist/{abi → evm/artifacts}/IBeaconUpgradeable.sol/IBeaconUpgradeable.json +1 -1
- package/dist/{abi → evm/artifacts}/ICoreDepositWallet.sol/ICoreDepositWallet.json +1 -1
- package/dist/{abi → evm/artifacts}/ICoreDepositWallet.sol/IForwardDepositReceiver.json +1 -1
- package/dist/{abi → evm/artifacts}/ICoreWriter.sol/ICoreWriter.json +1 -1
- package/dist/{abi → evm/artifacts}/ICounterfactualDeposit.sol/ICounterfactualDeposit.json +1 -1
- package/dist/{abi → evm/artifacts}/ICounterfactualDepositFactory.sol/ICounterfactualDepositFactory.json +1 -1
- package/dist/{abi → evm/artifacts}/ICounterfactualImplementation.sol/ICounterfactualImplementation.json +1 -1
- package/dist/{abi → evm/artifacts}/ICrossDomainMessenger.sol/ICrossDomainMessenger.json +1 -1
- package/dist/{abi → evm/artifacts}/ICrossDomainMessengerUpgradeable.sol/ICrossDomainMessengerUpgradeable.json +1 -1
- package/dist/{abi → evm/artifacts}/IERC1155.sol/IERC1155.json +1 -1
- package/dist/{abi → evm/artifacts}/IERC1155MetadataURI.sol/IERC1155MetadataURI.json +1 -1
- package/dist/{abi → evm/artifacts}/IERC1155Receiver.sol/IERC1155Receiver.json +1 -1
- package/dist/{abi → evm/artifacts}/IERC1271.sol/IERC1271.json +1 -1
- package/dist/{abi → evm/artifacts}/IERC1363.sol/IERC1363.json +1 -1
- package/dist/{abi → evm/artifacts}/IERC165.sol/IERC165.json +1 -1
- package/dist/{abi → evm/artifacts}/IERC1967.sol/IERC1967.json +1 -1
- package/dist/{abi → evm/artifacts}/IERC1967Upgradeable.sol/IERC1967Upgradeable.json +1 -1
- package/dist/{abi → evm/artifacts}/IERC20.sol/IERC20.json +1 -1
- package/dist/{abi → evm/artifacts}/IERC20Auth.sol/IERC20Auth.json +1 -1
- package/dist/{abi → evm/artifacts}/IERC20Metadata.sol/IERC20Metadata.json +1 -1
- package/dist/{abi → evm/artifacts}/IERC20Permit.sol/IERC20Permit.json +1 -1
- package/dist/{abi → evm/artifacts}/IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable.json +1 -1
- package/dist/{abi → evm/artifacts}/IERC20Upgradeable.sol/IERC20Upgradeable.json +1 -1
- package/dist/{abi → evm/artifacts}/IERC5267.sol/IERC5267.json +1 -1
- package/dist/{abi → evm/artifacts}/IHelios.sol/IHelios.json +1 -1
- package/dist/{abi → evm/artifacts}/IHypXERC20Router.sol/IHypXERC20Router.json +1 -1
- package/dist/{abi → evm/artifacts}/IHyperCoreFlowExecutor.sol/IHyperCoreFlowExecutor.json +1 -1
- package/dist/{abi → evm/artifacts}/IL1ERC20Bridge.sol/IL1ERC20Bridge.json +1 -1
- package/dist/{abi → evm/artifacts}/IL1ERC20Gateway.sol/IL1ERC20Gateway.json +1 -1
- package/dist/{abi → evm/artifacts}/IL1ETHGateway.sol/IL1ETHGateway.json +1 -1
- package/dist/{abi → evm/artifacts}/IL1GatewayRouter.sol/IL1GatewayRouter.json +1 -1
- package/dist/{abi → evm/artifacts}/IL1ScrollMessenger.sol/IL1ScrollMessenger.json +1 -1
- package/dist/{abi → evm/artifacts}/IL1StandardBridge.sol/IL1StandardBridge.json +1 -1
- package/dist/{abi → evm/artifacts}/IL2ERC20Gateway.sol/IL2ERC20Gateway.json +1 -1
- package/dist/{abi → evm/artifacts}/IL2ETHGateway.sol/IL2ETHGateway.json +1 -1
- package/dist/{abi → evm/artifacts}/IL2GasPriceOracle.sol/IL2GasPriceOracle.json +1 -1
- package/dist/{abi → evm/artifacts}/IL2GatewayRouter.sol/IL2GatewayRouter.json +1 -1
- package/dist/{abi → evm/artifacts}/ILayerZeroComposer.sol/ILayerZeroComposer.json +1 -1
- package/dist/{abi → evm/artifacts}/IMulticall3.sol/IMulticall3.json +1 -1
- package/dist/{abi → evm/artifacts}/IOFT.sol/IEndpoint.json +1 -1
- package/dist/{abi → evm/artifacts}/IOFT.sol/IOAppCore.json +1 -1
- package/dist/{abi → evm/artifacts}/IOFT.sol/IOFT.json +1 -1
- package/dist/{abi → evm/artifacts}/IOpUSDCBridgeAdapter.sol/IOpUSDCBridgeAdapter.json +1 -1
- package/dist/{abi → evm/artifacts}/IPermit2.sol/IPermit2.json +1 -1
- package/dist/{abi → evm/artifacts}/IPolygonZkEVMBridge.sol/IPolygonZkEVMBridge.json +1 -1
- package/dist/{abi → evm/artifacts}/IProxyAdmin.sol/IProxyAdmin.json +1 -1
- package/dist/{abi → evm/artifacts}/ISP1Verifier.sol/ISP1Verifier.json +1 -1
- package/dist/{abi → evm/artifacts}/ISP1Verifier.sol/ISP1VerifierWithHash.json +1 -1
- package/dist/{abi → evm/artifacts}/IScrollMessenger.sol/IScrollMessenger.json +1 -1
- package/dist/{abi → evm/artifacts}/ISpokePool.sol/ISpokePool.json +1 -1
- package/dist/{abi → evm/artifacts}/ITokenRegistry.sol/ITokenRegistry.json +1 -1
- package/dist/{abi → evm/artifacts}/IUpgradeableBeacon.sol/IUpgradeableBeacon.json +1 -1
- package/dist/{abi → evm/artifacts}/IUpgradeableProxy.sol/IUpgradeableProxy.json +1 -1
- package/dist/{abi → evm/artifacts}/IdentifierWhitelistInterface.sol/IdentifierWhitelistInterface.json +1 -1
- package/dist/{abi → evm/artifacts}/Initializable.sol/Initializable.json +1 -1
- package/dist/evm/artifacts/Ink_SpokePool.sol/Ink_SpokePool.json +1 -0
- package/dist/evm/artifacts/Lens_SpokePool.sol/Lens_SpokePool.json +1 -0
- package/dist/evm/artifacts/LibVariable.sol/LibVariable.json +1 -0
- package/dist/{abi → evm/artifacts}/LineaInterfaces.sol/IMessageService.json +1 -1
- package/dist/{abi → evm/artifacts}/LineaInterfaces.sol/ITokenBridge.json +1 -1
- package/dist/{abi → evm/artifacts}/LineaInterfaces.sol/IUSDCBridge.json +1 -1
- package/dist/evm/artifacts/LineaMocks.sol/MockL2MessageService.json +1 -0
- package/dist/evm/artifacts/LineaMocks.sol/MockL2TokenBridge.json +1 -0
- package/dist/evm/artifacts/Linea_Adapter.sol/Linea_Adapter.json +1 -0
- package/dist/evm/artifacts/Linea_SpokePool.sol/Linea_SpokePool.json +1 -0
- package/dist/evm/artifacts/Lisk_Adapter.sol/Lisk_Adapter.json +1 -0
- package/dist/evm/artifacts/Lisk_SpokePool.sol/Lisk_SpokePool.json +1 -0
- package/dist/evm/artifacts/Lockable.sol/Lockable.json +1 -0
- package/dist/evm/artifacts/LpTokenFactory.sol/LpTokenFactory.json +1 -0
- package/dist/{abi → evm/artifacts}/LpTokenFactoryInterface.sol/LpTokenFactoryInterface.json +1 -1
- package/dist/evm/artifacts/Merkle.sol/Merkle.json +1 -0
- package/dist/evm/artifacts/MerkleDistributor.sol/MerkleDistributor.json +1 -0
- package/dist/{abi → evm/artifacts}/MerkleDistributorInterface.sol/MerkleDistributorInterface.json +1 -1
- package/dist/evm/artifacts/MerkleLibTest.sol/MerkleLibTest.json +1 -0
- package/dist/evm/artifacts/MerkleProof.sol/MerkleProof.json +1 -0
- package/dist/{abi → evm/artifacts}/MinimalLZOptions.sol/MinimalLZOptions.json +1 -1
- package/dist/evm/artifacts/MintableERC1155.sol/MintableERC1155.json +1 -0
- package/dist/evm/artifacts/MockBedrockStandardBridge.sol/MockBedrockCrossDomainMessenger.json +1 -0
- package/dist/evm/artifacts/MockBedrockStandardBridge.sol/MockBedrockL1StandardBridge.json +1 -0
- package/dist/evm/artifacts/MockBedrockStandardBridge.sol/MockBedrockL2StandardBridge.json +1 -0
- package/dist/evm/artifacts/MockBlastUsdYieldManager.sol/MockBlastUsdYieldManager.json +1 -0
- package/dist/evm/artifacts/MockCCTP.sol/MockCCTPMessageTransmitter.json +1 -0
- package/dist/evm/artifacts/MockCCTP.sol/MockCCTPMessenger.json +1 -0
- package/dist/evm/artifacts/MockCCTP.sol/MockCCTPMessengerV2.json +1 -0
- package/dist/evm/artifacts/MockCCTP.sol/MockCCTPMinter.json +1 -0
- package/dist/evm/artifacts/MockCaller.sol/MockCaller.json +1 -0
- package/dist/evm/artifacts/MockERC1271.sol/MockERC1271.json +1 -0
- package/dist/evm/artifacts/MockERC20.sol/MintableERC20.json +1 -0
- package/dist/evm/artifacts/MockERC20.sol/MockERC20.json +1 -0
- package/dist/evm/artifacts/MockEndpoint.sol/MockEndpoint.json +1 -0
- package/dist/evm/artifacts/MockHubPool.sol/MockHubPool.json +1 -0
- package/dist/evm/artifacts/MockOFTMessenger.sol/MockOFTMessenger.json +1 -0
- package/dist/evm/artifacts/MockOptimism_SpokePool.sol/MockOptimism_SpokePool.json +1 -0
- package/dist/evm/artifacts/MockPermit2.sol/MockPermit2.json +1 -0
- package/dist/evm/artifacts/MockPermit2.sol/Permit2EIP712.json +1 -0
- package/dist/evm/artifacts/MockPermit2.sol/SignatureVerification.json +1 -0
- package/dist/evm/artifacts/MockSpokePool.sol/MockSpokePool.json +1 -0
- package/dist/evm/artifacts/MockSpokePoolV2.sol/MockSpokePoolV2.json +1 -0
- package/dist/evm/artifacts/MockZkStackBridgeHub.sol/MockBridgeHub.json +1 -0
- package/dist/evm/artifacts/Mock_Adapter.sol/Mock_Adapter.json +1 -0
- package/dist/evm/artifacts/Mock_Adapter.sol/Mock_Bridge.json +1 -0
- package/dist/evm/artifacts/Mode_Adapter.sol/Mode_Adapter.json +1 -0
- package/dist/evm/artifacts/MultiCaller.sol/MultiCaller.json +1 -0
- package/dist/evm/artifacts/MultiCallerUpgradeable.sol/MultiCallerUpgradeable.json +1 -0
- package/dist/{abi → evm/artifacts}/MultiRole.sol/MultiRole.json +1 -1
- package/dist/{abi → evm/artifacts}/Multicall3.sol/Multicall3.json +1 -1
- package/dist/evm/artifacts/MulticallHandler.sol/MulticallHandler.json +1 -0
- package/dist/{abi → evm/artifacts}/MurkyBase.sol/MurkyBase.json +1 -1
- package/dist/{abi → evm/artifacts}/OFTCoreMath.sol/OFTCoreMath.json +1 -1
- package/dist/evm/artifacts/OFTTransportAdapter.sol/OFTTransportAdapter.json +1 -0
- package/dist/evm/artifacts/OFTTransportAdapterWithStore.sol/OFTTransportAdapterWithStore.json +1 -0
- package/dist/evm/artifacts/OP_Adapter.sol/OP_Adapter.json +1 -0
- package/dist/evm/artifacts/OP_SpokePool.sol/OP_SpokePool.json +1 -0
- package/dist/evm/artifacts/Optimism_Adapter.sol/Optimism_Adapter.json +1 -0
- package/dist/{abi → evm/artifacts}/Optimism_Adapter.sol/SynthetixBridgeToOptimism.json +1 -1
- package/dist/evm/artifacts/Optimism_SpokePool.sol/Optimism_SpokePool.json +1 -0
- package/dist/{abi → evm/artifacts}/Optimism_SpokePool.sol/SynthetixBridgeToBase.json +1 -1
- package/dist/{abi → evm/artifacts}/OptimisticOracleInterface.sol/OptimisticOracleInterface.json +1 -1
- package/dist/evm/artifacts/Ovm_Forwarder.sol/Ovm_Forwarder.json +1 -0
- package/dist/{abi → evm/artifacts}/Ovm_SpokePool.sol/IL2ERC20Bridge.json +1 -1
- package/dist/evm/artifacts/Ovm_SpokePool.sol/Ovm_SpokePool.json +1 -0
- package/dist/{abi → evm/artifacts}/Ovm_WithdrawalHelper.sol/IOvm_SpokePool.json +1 -1
- package/dist/evm/artifacts/Ovm_WithdrawalHelper.sol/Ovm_WithdrawalHelper.json +1 -0
- package/dist/{abi → evm/artifacts}/Ownable.sol/Ownable.json +1 -1
- package/dist/{abi → evm/artifacts}/OwnableUpgradeable.sol/OwnableUpgradeable.json +1 -1
- package/dist/evm/artifacts/PeripherySigningLib.sol/PeripherySigningLib.json +1 -0
- package/dist/evm/artifacts/PermissionSplitterProxy.sol/PermissionSplitterProxy.json +1 -0
- package/dist/evm/artifacts/PermissionedMulticallHandler.sol/PermissionedMulticallHandler.json +1 -0
- package/dist/evm/artifacts/PolygonERC20Test.sol/PolygonERC20Test.json +1 -0
- package/dist/evm/artifacts/PolygonMocks.sol/DepositManagerMock.json +1 -0
- package/dist/evm/artifacts/PolygonMocks.sol/FxStateSenderMock.json +1 -0
- package/dist/evm/artifacts/PolygonMocks.sol/PolygonERC20Mock.json +1 -0
- package/dist/evm/artifacts/PolygonMocks.sol/PolygonERC20PredicateMock.json +1 -0
- package/dist/evm/artifacts/PolygonMocks.sol/PolygonRegistryMock.json +1 -0
- package/dist/evm/artifacts/PolygonMocks.sol/RootChainManagerMock.json +1 -0
- package/dist/{abi → evm/artifacts}/PolygonTokenBridger.sol/MaticToken.json +1 -1
- package/dist/{abi → evm/artifacts}/PolygonTokenBridger.sol/PolygonERC20Predicate.json +1 -1
- package/dist/{abi → evm/artifacts}/PolygonTokenBridger.sol/PolygonIERC20Upgradeable.json +1 -1
- package/dist/{abi → evm/artifacts}/PolygonTokenBridger.sol/PolygonRegistry.json +1 -1
- package/dist/evm/artifacts/PolygonTokenBridger.sol/PolygonTokenBridger.json +1 -0
- package/dist/evm/artifacts/PolygonZkEVMMocks.sol/MockPolygonZkEVMBridge.json +1 -0
- package/dist/evm/artifacts/PolygonZkEVM_Adapter.sol/PolygonZkEVM_Adapter.json +1 -0
- package/dist/{abi → evm/artifacts}/PolygonZkEVM_SpokePool.sol/IBridgeMessageReceiver.json +1 -1
- package/dist/{abi → evm/artifacts}/PolygonZkEVM_SpokePool.sol/PolygonZkEVM_SpokePool.json +1 -1
- package/dist/{abi → evm/artifacts}/Polygon_Adapter.sol/DepositManager.json +1 -1
- package/dist/{abi → evm/artifacts}/Polygon_Adapter.sol/IFxStateSender.json +1 -1
- package/dist/{abi → evm/artifacts}/Polygon_Adapter.sol/IRootChainManager.json +1 -1
- package/dist/evm/artifacts/Polygon_Adapter.sol/Polygon_Adapter.json +1 -0
- package/dist/{abi → evm/artifacts}/Polygon_SpokePool.sol/IFxMessageProcessor.json +1 -1
- package/dist/evm/artifacts/Polygon_SpokePool.sol/Polygon_SpokePool.json +1 -0
- package/dist/{abi → evm/artifacts}/PrecompileLib.sol/PrecompileLib.json +1 -1
- package/dist/evm/artifacts/PrecompileSim.sol/PrecompileSim.json +1 -0
- package/dist/evm/artifacts/Proxy.sol/Proxy.json +1 -0
- package/dist/evm/artifacts/ProxyAdmin.sol/ProxyAdmin.json +1 -0
- package/dist/{abi → evm/artifacts}/ReentrancyGuard.sol/ReentrancyGuard.json +1 -1
- package/dist/{abi → evm/artifacts}/ReentrancyGuardUpgradeable.sol/ReentrancyGuardUpgradeable.json +1 -1
- package/dist/evm/artifacts/Router_Adapter.sol/Router_Adapter.json +1 -0
- package/dist/evm/artifacts/SP1AutoVerifier.sol/SP1AutoVerifier.json +1 -0
- package/dist/evm/artifacts/SP1Helios.sol/SP1Helios.json +1 -0
- package/dist/evm/artifacts/SP1MockVerifier.sol/SP1MockVerifier.json +1 -0
- package/dist/{abi → evm/artifacts}/SafeCast.sol/SafeCast.json +1 -1
- package/dist/{abi → evm/artifacts}/SafeERC20.sol/SafeERC20.json +1 -1
- package/dist/evm/artifacts/ScrollMocks.sol/MockScrollL2GatewayRouter.json +1 -0
- package/dist/evm/artifacts/ScrollMocks.sol/MockScrollMessenger.json +1 -0
- package/dist/evm/artifacts/Scroll_Adapter.sol/Scroll_Adapter.json +1 -0
- package/dist/{abi → evm/artifacts}/Scroll_SpokePool.sol/IL2GatewayRouterExtended.json +1 -1
- package/dist/{abi → evm/artifacts}/Scroll_SpokePool.sol/Scroll_SpokePool.json +1 -1
- package/dist/evm/artifacts/ShortStrings.sol/ShortStrings.json +1 -0
- package/dist/{abi → evm/artifacts}/SkinnyOptimisticOracleInterface.sol/SkinnyOptimisticOracleInterface.json +1 -1
- package/dist/evm/artifacts/Solana_Adapter.sol/Solana_Adapter.json +1 -0
- package/dist/{abi → evm/artifacts}/SpokePool.sol/SpokePool.json +1 -1
- package/dist/{abi → evm/artifacts}/SpokePoolInterface.sol/SpokePoolInterface.json +1 -1
- package/dist/{abi → evm/artifacts}/SpokePoolMessageHandler.sol/AcrossMessageHandler.json +1 -1
- package/dist/evm/artifacts/SpokePoolPeriphery.sol/SpokePoolPeriphery.json +1 -0
- package/dist/evm/artifacts/SpokePoolPeriphery.sol/SwapProxy.json +1 -0
- package/dist/{abi → evm/artifacts}/SpokePoolPeripheryInterface.sol/SpokePoolPeripheryInterface.json +1 -1
- package/dist/evm/artifacts/SpokePoolVerifier.sol/SpokePoolVerifier.json +1 -0
- package/dist/evm/artifacts/SponsoredCCTPDstPeriphery.sol/SponsoredCCTPDstPeriphery.json +1 -0
- package/dist/{abi → evm/artifacts}/SponsoredCCTPInterface.sol/SponsoredCCTPInterface.json +1 -1
- package/dist/evm/artifacts/SponsoredCCTPSrcPeriphery.sol/SponsoredCCTPSrcPeriphery.json +1 -0
- package/dist/{abi → evm/artifacts}/SponsoredOFTInterface.sol/SponsoredOFTInterface.json +1 -1
- package/dist/evm/artifacts/SponsoredOFTSrcPeriphery.sol/SponsoredOFTSrcPeriphery.json +1 -0
- package/dist/evm/artifacts/StdConfig.sol/StdConfig.json +1 -0
- package/dist/{abi → evm/artifacts}/StoreInterface.sol/StoreInterface.json +1 -1
- package/dist/{abi → evm/artifacts}/Strings.sol/Strings.json +1 -1
- package/dist/evm/artifacts/SwapHandler.sol/SwapHandler.json +1 -0
- package/dist/{abi → evm/artifacts}/Testable.sol/Testable.json +1 -1
- package/dist/evm/artifacts/Timer.sol/Timer.json +1 -0
- package/dist/evm/artifacts/TransferProxy.sol/TransferProxy.json +1 -0
- package/dist/{abi → evm/artifacts}/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy.json +1 -1
- package/dist/evm/artifacts/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +1 -0
- package/dist/{abi → evm/artifacts}/UUPSUpgradeable.sol/UUPSUpgradeable.json +1 -1
- package/dist/{abi → evm/artifacts}/Universal_Adapter.sol/IOwnable.json +1 -1
- package/dist/evm/artifacts/Universal_Adapter.sol/Universal_Adapter.json +1 -0
- package/dist/evm/artifacts/Universal_SpokePool.sol/Universal_SpokePool.json +1 -0
- package/dist/evm/artifacts/UpgradeableBeacon.sol/UpgradeableBeacon.json +1 -0
- package/dist/{abi → evm/artifacts}/V3SpokePoolInterface.sol/V3SpokePoolInterface.json +1 -1
- package/dist/evm/artifacts/WETH9.sol/WETH9.json +1 -0
- package/dist/{abi → evm/artifacts}/WETH9Interface.sol/WETH9Interface.json +1 -1
- package/dist/evm/artifacts/WithdrawImplementation.sol/WithdrawImplementation.json +1 -0
- package/dist/{abi → evm/artifacts}/WithdrawalHelperBase.sol/WithdrawalHelperBase.json +1 -1
- package/dist/evm/artifacts/WorldChain_SpokePool.sol/WorldChain_SpokePool.json +1 -0
- package/dist/{abi → evm/artifacts}/ZkStackBridgeHub.sol/BridgeHubInterface.json +1 -1
- package/dist/evm/artifacts/ZkStack_Adapter.sol/ZkStack_Adapter.json +1 -0
- package/dist/{abi → evm/artifacts}/ZkStack_CustomGasToken_Adapter.sol/FunderInterface.json +1 -1
- package/dist/evm/artifacts/ZkStack_CustomGasToken_Adapter.sol/ZkStack_CustomGasToken_Adapter.json +1 -0
- package/dist/evm/artifacts/ZkSyncMocks.sol/MockL2Eth.json +1 -0
- package/dist/evm/artifacts/ZkSyncMocks.sol/MockZkBridge.json +1 -0
- package/dist/{abi → evm/artifacts}/ZkSync_SpokePool.sol/IL2AssetRouter.json +1 -1
- package/dist/{abi → evm/artifacts}/ZkSync_SpokePool.sol/IL2ETH.json +1 -1
- package/dist/{abi → evm/artifacts}/ZkSync_SpokePool.sol/ZkBridgeLike.json +1 -1
- package/dist/evm/artifacts/ZkSync_SpokePool.sol/ZkSync_SpokePool.json +1 -0
- package/dist/evm/artifacts/Zora_Adapter.sol/Zora_Adapter.json +1 -0
- package/dist/{abi → evm/artifacts}/draft-IERC1822.sol/IERC1822Proxiable.json +1 -1
- package/dist/{abi → evm/artifacts}/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable.json +1 -1
- package/dist/evm/artifacts/eraVM_EIP7702.sol/SimpleContract.json +1 -0
- package/dist/evm/artifacts/eraVM_EIP7702.sol/SpokePoolEIP7702Test.json +1 -0
- package/dist/evm/artifacts/eraVM_EIP7702.sol/TestableMockSpokePool.json +1 -0
- package/package.json +3 -3
- package/dist/abi/AcrossConfigStore.sol/AcrossConfigStore.json +0 -1
- package/dist/abi/AcrossEventEmitter.sol/AcrossEventEmitter.json +0 -1
- package/dist/abi/AcrossMerkleDistributor.sol/AcrossMerkleDistributor.json +0 -1
- package/dist/abi/AdapterStore.sol/AdapterStore.json +0 -1
- package/dist/abi/AdapterStore.sol/MessengerTypes.json +0 -1
- package/dist/abi/Address.sol/Address.json +0 -1
- package/dist/abi/AddressConverters.sol/Bytes32ToAddress.json +0 -1
- package/dist/abi/AdminRelayTokensAdapter.sol/AdminRelayTokensAdapter.json +0 -1
- package/dist/abi/AdminWithdrawManager.sol/AdminWithdrawManager.json +0 -1
- package/dist/abi/Arbitrum_Adapter.sol/Arbitrum_Adapter.json +0 -1
- package/dist/abi/Arbitrum_CustomGasToken_Adapter.sol/Arbitrum_CustomGasToken_Adapter.json +0 -1
- package/dist/abi/Arbitrum_Forwarder.sol/Arbitrum_Forwarder.json +0 -1
- package/dist/abi/Arbitrum_RescueAdapter.sol/Arbitrum_RescueAdapter.json +0 -1
- package/dist/abi/Arbitrum_SendTokensAdapter.sol/Arbitrum_SendTokensAdapter.json +0 -1
- package/dist/abi/Arbitrum_SpokePool.sol/Arbitrum_SpokePool.json +0 -1
- package/dist/abi/Arbitrum_WithdrawalHelper.sol/Arbitrum_WithdrawalHelper.json +0 -1
- package/dist/abi/Base_Adapter.sol/Base_Adapter.json +0 -1
- package/dist/abi/BeaconProxy.sol/BeaconProxy.json +0 -1
- package/dist/abi/Blast_Adapter.sol/Blast_Adapter.json +0 -1
- package/dist/abi/Blast_DaiRetriever.sol/Blast_DaiRetriever.json +0 -1
- package/dist/abi/Blast_RescueAdapter.sol/Blast_RescueAdapter.json +0 -1
- package/dist/abi/Blast_SpokePool.sol/Blast_SpokePool.json +0 -1
- package/dist/abi/Boba_Adapter.sol/Boba_Adapter.json +0 -1
- package/dist/abi/Boba_SpokePool.sol/Boba_SpokePool.json +0 -1
- package/dist/abi/BondToken.sol/BondToken.json +0 -1
- package/dist/abi/BytesLib.sol/BytesLib.json +0 -1
- package/dist/abi/Cher_SpokePool.sol/Cher_SpokePool.json +0 -1
- package/dist/abi/Clones.sol/Clones.json +0 -1
- package/dist/abi/Constants.sol/Constants.json +0 -1
- package/dist/abi/Constants.sol/OptimisticOracleConstraints.json +0 -1
- package/dist/abi/Constants.sol/OracleInterfaces.json +0 -1
- package/dist/abi/CoreExecution.sol/CoreExecution.json +0 -1
- package/dist/abi/CoreSimulatorLib.sol/HypeSystemContract.json +0 -1
- package/dist/abi/CoreState.sol/CoreState.json +0 -1
- package/dist/abi/CoreView.sol/CoreView.json +0 -1
- package/dist/abi/CoreWriterSim.sol/CoreWriterSim.json +0 -1
- package/dist/abi/CounterfactualDeposit.sol/CounterfactualDeposit.json +0 -1
- package/dist/abi/CounterfactualDepositCCTP.sol/CounterfactualDepositCCTP.json +0 -1
- package/dist/abi/CounterfactualDepositFactory.sol/CounterfactualDepositFactory.json +0 -1
- package/dist/abi/CounterfactualDepositFactoryTron.sol/CounterfactualDepositFactoryTron.json +0 -1
- package/dist/abi/CounterfactualDepositOFT.sol/CounterfactualDepositOFT.json +0 -1
- package/dist/abi/CounterfactualDepositSpokePool.sol/CounterfactualDepositSpokePool.json +0 -1
- package/dist/abi/Create2.sol/Create2.json +0 -1
- package/dist/abi/CrossDomainEnabled.sol/CrossDomainEnabled.json +0 -1
- package/dist/abi/DeployedAddresses.sol/DeployedAddresses.json +0 -1
- package/dist/abi/DeploymentUtils.sol/DeploymentUtils.json +0 -1
- package/dist/abi/DoctorWho_Adapter.sol/DoctorWho_Adapter.json +0 -1
- package/dist/abi/DstOFTHandler.sol/DstOFTHandler.json +0 -1
- package/dist/abi/ERC1155.sol/ERC1155.json +0 -1
- package/dist/abi/ERC1967Proxy.sol/ERC1967Proxy.json +0 -1
- package/dist/abi/ERC20.sol/ERC20.json +0 -1
- package/dist/abi/Ethereum_Adapter.sol/Ethereum_Adapter.json +0 -1
- package/dist/abi/Ethereum_RescueAdapter.sol/Ethereum_RescueAdapter.json +0 -1
- package/dist/abi/ExpandedERC20.sol/ExpandedERC20.json +0 -1
- package/dist/abi/ExpandedERC20WithBlacklist.sol/ExpandedERC20WithBlacklist.json +0 -1
- package/dist/abi/HLConversions.sol/HLConversions.json +0 -1
- package/dist/abi/HubPool.sol/HubPool.json +0 -1
- package/dist/abi/HubPoolStore.sol/HubPoolStore.json +0 -1
- package/dist/abi/HubPoolTestBase.sol/MockAddressWhitelist.json +0 -1
- package/dist/abi/HubPoolTestBase.sol/MockFinder.json +0 -1
- package/dist/abi/HubPoolTestBase.sol/MockLpTokenFactory.json +0 -1
- package/dist/abi/HyperCore.sol/HyperCore.json +0 -1
- package/dist/abi/HyperCoreFlowExecutor.sol/HyperCoreFlowExecutor.json +0 -1
- package/dist/abi/HyperliquidDepositHandler.sol/HyperliquidDepositHandler.json +0 -1
- package/dist/abi/Ink_SpokePool.sol/Ink_SpokePool.json +0 -1
- package/dist/abi/Lens_SpokePool.sol/Lens_SpokePool.json +0 -1
- package/dist/abi/LibVariable.sol/LibVariable.json +0 -1
- package/dist/abi/Linea_Adapter.sol/Linea_Adapter.json +0 -1
- package/dist/abi/Linea_SpokePool.sol/Linea_SpokePool.json +0 -1
- package/dist/abi/Lisk_Adapter.sol/Lisk_Adapter.json +0 -1
- package/dist/abi/Lisk_SpokePool.sol/Lisk_SpokePool.json +0 -1
- package/dist/abi/Lockable.sol/Lockable.json +0 -1
- package/dist/abi/LpTokenFactory.sol/LpTokenFactory.json +0 -1
- package/dist/abi/Merkle.sol/Merkle.json +0 -1
- package/dist/abi/MerkleDistributor.sol/MerkleDistributor.json +0 -1
- package/dist/abi/MerkleLibTest.sol/MerkleLibTest.json +0 -1
- package/dist/abi/MerkleProof.sol/MerkleProof.json +0 -1
- package/dist/abi/MintableERC1155.sol/MintableERC1155.json +0 -1
- package/dist/abi/Mode_Adapter.sol/Mode_Adapter.json +0 -1
- package/dist/abi/MultiCaller.sol/MultiCaller.json +0 -1
- package/dist/abi/MultiCallerUpgradeable.sol/MultiCallerUpgradeable.json +0 -1
- package/dist/abi/MulticallHandler.sol/MulticallHandler.json +0 -1
- package/dist/abi/OFTTransportAdapter.sol/OFTTransportAdapter.json +0 -1
- package/dist/abi/OFTTransportAdapterWithStore.sol/OFTTransportAdapterWithStore.json +0 -1
- package/dist/abi/OP_Adapter.sol/OP_Adapter.json +0 -1
- package/dist/abi/OP_SpokePool.sol/OP_SpokePool.json +0 -1
- package/dist/abi/Optimism_Adapter.sol/Optimism_Adapter.json +0 -1
- package/dist/abi/Optimism_SpokePool.sol/Optimism_SpokePool.json +0 -1
- package/dist/abi/Ovm_Forwarder.sol/Ovm_Forwarder.json +0 -1
- package/dist/abi/Ovm_SpokePool.sol/Ovm_SpokePool.json +0 -1
- package/dist/abi/Ovm_WithdrawalHelper.sol/Ovm_WithdrawalHelper.json +0 -1
- package/dist/abi/PeripherySigningLib.sol/PeripherySigningLib.json +0 -1
- package/dist/abi/PermissionSplitterProxy.sol/PermissionSplitterProxy.json +0 -1
- package/dist/abi/PermissionedMulticallHandler.sol/PermissionedMulticallHandler.json +0 -1
- package/dist/abi/PolygonERC20Test.sol/PolygonERC20Test.json +0 -1
- package/dist/abi/PolygonTokenBridger.sol/PolygonTokenBridger.json +0 -1
- package/dist/abi/PolygonZkEVM_Adapter.sol/PolygonZkEVM_Adapter.json +0 -1
- package/dist/abi/Polygon_Adapter.sol/Polygon_Adapter.json +0 -1
- package/dist/abi/Polygon_SpokePool.sol/Polygon_SpokePool.json +0 -1
- package/dist/abi/PrecompileSim.sol/PrecompileSim.json +0 -1
- package/dist/abi/Proxy.sol/Proxy.json +0 -1
- package/dist/abi/ProxyAdmin.sol/ProxyAdmin.json +0 -1
- package/dist/abi/Router_Adapter.sol/Router_Adapter.json +0 -1
- package/dist/abi/SP1AutoVerifier.sol/SP1AutoVerifier.json +0 -1
- package/dist/abi/SP1Helios.sol/SP1Helios.json +0 -1
- package/dist/abi/Scroll_Adapter.sol/Scroll_Adapter.json +0 -1
- package/dist/abi/ShortStrings.sol/ShortStrings.json +0 -1
- package/dist/abi/Solana_Adapter.sol/Solana_Adapter.json +0 -1
- package/dist/abi/SpokePoolPeriphery.sol/SpokePoolPeriphery.json +0 -1
- package/dist/abi/SpokePoolPeriphery.sol/SwapProxy.json +0 -1
- package/dist/abi/SpokePoolVerifier.sol/SpokePoolVerifier.json +0 -1
- package/dist/abi/SponsoredCCTPDstPeriphery.sol/SponsoredCCTPDstPeriphery.json +0 -1
- package/dist/abi/SponsoredCCTPSrcPeriphery.sol/SponsoredCCTPSrcPeriphery.json +0 -1
- package/dist/abi/SponsoredOFTSrcPeriphery.sol/SponsoredOFTSrcPeriphery.json +0 -1
- package/dist/abi/StdConfig.sol/StdConfig.json +0 -1
- package/dist/abi/SwapHandler.sol/SwapHandler.json +0 -1
- package/dist/abi/Timer.sol/Timer.json +0 -1
- package/dist/abi/TransferProxy.sol/TransferProxy.json +0 -1
- package/dist/abi/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +0 -1
- package/dist/abi/Universal_Adapter.sol/Universal_Adapter.json +0 -1
- package/dist/abi/Universal_SpokePool.sol/Universal_SpokePool.json +0 -1
- package/dist/abi/UpgradeableBeacon.sol/UpgradeableBeacon.json +0 -1
- package/dist/abi/WETH9.sol/WETH9.json +0 -1
- package/dist/abi/WithdrawImplementation.sol/WithdrawImplementation.json +0 -1
- package/dist/abi/WorldChain_SpokePool.sol/WorldChain_SpokePool.json +0 -1
- package/dist/abi/ZkStack_Adapter.sol/ZkStack_Adapter.json +0 -1
- package/dist/abi/ZkStack_CustomGasToken_Adapter.sol/ZkStack_CustomGasToken_Adapter.json +0 -1
- package/dist/abi/ZkSync_SpokePool.sol/ZkSync_SpokePool.json +0 -1
- package/dist/abi/Zora_Adapter.sol/Zora_Adapter.json +0 -1
- package/dist/abi/eraVM_EIP7702.sol/SimpleContract.json +0 -1
- package/dist/abi/eraVM_EIP7702.sol/SpokePoolEIP7702Test.json +0 -1
- package/dist/abi/eraVM_EIP7702.sol/TestableMockSpokePool.json +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"abi":[{"type":"constructor","inputs":[{"name":"_defaultLiveness","type":"uint256","internalType":"uint256"},{"name":"_store","type":"address","internalType":"contract MockStore"}],"stateMutability":"nonpayable"},{"type":"function","name":"ancillaryBytesLimit","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"defaultLiveness","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"disputePrice","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"bytes32","internalType":"bytes32"},{"name":"","type":"uint32","internalType":"uint32"},{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"tuple","internalType":"struct SkinnyOptimisticOracleInterface.Request","components":[{"name":"proposer","type":"address","internalType":"address"},{"name":"disputer","type":"address","internalType":"address"},{"name":"currency","type":"address","internalType":"contract IERC20"},{"name":"settled","type":"bool","internalType":"bool"},{"name":"proposedPrice","type":"int256","internalType":"int256"},{"name":"resolvedPrice","type":"int256","internalType":"int256"},{"name":"expirationTime","type":"uint256","internalType":"uint256"},{"name":"reward","type":"uint256","internalType":"uint256"},{"name":"finalFee","type":"uint256","internalType":"uint256"},{"name":"bond","type":"uint256","internalType":"uint256"},{"name":"customLiveness","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"disputePriceFor","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint32","internalType":"uint32"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"},{"name":"request","type":"tuple","internalType":"struct SkinnyOptimisticOracleInterface.Request","components":[{"name":"proposer","type":"address","internalType":"address"},{"name":"disputer","type":"address","internalType":"address"},{"name":"currency","type":"address","internalType":"contract IERC20"},{"name":"settled","type":"bool","internalType":"bool"},{"name":"proposedPrice","type":"int256","internalType":"int256"},{"name":"resolvedPrice","type":"int256","internalType":"int256"},{"name":"expirationTime","type":"uint256","internalType":"uint256"},{"name":"reward","type":"uint256","internalType":"uint256"},{"name":"finalFee","type":"uint256","internalType":"uint256"},{"name":"bond","type":"uint256","internalType":"uint256"},{"name":"customLiveness","type":"uint256","internalType":"uint256"}]},{"name":"disputer","type":"address","internalType":"address"},{"name":"requester","type":"address","internalType":"address"}],"outputs":[{"name":"totalBond","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"getState","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"bytes32","internalType":"bytes32"},{"name":"","type":"uint32","internalType":"uint32"},{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"tuple","internalType":"struct SkinnyOptimisticOracleInterface.Request","components":[{"name":"proposer","type":"address","internalType":"address"},{"name":"disputer","type":"address","internalType":"address"},{"name":"currency","type":"address","internalType":"contract IERC20"},{"name":"settled","type":"bool","internalType":"bool"},{"name":"proposedPrice","type":"int256","internalType":"int256"},{"name":"resolvedPrice","type":"int256","internalType":"int256"},{"name":"expirationTime","type":"uint256","internalType":"uint256"},{"name":"reward","type":"uint256","internalType":"uint256"},{"name":"finalFee","type":"uint256","internalType":"uint256"},{"name":"bond","type":"uint256","internalType":"uint256"},{"name":"customLiveness","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"","type":"uint8","internalType":"enum OptimisticOracleInterface.State"}],"stateMutability":"pure"},{"type":"function","name":"hasPrice","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"bytes32","internalType":"bytes32"},{"name":"","type":"uint32","internalType":"uint32"},{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"tuple","internalType":"struct SkinnyOptimisticOracleInterface.Request","components":[{"name":"proposer","type":"address","internalType":"address"},{"name":"disputer","type":"address","internalType":"address"},{"name":"currency","type":"address","internalType":"contract IERC20"},{"name":"settled","type":"bool","internalType":"bool"},{"name":"proposedPrice","type":"int256","internalType":"int256"},{"name":"resolvedPrice","type":"int256","internalType":"int256"},{"name":"expirationTime","type":"uint256","internalType":"uint256"},{"name":"reward","type":"uint256","internalType":"uint256"},{"name":"finalFee","type":"uint256","internalType":"uint256"},{"name":"bond","type":"uint256","internalType":"uint256"},{"name":"customLiveness","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"proposePrice","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"bytes32","internalType":"bytes32"},{"name":"","type":"uint32","internalType":"uint32"},{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"tuple","internalType":"struct SkinnyOptimisticOracleInterface.Request","components":[{"name":"proposer","type":"address","internalType":"address"},{"name":"disputer","type":"address","internalType":"address"},{"name":"currency","type":"address","internalType":"contract IERC20"},{"name":"settled","type":"bool","internalType":"bool"},{"name":"proposedPrice","type":"int256","internalType":"int256"},{"name":"resolvedPrice","type":"int256","internalType":"int256"},{"name":"expirationTime","type":"uint256","internalType":"uint256"},{"name":"reward","type":"uint256","internalType":"uint256"},{"name":"finalFee","type":"uint256","internalType":"uint256"},{"name":"bond","type":"uint256","internalType":"uint256"},{"name":"customLiveness","type":"uint256","internalType":"uint256"}]},{"name":"","type":"int256","internalType":"int256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"proposePriceFor","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"bytes32","internalType":"bytes32"},{"name":"","type":"uint32","internalType":"uint32"},{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"tuple","internalType":"struct SkinnyOptimisticOracleInterface.Request","components":[{"name":"proposer","type":"address","internalType":"address"},{"name":"disputer","type":"address","internalType":"address"},{"name":"currency","type":"address","internalType":"contract IERC20"},{"name":"settled","type":"bool","internalType":"bool"},{"name":"proposedPrice","type":"int256","internalType":"int256"},{"name":"resolvedPrice","type":"int256","internalType":"int256"},{"name":"expirationTime","type":"uint256","internalType":"uint256"},{"name":"reward","type":"uint256","internalType":"uint256"},{"name":"finalFee","type":"uint256","internalType":"uint256"},{"name":"bond","type":"uint256","internalType":"uint256"},{"name":"customLiveness","type":"uint256","internalType":"uint256"}]},{"name":"","type":"address","internalType":"address"},{"name":"","type":"int256","internalType":"int256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"requestAndProposePriceFor","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint32","internalType":"uint32"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"},{"name":"currency","type":"address","internalType":"contract IERC20"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"bond","type":"uint256","internalType":"uint256"},{"name":"customLiveness","type":"uint256","internalType":"uint256"},{"name":"proposer","type":"address","internalType":"address"},{"name":"proposedPrice","type":"int256","internalType":"int256"}],"outputs":[{"name":"totalBond","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"requestPrice","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"},{"name":"","type":"uint32","internalType":"uint32"},{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"address","internalType":"contract IERC20"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"requests","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"proposer","type":"address","internalType":"address"},{"name":"disputer","type":"address","internalType":"address"},{"name":"currency","type":"address","internalType":"contract IERC20"},{"name":"settled","type":"bool","internalType":"bool"},{"name":"proposedPrice","type":"int256","internalType":"int256"},{"name":"resolvedPrice","type":"int256","internalType":"int256"},{"name":"expirationTime","type":"uint256","internalType":"uint256"},{"name":"reward","type":"uint256","internalType":"uint256"},{"name":"finalFee","type":"uint256","internalType":"uint256"},{"name":"bond","type":"uint256","internalType":"uint256"},{"name":"customLiveness","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"settle","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"bytes32","internalType":"bytes32"},{"name":"","type":"uint32","internalType":"uint32"},{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"tuple","internalType":"struct SkinnyOptimisticOracleInterface.Request","components":[{"name":"proposer","type":"address","internalType":"address"},{"name":"disputer","type":"address","internalType":"address"},{"name":"currency","type":"address","internalType":"contract IERC20"},{"name":"settled","type":"bool","internalType":"bool"},{"name":"proposedPrice","type":"int256","internalType":"int256"},{"name":"resolvedPrice","type":"int256","internalType":"int256"},{"name":"expirationTime","type":"uint256","internalType":"uint256"},{"name":"reward","type":"uint256","internalType":"uint256"},{"name":"finalFee","type":"uint256","internalType":"uint256"},{"name":"bond","type":"uint256","internalType":"uint256"},{"name":"customLiveness","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"stampAncillaryData","inputs":[{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"store","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract MockStore"}],"stateMutability":"view"}]}
|
|
1
|
+
{"abi":[{"type":"constructor","inputs":[{"name":"_defaultLiveness","type":"uint256","internalType":"uint256"},{"name":"_store","type":"address","internalType":"contract MockStore"}],"stateMutability":"nonpayable"},{"type":"function","name":"ancillaryBytesLimit","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"defaultLiveness","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"disputePrice","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"bytes32","internalType":"bytes32"},{"name":"","type":"uint32","internalType":"uint32"},{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"tuple","internalType":"struct SkinnyOptimisticOracleInterface.Request","components":[{"name":"proposer","type":"address","internalType":"address"},{"name":"disputer","type":"address","internalType":"address"},{"name":"currency","type":"address","internalType":"contract IERC20"},{"name":"settled","type":"bool","internalType":"bool"},{"name":"proposedPrice","type":"int256","internalType":"int256"},{"name":"resolvedPrice","type":"int256","internalType":"int256"},{"name":"expirationTime","type":"uint256","internalType":"uint256"},{"name":"reward","type":"uint256","internalType":"uint256"},{"name":"finalFee","type":"uint256","internalType":"uint256"},{"name":"bond","type":"uint256","internalType":"uint256"},{"name":"customLiveness","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"disputePriceFor","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint32","internalType":"uint32"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"},{"name":"request","type":"tuple","internalType":"struct SkinnyOptimisticOracleInterface.Request","components":[{"name":"proposer","type":"address","internalType":"address"},{"name":"disputer","type":"address","internalType":"address"},{"name":"currency","type":"address","internalType":"contract IERC20"},{"name":"settled","type":"bool","internalType":"bool"},{"name":"proposedPrice","type":"int256","internalType":"int256"},{"name":"resolvedPrice","type":"int256","internalType":"int256"},{"name":"expirationTime","type":"uint256","internalType":"uint256"},{"name":"reward","type":"uint256","internalType":"uint256"},{"name":"finalFee","type":"uint256","internalType":"uint256"},{"name":"bond","type":"uint256","internalType":"uint256"},{"name":"customLiveness","type":"uint256","internalType":"uint256"}]},{"name":"disputer","type":"address","internalType":"address"},{"name":"requester","type":"address","internalType":"address"}],"outputs":[{"name":"totalBond","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"getState","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"bytes32","internalType":"bytes32"},{"name":"","type":"uint32","internalType":"uint32"},{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"tuple","internalType":"struct SkinnyOptimisticOracleInterface.Request","components":[{"name":"proposer","type":"address","internalType":"address"},{"name":"disputer","type":"address","internalType":"address"},{"name":"currency","type":"address","internalType":"contract IERC20"},{"name":"settled","type":"bool","internalType":"bool"},{"name":"proposedPrice","type":"int256","internalType":"int256"},{"name":"resolvedPrice","type":"int256","internalType":"int256"},{"name":"expirationTime","type":"uint256","internalType":"uint256"},{"name":"reward","type":"uint256","internalType":"uint256"},{"name":"finalFee","type":"uint256","internalType":"uint256"},{"name":"bond","type":"uint256","internalType":"uint256"},{"name":"customLiveness","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"","type":"uint8","internalType":"enum OptimisticOracleInterface.State"}],"stateMutability":"pure"},{"type":"function","name":"hasPrice","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"bytes32","internalType":"bytes32"},{"name":"","type":"uint32","internalType":"uint32"},{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"tuple","internalType":"struct SkinnyOptimisticOracleInterface.Request","components":[{"name":"proposer","type":"address","internalType":"address"},{"name":"disputer","type":"address","internalType":"address"},{"name":"currency","type":"address","internalType":"contract IERC20"},{"name":"settled","type":"bool","internalType":"bool"},{"name":"proposedPrice","type":"int256","internalType":"int256"},{"name":"resolvedPrice","type":"int256","internalType":"int256"},{"name":"expirationTime","type":"uint256","internalType":"uint256"},{"name":"reward","type":"uint256","internalType":"uint256"},{"name":"finalFee","type":"uint256","internalType":"uint256"},{"name":"bond","type":"uint256","internalType":"uint256"},{"name":"customLiveness","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"proposePrice","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"bytes32","internalType":"bytes32"},{"name":"","type":"uint32","internalType":"uint32"},{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"tuple","internalType":"struct SkinnyOptimisticOracleInterface.Request","components":[{"name":"proposer","type":"address","internalType":"address"},{"name":"disputer","type":"address","internalType":"address"},{"name":"currency","type":"address","internalType":"contract IERC20"},{"name":"settled","type":"bool","internalType":"bool"},{"name":"proposedPrice","type":"int256","internalType":"int256"},{"name":"resolvedPrice","type":"int256","internalType":"int256"},{"name":"expirationTime","type":"uint256","internalType":"uint256"},{"name":"reward","type":"uint256","internalType":"uint256"},{"name":"finalFee","type":"uint256","internalType":"uint256"},{"name":"bond","type":"uint256","internalType":"uint256"},{"name":"customLiveness","type":"uint256","internalType":"uint256"}]},{"name":"","type":"int256","internalType":"int256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"proposePriceFor","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"bytes32","internalType":"bytes32"},{"name":"","type":"uint32","internalType":"uint32"},{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"tuple","internalType":"struct SkinnyOptimisticOracleInterface.Request","components":[{"name":"proposer","type":"address","internalType":"address"},{"name":"disputer","type":"address","internalType":"address"},{"name":"currency","type":"address","internalType":"contract IERC20"},{"name":"settled","type":"bool","internalType":"bool"},{"name":"proposedPrice","type":"int256","internalType":"int256"},{"name":"resolvedPrice","type":"int256","internalType":"int256"},{"name":"expirationTime","type":"uint256","internalType":"uint256"},{"name":"reward","type":"uint256","internalType":"uint256"},{"name":"finalFee","type":"uint256","internalType":"uint256"},{"name":"bond","type":"uint256","internalType":"uint256"},{"name":"customLiveness","type":"uint256","internalType":"uint256"}]},{"name":"","type":"address","internalType":"address"},{"name":"","type":"int256","internalType":"int256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"requestAndProposePriceFor","inputs":[{"name":"identifier","type":"bytes32","internalType":"bytes32"},{"name":"timestamp","type":"uint32","internalType":"uint32"},{"name":"ancillaryData","type":"bytes","internalType":"bytes"},{"name":"currency","type":"address","internalType":"contract IERC20"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"bond","type":"uint256","internalType":"uint256"},{"name":"customLiveness","type":"uint256","internalType":"uint256"},{"name":"proposer","type":"address","internalType":"address"},{"name":"proposedPrice","type":"int256","internalType":"int256"}],"outputs":[{"name":"totalBond","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"requestPrice","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"},{"name":"","type":"uint32","internalType":"uint32"},{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"address","internalType":"contract IERC20"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"requests","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"proposer","type":"address","internalType":"address"},{"name":"disputer","type":"address","internalType":"address"},{"name":"currency","type":"address","internalType":"contract IERC20"},{"name":"settled","type":"bool","internalType":"bool"},{"name":"proposedPrice","type":"int256","internalType":"int256"},{"name":"resolvedPrice","type":"int256","internalType":"int256"},{"name":"expirationTime","type":"uint256","internalType":"uint256"},{"name":"reward","type":"uint256","internalType":"uint256"},{"name":"finalFee","type":"uint256","internalType":"uint256"},{"name":"bond","type":"uint256","internalType":"uint256"},{"name":"customLiveness","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"settle","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"bytes32","internalType":"bytes32"},{"name":"","type":"uint32","internalType":"uint32"},{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"tuple","internalType":"struct SkinnyOptimisticOracleInterface.Request","components":[{"name":"proposer","type":"address","internalType":"address"},{"name":"disputer","type":"address","internalType":"address"},{"name":"currency","type":"address","internalType":"contract IERC20"},{"name":"settled","type":"bool","internalType":"bool"},{"name":"proposedPrice","type":"int256","internalType":"int256"},{"name":"resolvedPrice","type":"int256","internalType":"int256"},{"name":"expirationTime","type":"uint256","internalType":"uint256"},{"name":"reward","type":"uint256","internalType":"uint256"},{"name":"finalFee","type":"uint256","internalType":"uint256"},{"name":"bond","type":"uint256","internalType":"uint256"},{"name":"customLiveness","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"stampAncillaryData","inputs":[{"name":"","type":"bytes","internalType":"bytes"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"store","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract MockStore"}],"stateMutability":"view"}],"bytecode":"0x608034607957601f610d5838819003918201601f19168301916001600160401b03831184841017607d57808492604094855283398101031260795780516020909101516001600160a01b03811691908290036079575f55600180546001600160a01b031916919091179055604051610cc690816100928239f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f5f3560e01c80633a31577e1461090b578063512055541461090b57806393c44ef7146108bd578063975057e7146108975780639ce320c8146105bc5780639d86698514610503578063a337e1ad14610138578063af355d1e146101e2578063af5d2f39146101a7578063b1a166b21461014f578063b730539f14610138578063c371dda71461011b578063d6228407146100d35763fe4e1983146100b4575f80fd5b346100d057806003193601126100d05760209054604051908152f35b80fd5b50346100d05760e03660031901126100d0576100ed610983565b5060443567ffffffffffffffff81116101175761010e9036906004016109e9565b50610117610a3f565b5080fd5b50346100d057806003193601126100d05760206040516120008152f35b50346100d05761014736610b0a565b505050505080fd5b50346100d0576102203660031901126100d05761016a610919565b50610173610970565b5060643567ffffffffffffffff8111610117576101949036906004016109e9565b5061019e36610a55565b5061011761092f565b50346100d05760403660031901126100d05760043567ffffffffffffffff8111610117576101d99036906004016109e9565b50610117610946565b50346100d0576101203660031901126100d0576101fd610983565b60443567ffffffffffffffff81116104ff5761021d9036906004016109e9565b90610226610a3f565b60a4359060c4359260e435946001600160a01b0386168096036104e85761026d61025f9160405192839160208301956004353388610c0a565b03601f1981018352826109c7565b519020602460206001600160a01b03806001541694169360405192838092635b97aadd60e01b82528760048301525afa9081156104f457879161048a575b5051916102b88385610c57565b6040516323b872dd60e01b81523360048201523060248201526044810182905290979060208160648185875af1801561047f57610452575b506102fb8642610c57565b916040519761030989610996565b88526020880190828252604089019081526060890183815260808a019261010435845260a08b019480865260c08c0196875260e08c01978189526101008d01998a526101208d019a8b526101408d019b8c5281526002602052604090209a516001600160a01b03166001600160a01b03168b546001600160a01b031916178b55516001600160a01b031660018b01906001600160a01b031681546001600160a01b03191617905560028a0191516001600160a01b03166001600160a01b031682546001600160a01b03191617825551151581549060a01b74ff000000000000000000000000000000000000000016907fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16179055516003880155516004870155516005860155516006850155516007840155516008830155519060090155604051908152602090f35b6104739060203d602011610478575b61046b81836109c7565b810190610c78565b6102f0565b503d610461565b6040513d84823e3d90fd5b90506020813d6020116104ec575b816104a5602093836109c7565b810103126104e857604051906020820182811067ffffffffffffffff8211176104d4576040525181525f6102ab565b634e487b7160e01b89526041600452602489fd5b8680fd5b3d9150610498565b6040513d89823e3d90fd5b8280fd5b50346100d05760203660031901126100d05760406101609160043581526002602052206001600160a01b03815416906001600160a01b036001820154169060028101546003820154600483015460058401549060068501549260ff60078701549560096008890154980154986040519a8b5260208b01526001600160a01b03811660408b015260a01c1615156060890152608088015260a087015260c086015260e0850152610100840152610120830152610140820152f35b3461085957610200366003190112610859576105d6610983565b60443567ffffffffffffffff8111610859576105f69036906004016109e9565b610160366063190112610859576040519061061082610996565b6064356001600160a01b03811681036108595782526084356001600160a01b038116810361085957602083015260a4356001600160a01b038116810361085957604083015260c435801515810361085957606083015260e43560808301526101043560a08301526101243560c08301526101443560e08301526101008201926101643584526101208301926101843584526101406101a4359101526101c435916001600160a01b0383168303610859576106e46106cb61092f565b9261025f60405193849260208401966004359088610c0a565b5190205f52600260205260405f20926107008351825190610c57565b6002850180546040516323b872dd60e01b815233600482015230602482015260448101849052929591939190602090849060649082905f906001600160a01b03165af192831561084e5761075f9361087a575b505160011c9051610c57565b8061078e575b50506001600160a01b0360016020940191166001600160a01b0319825416179055604051908152f35b815460015460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810184905291602091839160449183915f91165af1801561084e5761085d575b506001600160a01b03806001541692541690823b156108595760405163dbb7029b60e01b81526001600160a01b039290921660048301526024820152905f908290604490829084905af1801561084e576020946001600160a01b039260019261083e575b509450610765565b5f610848916109c7565b5f610836565b6040513d5f823e3d90fd5b5f80fd5b6108759060203d6020116104785761046b81836109c7565b6107d2565b6108929060203d6020116104785761046b81836109c7565b610753565b34610859575f3660031901126108595760206001600160a01b0360015416604051908152f35b3461085957610200366003190112610859576108d7610919565b506108e0610970565b5060643567ffffffffffffffff8111610859576109019036906004016109e9565b5061085936610a55565b346108595761085936610b0a565b600435906001600160a01b038216820361085957565b6101e435906001600160a01b038216820361085957565b602435906001600160a01b038216820361085957565b35906001600160a01b038216820361085957565b6044359063ffffffff8216820361085957565b6024359063ffffffff8216820361085957565b610160810190811067ffffffffffffffff8211176109b357604052565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff8211176109b357604052565b81601f820112156108595780359067ffffffffffffffff82116109b35760405192610a1e601f8401601f1916602001856109c7565b8284526020838301011161085957815f926020809301838601378301015290565b606435906001600160a01b038216820361085957565b6101609060831901126108595760405190610a6f82610996565b816084356001600160a01b038116810361085957815260a4356001600160a01b038116810361085957602082015260c4356001600160a01b038116810361085957604082015260e43580151581036108595760608201526101043560808201526101243560a08201526101443560c08201526101643560e0820152610184356101008201526101a4356101208201526101406101c435910152565b6101e0600319820112610859576004356001600160a01b038116810361085957916024359160443563ffffffff81168103610859579160643567ffffffffffffffff81116108595782610b5f916004016109e9565b916101606084809203126108595760405190610b7a82610996565b610b838161095c565b8252610b916020820161095c565b6020830152610ba26040820161095c565b60408301526060810135908115158203610859576101409160608401526080810135608084015260a081013560a084015260c081013560c084015260e081013560e0840152610100810135610100840152610120810135610120840152013561014082015290565b9263ffffffff906020936001600160a01b0360a0979416865284860152166040840152608060608401528051918291826080860152018484015e5f828201840152601f01601f1916010190565b91908201809211610c6457565b634e487b7160e01b5f52601160045260245ffd5b9081602091031261085957518015158103610859579056fea264697066735822122086840db30a26148509465446022c4809c17109f6287c3d171b6df4cf169667a864736f6c634300081e0033"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"abi":[{"type":"function","name":"computeFinalFee","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MockStore.FinalFee","components":[{"name":"rawValue","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"finalFees","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"payOracleFees","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"payOracleFeesErc20","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFinalFee","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"fee","type":"tuple","internalType":"struct MockStore.FinalFee","components":[{"name":"rawValue","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"}]}
|
|
1
|
+
{"abi":[{"type":"function","name":"computeFinalFee","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MockStore.FinalFee","components":[{"name":"rawValue","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"finalFees","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"payOracleFees","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"payOracleFeesErc20","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFinalFee","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"fee","type":"tuple","internalType":"struct MockStore.FinalFee","components":[{"name":"rawValue","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":"0x608080604052346015576101ca908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80635b97aadd146100ff5780636f356f4a146100c85780637e7e591d1461007c578063cd3a9b241461006f5763dbb7029b14610050575f80fd5b3461006b57604036600319011261006b5761006961014a565b005b5f80fd5b5f36600319011261006b57005b3461006b57604036600319011261006b5761009561014a565b602036602319011261006b576001600160a01b036100b1610160565b91602435809352165f525f60205260405f20555f80f35b3461006b57602036600319011261006b576001600160a01b036100e961014a565b165f525f602052602060405f2054604051908152f35b3461006b57602036600319011261006b576001600160a01b0361012061014a565b5f610129610160565b52165f525f602052602060405f205480610141610160565b52604051908152f35b600435906001600160a01b038216820361006b57565b604051906020820182811067ffffffffffffffff82111761018057604052565b634e487b7160e01b5f52604160045260245ffdfea26469706673582212208bfd90d36989df91f5348c5488db9668910b09312d824f06b19b0ffbd8c028e964736f6c634300081e0033"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"abi":[{"type":"function","name":"HYPE_TOKEN_INDEX","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"USDC_TOKEN_INDEX","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"_getMaxLeverage","inputs":[{"name":"perpIndex","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"_liquidateUser","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"coreUserExists","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"executeNativeTransfer","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"from","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"executePerpLimitOrder","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"action","type":"tuple","internalType":"struct CoreState.LimitOrderAction","components":[{"name":"asset","type":"uint32","internalType":"uint32"},{"name":"isBuy","type":"bool","internalType":"bool"},{"name":"limitPx","type":"uint64","internalType":"uint64"},{"name":"sz","type":"uint64","internalType":"uint64"},{"name":"reduceOnly","type":"bool","internalType":"bool"},{"name":"encodedTif","type":"uint8","internalType":"uint8"},{"name":"cloid","type":"uint128","internalType":"uint128"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"executeRawAction","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"kind","type":"uint24","internalType":"uint24"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"executeSpotLimitOrder","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"action","type":"tuple","internalType":"struct CoreState.LimitOrderAction","components":[{"name":"asset","type":"uint32","internalType":"uint32"},{"name":"isBuy","type":"bool","internalType":"bool"},{"name":"limitPx","type":"uint64","internalType":"uint64"},{"name":"sz","type":"uint64","internalType":"uint64"},{"name":"reduceOnly","type":"bool","internalType":"bool"},{"name":"encodedTif","type":"uint8","internalType":"uint8"},{"name":"cloid","type":"uint128","internalType":"uint128"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"executeSpotSend","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"action","type":"tuple","internalType":"struct CoreState.SpotSendAction","components":[{"name":"destination","type":"address","internalType":"address"},{"name":"token","type":"uint64","internalType":"uint64"},{"name":"_wei","type":"uint64","internalType":"uint64"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"executeStakingDeposit","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"action","type":"tuple","internalType":"struct CoreState.StakingDepositAction","components":[{"name":"_wei","type":"uint64","internalType":"uint64"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"executeStakingWithdraw","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"action","type":"tuple","internalType":"struct CoreState.StakingWithdrawAction","components":[{"name":"_wei","type":"uint64","internalType":"uint64"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"executeTokenDelegate","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"action","type":"tuple","internalType":"struct CoreState.TokenDelegateAction","components":[{"name":"validator","type":"address","internalType":"address"},{"name":"_wei","type":"uint64","internalType":"uint64"},{"name":"isUndelegate","type":"bool","internalType":"bool"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"executeTokenTransfer","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"token","type":"uint64","internalType":"uint64"},{"name":"from","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"executeUsdClassTransfer","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"action","type":"tuple","internalType":"struct CoreState.UsdClassTransferAction","components":[{"name":"ntl","type":"uint64","internalType":"uint64"},{"name":"toPerp","type":"bool","internalType":"bool"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"executeVaultTransfer","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"action","type":"tuple","internalType":"struct CoreState.VaultTransferAction","components":[{"name":"vault","type":"address","internalType":"address"},{"name":"isDeposit","type":"bool","internalType":"bool"},{"name":"usd","type":"uint64","internalType":"uint64"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"forceAccountActivation","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"forceDelegation","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"validator","type":"address","internalType":"address"},{"name":"amount","type":"uint64","internalType":"uint64"},{"name":"lockedUntilTimestamp","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"forcePerpBalance","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"usd","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"forceSpot","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"token","type":"uint64","internalType":"uint64"},{"name":"_wei","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"forceStaking","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"_wei","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"forceTokenInfo","inputs":[{"name":"index","type":"uint64","internalType":"uint64"},{"name":"name","type":"string","internalType":"string"},{"name":"evmContract","type":"address","internalType":"address"},{"name":"szDecimals","type":"uint8","internalType":"uint8"},{"name":"weiDecimals","type":"uint8","internalType":"uint8"},{"name":"evmExtraWeiDecimals","type":"int8","internalType":"int8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"forceVaultEquity","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"vault","type":"address","internalType":"address"},{"name":"usd","type":"uint64","internalType":"uint64"},{"name":"lockedUntilTimestamp","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"isLiquidatable","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"liquidatePositions","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"processPendingOrders","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"processStakingWithdrawals","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"readAccountMarginSummary","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct PrecompileLib.AccountMarginSummary","components":[{"name":"accountValue","type":"int64","internalType":"int64"},{"name":"marginUsed","type":"uint64","internalType":"uint64"},{"name":"ntlPos","type":"uint64","internalType":"uint64"},{"name":"rawUsd","type":"int64","internalType":"int64"}]}],"stateMutability":"view"},{"type":"function","name":"readDelegation","inputs":[{"name":"user","type":"address","internalType":"address"},{"name":"validator","type":"address","internalType":"address"}],"outputs":[{"name":"delegation","type":"tuple","internalType":"struct PrecompileLib.Delegation","components":[{"name":"validator","type":"address","internalType":"address"},{"name":"amount","type":"uint64","internalType":"uint64"},{"name":"lockedUntilTimestamp","type":"uint64","internalType":"uint64"}]}],"stateMutability":"view"},{"type":"function","name":"readDelegations","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"userDelegations","type":"tuple[]","internalType":"struct PrecompileLib.Delegation[]","components":[{"name":"validator","type":"address","internalType":"address"},{"name":"amount","type":"uint64","internalType":"uint64"},{"name":"lockedUntilTimestamp","type":"uint64","internalType":"uint64"}]}],"stateMutability":"view"},{"type":"function","name":"readDelegatorSummary","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"summary","type":"tuple","internalType":"struct PrecompileLib.DelegatorSummary","components":[{"name":"delegated","type":"uint64","internalType":"uint64"},{"name":"undelegated","type":"uint64","internalType":"uint64"},{"name":"totalPendingWithdrawal","type":"uint64","internalType":"uint64"},{"name":"nPendingWithdrawals","type":"uint64","internalType":"uint64"}]}],"stateMutability":"view"},{"type":"function","name":"readMarkPx","inputs":[{"name":"perp","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"nonpayable"},{"type":"function","name":"readPosition","inputs":[{"name":"user","type":"address","internalType":"address"},{"name":"perp","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"","type":"tuple","internalType":"struct PrecompileLib.Position","components":[{"name":"szi","type":"int64","internalType":"int64"},{"name":"entryNtl","type":"uint64","internalType":"uint64"},{"name":"isolatedRawUsd","type":"int64","internalType":"int64"},{"name":"leverage","type":"uint32","internalType":"uint32"},{"name":"isIsolated","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"readSpotBalance","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"token","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"","type":"tuple","internalType":"struct PrecompileLib.SpotBalance","components":[{"name":"total","type":"uint64","internalType":"uint64"},{"name":"hold","type":"uint64","internalType":"uint64"},{"name":"entryNtl","type":"uint64","internalType":"uint64"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"readSpotPx","inputs":[{"name":"spotMarketId","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"readTokenInfo","inputs":[{"name":"index","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"","type":"tuple","internalType":"struct PrecompileLib.TokenInfo","components":[{"name":"name","type":"string","internalType":"string"},{"name":"spots","type":"uint64[]","internalType":"uint64[]"},{"name":"deployerTradingFeeShare","type":"uint64","internalType":"uint64"},{"name":"deployer","type":"address","internalType":"address"},{"name":"evmContract","type":"address","internalType":"address"},{"name":"szDecimals","type":"uint8","internalType":"uint8"},{"name":"weiDecimals","type":"uint8","internalType":"uint8"},{"name":"evmExtraWeiDecimals","type":"int8","internalType":"int8"}]}],"stateMutability":"view"},{"type":"function","name":"readUserVaultEquity","inputs":[{"name":"user","type":"address","internalType":"address"},{"name":"vault","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct PrecompileLib.UserVaultEquity","components":[{"name":"equity","type":"uint64","internalType":"uint64"},{"name":"lockedUntilTimestamp","type":"uint64","internalType":"uint64"}]}],"stateMutability":"view"},{"type":"function","name":"readWithdrawable","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct PrecompileLib.Withdrawable","components":[{"name":"withdrawable","type":"uint64","internalType":"uint64"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"registerTokenInfo","inputs":[{"name":"index","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerValidator","inputs":[{"name":"validator","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMarkPx","inputs":[{"name":"perp","type":"uint32","internalType":"uint32"},{"name":"priceDiffBps","type":"uint64","internalType":"uint64"},{"name":"isIncrease","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMarkPx","inputs":[{"name":"perp","type":"uint32","internalType":"uint32"},{"name":"markPx","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSpotPx","inputs":[{"name":"spotMarketId","type":"uint32","internalType":"uint32"},{"name":"spotPx","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSpotPx","inputs":[{"name":"spotMarketId","type":"uint32","internalType":"uint32"},{"name":"priceDiffBps","type":"uint64","internalType":"uint64"},{"name":"isIncrease","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setVaultMultiplier","inputs":[{"name":"vault","type":"address","internalType":"address"},{"name":"multiplier","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"tokenExists","inputs":[{"name":"token","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"SlotFound","inputs":[{"name":"who","type":"address","indexed":false,"internalType":"address"},{"name":"fsig","type":"bytes4","indexed":false,"internalType":"bytes4"},{"name":"keysHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"slot","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"WARNING_UninitedSlot","inputs":[{"name":"who","type":"address","indexed":false,"internalType":"address"},{"name":"slot","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"PrecompileLib__AccountMarginSummaryPrecompileFailed","inputs":[]},{"type":"error","name":"PrecompileLib__MarkPxPrecompileFailed","inputs":[]},{"type":"error","name":"PrecompileLib__SpotInfoPrecompileFailed","inputs":[]},{"type":"error","name":"PrecompileLib__SpotPxPrecompileFailed","inputs":[]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]}],"bytecode":"0x60a08060405234604f57466103e60360465761ffff6104515b166080526196aa908161005482396080518181816102ef01528181611e17015281816157580152616fe20152f35b61ffff60966018565b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063012755c214613c9a578063042e02cf14613c7757806304aa185114613b325780630810bf0214613af5578063132ce2d614613558578063158389c4146134eb578063180ed246146134a25780631db9707c146132f0578063233cc86a146132645780632f9c29a21461322557806335c4a8b1146131a557806336d92dc614613169578063554e1108146131485780635b2de48b146130415780635e3dcdab146130275780636040b052146121b85780636272f20a14612168578063668adf86146120f25780636780a7d4146120da57806368ba8652146120a55780636c27e54614611fac57806371291d1b14611eb8578063757428fb14611df55780637fa6938314611c5f5780638dca414d14611be657806394a0b77114611b9657806397fba54614611ab757806399c9189d14611a9457806399e0843f146119bc5780639a6538b4146119435780639c93e159146119185780639dbfb13f146118eb5780639fca5169146118c1578063afe1309e1461186e578063b4240661146115f4578063ccd9349c14611568578063cfdc26941461136d578063da728ceb14610f39578063db2d1cb514610f0e578063db40297c14610529578063e2e85831146104f5578063ea32ee8814610494578063eb03dd6b14610336578063ec1e4e0114610313578063faf2773a146102d05763ff1e91b514610213575f80fd5b60403660031901126102cc57610227613cef565b61022f613d45565b906001600160a01b03811690815f52600a60205260ff60405f205416156102a2575b815f52600b60205260ff60405f20541615610293575b505f52600a6020526001600160401b03600560405f200191166001600160401b03198254161790555f80f35b61029c90617cbc565b5f610267565b6102c7816001600160a01b03165f52600a60205260405f20600160ff19825416179055565b610251565b5f80fd5b346102cc575f3660031901126102cc5760206040516001600160401b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b346102cc5760203660031901126102cc5761033461032f613cef565b617443565b005b60803660031901126102cc5761034a613cef565b50610353613d45565b61035b613d1b565b906064356001600160a01b03831692835f52600c60205260405f206001600160401b0384165f526020528260ff60405f2054161561047b575b5050825f52600a60205260ff60405f2054165f1461041f576103d4906001600160401b0383165f526009602052600360405f20015460b01c5f0b90617f83565b915f52600a6020526001600160401b03600160405f200191165f526020526001600160401b0361040b60405f2092828454166141a4565b825467ffffffffffffffff19169116179055005b610447906001600160401b0383165f526009602052600360405f20015460b01c5f0b90617f83565b915f5260106020526001600160401b0360405f2091165f526020526001600160401b0361040b60405f2092828454166141a4565b61048d9161048882616452565b61780d565b8382610394565b346102cc5760603660031901126102cc576104ad613cef565b60403660231901126102cc576040516104c581613da1565b6024356001600160401b03811681036102cc5781526044359182151583036102cc576103349260208301526172e3565b346102cc5760203660031901126102cc576020610518610513613e64565b617270565b6001600160401b0360405191168152f35b346102cc575f3660031901126102cc57601654805b61054457005b5f198101818111610b8557610558816144fb565b5060405161056581613da1565b6001600160a01b0382541681526001600160801b0360026040519361058985613e0d565b60ff600182015463ffffffff81168752818160201c16151560208801526001600160401b038160281c1660408801526001600160401b038160681c166060880152818160a81c161515608088015260b01c1660a086015201541660c0830152602081019180835263ffffffff61270f199151160163ffffffff8111610b855761061461061d91616b31565b925192836178ab565b610634575b50505061062e906140e2565b8061053e565b6001600160a01b039051169063ffffffff61065181835116614550565b166001600160401b03602080610675838261066b876177a8565b01515116946177a8565b015101511690835f52600c60205260405f206001600160401b0382165f5260205260ff60405f20541615610ef5575b50825f52600c60205260405f206001600160401b0382165f5260205260ff60405f20541615610edc575b50602061071b61070d63ffffffff6106e881865116614550565b166106f1617685565b506040519084820152838152610708604082613e43565b617fe5565b828082518301019101617701565b01916001600160401b03835151165f52600960205260405f206040519061074182613d85565b60405161075981610752818561447a565b0382613e43565b8252600181019060405180602084549182815201935f5260205f20905f915b816003840110610e8a57946107b49284926003975491818110610e70575b818110610e53575b818110610e36575b10610e28575b500382613e43565b60208401526001600160a01b0360028201546001600160401b038116604086015260401c16606084015201546001600160a01b038116608083015260a082019160ff8260a01c16835260e060c082019260ff8160a81c16845260b01c5f0b91015261082f63ffffffff61082981875116614550565b16616b31565b9061083a82866178ab565b15610cb0576020850151869015610b99576108966108916108a1949560ff806001600160401b0361088260608280602061089b9b510151169f5151169d019a828c51166141e5565b9951169651169151169061452b565b61453f565b6178d8565b906141e5565b93825f52600a602052600160405f20016001600160401b0382165f526020526001600160401b0360405f2054166001600160401b03831611155f146102cc57825f52600a6020526001600160401b03600160405f200191165f526020526001600160401b0361091760405f2092828454166145b0565b166001600160401b03198254161790555f52600a6020526001600160401b03600160405f200191165f526020526001600160401b0361095d60405f2092828454166141a4565b166001600160401b03198254161790555b6016545f198101908111610b855761098861098f916144fb565b50916144fb565b9190916109da57808203610a01575b505060165480156109ed575f1901906109b6826144fb565b9290926109da575f6002848261062e96558260018201550155601655908280610622565b634e487b7160e01b5f525f60045260245ffd5b634e487b7160e01b5f52603160045260245ffd5b6001600160a01b0380825416166001600160a01b0319835416178255600182019060018101808303610a35575b505061099e565b60028092610b666001600160801b039560ff8563ffffffff808a9854161663ffffffff19845416178355610a8882825460201c16849064ff00000000825491151560201b169064ff000000001916179055565b805483546cffffffffffffffff000000000019166cffffffffffffffff0000000000909116178355805483547fffffffffffffffffffffff0000000000000000ffffffffffffffffffffffffff1674ffffffffffffffff00000000000000000000000000909116178355805483547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1660a891821c8416151590911b60ff60a81b161783555460b01c167fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff60ff60b01b83549260b01b169116179055565b015416920191166001600160801b031982541617905581808080610a2e565b634e487b7160e01b5f52601160045260245ffd5b610bd7610bdf939261089b61089661089160606001600160401b0360208180995151169e510151169b019860ff80888c51169651169151169061452b565b9351166141e5565b93825f52600a602052600160405f20016001600160401b0382165f526020526001600160401b0360405f2054166001600160401b03831611155f146102cc57825f52600a6020526001600160401b03600160405f200191165f526020526001600160401b03610c5560405f2092828454166145b0565b166001600160401b03198254161790555f52600a6020526001600160401b03600160405f200191165f526020526001600160401b03610c9b60405f2092828454166141a4565b166001600160401b031982541617905561096e565b505050915060405191610cc283613da1565b825260208201908152601654600160401b811015610e1457806001610cea92016016556144fb565b9290926109da576001600160801b0360c081936001600160a01b03806002955116166001600160a01b0319875416178655610df96001870191519163ffffffff808451161663ffffffff19825416178155610d6460208401511515829064ff00000000825491151560201b169064ff000000001916179055565b604083015181546060850151608086015160a087015190151560a81b60ff60a81b1660689290921b74ffffffffffffffff000000000000000000000000001660289490941b6cffffffffffffffff0000000000167fffffffffffffffffff000000000000000000000000000000000000ffffffffff90931692909217929092179190911760b09190911b60ff60b01b16179055565b015116920191166001600160801b031982541617905561096e565b634e487b7160e01b5f52604160045260245ffd5b60c01c81526020018c6107ac565b9260206001916001600160401b038560801c1681520193016107a6565b9260206001916001600160401b038560401c16815201930161079e565b9260206001916001600160401b0385168152019301610796565b9293946001608060049286546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c606082015201940192019194939294610778565b80610ee9610eef92616452565b8361780d565b846106ce565b80610f02610f0892616452565b8461780d565b856106a4565b346102cc5760403660031901126102cc57610334610f2a613cef565b610f3336613f9b565b90617111565b346102cc5760c03660031901126102cc57610f52613d5b565b6024356001600160401b0381116102cc57366023820112156102cc578060040135610f7c81614015565b91610f8a6040519384613e43565b81835236602483830101116102cc57815f926024602093018386013783010152610fb2613d1b565b9160643560ff81168091036102cc576084359260ff84168094036102cc5760a43592835f0b8094036102cc57602090604051610fee8382613e43565b5f81525f3681376040519361100285613d85565b845282840190815260408401925f84526001600160401b0360608601935f85526001600160a01b03608088019b168b5260a0870197885260c08701998a5260e08701988952165f526009815260405f2094518051906001600160401b038211610e145761106f8754614442565b601f8111611334575b508290601f83116001146112d1576110a792915f91836112c6575b50508160011b915f199060031b1c19161790565b85555b6001850191518051906001600160401b038211610e1457600160401b8211610e145782908454838655808410611272575b5001925f52815f20908060021c925f5b84811061122e5750600319821690910390816111ca575b8b8b8b8b6001600160a01b038060038e8e8e6001600160401b038060028501935116166001600160401b0319835416178255517fffffffff0000000000000000000000000000000000000000ffffffffffffffff7bffffffffffffffffffffffffffffffffffffffff000000000000000083549260401b16911617905501955116166001600160a01b0319855416178455519162ffffff60a01b1960ff60a01b60ff60a81b8654935160a81b16935160b01b60ff60b01b169460a01b16911617171790555f80f35b93905f945f5b8281106111ef57505050500155828260036001600160a01b0380611102565b90919295826112236001926001600160401b038a5116908560031b6001600160401b03809160031b9316831b921b19161790565b9701939291016111d0565b5f5f5b600481106112465750848201556001016110eb565b875190979160019185916001600160401b0360068c901b81811b199092169216901b1792019701611231565b61129f90865f52835f20600380870160021c820192601888831b16806112a5575b500160021c019061643c565b8c6110db565b6112c0905f198601908154905f199060200360031b1c169055565b5f611293565b015190508c80611093565b90601f19831691885f52845f20925f5b8682821061131e575050908460019594939210611306575b505050811b0185556110aa565b01515f1960f88460031b161c191690558b80806112f9565b60018596829396860151815501950193016112e1565b61135d90885f52845f20601f850160051c810191868610611363575b601f0160051c019061643c565b8b611078565b9091508190611350565b346102cc5760203660031901126102cc57611386613cef565b61138e6167a7565b6113966185a7565b906001600160a01b035f9316925b825181101561142b57600190845f52600a602052600460405f20016001600160a01b03806113d284886154d2565b5116165f526020526001600160401b0361142260405f206040516113f581613dbc565b604084878185546001600160a01b038116865260a01c1694856020860152015416910152828651166141a4565b168352016113a4565b5f848152600a602090815260408220600301546001600160401b0316908401908152601454869285916001600160801b0380821660809290921c829003169182905b8381106114aa576080866001600160401b036060888260405194818351168652511660208501528260408201511660408501520151166060820152f35b81811015611556576114e36114dd6001600160801b038084168601166001600160801b03165f52601560205260405f2090565b54617642565b90876001600160a01b0383511614611500575b600191500161146d565b606086016001600160401b038151166001600160401b038114610b85576001936001600160401b03928386602094011690520151166001600160401b0361154e6040890192828451166141a4565b1690526114f6565b634e487b715f5260326020526024601cfd5b346102cc5760603660031901126102cc57611581613e64565b63ffffffff6127106001600160401b03611599613d45565b6115a1613e77565b6115aa86616b31565b90156115e85761089b6115bc92614186565b160491165f5260126020526001600160401b0360405f2091166001600160401b03198254161790555f80f35b61089b6115bc92614570565b346102cc5760203660031901126102cc576001600160401b03611615613d5b565b61161d6170d3565b50165f52600960205260405f2060405161163681613d85565b60405161164781610752818661447a565b815260018201604051808260208294549384815201905f5260205f20925f905b80600383011061181c5761169c945491818110611802575b8181106117e5575b8181106117c8575b106117ba57500382613e43565b60208201908152600283015492600360408401916001600160401b03861683526001600160a01b03606086019660401c168652015490608084016001600160a01b038316815260a085019560ff8460a01c16875260c086019260ff8560a81c16845260e087019460b01c5f0b855261172960405197602089525161010060208a0152610120890190613ff1565b955195601f19888203016040890152602080885192838152019701905f5b81811061179b57505050966001600160a01b0360ff94938186946001600160401b038b9c511660608c0152511660808a0152511660a0880152511660c0860152511660e0840152515f0b6101008301520390f35b82516001600160401b0316895260209889019890920191600101611747565b60c01c8152602001866107ac565b9260206001916001600160401b038560801c16815201930161168f565b9260206001916001600160401b038560401c168152019301611687565b9260206001916001600160401b038516815201930161167f565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c6060820152019401920184929391611667565b346102cc5760403660031901126102cc57611887613cef565b6001600160a01b03611897613d45565b91165f5260196020526001600160401b0360405f2091166001600160401b03198254161790555f80f35b346102cc5760203660031901126102cc576103346001600160a01b036118e5613cef565b16618870565b346102cc5760203660031901126102cc57602061190e611909613cef565b617090565b6040519015158152f35b346102cc5760403660031901126102cc57610334611934613cef565b61193d36613f9b565b90616fa5565b346102cc5760803660031901126102cc5761195c613cef565b60603660231901126102cc5760405161197481613dbc565b6024356001600160a01b03811681036102cc57815260443580151581036102cc576020820152606435916001600160401b03831683036102cc57610334926040830152616bc3565b346102cc5760403660031901126102cc5760606119d7613cef565b6119df613d05565b6001600160a01b036119ef614030565b92818316845216805f52600a602052600460405f20016001600160a01b0383165f526020526001600160401b0360405f205460a01c1660208401525f52600a6020526001600160a01b03600460405f200191165f526020526001600160401b03600160405f200154166040820152611a9260405180926001600160401b03604080926001600160a01b038151168552826020820151166020860152015116910152565bf35b346102cc5760203660031901126102cc576020610518611ab2613e64565b616b31565b346102cc5760403660031901126102cc57611ad0613cef565b6024359061ffff821682036102cc576001600160a01b0390611af0616b07565b50165f52600a60205261ffff600660405f200191165f5260205260a060405f2060405190611b1d82613df2565b5463ffffffff8160070b92838152602081016001600160401b038460401c1681526001600160401b0360408301918560801c60070b835260ff60806060860195878960c01c168752019660e01c1615158652604051968752511660208601525160070b6040850152511660608301525115156080820152f35b346102cc5760403660031901126102cc57611baf613e64565b63ffffffff611bbc613d45565b91165f5260126020526001600160401b0360405f2091166001600160401b03198254161790555f80f35b346102cc5760803660031901126102cc57611bff613cef565b60603660231901126102cc57604051611c1781613dbc565b6024356001600160a01b03811681036102cc5781526044356001600160401b03811681036102cc5760208201526064359182151583036102cc576103349260408301526168bb565b6001600160a01b03611c7036613f3d565b91939092611c99816001600160a01b03165f52600a60205260405f20600160ff19825416179055565b1691825f52600a602052600260405f20016001600160a01b0385165f526020526001600160a01b036001600160401b0360405f205416941693845f5260136020526001600160401b03611cf360405f2092828454166145b0565b166001600160401b0319825416179055835f52601360205260405f206001600160401b03611d2483828454166141a4565b166001600160401b0319825416179055825f52600a602052600260405f2001845f526020526001600160401b0360405f2091166001600160401b03198254161790556001600160401b03811615155f14611dbf579161033492915b5f52600a602052600260405f2001905f5260205260405f209067ffffffffffffffff60401b82549160401b169067ffffffffffffffff60401b1916179055565b50610e10420191824211610b85576103e88302928084046103e81490151715610b85576001600160401b03610334931691611d7f565b60603660031901126102cc57611e09613cef565b50611e12613d05565b6044357f0000000000000000000000000000000000000000000000000000000000000000906001600160a01b03831692835f52600c60205260405f206001600160401b0384165f526020528260ff60405f20541615611ea4575b5050825f52600a60205260ff60405f2054165f14611e94576402540be4006103d491046178d8565b6402540be40061044791046178d8565b611eb19161048882616452565b8382611e6c565b346102cc576001600160401b0380600181611f93611ed536613f3d565b93929791611efe896001600160a01b03165f52600a60205260405f20600160ff19825416179055565b6001600160a01b0360405199611f138b613dbc565b8183168b528460208c01941684528460408c0197168752165f52600a6020526001600160a01b03600460405f200191165f526020526001600160a01b038060405f20995116166001600160a01b03198954161788555116869067ffffffffffffffff60a01b1967ffffffffffffffff60a01b83549260a01b169116179055565b5116920191166001600160401b03198254161790555f80f35b60603660031901126102cc57611fc0613cef565b611fc8613d45565b604435916001600160401b03831683036102cc576001600160a01b03811690815f52600a60205260ff60405f2054161561207b575b815f52600c60205260405f206001600160401b0384165f526020528260ff60405f20541615612067575b50505f52600a6020526001600160401b03600160405f200191165f526020526001600160401b0360405f2091166001600160401b03198254161790555f80f35b6120749161048882616452565b8382612027565b6120a0816001600160a01b03165f52600a60205260405f20600160ff19825416179055565b611ffd565b346102cc5760203660031901126102cc5760206120c86120c3613cef565b616856565b6001600160401b036040519151168152f35b346102cc575f3660031901126102cc576103346167cb565b60403660031901126102cc57612106613cef565b6001600160a01b03612116613d45565b9161213c816001600160a01b03165f52600a60205260405f20600160ff19825416179055565b165f52600a6020526001600160401b03600360405f200191166001600160401b03198254161790555f80f35b346102cc5760403660031901126102cc57612181613e64565b63ffffffff61218e613d45565b91165f5260116020526001600160401b0360405f2091166001600160401b03198254161790555f80f35b346102cc576101003660031901126102cc576121d2613cef565b6121db36613e93565b9061ffff825116805f52600f60205263ffffffff60405f20541615612ff0575b6001600160a01b03821690815f52600e60205260405f2061ffff82165f5260205260ff60405f20541615612eee575b5061ffff83511692815f52600a602052600660405f200161ffff85165f526020525f80604081209560ff6040519761226189613df2565b548060070b89526001600160401b038160401c1660208a01528060801c60070b60408a015263ffffffff8160c01c1660608a015260e01c1615966080881591015260405160208101918252602081526122bb604082613e43565b51906108065afa6122ca6155c4565b9015612edf576020818051810103126102cc576122f160206001600160401b039201617536565b16936122f957005b6020810151156129f6576001600160401b0360408201511684111561231a57005b61ffff81511692825f52600a602052600660405f200161ffff85165f5260205260405f205460070b94835f52600a602052600660405f200161ffff86165f5260205263ffffffff60405f205460c01c1690612374816178d8565b9382156102cc576060016001600160401b0381511680156102cc5782156102cc576123a29060070b8961415e565b945f891261256857506124a092916001600160401b03828161246e94511660070b895f52600a602052600660405f200161ffff8c165f526020526123ee60405f2091825460070b61415e565b831982541690841617905561245d61240984848451166141e5565b8a5f52600a602052600660405f200161ffff8d165f5260205261243660405f209185835460401c166141a4565b67ffffffffffffffff60401b82549160401b169067ffffffffffffffff60401b1916179055565b6124738561246e85858551166141e5565b6140ee565b895f52600a60205282612490600560405f200192828454166145b0565b16831982541617905551166141e5565b835f52600a602052600760405f200161ffff86165f526020526001600160401b036124d260405f2092828454166141a4565b166001600160401b03198254161790555b60101b62010000600160b01b031661ffff8416179315808061255c575b1561252457505061251361033493618837565b505f52601c60205260405f206188a4565b159081612550575b5061253357005b61253f610334936188de565b505f52601c60205260405f20618989565b905060070b158461252c565b508160070b1515612500565b91508787875f600789900b136127d8579461246e6126246001600160401b036125f06125ce61275499989761263c976127999c5f52600a60205261ffff600660405f200191165f526020526125c68460405f205460401c16916175fd565b8416906140ee565b976125ea83808a511660070b921660070b848b1660070b614120565b90614147565b9551168b5f52600a6020528c61ffff600660405f200191165f526020526001600160401b0360405f205460401c16906141e5565b61262d8d6175fd565b6001600160401b0316906140ee565b90875f52600a602052600560405f20016001600160401b0361266184828454166141a4565b166001600160401b03198254161790555f8160070b135f1461279e576126aa90885f52600a6020526001600160401b03600560405f20015416906001600160401b0316906141a4565b5f888152600a6020908152604080832060058101805467ffffffffffffffff19166001600160401b0396871617905561ffff8d1684526007019091529020805490926126f79183166145b0565b166001600160401b0319825416179055855f52600a602052600660405f200161ffff88165f5260205260405f206001600160401b0319815416866001600160401b0316179055612746856175fd565b6001600160401b03166141e5565b845f52600a602052600660405f200161ffff87165f5260205260405f209067ffffffffffffffff60401b82549160401b169067ffffffffffffffff60401b1916179055565b6124e3565b6127d390885f52600a6020526127c46001600160401b03600560405f20015416916175fd565b6001600160401b0316906145b0565b6126aa565b90506127549392506127999491505f52600a602052600660405f200161ffff89165f5260205261284361281e6001600160401b0360405f205460401c1661262d8c6175fd565b6125ea61282a8c6175fd565b916001600160401b0380871660070b911660070b614120565b5f8160070b135f146129cb5761287c90885f52600a6020526001600160401b03600560405f20015416906001600160401b0316906141a4565b875f52600a6020526001600160401b03600560405f200191166001600160401b0319825416179055865f52600a602052600660405f200161ffff89165f526020526128d7816001600160401b0360405f205460401c166140ee565b875f52600a6020526001600160401b036128fb600560405f200192828454166141a4565b166001600160401b0319825416179055612923866001600160401b03169161246e84846141e5565b875f52600a602052600560405f20016001600160401b0361294783828454166145b0565b166001600160401b0319825416179055875f52600a602052600760405f200161ffff8a165f526020526001600160401b0361298960405f2092828454166141a4565b166001600160401b0319825416179055865f52600a602052600660405f200161ffff89165f5260205260405f20816001600160401b03198254161790556141e5565b6129f190885f52600a6020526127c46001600160401b03600560405f20015416916175fd565b61287c565b6001600160401b03604082015116841015612a0d57005b80515f838152600a6020908152604080832061ffff9094168084526006909401909152902054600781900b9591949163ffffffff60c083901c1691612a51826178d8565b9483156102cc57606001906001600160401b0382511680156102cc5783156102cc57612a809060070b8a614120565b955f8a13612acd5750506124a092916001600160401b03828161246e94511660070b895f52600a602052600660405f200161ffff8c165f526020526123ee60405f2091825460070b614120565b9250925f8660070b12155f14612cb75790612b7c612754939261246e612799968a5f52600a602052600660405f200161ffff8d165f5260205261246e6001600160401b03612b48612b2b8260405f205460401c1694831680956140ee565b986125ea838a511660070b9184808d1660070b911660070b614120565b9651168c5f52600a6020528d61ffff600660405f200191165f526020526001600160401b0360405f205460401c16906141e5565b90875f52600a602052600560405f20016001600160401b03612ba184828454166141a4565b166001600160401b03198254161790555f8160070b135f14612c8c57612bea90885f52600a6020526001600160401b03600560405f20015416906001600160401b0316906141a4565b5f888152600a6020908152604080832060058101805467ffffffffffffffff19166001600160401b0396871617905561ffff8d168452600701909152902080549092612c379183166145b0565b166001600160401b0319825416179055855f52600a602052600660405f200161ffff88165f5260205260405f206001600160401b0319815416866001600160401b0316179055846001600160401b03166141e5565b612cb290885f52600a6020526127c46001600160401b03600560405f20015416916175fd565b612bea565b612754929150612d1b612d156001600160401b03612cff612799978b5f52600a6020528c61ffff600660405f200191165f526020528260405f205460401c16908316906140ee565b1660070b6001600160401b03851660070b614120565b8a614147565b5f8160070b135f14612eb457612d5490885f52600a6020526001600160401b03600560405f20015416906001600160401b0316906141a4565b875f52600a6020526001600160401b03600560405f200191166001600160401b0319825416179055865f52600a602052600660405f200161ffff89165f52602052612daf816001600160401b0360405f205460401c166140ee565b875f52600a6020526001600160401b03612dd3600560405f200192828454166141a4565b166001600160401b0319825416179055612e03612def876175fd565b6001600160401b03169161246e84846141e5565b875f52600a602052600560405f20016001600160401b03612e2783828454166145b0565b166001600160401b0319825416179055875f52600a602052600760405f200161ffff8a165f526020526001600160401b03612e6960405f2092828454166141a4565b166001600160401b0319825416179055865f52600a602052600660405f200161ffff89165f5260205260405f206001600160401b0319815416876001600160401b03161790556141e5565b612eda90885f52600a6020526127c46001600160401b03600560405f20015416916175fd565b612d54565b63928da67360e01b5f5260045ffd5b612ef783617cbc565b815f52600e60205260405f2061ffff82165f5260205260405f20600160ff19825416179055612f268184617c85565b5f838152600a6020908152604080832061ffff909516835260069490940181529083902082518154928401516fffffffffffffffffffffffffffffffff199093166001600160401b03909116179190931b67ffffffffffffffff60401b1617825560408101519082547fffffff00000000000000000000000000ffffffffffffffffffffffffffffffff67ffffffffffffffff60801b63ffffffff60c01b606085015160c01b1693608060ff60e01b910151151560e01b169460801b16911617171790558361222a565b63ffffffff606061300083617ba9565b015116815f52600f60205263ffffffff60405f20911663ffffffff198254161790556121fb565b346102cc575f3660031901126102cc5760206040515f8152f35b346102cc5760203660031901126102cc575f8061305c613cef565b6130646167a7565b5061306d6167a7565b506040516001600160a01b03602082019284845216604082015260408152613096606082613e43565b519061080f5afa6130a56155c4565b9015613139576080818051810103126102cc576080906040516130c781613dd7565b6001600160401b036130db60208401617b8e565b92838352816130ec60408301617536565b60208501908152606061311288613104838701617536565b956040890196875201617b8e565b95019485526040519560070b865251166020850152511660408301525160070b6060820152f35b633e7a7ff960e11b5f5260045ffd5b346102cc5760203660031901126102cc57610334613164613d5b565b616452565b346102cc5760203660031901126102cc5760043561ffff81168091036102cc575f52600f602052602063ffffffff60405f205416604051908152f35b346102cc5760803660031901126102cc576131be613cef565b60603660231901126102cc576040516131d681613dbc565b6024356001600160a01b03811681036102cc5781526044356001600160401b03811681036102cc576020820152606435916001600160401b03831683036102cc576103349260408301526154e6565b346102cc5760203660031901126102cc5763ffffffff613243613e64565b165f526009602052602061325a60405f2054614442565b1515604051908152f35b346102cc5760603660031901126102cc5761327d613e64565b63ffffffff6127106001600160401b03613295613d45565b61329d613e77565b6132a686617270565b90156132e45761089b6132b892614186565b160491165f5260116020526001600160401b0360405f2091166001600160401b03198254161790555f80f35b61089b6132b892614570565b346102cc5760203660031901126102cc57613309613cef565b6133116185a7565b805161331c816154bb565b9061332a6040519283613e43565b808252613339601f19916154bb565b015f5b8181106134855750506001600160a01b035f9316925b815181101561340d57806001600160a01b03613370600193866154d2565b511661337c82856154d2565b5152845f52600a602052600460405f20016001600160a01b03806133a084886154d2565b5116165f526020526001600160401b0360405f20604051906133c182613dbc565b604083868184546001600160a01b038116875260a01c1693846020870152015416920191825260206133f385886154d2565b5101525116604061340483866154d2565b51015201613352565b506040518091602082016020835281518091526020604084019201905f5b818110613439575050500390f35b91935091602060608261347760019488516001600160401b03604080926001600160a01b038151168552826020820151166020860152015116910152565b01940191019184939261342b565b602090613493959495614030565b8282860101520193929361333c565b346102cc5760403660031901126102cc5760406134ce6134c0613cef565b6134c8613d05565b90615416565b6001600160401b0360208351928281511684520151166020820152f35b60603660031901126102cc576134ff613cef565b60243562ffffff811681036102cc57604435916001600160401b0383116102cc57366023840112156102cc578260040135916001600160401b0383116102cc5736602484860101116102cc5760246103349401916145d0565b346102cc576101003660031901126102cc57613572613cef565b61357b36613e93565b63ffffffff61358c81835116614550565b16916001600160401b036020806135b183826135a7896177a8565b01515116966177a8565b01510151166001600160a01b03821693845f52600c60205260405f206001600160401b0382165f5260205260ff60405f20541615613ae2575b50835f52600c60205260405f206001600160401b0382165f5260205260ff60405f20541615613ace575b5050602061362f61070d63ffffffff6106e881865116614550565b01906001600160401b03825151165f52600960205260405f209260405161365581613d85565b60405161366681610752818961447a565b8152600185019460405180602088549182815201975f5260205f20905f915b816003840110613a8257928981936136c293600397965491818110613a68575b818110613a4b575b818110613a2e575b10613a2057500382613e43565b60208401526001600160a01b0360028201546001600160401b038116604086015260401c16606084015201546001600160a01b038116608083015260a082019160ff8260a01c16835260e060c082019260ff8160a81c16845260b01c5f0b91015261373763ffffffff61082981875116614550565b9061374282866178ab565b156139525760208501518690156138465761089661089161378a949560ff806001600160401b0361088260608280602061089b9b510151169f5151169d019a828c51166141e5565b93825f52600a602052600160405f20016001600160401b0382165f526020526001600160401b0360405f2054166001600160401b03831611155f146102cc57825f52600a6020526001600160401b03600160405f200191165f526020526001600160401b0361380060405f2092828454166145b0565b166001600160401b03198254161790555f52600a6020526001600160401b03600160405f200191165f526020526001600160401b0361040b60405f2092828454166141a4565b610bd7613884939261089b61089661089160606001600160401b0360208180995151169e510151169b019860ff80888c51169651169151169061452b565b93825f52600a602052600160405f20016001600160401b0382165f526020526001600160401b0360405f2054166001600160401b03831611155f146102cc57825f52600a6020526001600160401b03600160405f200191165f526020526001600160401b036138fa60405f2092828454166145b0565b166001600160401b03198254161790555f52600a6020526001600160401b03600160405f200191165f526020526001600160401b0361394060405f2092828454166141a4565b166001600160401b0319825416179055005b50505091506040519161396483613da1565b825260208201908152601654600160401b811015610e145780600161398c92016016556144fb565b9290926109da576001600160801b0360c081936001600160a01b03806002955116166001600160a01b0319875416178655613a066001870191519163ffffffff808451161663ffffffff19825416178155610d6460208401511515829064ff00000000825491151560201b169064ff000000001916179055565b015116920191166001600160801b03198254161790555f80f35b60c01c81526020018a6107ac565b9260206001916001600160401b038560801c1681520193016136b5565b9260206001916001600160401b038560401c1681520193016136ad565b9260206001916001600160401b03851681520193016136a5565b98600160806004928c546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c6060820152019a01920191613685565b613adb9161048882616452565b8280613614565b80610ee9613aef92616452565b846135ea565b346102cc5760203660031901126102cc57610334613b11613cef565b6001600160a01b03165f52600a60205260405f20600160ff19825416179055565b346102cc575f3660031901126102cc576001600160401b03613b52617671565b165b6014546001600160801b038160801c91166001600160801b0381830316156103345780821461155657613b9b6114dd826001600160801b03165f52601560205260405f2090565b914263ffffffff60408501511611610334578114613c6557600181613bd96001600160801b03936001600160801b03165f52601560205260405f2090565b505f613bf6826001600160801b03165f52601560205260405f2090565b5501166001600160801b031960145416176014556001600160a01b036001600160401b036020830151169151165f52600a602052600160405f2001825f526020526001600160401b03613c5060405f2092828454166141a4565b166001600160401b0319825416179055613b54565b634e487b715f5260316020526024601cfd5b346102cc5760203660031901126102cc57602061190e613c95613cef565b614208565b346102cc5760403660031901126102cc576060613cc6613cb8613cef565b613cc0613d45565b9061404e565b6001600160401b0360408051928281511684528260208201511660208501520151166040820152f35b600435906001600160a01b03821682036102cc57565b602435906001600160a01b03821682036102cc57565b604435906001600160a01b03821682036102cc57565b35906001600160a01b03821682036102cc57565b602435906001600160401b03821682036102cc57565b600435906001600160401b03821682036102cc57565b35906001600160401b03821682036102cc57565b61010081019081106001600160401b03821117610e1457604052565b604081019081106001600160401b03821117610e1457604052565b606081019081106001600160401b03821117610e1457604052565b608081019081106001600160401b03821117610e1457604052565b60a081019081106001600160401b03821117610e1457604052565b60e081019081106001600160401b03821117610e1457604052565b602081019081106001600160401b03821117610e1457604052565b90601f801991011681019081106001600160401b03821117610e1457604052565b6004359063ffffffff821682036102cc57565b6044359081151582036102cc57565b359081151582036102cc57565b60e09060231901126102cc5760405190613eac82613e0d565b8160243563ffffffff811681036102cc57815260443580151581036102cc5760208201526064356001600160401b03811681036102cc5760408201526084356001600160401b03811681036102cc57606082015260a43580151581036102cc57608082015260c43560ff811681036102cc5760a082015260e435906001600160801b03821682036102cc5760c00152565b60809060031901126102cc576004356001600160a01b03811681036102cc57906024356001600160a01b03811681036102cc57906044356001600160401b03811681036102cc57906064356001600160401b03811681036102cc5790565b60209060231901126102cc5760405190613fb482613e28565b602435826001600160401b03821682036102cc5752565b91908260209103126102cc57604051613fe381613e28565b613fed8193613d71565b9052565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160401b038111610e1457601f01601f191660200190565b6040519061403d82613dbc565b5f6040838281528260208201520152565b614056614030565b506001600160a01b03811690815f52600c60205260405f206001600160401b0384165f5260205260ff60405f205416156140d457505f52600a6020526001600160401b03600160405f200191165f526020526001600160401b0360405f205416604051906140c382613dbc565b81525f60208201525f604082015290565b6140df92915061754a565b90565b8015610b85575f190190565b906001600160401b031690811561410c576001600160401b03160490565b634e487b7160e01b5f52601260045260245ffd5b600791820b910b0390677fffffffffffffff198212677fffffffffffffff831317610b8557565b9060070b9060070b02908160070b918203610b8557565b9060070b9060070b0190677fffffffffffffff198212677fffffffffffffff831317610b8557565b6001600160401b031661271001906001600160401b038211610b8557565b906001600160401b03809116911601906001600160401b038211610b8557565b6001600160401b036064911602906001600160401b038216918203610b8557565b906001600160401b03809116911602906001600160401b038216918203610b8557565b5f5f5f906001600160a01b035f941692835f52601c60205260405f2054805b61428457506001600160401b03161561427c5761426a61426f926001600160401b03945f52600a6020528480600560405f2001541660070b911660070b9061415e565b61415e565b911660070b9060070b1290565b505050505f90565b845f52601c60205260405f205f19820190828211610b855761ffff916142a991618592565b90549060031b1c16855f52600a602052600660405f200161ffff82165f5260205260405f2090604051916142dc83613df2565b54918260070b80825260ff60208301946001600160401b038160401c1686528060801c60070b604085015263ffffffff8160c01c16606085015260e01c1615156080830152614338575b505050614332906140e2565b80614227565b909391959461434985999499617270565b915160070b96516001600160401b031661436288617615565b61436b916140ee565b6001600160401b031660070b6001600160401b03831660070b9061438e91614120565b6143989088614147565b6143a19161415e565b94875f52600a60205260405f2060070161ffff86165f5260205260405f20546001600160401b03166143d2916141a4565b956143dc90617615565b906143e6916141e5565b90816143f1916141a4565b925f52600f60205260405f205463ffffffff1691821561410c576127106001600160401b036144316144399463ffffffff614332976113880416906141e5565b1604906141a4565b95905f80614326565b90600182811c92168015614470575b602083101461445c57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691614451565b5f929181549161448983614442565b80835292600181169081156144de57506001146144a557505050565b5f9081526020812093945091925b8383106144c4575060209250010190565b6001816020929493945483858701015201910191906144b3565b915050602093945060ff929192191683830152151560051b010190565b6016548110156145175760165f52600360205f20910201905f90565b634e487b7160e01b5f52603260045260245ffd5b9060ff8091169116039060ff8211610b8557565b60ff16604d8111610b8557600a0a90565b6001600160401b0361270f19911601906001600160401b038211610b8557565b6001600160401b031661271003906001600160401b038211610b8557565b6001600160401b036305f5e0ff19911601906001600160401b038211610b8557565b906001600160401b03809116911603906001600160401b038211610b8557565b929062ffffff166001811461476d57826002821461472a57600382146146dc5750600481146146c057600581146146a4578260068214614656575060071461461757505050565b81604091810103126102cc576146549161464a60206040519361463985613da1565b61464281613d71565b855201613e86565b60208301526172e3565b565b9050606091810103126102cc576146549161469a604080519361467885613dbc565b61468181613d31565b855261468f60208201613d71565b602086015201613d71565b60408301526154e6565b50810191906020818403126102cc5761465492610f3391613fcb565b50810191906020818403126102cc576146549261193d91613fcb565b9050606091810103126102cc576146549161472060408051936146fe85613dbc565b61470781613d31565b855261471560208201613d71565b602086015201613e86565b60408301526168bb565b9050606091810103126102cc5761465491614763604080519361474c85613dbc565b61475581613d31565b855261468f60208201613e86565b6040830152616bc3565b508160e0918194930103126102cc576040519161478983613e0d565b803563ffffffff811681036102cc5783526147a660208201613e86565b90602084019182526147ba60408201613d71565b93604081019485526147ce60608301613d71565b91606082019283526147e260808201613e86565b608083015260a08101359060ff821682036102cc5760c09160a084015201356001600160801b03811681036102cc5760c082015263ffffffff815116612710811080156153d4575b15614f21575061ffff81511692835f52600f60205263ffffffff60405f20541615614eea575b6001600160a01b03851693845f52600e60205260405f2061ffff82165f5260205260ff60405f20541615614de8575b5061ffff82511695845f52600a602052600660405f200161ffff88165f526020525f80604081209860ff6040519a6148b68c613df2565b548060070b8c526001600160401b038160401c1660208d01528060801c60070b60408d015263ffffffff8160c01c1660608d015260e01c16159960808b159101526040516020810191825260208152614910604082613e43565b51906108065afa61491f6155c4565b9015612edf576020818051810103126102cc5761494660206001600160401b039201617536565b1696614956575b50505050505050565b90516001600160401b03919015614ba9575116851115614983575b50505050505b5f80808080808061494d565b515f838152600a6020908152604080832061ffff9094168084526006909401909152902054600781900b9591949160c09190911c63ffffffff16906149c7816178d8565b9382156102cc576001600160401b0381511680156102cc5782156102cc576149f29060070b8961415e565b945f8912614b005750614a3e92916001600160401b03828161246e94511660070b895f52600a602052600660405f200161ffff8c165f526020526123ee60405f2091825460070b61415e565b835f52600a602052600760405f200161ffff86165f526020526001600160401b03614a7060405f2092828454166141a4565b166001600160401b03198254161790555b60101b62010000600160b01b031661ffff84161793158080614af4575b15614abd575050612513614ab193618837565b505b5f80808080614971565b159081614ae8575b50614ad3575b505050614ab3565b61253f614adf936188de565b505f8080614acb565b905060070b155f614ac5565b508160070b1515614a9e565b91508787875f600789900b13614b63579461246e6126246001600160401b036125f06125ce61275499989761263c97614b5e9c5f52600a60205261ffff600660405f200191165f526020526125c68460405f205460401c16916175fd565b614a81565b9050612754939250614b5e9491505f52600a602052600660405f200161ffff89165f5260205261284361281e6001600160401b0360405f205460401c1661262d8c6175fd565b5116851015614bbd575b5050505050614977565b515f838152600a6020908152604080832061ffff9094168084526006909401909152902054600781900b9591949092909163ffffffff60c085901c1691614c03826178d8565b9483156102cc576001600160401b0382511680156102cc5783156102cc57614c2e9060070b8a614120565b955f8a13614d3d575050614c7b92916001600160401b03828161246e94511660070b895f52600a602052600660405f200161ffff8c165f526020526123ee60405f2091825460070b614120565b835f52600a602052600760405f200161ffff86165f526020526001600160401b03614cad60405f2092828454166141a4565b166001600160401b03198254161790555b60101b62010000600160b01b031661ffff84161793158080614d31575b15614cfa575050612513614cee93618837565b505b5f80808080614bb3565b159081614d25575b50614d10575b505050614cf0565b61253f614d1c936188de565b505f8080614d08565b905060070b155f614d02565b508160070b1515614cdb565b9250925f8660070b12155f14614da05790612b7c612754939261246e614d9b968a5f52600a602052600660405f200161ffff8d165f5260205261246e6001600160401b03612b48612b2b8260405f205460401c1694831680956140ee565b614cbe565b612754929150612d1b612d156001600160401b03612cff614d9b978b5f52600a6020528c61ffff600660405f200191165f526020528260405f205460401c16908316906140ee565b614df186617cbc565b845f52600e60205260405f2061ffff82165f5260205260405f20600160ff19825416179055614e208187617c85565b5f868152600a6020908152604080832061ffff909516835260069490940181529083902082518154928401516fffffffffffffffffffffffffffffffff199093166001600160401b03909116179190931b67ffffffffffffffff60401b1617825560408101519082547fffffff00000000000000000000000000ffffffffffffffffffffffffffffffff67ffffffffffffffff60801b63ffffffff60c01b606085015160c01b1693608060ff60e01b910151151560e01b169460801b16911617171790555f61487f565b63ffffffff6060614efa86617ba9565b015116845f52600f60205263ffffffff60405f20911663ffffffff19825416179055614850565b63ffffffff9194939550614f3490614550565b16916001600160401b03602080614f4f83826135a7896177a8565b01510151166001600160a01b03821693845f52600c60205260405f206001600160401b0382165f5260205260ff60405f205416156153c1575b50835f52600c60205260405f206001600160401b0382165f5260205260ff60405f205416156153ad575b50506020614fcd61070d63ffffffff6106e881885116614550565b01936001600160401b03855151165f52600960205260405f2060405190614ff382613d85565b60405161500481610752818561447a565b8252600181019060405180602084549182815201935f5260205f20905f915b81600384011061535b579461505e9284926003975491818110615341575b818110615324575b818110615307575b106152f957500382613e43565b60208401526001600160a01b0360028201546001600160401b038116604086015260401c1660608401520154916001600160a01b038316608083015260a082019160ff8460a01c16835260e060c082019460ff8160a81c16865260b01c5f0b9101526150d463ffffffff61082981895116614550565b956150df87826178ab565b1561522a5750518690156151ee57610896610891615120949360ff806001600160401b036108828180602061089b9a510151169e5151169c828c51166141e5565b93825f52600a602052600160405f20016001600160401b0382165f526020526001600160401b0360405f2054166001600160401b03831611155f146102cc57825f52600a6020526001600160401b03600160405f200191165f526020526001600160401b0361519660405f2092828454166145b0565b166001600160401b03198254161790555f52600a6020526001600160401b03600160405f200191165f526020526001600160401b036151dc60405f2092828454166141a4565b166001600160401b0319825416179055565b610bd76151209361089b6108966108916001600160401b0360208180989d999d5151169d510151169a60ff80888c51169651169151169061452b565b95505050505091506040519161523f83613da1565b825260208201908152601654600160401b811015610e145780600161526792016016556144fb565b9290926109da576001600160801b0360c081936001600160a01b03806002955116166001600160a01b03198754161786556152e16001870191519163ffffffff808451161663ffffffff19825416178155610d6460208401511515829064ff00000000825491151560201b169064ff000000001916179055565b015116920191166001600160801b0319825416179055565b60c01c81526020015f6107ac565b9260206001916001600160401b038560801c168152019301615051565b9260206001916001600160401b038560401c168152019301615049565b9260206001916001600160401b0385168152019301615041565b9293946001608060049286546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c606082015201940192019194939294615023565b6153ba9161048882616452565b5f80614fb2565b80610ee96153ce92616452565b5f614f88565b50620186a081101561482a565b604051906153ee82613da1565b5f6020838281520152565b81810292918115918404141715610b8557565b811561410c570490565b6001600160a01b03906154276153e1565b50165f52600a602052600260405f20016001600160a01b0382165f526020526001600160a01b0360405f20916001600160401b036040519361546885613da1565b54818116855260401c166020840152165f5260196020526001600160401b0360405f20541680615496575090565b670de0b6b3a76400006154b46001600160401b0392838551166153f9565b0416815290565b6001600160401b038111610e145760051b60200190565b80518210156145175760209160051b010190565b906001600160a01b03821691825f52600a60205260ff60405f205416156155b2576146549260208301906001600160401b03825116905f52600c60205260405f206001600160401b0382165f5260205260ff60405f2054161561559f575b506001600160401b036001600160a01b03845116915116815f52600c60205260405f206001600160401b0382165f5260205260ff60405f2054161561558b575b5050615602565b6155989161048882616452565b5f80615584565b80610ee96155ac92616452565b5f615544565b505050565b91908201809211610b8557565b3d156155ee573d906155d582614015565b916155e36040519384613e43565b82523d5f602084013e565b606090565b908160209103126102cc575190565b60408201908151915f916001600160a01b038116805f52600a602052600160405f20019460208701956001600160401b0380885116165f526020526001600160401b038060405f2054169116116102cc576001600160a01b038651165f52600a60205260ff60405f205416156161e7576156856001600160401b03865116617909565b906001600160401b03845116905f52600a602052600160405f20016001600160401b0380885116165f526020526001600160401b036156cb60405f2092828454166145b0565b825467ffffffffffffffff1916911617905585516001600160a01b03828116939116831461573e57505050600160406001600160401b03936001600160a01b0385809551169751168152600a6020522001925116165f526020526001600160401b036151dc60405f2092828454166141a4565b6001600160401b0386939597949651166001600160401b037f000000000000000000000000000000000000000000000000000000000000000016146160a65750506001600160401b03815116855260096020526001600160401b03806001600160a01b0360036040892001541695511691511685526009602052600360408620015460b01c9081860b80155f1461605e57509050915b6040516370a0823160e01b815260048101829052602081602481885afa8015616053578490879061601d575b61580a92506155b7565b858060405160208101906370a0823160e01b825285602482015260248152615833604482613e43565b5190885afa506158536158446155c4565b602080825183010191016155f3565b50846001600160a01b031960055416176005556370a0823163ffffffff196003541617600355600254600160401b811015616009576158b461589e8260018694016002556002618592565b819391549060031b91821b915f19901b19161790565b90556001600160a01b036005541660035460e01b600454906158d4618a49565b906158f0846001600160a01b03165f52600160205260405f2090565b9063ffffffff60e01b1690818b5260205260408a20604051602081019061592a8161591c888886618a32565b03601f198101835282613e43565b5190208b5260205260ff600360408c2001541615615ffb575b61595e846001600160a01b03165f52600160205260405f2090565b908a5260205261591c61598060408b2093604051928391602083019586618a32565b51902088526020526040872060018101549260028201546159a181866155b7565b615ebd575b8254604051630667f9d760e41b81526001600160a01b038616600482015260248101829052959091906020876044815f5160206196555f395f51905f525afa968715615eb2578c97615e7e575b506001908201610100031b5f1901811b198616915f5160206196555f395f51905f523b15615e7a576040516370ca10bb60e01b81526001600160a01b038716600482015260248101919091529083901b9190911760448201528981606481835f5160206196555f395f51905f525af18015615e6f57908a91615e56575b50508880602060035460e01b615ac06024615a8b6001618ae5565b6040519485918183019563ffffffff60e01b1686528051918291018484015e810186838201520301601f198101845283613e43565b6001600160a01b03600554169151915afa90615ada6155c4565b916004548060051b906001600160fb1b03811603615e42578b938051602081115f14615e3c57506020905b8d925b828410615db1575050505015918215615da6575b5050615d1f575050506001600160a01b03196005541660055563ffffffff19600354166003556002548560025580615cdd575b508460045560ff1960075416600755615b69600854614442565b80615c5d575b505f5160206196555f395f51905f523b15615c59576040519063ca669fa760e01b825260048201528481602481835f5160206196555f395f51905f525af18015615c4e57908591615c35575b50506001600160a01b03905116906040519163a9059cbb60e01b855260045260245260208360448180865af1906001845114821615615c14575b60405215615c01575050565b635274afe760e01b825260045260249150fd5b906001811516615c2c57823b15153d15161690615bf5565b503d83823e3d90fd5b81615c3f91613e43565b615c4a57835f615bbb565b8380fd5b6040513d87823e3d90fd5b8480fd5b601f8111600114615c745750846008555b5f615b6f565b60088652615cca90601f0160051c7ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3017ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee461643c565b6008855284602081208160085555615c6e565b600286527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace908101905b818110615d145750615b4f565b868155600101615d07565b8288928392545f5160206196555f395f51905f523b15615da1576040516370ca10bb60e01b81526001600160a01b03929092166004830152602482015260448101919091528181606481835f5160206196555f395f51905f525af18015615d9657615d875750fd5b81615d9191613e43565b505b80fd5b6040513d84823e3d90fd5b505050fd5b141590505f80615b1c565b90919295615dbf87836155b7565b8351811015615e27578301602001517fff0000000000000000000000000000000000000000000000000000000000000016600388901b881560088a8304141715615e11571c1795600101929190615b08565b5050634e487b7160e01b8f52601160045260248ffd5b50634e487b7160e01b8f52603260045260248ffd5b90615b05565b634e487b7160e01b8c52601160045260248cfd5b81615e6091613e43565b615e6b57885f615a70565b8880fd5b6040513d8c823e3d90fd5b8b80fd5b9096506020813d602011615eaa575b81615e9a60209383613e43565b810103126102cc575195816159f3565b3d9150615e8d565b6040513d8e823e3d90fd5b615ec781866155b7565b610100036101008111615fe75760ff8111615fe7576001901b60405163348051d760e11b81528160048201528b816024815f5160206196555f395f51905f525afa908115615eb257606a615fb8928e6020938192615fc3575b506040519384927f73746453746f726167652066696e642853746453746f72616765293a20506163828501527f6b656420736c6f742e2057652063616e2774206669742076616c75652067726560408501527f61746572207468616e200000000000000000000000000000000000000000000060608501528051918291018585015e82019083820152030190601f1982018152613e43565b82106159a6575b8980fd5b615fe09192503d8084833e615fd88183613e43565b810190617fc0565b905f615f20565b634e487b7160e01b8b52601160045260248bfd5b616003618cbf565b50615943565b634e487b7160e01b87526041600452602487fd5b50506020813d60201161604b575b8161603860209383613e43565b810103126102cc578361580a9151615800565b3d915061602b565b6040513d88823e3d90fd5b86811315616082575061607661607c9260ff1661453f565b906153f9565b916157d4565b6160a1925061609361609b9161796d565b60ff1661453f565b9061540c565b61607c565b939250936402540be40091506001600160401b0390511602926001600160401b038416938403610b85576160db8482316155b7565b905f5160206196555f395f51905f523b156102cc5760405163c88a5e6d60e01b81526001600160a01b0391909116600482015260248101919091525f81604481835f5160206196555f395f51905f525af180156161dc576161c7575b505f5160206196555f395f51905f523b15615c4a576040519063ca669fa760e01b825260048201528381602481835f5160206196555f395f51905f525af180156161bc579084929161619f575b508180938192617530f16161966155c4565b5015615d935750565b826161ac91939293613e43565b6161b85782905f616184565b8280fd5b6040513d86823e3d90fd5b6161d49194505f90613e43565b5f925f616137565b6040513d5f823e3d90fd5b919394925050805f52600a602052600160405f20015f80526020526305f5e1006001600160401b0360405f20541610155f146163d25761630c6001600160a01b0393825f52600a602052600160405f20015f805260205260405f206001600160401b036162568183541661458e565b166001600160401b03198254161790555b848451165f52600a60205260405f20600160ff198254161790556001600160401b03815116835f52600a602052600160405f20016001600160401b0380895116165f526020526001600160401b036162c660405f2092828454166145b0565b166001600160401b0319825416179055825f52601060205260405f206001600160401b0380885116165f526020526001600160401b038060405f205416915116906141a4565b838351165f52600a602052600160405f20016001600160401b0380875116165f526020526001600160401b0361634960405f2092828454166141a4565b166001600160401b03198254161790555f52601060205260405f206001600160401b0380855116165f5260205260405f206001600160401b03198154169055818151165f52600b60205260405f20600160ff1982541617905551165f52600c6020526001600160401b038060405f20925116165f5260205260405f20600160ff19825416179055565b805f52600a6020526305f5e1006001600160401b03600560405f2001541610155f146102cc5761630c6001600160a01b0393825f52600a602052600560405f20016001600160401b036164278183541661458e565b166001600160401b0319825416179055616267565b818110616447575050565b5f815560010161643c565b6001600160401b03811690815f52600960205261647260405f2054614442565b6167a35763ffffffff616485911661799f565b608081019160016001600160a01b03845116146155b2575f52600960205260405f2081518051906001600160401b038211610e14576164c48354614442565b601f8111616773575b50602090601f8311600114616710576164fc92915f91836167055750508160011b915f199060031b1c19161790565b81555b6001810160208301518051906001600160401b038211610e1457600160401b8211610e145760209083548385558084106166d3575b5001915f5260205f208160021c915f5b83811061668e5750600319811690038061662e575b505050506001600160a01b0360038260028394016001600160401b0380604088015116166001600160401b031982541617815560608601517fffffffff0000000000000000000000000000000000000000ffffffffffffffff7bffffffffffffffffffffffffffffffffffffffff000000000000000083549260401b16911617905501935116166001600160a01b031983541617825560a081015190825462ffffff60a01b1960ff60a01b60e060ff60a81b60c086015160a81b1694015160b01b60ff60b01b169460a01b1691161717179055565b925f935f5b8181106166505750505001556001600160a01b036003815f616559565b90919460206166846001926001600160401b03895116908560031b6001600160401b03809160031b9316831b921b19161790565b9601929101616633565b5f5f5b600481106166a6575083820155600101616544565b86519096916001916020916001600160401b0360068b901b81811b199092169216901b1792019601616691565b6166ff90855f52835f20600380870160021c820192601888831b16806112a557500160021c019061643c565b5f616534565b015190505f80611093565b90601f19831691845f52815f20925f5b81811061675b5750908460019594939210616743575b505050811b0181556164ff565b01515f1960f88460031b161c191690555f8080616736565b92936020600181928786015181550195019301616720565b61679d90845f5260205f20601f850160051c8101916020861061136357601f0160051c019061643c565b5f6164cd565b5050565b604051906167b482613dd7565b5f6060838281528260208201528260408201520152565b601a54801561685357805b6167dd5750565b5f198101818111610b8557601a54111561451757601a5f527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63d81015461683e919060101c6001600160a01b031661683381614208565b616844575b506140e2565b806167d6565b61684d90617443565b5f616838565b50565b60405161686281613e28565b5f8152506001600160a01b03811690815f52600a60205260ff60405f205416156168b157505f52600a6020526001600160401b03600560405f20015416604051906168ac82613e28565b815290565b6140df9150617eac565b6001600160a01b031690815f52600a60205260ff60405f205416156167a3576001600160a01b038151165f52601860205260405f2054156102cc576040810151156169f257815f52600a602052600460405f20016001600160a01b0380835116165f52602052602060405f2091016001600160401b038151166001600160401b03835460a01c161015806169c9575b61695357505050565b6001600160401b038161465494826169a2945116905f52600a60205282616984600360405f200192828454166141a4565b16831982541617905551166001600160401b03835460a01c166145b0565b67ffffffffffffffff60a01b1967ffffffffffffffff60a01b83549260a01b169116179055565b506103e842024281046103e81442151715610b85576001600160401b036001840154161061694a565b602081016001600160401b03815116835f52600a6020526001600160401b03600360405f200154161015616a2557505050565b6001600160401b038181616a99935116855f52600a60205282616a52600360405f200192828454166145b0565b1683198254161790555116835f52600a602052600460405f20016001600160a01b0380855116165f526020526169a260405f20916001600160401b03835460a01c166141a4565b62014a784201804211610b85576103e88102908082046103e81490151715610b8557616ac4906178d8565b915f52600a6020526001600160a01b0380600460405f2001925116165f526020526001600160401b03600160405f200191166001600160401b0319825416179055565b60405190616b1482613df2565b5f6080838281528260208201528260408201528260608201520152565b63ffffffff16805f5260126020526001600160401b0360405f20541615616b6a575f5260126020526001600160401b0360405f20541690565b5f80916040516020810191825260208152616b86604082613e43565b51906108085afa616b956155c4565b9015616bb4576020818051810103126102cc5760206140df9101617536565b634c61a21360e11b5f5260045ffd5b6001600160a01b03811690815f52600a60205260ff60405f205416156155b257616c356001600160401b03916001600160a01b03855116845f52600d60205260405f206001600160a01b0382165f5260205260ff60405f20541615616eff575b506001600160a01b0385511690615416565b5116815f52600a602052600260405f20016001600160a01b0380855116165f526020526001600160401b0360405f2091166001600160401b0319825416179055602082015115155f14616dd657604082016001600160401b03815116825f52600a6020526001600160401b03600560405f2001541610155f146102cc576001600160401b03815116825f52600a602052600260405f20016001600160a01b0380865116165f526020526001600160401b03616cf760405f2092828454166141a4565b166001600160401b031982541617905562015180420190814211610b85576103e88202918083046103e81490151715610b855782616d876001600160401b03936001600160a01b03955f52600a602052600260405f20018680895116165f526020528460405f20911667ffffffffffffffff60401b82549160401b169067ffffffffffffffff60401b1916179055565b82825116905f52600a60205282616da8600560405f200192828454166145b0565b16831982541617905551169151165f5260136020526001600160401b036151dc60405f2092828454166141a4565b90815f52600a602052600260405f20016001600160a01b0380835116165f5260205260405f209060408101906001600160401b0382511680155f14616ee957506001600160a01b036001600160401b03808554165b169182845251165f5260136020526001600160401b036305f5e1008160405f2054160416116102cc576001600160401b038151169180546001600160401b038116809411159081616ec3575b50156102cc576001600160401b03616e94819482855116906145b0565b1683198254161790555116905f52600a6020526001600160401b036151dc600560405f200192828454166141a4565b6103e891506001600160401b039060401c16046001600160401b0342911611155f616e77565b6001600160401b036001600160a01b0391616e2b565b616f9f90616f0c83617cbc565b855f52600d60205260405f206001600160a01b0382165f5260205260405f20600160ff19825416179055616f408184618770565b90865f52600a6020526001600160a01b03600260405f200191165f5260205284602060405f2092828082511616831985541617845501511667ffffffffffffffff60401b82549160401b169067ffffffffffffffff60401b1916179055565b5f616c23565b6001600160a01b031690815f52600a60205260ff60405f205416156167a3576001600160401b0381511690825f52600a602052600160405f2001917f0000000000000000000000000000000000000000000000000000000000000000926001600160401b0384165f526020526001600160401b0360405f205416101561702a57505050565b6001600160401b03918282511690845f52600a60205283600160405f200191165f526020528261706160405f2092828454166145b0565b1683198254161790555116905f52600a6020526001600160401b036151dc600360405f200192828454166141a4565b6001600160a01b03811690815f52600a60205260ff60405f205416156170c357505f52600a60205260ff60405f20541690565b6170cd9150617f26565b51151590565b604051906170e082613d85565b5f60e08360608152606060208201528260408201528260608201528260808201528260a08201528260c08201520152565b6001600160a01b03811691825f52600a60205260ff60405f205416156155b2576001600160401b03815116835f52600a6020526001600160401b03600360405f20015416101561716057505050565b6001600160401b03815116835f52600a6020526001600160401b0361718f600360405f200192828454166145b0565b166001600160401b03198254161790555162093a80420192834211610b855763ffffffff604094169384918151906171c682613dbc565b81526001600160401b03841660208201520152601454928360801c926001600160801b036001850195166001600160801b0386161461725e576bffffffffffffffff000000006172429360201b16906bffffffffffffffffffffffff199060601b161717916001600160801b03165f52601560205260405f2090565b556001600160801b036014549181199060801b16911617601455565b634e487b715f5260416020526024601cfd5b63ffffffff16805f5260116020526001600160401b0360405f205416156172a9575f5260116020526001600160401b0360405f20541690565b6172ca90604051906020820152602081526172c5604082613e43565b618232565b6020818051810103126102cc5760206140df9101617536565b6001600160a01b031690815f52600a60205260ff60405f205416156167a3576020810151156173ba5761731f6001600160401b038251166141c4565b825f52600a602052600160405f20015f80526020526001600160401b038060405f2054169116111561734f575050565b6001600160401b03818161738c935116845f52600a6020528261737c600560405f200192828454166141a4565b16831982541617905551166141c4565b905f52600a602052600160405f20015f80526020526001600160401b036151dc60405f2092828454166145b0565b6001600160401b03815116825f52600a6020526001600160401b03600560405f2001541610156173e8575050565b6001600160401b038181617415935116845f52600a6020528261737c600560405f200192828454166145b0565b905f52600a602052600160405f20015f80526020526001600160401b036151dc60405f2092828454166141a4565b6001600160a01b03811690815f52601c60205260405f2054805b6174815750505f52600a602052600560405f20016001600160401b03198154169055565b825f52601c60205260405f20905f19810191818311610b855761ffff6174ad6175309461683893618592565b90549060031b1c166174d261ffff821662010000600160b01b038760101b16176188de565b505f868152600a6020908152604080832061ffff8516845260068101835281842080546fffffffffffffffffffffffffffffffff191690556007018252808320805467ffffffffffffffff19169055888352601c9091529020618989565b8061745d565b51906001600160401b03821682036102cc57565b6001600160401b0361758b9261755e614030565b506001600160a01b036040519316602084015216604082015260408152617586606082613e43565b618292565b8051156175de576060818051810103126102cc576175d66060604051926175b184613dbc565b6175bd60208201617536565b84526175cb60408201617536565b602085015201617536565b604082015290565b506040516175eb81613dbc565b5f81525f60208201525f604082015290565b60070b677fffffffffffffff198114610b85575f0390565b5f8160070b135f1461762d576001600160401b031690565b617636906175fd565b6001600160401b031690565b9063ffffffff617650614030565b928060601c84526001600160401b038160201c166020850152166040830152565b466103e6036176805761045190565b609690565b6040519061769282613da1565b81606081526020604051916176a8604084613e43565b60403684370152565b9291926176bd82614015565b916176cb6040519384613e43565b8294818452818301116102cc578281602093845f96015e010152565b9080601f830112156102cc5781516140df926020016176b1565b6020818303126102cc578051906001600160401b0382116102cc57016060818303126102cc576040519161773483613da1565b81516001600160401b0381116102cc57816177509184016176e7565b835280603f830112156102cc576040519161776c604084613e43565b8290606081019283116102cc57602001905b82821061779057505050602082015290565b6020809161779d84617536565b81520191019061777e565b5f80916177b3617685565b506040516001600160401b036020820192168252602081526177d6604082613e43565b519061080b5afa6177e56155c4565b90156177fe57806020806140df93518301019101617701565b6387ae2f6360e01b5f5260045ffd5b9061781782617cbc565b6001600160a01b03821691825f52600a60205260ff60405f205416156155b25761786c826001600160401b0392855f52600c60205260405f208483165f5260205260405f20600160ff1982541617905561754a565b5116915f52600a6020526001600160401b03600160405f200191165f526020526001600160401b0360405f2091166001600160401b0319825416179055565b6001600160401b0360408192602081015115155f146178ce570151169116111590565b0151169116101590565b6001600160401b0381116178f2576001600160401b031690565b6306dfcc6560e41b5f52604060045260245260445ffd5b6001600160401b038061791a617671565b16911690811461795457732000000000000000000000000000000000000000016001600160a01b038111610b85576001600160a01b031690565b5073222222222222222222222222222222222222222290565b5f0b607f198114610b85575f0390565b51906001600160a01b03821682036102cc57565b519060ff821682036102cc57565b6179cf906179ab6170d3565b5063ffffffff60405191166020820152602081526179ca604082613e43565b6182f2565b90815115617b2b578151820160208101926020818303126102cc576020810151906001600160401b0382116102cc57019061010090829003126102cc5760405190617a1982613d85565b60208101516001600160401b0381116102cc57846020617a3b928401016176e7565b825260408101516001600160401b0381116102cc5760209082010184601f820112156102cc57805194617a6d866154bb565b91617a7b6040519384613e43565b86835260208084019760051b8201019182116102cc57602001955b818710617b13575050829394506020610100930152617ab760608201617536565b6040840152617ac86080820161797d565b6060840152617ad960a0820161797d565b6080840152617aea60c08201617991565b60a0840152617afb60e08201617991565b60c08401520151805f0b81036102cc5760e082015290565b60208091617b2089617536565b815201960195617a96565b90506020604051617b3c8282613e43565b5f81525f36813760405191617b5083613d85565b604051617b5d8282613e43565b5f815283528201525f604082015260016060820152600160808201525f60a08201525f60c08201525f60e082015290565b51908160070b82036102cc57565b519081151582036102cc57565b617bde90617bb5616b07565b5061ffff604051916001602084015216604082015260408152617bd9606082613e43565b618352565b805115617c5a5760a0818051810103126102cc5760405190617bff82613df2565b617c0b60208201617b8e565b8252617c1960408201617536565b6020830152617c2a60608201617b8e565b6040830152608081015163ffffffff811681036102cc576060830152617c529060a001617b9c565b608082015290565b50604051617c6781613df2565b5f81525f60208201525f60408201525f60608201525f608082015290565b61ffff617bde92617c94616b07565b506001600160a01b036040519316602084015216604082015260408152617bd9606082613e43565b6001600160a01b03811690815f52600b60205260ff60405f2054166167a357815f52600a60205260405f2091617cf182617f26565b51156155b25780617d73915f52600b60205260405f20600160ff19825416179055600160ff198554161784556001600160401b03617d2e84617eac565b51166001600160401b036005860191166001600160401b0319825416179055617d556167a7565b5060405190602082015260208152617d6e604082613e43565b6183b2565b906080828051810103126102cc57617df691604051617d9181613dd7565b617d9d60208301617536565b81526060617dcf6080617db260408601617536565b94856020860152617dc4848201617536565b604086015201617536565b9101526001600160401b0380600386019216166001600160401b0319825416179055618637565b60045f9201915b81518110156155b25780617e13600192846154d2565b516001600160a01b0380617e2784876154d2565b515116165f52846020526001600160401b0383816040805f20946001600160a01b0380825116166001600160a01b0319875416178655617e9083602083015116879067ffffffffffffffff60a01b1967ffffffffffffffff60a01b83549260a01b169116179055565b015116920191166001600160401b031982541617905501617dfd565b617ee690604051617ebc81613e28565b5f8152506001600160a01b036040519116602082015260208152617ee1604082613e43565b618412565b805115617f12576020818051810103126102cc576168ac602060405192617f0c84613e28565b01617536565b50604051617f1f81613e28565b602d815290565b617f5e905f604051617f3781613e28565b526001600160a01b036040519116602082015260208152617f59604082613e43565b618472565b6020818051810103126102cc576168ac602060405192617f7d84613e28565b01617b9c565b906140df91815f0b80155f14617f9b575090506178d8565b5f1215617fb15761609b6108969260ff1661453f565b6160766160936108969361796d565b906020828203126102cc5781516001600160401b0381116102cc576140df92016176e7565b604051632b65311f60e11b815261080b6004820152905f826024815f5160206196555f395f51905f525afa9182156161dc575f92618210575b505f61804691604051809381926371aad10d60e01b8352602060048401526024830190613ff1565b03815f5160206196555f395f51905f525afa9081156161dc57618119600c600a61816f95602860205f97819789916181f6575b506040519788947f5b7b22746f223a22000000000000000000000000000000000000000000000000828701528051918291018587015e8401907f222c2264617461223a220000000000000000000000000000000000000000000084830152805192839101603283015e01017f227d2c226c6174657374225d0000000000000000000000000000000000000000838201520301601319810184520182613e43565b60405180938192630240d91560e31b835260406004840152600860448401527f6574685f63616c6c0000000000000000000000000000000000000000000000006064840152608060248401526084830190613ff1565b0381835f5160206196555f395f51905f525af15f91816181a4575b506140df575060405161819e602082613e43565b5f815290565b9091503d805f833e6181b68183613e43565b8101906020818303126102cc578051906001600160401b0382116102cc57019080601f830112156102cc5781516181ef926020016176b1565b905f61818a565b61820a91503d808b833e615fd88183613e43565b5f618079565b61804691925061822a5f913d8084833e615fd88183613e43565b92915061801e565b604051632b65311f60e11b81526108066004820152905f826024815f5160206196555f395f51905f525afa9182156161dc575f9261821057505f61804691604051809381926371aad10d60e01b8352602060048401526024830190613ff1565b604051632b65311f60e11b81526108016004820152905f826024815f5160206196555f395f51905f525afa9182156161dc575f9261821057505f61804691604051809381926371aad10d60e01b8352602060048401526024830190613ff1565b604051632b65311f60e11b815261080c6004820152905f826024815f5160206196555f395f51905f525afa9182156161dc575f9261821057505f61804691604051809381926371aad10d60e01b8352602060048401526024830190613ff1565b604051632b65311f60e11b81526108006004820152905f826024815f5160206196555f395f51905f525afa9182156161dc575f9261821057505f61804691604051809381926371aad10d60e01b8352602060048401526024830190613ff1565b604051632b65311f60e11b81526108056004820152905f826024815f5160206196555f395f51905f525afa9182156161dc575f9261821057505f61804691604051809381926371aad10d60e01b8352602060048401526024830190613ff1565b604051632b65311f60e11b81526108036004820152905f826024815f5160206196555f395f51905f525afa9182156161dc575f9261821057505f61804691604051809381926371aad10d60e01b8352602060048401526024830190613ff1565b604051632b65311f60e11b81526108106004820152905f826024815f5160206196555f395f51905f525afa9182156161dc575f9261821057505f61804691604051809381926371aad10d60e01b8352602060048401526024830190613ff1565b604051632b65311f60e11b81526108046004820152905f826024815f5160206196555f395f51905f525afa9182156161dc575f9261821057505f61804691604051809381926371aad10d60e01b8352602060048401526024830190613ff1565b604051632b65311f60e11b81526108026004820152905f826024815f5160206196555f395f51905f525afa9182156161dc575f9261821057505f61804691604051809381926371aad10d60e01b8352602060048401526024830190613ff1565b8054821015614517575f5260205f2001905f90565b60405190601754808352826020810160175f5260205f20925f5b8181106185d657505061465492500383613e43565b84548352600194850194879450602090930192016185c1565b90604051918281549182825260208201905f5260205f20925f5b81811061861e57505061465492500383613e43565b8454835260019485019487945060209093019201618609565b618661906001600160a01b03604051911660208201526020815261865c604082613e43565b6184d2565b805115618738578051810160208101916020818303126102cc576020810151906001600160401b0382116102cc57019180603f840112156102cc576020830151916186ab836154bb565b936186b96040519586613e43565b83855260208060608188019602830101019283116102cc57604001925b8284106186e4575050505090565b6060602085840301126102cc57602060609160405161870281613dbc565b61870b8761797d565b8152618718838801617536565b8382015261872860408801617536565b60408201528152019301926186d6565b50604051618747602082613e43565b5f81525f805b81811061875957505090565b602090618764614030565b8282860101520161874d565b6001600160a01b036187b79260405161878881613da1565b5f81525f6020820152508160405193166020840152166040820152604081526187b2606082613e43565b618532565b8051156187f8576040818051810103126102cc576187f060408051926187dc84613da1565b6187e860208201617536565b845201617536565b602082015290565b5060405161880581613da1565b5f81525f602082015290565b805490600160401b821015610e14578161589e91600161883394018155618592565b9055565b805f52601b60205260405f2054155f1461886b5761885681601a618811565b601a54905f52601b60205260405f2055600190565b505f90565b805f52601860205260405f2054155f1461886b5761888f816017618811565b601754905f52601860205260405f2055600190565b5f8281526001820160205260409020546188d857806188c583600193618811565b8054925f520160205260405f2055600190565b50505f90565b5f818152601b602052604090205480156188d8575f198101818111610b8557601a545f19810191908211610b8557818103618951575b505050601a5480156109ed575f190161892e81601a618592565b8154905f199060031b1b19169055601a555f52601b6020525f6040812055600190565b61897361896261589e93601a618592565b90549060031b1c928392601a618592565b90555f52601b60205260405f20555f8080618914565b906001820191815f528260205260405f20548015155f1461427c575f198101818111610b855782545f19810191908211610b85578181036189fd575b505050805480156109ed575f1901906189de8282618592565b8154905f199060031b1b19169055555f526020525f6040812055600190565b618a1d618a0d61589e9386618592565b90549060031b1c92839286618592565b90555f528360205260405f20555f80806189c5565b60209291908391805192839101825e019081520190565b618a54600854614442565b618ad357618a6260026185ef565b9081518060051b9080820460201490151715610b8557618a8181614015565b90618a8f6040519283613e43565b808252618a9e601f1991614015565b013660208301375f5b8351811015618ace5780618abd600192866154d2565b5160208260051b8501015201618aa7565b509150565b6040516140df8161075281600861447a565b60078101618af38154614442565b618b7057506001618b0491016185ef565b9081518060051b9080820460201490151715610b8557618b2381614015565b90618b316040519283613e43565b808252618b40601f1991614015565b013660208301375f5b8351811015618ace5780618b5f600192866154d2565b5160208260051b8501015201618b49565b61075291506140df906040519283809261447a565b905f806020600285015460e01b618ba06024615a8b88618ae5565b6001600160a01b036004870154169151915afa6003618bbd6155c4565b9301548060051b906001600160fb1b03811603610b85575f938051602081115f14618c5c57506020905b5f925b828410618bf957505050509190565b90919295618c0787836155b7565b835181101561451757830160200151600388901b91907fff0000000000000000000000000000000000000000000000000000000000000016881560088a8504141715610b85576001921c179601929190618bea565b90618be7565b9080601f830112156102cc578151618c79816154bb565b92618c876040519485613e43565b81845260208085019260051b8201019283116102cc57602001905b828210618caf5750505090565b8151815260209182019101618ca2565b5f906001600160a01b03600554169060035460e01b60045490618ce26001618ae5565b90845f52600160205260405f209063ffffffff60e01b1690815f5260205260405f206040516020810190618d1b8161591c888886618a32565b5190205f5260205260ff600360405f20015416619479575f5160206196555f395f51905f523b156102cc5760405163266cf10960e01b81525f81600481835f5160206196555f395f51905f525af180156161dc57619464575b50618d7f6001618b85565b90506040516365bc948160e01b815286600482015287816024815f5160206196555f395f51905f525afa9081156193fa578891619405575b50805180618dc3578880fd5b90618dd4618e1292999798996140e2565b906020618de183836154d2565b51604051630667f9d760e41b81526001600160a01b038d166004820152602481019190915293849081906044820190565b03815f5160206196555f395f51905f525afa9283156193fa5788936193c7575b50821561937c575b618e4482826154d2565b51600554604051630667f9d760e41b81526001600160a01b03909116600482018190526024820183905291906020816044815f5160206196555f395f51905f525afa908115619371578b91619340575b50618e9f6001618b85565b91909382155f14619339575f19905b5f5160206196555f395f51905f523b15619320576040516370ca10bb60e01b81526001600160a01b039190911660048201526024810185905260448101919091528c81606481835f5160206196555f395f51905f525af180156192ac57908d91619324575b5050618f1f6001618b85565b9390506001600160a01b03600554165f5160206196555f395f51905f523b15619320576040516370ca10bb60e01b81526001600160a01b03919091166004820152602481019190915260448101919091528b81606481835f5160206196555f395f51905f525af18015615eb257908c91619307575b5050826192fc575b5050156192ee578986888a968b9660ff60075416619156575b6001898901610100031b5f1901881b16871c810361913f57506080600396959361903e959361591c6190137f9c9555b1e3102e3cf48f427d79cb678f5d9bd1ed0ad574389461e255f95170ed95604051928391602083019586618a32565b51902061902086866154d2565b51906040519283528b602084015260408301526060820152a16154d2565b51906040519161904d83613dd7565b825260208201938452604082019081526060820193600185528a8952600160205260408920868a526020526040892060405160208101906190938161591c8d8d86618a32565b5190208a526020526040892092518355516001830155516002820155019051151560ff801983541691161790558584526001602052604084208185526020526040842060405160208101906190ed8161591c888886618a32565b519020855260205260ff60036040862001541615615c4a57604094958452600160205284842090845260205261591c619133858520938651928391602083019586618a32565b51902082526020522090565b96505050509150618dd4618e12915b9291926140e2565b9750925050506191a5935061916b83836154d2565b51600554604051630667f9d760e41b81526001600160a01b0390911660048201526024810182905290959094602090869081906044820190565b03815f5160206196555f395f51905f525afa948515615e6f578a956192bb575b506191d18660016194bb565b9590966191df816001619592565b9290916001600160a01b03600554165f5160206196555f395f51905f523b156192b7576040516370ca10bb60e01b81526001600160a01b03919091166004820152602481019190915260448101919091528c81606481835f5160206196555f395f51905f525af180156192ac57928f95928e8d96938f96619286575b50508a61927e575b509798618fb5575096505050509150618dd4618e129161914e565b99505f619263565b90939650839194975061929a929550613e43565b615e7a579289928b928f958e5f61925b565b6040513d8f823e3d90fd5b8e80fd5b9094506020813d82116192e6575b816192d660209383613e43565b810103126102cc5751935f6191c5565b3d91506192c9565b9150618dd4618e129161914e565b141590505f80618f9c565b8161931191613e43565b61931c578a5f618f94565b8a80fd5b8d80fd5b8161932e91613e43565b615e7a578b5f618f13565b8c90618eae565b90506020813d8211619369575b8161935a60209383613e43565b810103126102cc57515f618e94565b3d915061934d565b6040513d8d823e3d90fd5b7f080fc4a96620c4462e705b23f346413fe3796bb63c6f8d8591baec0e231577a56193a783836154d2565b51604080516001600160a01b038e168152602081019290925290a1618e3a565b9092506020813d82116193f2575b816193e260209383613e43565b810103126102cc5751915f618e32565b3d91506193d5565b6040513d8a823e3d90fd5b90503d8089833e6194168183613e43565b810190604081830312615e6b5780516001600160401b038111615fbf578261943f918301618c62565b9160208201516001600160401b03811161931c5761945d9201618c62565b505f618db7565b6194719196505f90613e43565b5f945f618d74565b9193909294505f52600160205260405f20905f5260205261591c6194ac60405f2093604051928391602083019586618a32565b5190205f5260205260405f2090565b91905f5b61010081106194d257505090505f905f90565b8060ff0360ff8111610b85576001901b6001600160a01b036004860154165f5160206196555f395f51905f523b156102cc576040516370ca10bb60e01b81526001600160a01b039190911660048201526024810184905260448101919091525f81606481835f5160206196555f395f51905f525af180156161dc57619582575b5061955c84618b85565b81619578575b5061956f576001016194bf565b92505060019190565b905015155f619562565b5f61958c91613e43565b5f619552565b91905f5b61010081106195a957505090505f905f90565b6001811b6001600160a01b036004860154165f5160206196555f395f51905f523b156102cc576040516370ca10bb60e01b81526001600160a01b039190911660048201526024810184905260448101919091525f81606481835f5160206196555f395f51905f525af180156161dc57619644575b5061962784618b85565b8161963a575b5061956f57600101619596565b905015155f61962d565b5f61964e91613e43565b5f61961d56fe0000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12da2646970667358221220a7d51424111687947c06f0a836a3a967e19131e818d10ce84a40fe892c11d54964736f6c634300081e0033"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"abi":[{"type":"constructor","inputs":[{"name":"_donationBox","type":"address","internalType":"address"},{"name":"_baseToken","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"AUTHORIZED_FUNDED_FLOW_SLOT","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FUNDS_SWEEPER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"ONEX1e8","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"PERMISSIONED_BOT_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"PPM_DECIMALS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"PPM_SCALAR","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activateUserAccount","inputs":[{"name":"quoteNonce","type":"bytes32","internalType":"bytes32"},{"name":"finalRecipient","type":"address","internalType":"address"},{"name":"fundingToken","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"baseToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"cancelLimitOrderByCloid","inputs":[{"name":"finalToken","type":"address","internalType":"address"},{"name":"cloid","type":"uint128","internalType":"uint128"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"coreTokenInfos","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct CoreTokenInfo","components":[{"name":"tokenInfo","type":"tuple","internalType":"struct HyperCoreLib.TokenInfo","components":[{"name":"name","type":"string","internalType":"string"},{"name":"spots","type":"uint64[]","internalType":"uint64[]"},{"name":"deployerTradingFeeShare","type":"uint64","internalType":"uint64"},{"name":"deployer","type":"address","internalType":"address"},{"name":"evmContract","type":"address","internalType":"address"},{"name":"szDecimals","type":"uint8","internalType":"uint8"},{"name":"weiDecimals","type":"uint8","internalType":"uint8"},{"name":"evmExtraWeiDecimals","type":"int8","internalType":"int8"}]},{"name":"coreIndex","type":"uint64","internalType":"uint64"},{"name":"canBeUsedForAccountActivation","type":"bool","internalType":"bool"},{"name":"accountActivationFeeEVM","type":"uint256","internalType":"uint256"},{"name":"accountActivationFeeCore","type":"uint64","internalType":"uint64"},{"name":"bridgeSafetyBufferCore","type":"uint64","internalType":"uint64"}]}],"stateMutability":"view"},{"type":"function","name":"cumulativeSponsoredActivationFee","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"cumulativeSponsoredAmount","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"donationBox","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract DonationBox"}],"stateMutability":"view"},{"type":"function","name":"executeFlow","inputs":[{"name":"params","type":"tuple","internalType":"struct CommonFlowParams","components":[{"name":"amountInEVM","type":"uint256","internalType":"uint256"},{"name":"quoteNonce","type":"bytes32","internalType":"bytes32"},{"name":"finalRecipient","type":"address","internalType":"address"},{"name":"finalToken","type":"address","internalType":"address"},{"name":"destinationDex","type":"uint32","internalType":"uint32"},{"name":"accountCreationMode","type":"uint8","internalType":"enum AccountCreationMode"},{"name":"maxBpsToSponsor","type":"uint256","internalType":"uint256"},{"name":"extraFeesIncurred","type":"uint256","internalType":"uint256"}]},{"name":"maxUserSlippageBps","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"executeSimpleTransferFlow","inputs":[{"name":"params","type":"tuple","internalType":"struct CommonFlowParams","components":[{"name":"amountInEVM","type":"uint256","internalType":"uint256"},{"name":"quoteNonce","type":"bytes32","internalType":"bytes32"},{"name":"finalRecipient","type":"address","internalType":"address"},{"name":"finalToken","type":"address","internalType":"address"},{"name":"destinationDex","type":"uint32","internalType":"uint32"},{"name":"accountCreationMode","type":"uint8","internalType":"enum AccountCreationMode"},{"name":"maxBpsToSponsor","type":"uint256","internalType":"uint256"},{"name":"extraFeesIncurred","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fallbackHyperEVMFlow","inputs":[{"name":"params","type":"tuple","internalType":"struct CommonFlowParams","components":[{"name":"amountInEVM","type":"uint256","internalType":"uint256"},{"name":"quoteNonce","type":"bytes32","internalType":"bytes32"},{"name":"finalRecipient","type":"address","internalType":"address"},{"name":"finalToken","type":"address","internalType":"address"},{"name":"destinationDex","type":"uint32","internalType":"uint32"},{"name":"accountCreationMode","type":"uint8","internalType":"enum AccountCreationMode"},{"name":"maxBpsToSponsor","type":"uint256","internalType":"uint256"},{"name":"extraFeesIncurred","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"finalTokenInfos","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct FinalTokenInfo","components":[{"name":"spotIndex","type":"uint32","internalType":"uint32"},{"name":"isBuy","type":"bool","internalType":"bool"},{"name":"feePpm","type":"uint32","internalType":"uint32"},{"name":"suggestedDiscountBps","type":"uint32","internalType":"uint32"},{"name":"swapHandler","type":"address","internalType":"contract SwapHandler"}]}],"stateMutability":"view"},{"type":"function","name":"finalizeSwapFlows","inputs":[{"name":"finalToken","type":"address","internalType":"address"},{"name":"quoteNonces","type":"bytes32[]","internalType":"bytes32[]"},{"name":"limitOrderOuts","type":"uint64[]","internalType":"uint64[]"}],"outputs":[{"name":"finalized","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"lastPullFundsBlock","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"predictSwapHandler","inputs":[{"name":"finalToken","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"callerConfirmation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"sendSponsorshipFundsToSwapHandler","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCoreTokenInfo","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"coreIndex","type":"uint32","internalType":"uint32"},{"name":"canBeUsedForAccountActivation","type":"bool","internalType":"bool"},{"name":"accountActivationFeeCore","type":"uint64","internalType":"uint64"},{"name":"bridgeSafetyBufferCore","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFinalTokenInfo","inputs":[{"name":"finalToken","type":"address","internalType":"address"},{"name":"spotIndex","type":"uint32","internalType":"uint32"},{"name":"isBuy","type":"bool","internalType":"bool"},{"name":"feePpm","type":"uint32","internalType":"uint32"},{"name":"suggestedDiscountBps","type":"uint32","internalType":"uint32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"submitLimitOrderFromBot","inputs":[{"name":"finalToken","type":"address","internalType":"address"},{"name":"priceX1e8","type":"uint64","internalType":"uint64"},{"name":"sizeX1e8","type":"uint64","internalType":"uint64"},{"name":"cloid","type":"uint128","internalType":"uint128"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"swaps","inputs":[{"name":"quoteNonce","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct HyperCoreFlowExecutor.SwapFlowState","components":[{"name":"finalRecipient","type":"address","internalType":"address"},{"name":"finalToken","type":"address","internalType":"address"},{"name":"destinationDex","type":"uint32","internalType":"uint32"},{"name":"minAmountToSend","type":"uint64","internalType":"uint64"},{"name":"maxAmountToSend","type":"uint64","internalType":"uint64"},{"name":"isSponsored","type":"bool","internalType":"bool"},{"name":"finalized","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"sweepERC20FromSwapHandler","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"sweepErc20","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"sweepErc20FromDonationBox","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"sweepNative","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"sweepOnCore","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint64","internalType":"uint64"},{"name":"sourceDex","type":"uint32","internalType":"uint32"},{"name":"destinationDex","type":"uint32","internalType":"uint32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"sweepOnCoreFromSwapHandler","inputs":[{"name":"finalToken","type":"address","internalType":"address"},{"name":"finalTokenAmount","type":"uint64","internalType":"uint64"},{"name":"baseTokenAmount","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AccountActivatedFromUserFunds","inputs":[{"name":"quoteNonce","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"amountCore","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"AccountNotActivated","inputs":[{"name":"quoteNonce","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"user","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CancelledLimitOrder","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"cloid","type":"uint128","indexed":true,"internalType":"uint128"}],"anonymous":false},{"type":"event","name":"DonationBoxInsufficientFunds","inputs":[{"name":"quoteNonce","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"token","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"balance","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"FallbackHyperEVMFlowCompleted","inputs":[{"name":"quoteNonce","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"finalRecipient","type":"address","indexed":true,"internalType":"address"},{"name":"finalToken","type":"address","indexed":true,"internalType":"address"},{"name":"evmAmountIn","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"bridgingFeesIncurred","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"evmAmountSponsored","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SentSponsorshipFundsToSwapHandler","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"evmAmountSponsored","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SetCoreTokenInfo","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"coreIndex","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"canBeUsedForAccountActivation","type":"bool","indexed":false,"internalType":"bool"},{"name":"accountActivationFeeCore","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"bridgeSafetyBufferCore","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"SetFinalTokenInfo","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"spotIndex","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"isBuy","type":"bool","indexed":false,"internalType":"bool"},{"name":"feePpm","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"swapHandler","type":"address","indexed":true,"internalType":"address"},{"name":"suggestedFeeDiscountBps","type":"uint32","indexed":false,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"SimpleTransferFlowCompleted","inputs":[{"name":"quoteNonce","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"finalRecipient","type":"address","indexed":true,"internalType":"address"},{"name":"finalToken","type":"address","indexed":true,"internalType":"address"},{"name":"evmAmountIn","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"bridgingFeesIncurred","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"evmAmountSponsored","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SponsoredAccountActivation","inputs":[{"name":"quoteNonce","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"finalRecipient","type":"address","indexed":true,"internalType":"address"},{"name":"fundingToken","type":"address","indexed":true,"internalType":"address"},{"name":"evmAmountSponsored","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SubmittedLimitOrder","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"priceX1e8","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"sizeX1e8","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"cloid","type":"uint128","indexed":true,"internalType":"uint128"}],"anonymous":false},{"type":"event","name":"SwapFlowFinalized","inputs":[{"name":"quoteNonce","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"finalRecipient","type":"address","indexed":true,"internalType":"address"},{"name":"finalToken","type":"address","indexed":true,"internalType":"address"},{"name":"totalSent","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"evmAmountSponsored","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SwapFlowInitialized","inputs":[{"name":"quoteNonce","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"finalRecipient","type":"address","indexed":true,"internalType":"address"},{"name":"finalToken","type":"address","indexed":true,"internalType":"address"},{"name":"evmAmountIn","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"bridgingFeesIncurred","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"coreAmountIn","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"minAmountToSend","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"maxAmountToSend","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"SwapFlowTooExpensive","inputs":[{"name":"quoteNonce","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"finalToken","type":"address","indexed":true,"internalType":"address"},{"name":"estBpsSlippage","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"maxAllowableBpsSlippage","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"UnsafeToBridge","inputs":[{"name":"quoteNonce","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"error","name":"AccessControlBadConfirmation","inputs":[]},{"type":"error","name":"AccessControlUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"AccountNotActivatedError","inputs":[{"name":"user","type":"address","internalType":"address"}]},{"type":"error","name":"CoreUserExistsPrecompileCallFailed","inputs":[]},{"type":"error","name":"FundedFlowNotAuthorized","inputs":[]},{"type":"error","name":"InsufficientAmountForAccountActivation","inputs":[]},{"type":"error","name":"InsufficientFundsForActivation","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"SpotBalancePrecompileCallFailed","inputs":[]},{"type":"error","name":"SpotPxPrecompileCallFailed","inputs":[]},{"type":"error","name":"SwapAlreadyFinalized","inputs":[]},{"type":"error","name":"SwapDoesNotExist","inputs":[]},{"type":"error","name":"TokenInfoPrecompileCallFailed","inputs":[]},{"type":"error","name":"TokenNotEligibleForActivation","inputs":[]},{"type":"error","name":"UnsafeToBridgeError","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint64","internalType":"uint64"}]},{"type":"error","name":"WrongSwapFinalizationToken","inputs":[{"name":"quoteNonce","type":"bytes32","internalType":"bytes32"}]}],"bytecode":"0x60c0346100d157601f6162b338819003918201601f19168301916001600160401b038311848410176100d55780849260409485528339810103126100d157610052602061004b836100e9565b92016100e9565b6001600160a01b0390911660805260a0526040516161b590816100fe823960805181818161087801528181610b680152818161170e01528181611949015281816129f701528181613fc3015281816140b90152818161509c01526152d4015260a051818181610632015281816107aa01528181610d1701526142c20152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036100d15756fe6080806040526004361015610012575f80fd5b5f905f3560e01c90816301ffc9a7146125b557508063037a06a41461236a57806304c73f601461234c578063057f0370146122925780631f74a0b51461222057806321081d3c146121e5578063248a9ca3146121a55780632e748b21146120495780632f2ff15d14611ffe578063319adf9f14611c3657806336568abe14611bf157806337710e2014611b9c5780633b1c6a01146118455780633cf3a02514611810578063490e662f146117d55780634b3b029b1461179a578063502a82e2146116dd578063521c98ba14610fa35780635956364d14610f5757806369b97ac714610f3957806379c7b60b14610ee457806379c7f28914610de557806390a0827b14610dac57806391d1485414610d555780639262e0fc14610cbc57806396cc2cfb14610a68578063a217fddf14610a4c578063a38d8fa61461089c578063a4b672b614610858578063af5de6f9146107ce578063c55dae631461078a578063ccbedaec1461050b578063d06e28ed1461041e578063d547741f146103ca578063e38b73a9146103ae578063ea0aaf2414610350578063eb84e7f2146102205763f7e02c21146101c0575f80fd5b3461021d5761010036600319011261021d576101db36612777565b7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d100541561020e5761020b90614f6d565b80f35b63cd6d8f7d60e01b8252600482fd5b80fd5b503461021d57602036600319011261021d5760408160e09260c083516102458161273b565b82815282602082015282858201528260608201528260808201528260a0820152015260043581527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b03602052206040519061029e8261273b565b6001600160a01b03815416918281526001600160401b0360018301548160208401916001600160a01b038116835263ffffffff60026040870197828460a01c168952606088019360c01c84520154966001600160a01b036080880195858a16875260ff60c060a08b019a828d60401c1615158c52019a60481c1615158a526040519a8b52511660208a015251166040880152511660608601525116608084015251151560a083015251151560c0820152f35b503461021d57602036600319011261021d5760206103a561036f612608565b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0560205260405f2090565b54604051908152f35b503461021d578060031936011261021d57602060405160068152f35b503461021d57604036600319011261021d5761041a6004356103ea61261e565b90610415610410825f525f5160206161605f395f51905f52602052600160405f20015490565b613063565b61383f565b5080f35b503461021d57604036600319011261021d57610438612608565b602435906fffffffffffffffffffffffffffffffff82168092036104fc5761045e612ff4565b826104688261317f565b63ffffffff6001600160a01b03608083015116915116813b156104fc57829160448392604051948593849263435354d360e01b845260048401528960248401525af18015610500576104e7575b50506001600160a01b03167f02366c0d102495be1ee805b749be7baebab4fc0710c6d3f38751f1a22bd711648380a380f35b816104f191612756565b6104fc57825f6104b5565b8280fd5b6040513d84823e3d90fd5b503461021d57606036600319011261021d5780610526612608565b61052e612699565b6105366126af565b9061053f612f85565b610579836001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b544311156106de57436105bc846001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b556001600160a01b036001610601856001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b015416926001600160401b0382166106e3575b50506001600160401b038116610628575050f35b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001683525f5160206161405f395f51905f526020526001600160401b0360046040852001541690823b156106de57604051633ded719760e11b81526001600160401b0392831660048201523360248201529116604482015263ffffffff60648201529082908290608490829084905af18015610500576106cd5750f35b816106d791612756565b61021d5780f35b505050fd5b6001600160a01b031684525f5160206161405f395f51905f526020526001600160401b03600460408620015416833b1561078657604051633ded719760e11b81526001600160401b0391821660048201523360248201529116604482015263ffffffff6064820152838160848183875af190811561077b57849115610614578161076c91612756565b61077757825f610614565b5050fd5b6040513d86823e3d90fd5b8480fd5b503461021d578060031936011261021d5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b503461021d57602036600319011261021d5760206001600160a01b036107fa6107f5612608565b6130b0565b610c2360405161080c85830182612756565b8181528481019161551d8339519020604051908482019260ff60f81b84523060601b6021840152603583015260558201526055815261084c607582612756565b51902016604051908152f35b503461021d578060031936011261021d5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b503461021d57608036600319011261021d57806108b7612608565b6108bf612699565b60443563ffffffff81168091036106de576001600160a01b036108e0612647565b936108e9612f85565b1684525f5160206161405f395f51905f5260205263ffffffff6001600160401b03600460408720015416931663ffffffff811480610a3f575b156109e657505061096c916001600160401b0361097a926040519233602085015260408401521660608201526060815261095d608082612756565b60405192839160208301614f4b565b03601f198101835282612756565b7333333333333333333333333333333333333333333b156109e357816109bc91604051809381926317938e1360e01b83526020600484015260248301906126c5565b0381837333333333333333333333333333333333333333335af18015610500576106cd5750f35b50fd5b610a3a9261096c946001600160401b0392604051943360208701528860408701526060860152608085015260a08401521660c082015260c08152610a2b60e082612756565b60405192839160208301614f28565b61097a565b5063ffffffff8214610922565b503461021d578060031936011261021d57602090604051908152f35b503461021d57604036600319011261021d57610a82612608565b90610a8b612ff4565b610a9482612cf6565b610a9d8361317f565b92610ab160e083510151840b602435614ea3565b946020840190610ada6001600160401b03835116886001600160401b0360a0890151169161376a565b15610c9357859650610b1c846001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b610b2784825461285f565b90556001600160a01b038416807f410b9a8c926b6c439cdceb39c0bb8f829838a25bc5a26af9d4c263d1313cc46b6020604051878152a26001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803b15610c8f5760405163f3fef3a360e01b81526001600160a01b0383166004820152602481018690529088908290604490829084905af18015610c845785918991610c67575b50506001600160401b0391610bf76001600160a01b0392608060e096019284845116906131e3565b511692511694510151850b93813b15610c6357604051639c45c34b60e01b81526001600160a01b039490941660048501526001600160401b0316602484015260448301919091525f9290920b60648201529082908290608490829084905af18015610500576106cd5750f35b8580fd5b81925090610c7491612756565b610c805783875f610bcf565b8680fd5b6040513d8a823e3d90fd5b8780fd5b6377e88bc960e11b86526001600160a01b0384166004526001600160401b038716602452604486fd5b503461021d5761012036600319011261021d57610cd836612777565b7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d100541561020e576001600160a01b036060820151166001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145f14610d475761020b906138f2565b61020b9061010435906142c0565b503461021d57604036600319011261021d576001600160a01b036040610d7961261e565b9260043581525f5160206161605f395f51905f526020522091165f52602052602060ff60405f2054166040519015158152f35b503461021d57604036600319011261021d5761020b610dc9612608565b610dd1612f85565b602435906001600160a01b033391166131e3565b503461021d57602036600319011261021d5760a0610e43610e04612608565b610e0c612ccc565b506001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b6001600160a01b03600160405192610e5a846126e9565b63ffffffff8154818116865260ff8160201c1615156020870152818160281c16604087015260481c1660608501520154166080820152610ee260405180926001600160a01b036080809263ffffffff815116855260208101511515602086015263ffffffff604082015116604086015263ffffffff6060820151166060860152015116910152565bf35b503461021d57602036600319011261021d5760206103a5610f03612608565b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b503461021d578060031936011261021d576020604051620f42408152f35b503461021d5761010036600319011261021d57610f7336612777565b7fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d100541561020e5761020b906138f2565b503461021d5760a036600319011261021d57610fbd612608565b610fc5612634565b90610fce61265a565b6064356001600160401b038116810361078657608435916001600160401b0383168303610c6357610ffd612f36565b611005612c13565b5061100e612bd5565b508580604051602081019063ffffffff8916825260208152611031604082612756565b519061080c5afa611040612c9d565b90156116ce578051810160208101916020818303126116aa576020810151906001600160401b0382116116ca5701906101009082900312610c8f57604051916110888361271f565b60208201516001600160401b0381116116ca5760209083010181601f820112156116ca57898151916110b983612c82565b926110c76040519485612756565b80845284602082840101116104fc578060208093018386015e83010152835260408201516001600160401b0381116116ca576020908301019080601f830112156116ca578151916001600160401b038311611696578260051b90604051936111326020840186612756565b84526020808501928201019283116116c657602001905b8282106116ae5750505060208301526101009061116860608201613261565b60408401526111796080820161545c565b606084015261118a60a0820161545c565b608084015261119b60c08201615470565b60a08401526111ac60e08201615470565b60c0840152015180880b8082036116aa576111cc9160e0840152846136c8565b50604051916111da83612704565b825263ffffffff87166020830152821515604083015260608201526001600160401b03831660808201526001600160401b03841660a08201526001600160a01b03851687525f5160206161405f395f51905f5260205260408720815180518051906001600160401b0382116116965781908b6112568654612c4a565b601f811161165b575b5050602090601f83116001146115f9578c926115ee575b50508160011b915f199060031b1c19161782555b6001820160208201518051906001600160401b0382116115da576801000000000000000082116115da576020908c845484865580851061158e575b505001918b5260208b20908b5b8160021c8110611549575060031981168103806114ed575b505050506001600160a01b03947f12cf3d04179e82c834f3ee7169a5df80651aa65530127f9ddb04c8cd8224435397946001600160401b039460a06006868896600260809d9901888060408401511616891982541617815560608201517fffffffff0000000000000000000000000000000000000000ffffffffffffffff7bffffffffffffffffffffffffffffffffffffffff000000000000000083549260401b16911617905560038201908c808f83015116166001600160a01b0319835416178255848101519082547fffffffffffffffffff000000ffffffffffffffffffffffffffffffffffffffff74ff000000000000000000000000000000000000000060e075ff00000000000000000000000000000000000000000060c086015160a81b1694015160b01b76ff000000000000000000000000000000000000000000001694891b169116171717905561147b6004820188806020880151161689198254161781556040860151151568ff0000000000000000825491151560401b169068ff00000000000000001916179055565b60608401516005820155019185808c8301511616861984541617835501516fffffffffffffffff000000000000000082549160401b16906fffffffffffffffff0000000000000000191617905563ffffffff6040519a168a52151560208a01521660408801521660608601521692a280f35b928c938d5b81811061150b5750505060021c015584848460a06112ea565b909194602061153f6001926001600160401b03895116908560031b6001600160401b03809160031b9316831b921b19161790565b96019291016114f2565b8c8d5b600481106115615750838201556001016112d2565b85519095916001916020916001600160401b0360068a901b81811b199092169216901b179201950161154c565b8382876115ba945220600380870160021c820192601888831b16806115c1575b500160021c01906138dc565b8c5f6112c5565b5f198501908154905f19908a03851b1c1690555f6115ae565b634e487b7160e01b8c52604160045260248cfd5b015190505f80611276565b858d52818d209250601f1984168d5b818110611643575090846001959493921061162b575b505050811b01825561128a565b01515f1960f88460031b161c191690555f808061161e565b92936020600181928786015181550195019301611608565b60208288611685945220601f850160051c8101916020861061168c575b601f0160051c01906138dc565b8b5f61125f565b9091508190611678565b634e487b7160e01b8b52604160045260248bfd5b8880fd5b602080916116bb84613261565b815201910190611149565b8b80fd5b8980fd5b639b0c335d60e01b8752600487fd5b503461021d57604036600319011261021d576116f7612608565b602435611702612f85565b826001600160a01b03807f000000000000000000000000000000000000000000000000000000000000000016931692803b156117965760405163f3fef3a360e01b81526001600160a01b0385166004820152602481018490529082908290604490829084905af1801561050057611781575b505061020b9133906131e3565b8161178b91612756565b6104fc57825f611774565b5080fd5b503461021d578060031936011261021d5760206040517f5300fde95a5e446527bf6aa7c91bd6661bef5398afc77061d9bc87efb80b7ef68152f35b503461021d578060031936011261021d5760206040517fc56a3250645180a53cd9e196b2ee0a634a4f54e2edf59ea457f2083917e4d1008152f35b503461021d57602036600319011261021d5761182a612f85565b80808080600435335af161183c612c9d565b501561021d5780f35b503461021d57606036600319011261021d5761185f61261e565b6044356001600160a01b03811691828203611a905761187c612ff4565b61188582612cf6565b9161188f826130f8565b610786576040830151156107865760016001600160401b0360808501511601906001600160401b038211611b88579085916118f36118d460e087510151850b846136c8565b509560208101936001600160401b0360a081875116930151169161376a565b156104fc57611932906001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0560205260405f2090565b61193d85825461285f565b90556001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803b156104fc5760405163f3fef3a360e01b81526001600160a01b0387166004820152602481018690529083908290604490829084905af1908115611b7d578391611b68575b5050516001600160401b031680611a945750506119cc82846151be565b736b9e773128f453f5c2c60935ee2de2cbc5390a243b15611a90578360405163611e2a2d60e11b81526001600160a01b038316600482015283602482015263ffffffff6044820152818160648183736b9e773128f453f5c2c60935ee2de2cbc5390a245af1801561050057611a7b575b50506001600160a01b03905b60405192835216907f2b348084e891b20d449a69f90114c5ab7bf7c84d64c25445c8ab440d469a6b4d602060043592a480f35b81611a8591612756565b611a9057835f611a3c565b8380fd5b611adc81611aae86611aa861096c95615157565b8961517d565b604051906001600160a01b03861660208301526040820152600160608201526060815261095d608082612756565b7333333333333333333333333333333333333333333b156117965781611b1e91604051809381926317938e1360e01b83526020600484015260248301906126c5565b0381837333333333333333333333333333333333333333335af1801561050057611b53575b50506001600160a01b0390611a48565b81611b5d91612756565b611a9057835f611b43565b81611b7291612756565b61179657815f6119af565b6040513d85823e3d90fd5b634e487b7160e01b86526011600452602486fd5b503461021d57602036600319011261021d5760206103a5611bbb612608565b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b503461021d57604036600319011261021d57611c0b61261e565b336001600160a01b03821603611c275761041a9060043561383f565b63334bd91960e11b8252600482fd5b503461021d57602036600319011261021d576001600160a01b03611c58612608565b611c60612c13565b501681525f5160206161405f395f51905f52602052604081209060405190611c8782612704565b604051611c938161271f565b60405184548184611ca383612c4a565b8083529260018116908115611fdf5750600114611f9e575b611cc792500382612756565b815260018401604051808260208294549384815201908652602086209286905b806003830110611f4c57611d1d945491818110611f32575b818110611f15575b818110611ef8575b10611eea575b500382612756565b60208201526001600160a01b0360028501546001600160401b038116604084015260401c16606082015260038401546001600160a01b038116608083015260ff8160a01c1660a083015260ff8160a81c1660c083015260b01c820b60e0820152825260048301549260208301906001600160401b038516825260ff604085019560401c161515855260066005820154916060860192835201549460808501926001600160401b03871684526001600160401b0360a087019760401c1687526040519560208752519460c06020880152611e04865161010060e08a01526101e08901906126c5565b60208088015189830360df19016101008b015280518084529282019892910190835b818110611ecb57505050926001600160401b03809693899a969360e0878c610120866040819c0151169101528c6101406001600160a01b036060840151169101528c6101606001600160a01b036080840151169101528c61018060ff60a0840151169101528c6101a060ff60c0840151169101520151900b6101c08b0152511660408901525115156060880152516080870152511660a0850152511660c08301520390f35b82516001600160401b03168a526020998a019990920191600101611e26565b60c01c81526020015f611d15565b9260206001916001600160401b038560801c168152019301611d0f565b9260206001916001600160401b038560401c168152019301611d07565b9260206001916001600160401b0385168152019301611cff565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c6060820152019401920184929391611ce7565b5090868552602085209085915b818310611fc3575050906020611cc792820101611cbb565b6020919350806001915483858801015201910190918392611fab565b60209250611cc794915060ff191682840152151560051b820101611cbb565b503461021d57604036600319011261021d5761041a60043561201e61261e565b90612044610410825f525f5160206161605f395f51905f52602052600160405f20015490565b613798565b503461021d57608036600319011261021d57612063612608565b61206b612699565b6120736126af565b90606435926fffffffffffffffffffffffffffffffff84168094036107865761209a612ff4565b846120a48261317f565b926001600160a01b0360808501511693843b156104fc5761212e6101048492836001600160401b03806040519788968795636f0d192560e11b875260048701906001600160a01b036080809263ffffffff815116855260208101511515602086015263ffffffff604082015116604086015263ffffffff6060820151166060860152015116910152565b169a8b60a485015216988960c48401528b60e48401525af1801561050057612190575b50506001600160a01b036040917f500d805a349357fe5d4759fe052d79bd744b82c8452837f52a7456ec7d3d751c93835195865260208601521692a380f35b8161219a91612756565b61078657845f612151565b503461021d57602036600319011261021d5760206121dd6004355f525f5160206161605f395f51905f52602052600160405f20015490565b604051908152f35b503461021d578060031936011261021d5760206040517f880a9ba888678c7fe4e8c4f028c224f26ce12a3bed6e96025c61ef8a5db6312f8152f35b503461021d57606036600319011261021d5761223a612608565b6024356001600160401b0381116104fc57612259903690600401612669565b9092604435906001600160401b03821161021d5760206121dd8686866122823660048901612669565b93909261228d612ff4565b61286c565b5034612348576040366003190112612348576122ac612608565b906024356122b8612f85565b6001600160a01b0360806122cb8561317f565b015116803b15612348576040516390a0827b60e01b81526001600160a01b038516600482015260248101839052905f908290604490829084905af1801561233d57612327575b5061020b91926001600160a01b033391166131e3565b61020b92505f61233691612756565b5f91612311565b6040513d5f823e3d90fd5b5f80fd5b34612348575f3660031901126123485760206040516305f5e1008152f35b346123485760a036600319011261234857612383612608565b61238b612634565b61239361265a565b9161239c612647565b926084359163ffffffff8316809303612348576123b881612cf6565b506123c1612f36565b6001600160a01b036001612405836001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b015416908115612564575b63ffffffff60405195612422876126e9565b16948581526001600160a01b03600181602084019615159586885263ffffffff604086019b1697888c52606086018a8152836080880193169c8d845263ffffffff61249d8a6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0160205260405f2090565b985116926cffffffff00000000000000000068ffffffff000000000064ff000000008b549351151560201b16935160281b16935160481b16936cffffffff000000000000000000199168ffffffffffffffffff1916171617171785555116920191166001600160a01b0319825416179055612517866130f8565b15612348577ff0dcc8957a27613dd82c92382ad37254b9744169d0caa5f3873cfec7ba794eb9936080936001600160a01b03936040519788526020880152604087015260608601521692a3005b905061256f816130b0565b604051610c238082018281106001600160401b038211176125a157829161551d833903905ff5801561233d5790612410565b634e487b7160e01b5f52604160045260245ffd5b34612348576020366003190112612348576004359063ffffffff60e01b821680920361234857602091637965db0b60e01b81149081156125f7575b5015158152f35b6301ffc9a760e01b149050836125f0565b600435906001600160a01b038216820361234857565b602435906001600160a01b038216820361234857565b6024359063ffffffff8216820361234857565b6064359063ffffffff8216820361234857565b60443590811515820361234857565b9181601f84011215612348578235916001600160401b038311612348576020808501948460051b01011161234857565b602435906001600160401b038216820361234857565b604435906001600160401b038216820361234857565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60a081019081106001600160401b038211176125a157604052565b60c081019081106001600160401b038211176125a157604052565b61010081019081106001600160401b038211176125a157604052565b60e081019081106001600160401b038211176125a157604052565b90601f801991011681019081106001600160401b038211176125a157604052565b61010090600319011261234857604051906127918261271f565b81600435815260243560208201526044356001600160a01b03811681036123485760408201526064356001600160a01b038116810361234857606082015260843563ffffffff8116810361234857608082015260a43560028110156123485760a082015260c43560c082015260e060e435910152565b91908110156128175760051b0190565b634e487b7160e01b5f52603260045260245ffd5b906001600160401b03809116911601906001600160401b03821161284b57565b634e487b7160e01b5f52601160045260245ffd5b9190820180921161284b57565b9194935f935f96828103612348576128b4856001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b544311156123485792906128c785612cf6565b9160806128d38761317f565b01916001600160a01b03835116946128fa60208601966001600160401b0388511690613275565b965f975b818d10612b6a575b50508a159250612b5f915050574361294e866001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0260205260405f2090565b556001600160401b03841680612968575b50505050505050565b61297d6129a09560e0855101515f0b906136c8565b6001600160401b03869792975116906001600160401b0360a0870151169161376a565b15612b4057506129e0856001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b6129eb85825461285f565b90556001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166001600160a01b03861690803b156123485760405163f3fef3a360e01b81526001600160a01b038316600482015260248101879052905f908290604490829084905af1801561233d57612b14575b506001600160a01b0382612a88876001600160401b03948460e0975116906131e3565b511693511691510151850b93823b15610c6357604051639c45c34b60e01b81526001600160a01b0390911660048201526001600160401b03909116602482015260448101929092525f9290920b606482015290829082908183816084810103925af1801561050057612aff575b808080808061295f565b612b0a828092612756565b61021d5780612af5565b6001600160401b0391975060e092612b345f6001600160a01b0393612756565b5f989093509150612a65565b6001600160a01b03866377e88bc960e11b5f521660045260245260445ffd5b505f96505050505050565b612b798d83879f9b9697612807565b3590612b868a8588612807565b356001600160401b038116810361234857612baf92898d926001600160a01b038b511692613357565b94909115612bcd57600191612bc39161282b565b98019b93926128fe565b989c50612906565b60405190612be28261271f565b5f60e08360608152606060208201528260408201528260608201528260808201528260a08201528260c08201520152565b60405190612c2082612704565b5f60a083612c2c612bd5565b81528260208201528260408201528260608201528260808201520152565b90600182811c92168015612c78575b6020831014612c6457565b634e487b7160e01b5f52602260045260245ffd5b91607f1691612c59565b6001600160401b0381116125a157601f01601f191660200190565b3d15612cc7573d90612cae82612c82565b91612cbc6040519384612756565b82523d5f602084013e565b606090565b60405190612cd9826126e9565b5f6080838281528260208201528260408201528260608201520152565b6001600160a01b0390612d07612c13565b50165f525f5160206161405f395f51905f5260205260405f2060405191612d2d83612704565b60405191612d3a8361271f565b6040518154815f612d4a83612c4a565b8083529260018116908115612f175750600114612ed6575b612d6e92500382612756565b8352600181019360405180602087549182815201965f5260205f20905f915b816003840110612e8a5797612dce9284926001600160a01b039798999a5491818110611f3257818110611f1557818110611ef85710611eea57500382612756565b60208601528160028401546001600160401b038116604088015260401c1660608601526001600160401b0360066003850154946080880197858716895260ff8760a01c1660a082015260c081019660ff8160a81c16885260b01c5f0b60e0820152845260ff6004820154848116602087015260401c1615156040850152600581015460608501520154818116608084015260401c1660a082015293511615159081612e7c575b501561234857565b60ff9150511615155f612e74565b97600160806004928b546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c6060820152019901920191612d8d565b5090835f5260205f20905f915b818310612efb575050906020612d6e92820101612d62565b6020919350806001915483858801015201910190918392612ee3565b60209250612d6e94915060ff191682840152151560051b820101612d62565b335f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff1615612f6e57565b63e2517d3f60e01b5f52336004525f60245260445ffd5b335f9081527f176c3a4e1b4d1d61213187c0dde7f83e2e2c933a339cb5403b4090bc2f0aa49a602052604090205460ff1615612fbd57565b63e2517d3f60e01b5f52336004527f880a9ba888678c7fe4e8c4f028c224f26ce12a3bed6e96025c61ef8a5db6312f60245260445ffd5b335f9081527fcf7720576cdb70176b3017d893bcb89ba0f36ed0261d4350fd0180e938b3bacd602052604090205460ff161561302c57565b63e2517d3f60e01b5f52336004527f5300fde95a5e446527bf6aa7c91bd6661bef5398afc77061d9bc87efb80b7ef660245260445ffd5b805f525f5160206161605f395f51905f5260205260405f206001600160a01b0333165f5260205260ff60405f2054161561309a5750565b63e2517d3f60e01b5f523360045260245260445ffd5b60405160208101913060601b83526bffffffffffffffffffffffff199060601b166034820152602881526130e5604882612756565b51902090565b5190811515820361234857565b5f80916040516001600160a01b0360208201921682526020815261311d604082612756565b51906108105afa61312c612c9d565b9015613170576020818051810103126123485760405190602082018281106001600160401b038211176125a157604052613168906020016130eb565b809152151590565b6313dd7ccd60e31b5f5260045ffd5b61318b90610e0c612ccc565b906001600160a01b036001604051936131a3856126e9565b63ffffffff8154818116875260ff8160201c1615156020880152818160281c16604088015260481c16606086015201541691826080820152911561234857565b916001600160a01b036040519263a9059cbb60e01b5f521660045260245260205f60448180865af19060015f5114821615613240575b604052156132245750565b6001600160a01b0390635274afe760e01b5f521660045260245ffd5b90600181151661325857823b15153d15161690613219565b503d5f823e3d90fd5b51906001600160401b038216820361234857565b5f919082916001600160401b03604051916001600160a01b036020840194168452166040820152604081526132ab606082612756565b51906108015afa6132ba612c9d565b901561332857606081805181010312612348576040519060608201918083106001600160401b038411176125a1576001600160401b03926040526040613321606061330760208601613261565b94858552613316848201613261565b602086015201613261565b9101521690565b639d2c8fcb60e01b5f5260045ffd5b906001600160401b03809116911603906001600160401b03821161284b57565b959291909395805f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0360205260405f206001600160a01b0381541695861561365057600282019889549860ff8a60481c166136415760018401956001600160a01b03875493166001600160a01b0384160361362e575f916133d88b6130f8565b1561360e575b8360c01c9c8c60ff6001600160401b0382169160401c165f146135b457508d8e966001600160401b03811682115f146135ac5761341a91613337565b9c5b6001600160401b0380861697169287841115612348578f8f966134429061344a92613337565b969f8261282b565b936001600160401b03851610613597575069ff0000000000000000001916690100000000000000000017905560019c61348291613337565b99815160e001515f0b613495908d6136c8565b50986001600160a01b031691602001516001600160401b031691803b15612348575f928360849263ffffffff6001600160401b036040519889978896633ded719760e11b885260048801526024870152169889604486015260a01c1660648401525af1801561233d577f53b9d5645f8b7ccd861ebd6036860fd21716451d1f238cb3720f12f3c49b0c43946040946001600160a01b03938493613587575b508061354e575b5054169554169582519182526020820152a4565b82825416887f5adc50a7f1e65d6b397176e0807a39bd0ba27293997500a57ca2cc1359583ccb6020868d5416948a51908152a45f61353a565b5f61359191612756565b5f613533565b5f9f508f9e509c505050505050505050505050565b50505f61341a565b909d95809d96806001600160401b038316105f14613603576135e0916135d991613337565b809e61282b565b816001600160401b038216115f146135fc57505b9c8d9561341c565b90506135f4565b50506135e05f6135d9565b9150604081015115612348576001600160401b03608082015116916133de565b8563358d72d160e01b5f5260045260245ffd5b63f7348a7960e01b5f5260045ffd5b631a40316d60e01b5f5260045ffd5b60ff16604d811161284b57600a0a90565b9190820391821161284b57565b8115613687570490565b634e487b7160e01b5f52601260045260245ffd5b90620f4240820291808304620f4240149015171561284b57565b8181029291811591840414171561284b57565b9190805f0b80155f146136e65750506001600160401b03821691905b565b5f81131561371157506136fe61370d9160ff1661365f565b6001600160401b0384166136b5565b9190565b9050607f19811461284b576001600160401b039261373661373f925f0360ff1661365f565b9384911661285f565b5f19810190811161284b5761376661375f846001600160401b039361367d565b93846136b5565b1690565b6137906001600160401b03929361378a849361378581615157565b613275565b9461282b565b169116101590565b805f525f5160206161605f395f51905f5260205260405f206001600160a01b0383165f5260205260ff60405f205416155f1461383957805f525f5160206161605f395f51905f5260205260405f206001600160a01b0383165f5260205260405f20600160ff198254161790556001600160a01b03339216907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b50505f90565b805f525f5160206161605f395f51905f5260205260405f206001600160a01b0383165f5260205260ff60405f2054165f1461383957805f525f5160206161605f395f51905f5260205260405f206001600160a01b0383165f5260205260405f2060ff1981541690556001600160a01b03339216907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b8181106138e7575050565b5f81556001016138dc565b6060810151906001600160a01b035f921691825f525f5160206161405f395f51905f5260205260405f206040519061392982612704565b6040516139358161271f565b6040518254815f61394583612c4a565b80835292600181169081156142a15750600114614260575b61396992500382612756565b815260018201604051808260208294549384815201905f5260205f20925f905b80600383011061420e576139bb945491818110611f3257818110611f1557818110611ef85710611eea57500382612756565b60208201526001600160a01b0360028301546001600160401b038116604084015260401c16606082015260038201546001600160a01b038116608083015260ff8160a01c1660a083015260ff8160a81c1660c083015260b01c5f0b60e08201528252600481015492600660208401926001600160401b038616845260ff604086019660401c16151586526005810154606086015201549260808101936001600160401b03811685526001600160401b0360a083019160401c1681525f946040880196613a906001600160a01b038951166130f8565b15614141575b5050865192612710613abc613ab160e08b019687519061285f565b60c08b0151906136b5565b0494845195808711614139575b5085614097575b613b08613aef613ae1888c5161285f565b60e0875101515f0b90614ea3565b919094826001600160401b03808651169251169161376a565b15614048575085613fb9575b6001600160401b0390613b578b6001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b613b6288825461285f565b9055511692613b8e60e06001600160a01b038a511692510151830b63ffffffff60808c01511694614ea3565b9390916001600160401b03891695866001600160401b0387161115613faa57908392918d97969594613c70575b50505050507fb021c853215aadb12b6fa8afa7b3158201517d9abf7f756cdbb67bd66abc5a1c95613beb91613337565b5080613c2e575b5050613c296001600160a01b0360208701519551169551915192604051938493846040919493926060820195825260208201520152565b0390a4565b60208701517f5adc50a7f1e65d6b397176e0807a39bd0ba27293997500a57ca2cc1359583ccb60206001600160a01b0389511693604051908152a4855f613bf2565b809791929394959697155f14613e01575083613c8b916151be565b308103613d4a5750736b9e773128f453f5c2c60935ee2de2cbc5390a243b156104fc5760405191630acb7f4b60e21b835260048301526024820152818160448183736b9e773128f453f5c2c60935ee2de2cbc5390a245af1801561050057908a94939291613d27575b50507fb021c853215aadb12b6fa8afa7b3158201517d9abf7f756cdbb67bd66abc5a1c95613beb915b9181975f80613bbb565b818093949697989550613d3991612756565b61021d579081899396959492613cf4565b91736b9e773128f453f5c2c60935ee2de2cbc5390a243b15611a90576040519263611e2a2d60e11b8452600484015260248301526044820152818160648183736b9e773128f453f5c2c60935ee2de2cbc5390a245af1801561050057908a94939291613dde575b50507fb021c853215aadb12b6fa8afa7b3158201517d9abf7f756cdbb67bd66abc5a1c95613beb91613d1d565b818093949697989550613df091612756565b61021d579081899396959492613db1565b9096959493613e1690611aa883959495615157565b308314801590613f9c575b613e55575b505050507fb021c853215aadb12b6fa8afa7b3158201517d9abf7f756cdbb67bd66abc5a1c95613beb91613d1d565b90919293949550613e668986613337565b9163ffffffff811480613f94575b15613f455750916001600160401b03613eae9261096c9460405193602085015260408401521660608201526060815261095d608082612756565b7333333333333333333333333333333333333333333b156117965781613ef091604051809381926317938e1360e01b83526020600484015260248301906126c5565b0381837333333333333333333333333333333333333333335af1801561050057908a94939291613f22575b8080613e26565b818093949697989550613f3491612756565b61021d579081899396959492613f1b565b613f8f9261096c94926001600160401b039260405194602086015287604086015263ffffffff6060860152608085015260a08401521660c082015260c08152610a2b60e082612756565b613eae565b506001613e74565b5063ffffffff821415613e21565b6306506d5560e11b8552600485fd5b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803b156123485760405163f3fef3a360e01b81526001600160a01b038c16600482015260248101889052905f908290604490829084905af1801561233d5761402c575b50613b14565b6140399192505f90612756565b5f906001600160401b03614026565b989450505050507f8d61555dcf69ba745e97fdea78e2652d9cdd464ca521faad482fe796f6d5841c93506020925082915061408281614f6d565b0151926001600160401b0360405191168152a3565b6140a6868b60208c01516152c5565b613ad0576040516370a0823160e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660048201529095506020816024818d5afa90811561233d575f91614107575b5094613ad0565b90506020813d602011614131575b8161412260209383612756565b8101031261234857515f614100565b3d9150614115565b95505f613ac9565b9091955060a088015160028110156141fa57159081806141ed575b6141d05781156141c6575b5061417e57516001600160401b0316935f80613a96565b50505050506136e492507f31604f5790fbed7a37471cea010a8f08483441a6e1235ac48bb59337439a630d60206001600160a01b0381850151935116604051908152a2614f6d565b905051155f614167565b6001600160a01b038851166320a2097d60e11b5f5260045260245ffd5b5060c0890151151561415c565b634e487b7160e01b5f52602160045260245ffd5b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c6060820152019401920184929391613989565b5090845f5260205f20905f915b8183106142855750509060206139699282010161395d565b602091935080600191548385880101520191019091839261426d565b6020925061396994915060ff191682840152151560051b82010161395d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03811691825f525f5160206161405f395f51905f5260205260405f206040519361431185612704565b60405161431d8161271f565b6040518354815f61432d83612c4a565b8083529260018116908115614e845750600114614e43575b61435192500382612756565b815260018301604051808260208294549384815201905f5260205f20925f905b806003830110614df1576143a3945491818110611f3257818110611f1557818110611ef85710611eea57500382612756565b60208201526001600160a01b0360028401546001600160401b038116604084015260401c16606082015260038301546001600160a01b038116608083015260ff8160a01c1660a083015260ff8160a81c1660c083015260b01c5f0b60e08201528552600660048301549260ff60208801946001600160401b038116865260401c1615156040880152600581015460608801520154956001600160401b03871660808701526001600160401b0360a087019760401c16875260608401936001600160a01b038551165f525f5160206161405f395f51905f5260205260405f20946040519561448f87612704565b60405161449b8161271f565b6040518254815f6144ab83612c4a565b8083529260018116908115614dd25750600114614d91575b6144cf92500382612756565b815260018201604051808260208294549384815201905f5260205f20925f905b806003830110614d3f57614521945491818110611f3257818110611f1557818110611ef85710611eea57500382612756565b60208201526001600160a01b0360028301546001600160401b038116604084015260401c16606082015260038201546001600160a01b038116608083015260ff8160a01c1660a083015260ff8160a81c1660c083015260b01c5f0b60e082015287526001600160401b03600660048301549282841660208b015260ff60408b019460401c1615158452600581015460608b0152015481811660808a015260401c1660a08801526145da6001600160a01b0383511661317f565b9360408401916145f36001600160a01b038451166130f8565b15614c90575b5083519760e085019182519160c087019a8b511515936146189161285f565b8d5160e001515f0b61462991614ea3565b90508d5160c0015160ff16825160c0015160ff169061464792615492565b9215614c625782915b5f8063ffffffff8b51166040516020810191825260208152614673604082612756565b51906108085afa614682612c9d565b9015614c535760208180518101031261234857898f9360ff60a06146d09260206001600160401b036146b8826146d69901613261565b16950197885115155f14614c4857505101511661365f565b906136b5565b825115614bfe5763ffffffff6146f18160608d0151166153a8565b16620f4240019081620f42401161284b57614727620f4240916146d06001600160401b039463ffffffff8f60400151169061285f565b0416908c51908115155f14614bf65750915b5115614bb5576305f5e100811015614b7557505f5b61476e61475b865161369b565b6147688a5188519061285f565b9061285f565b5f1981019190821161284b576147686147949261478e8b5189519061285f565b9061367d565b606480830283810482148415171561284b578211614afb5750505085518c5160e001515f0b6147c291614ea3565b9d8e8b9c929c516001600160401b031691516001600160401b0316906147e79261376a565b15614aab579c8a9b9c9d85516001600160a01b03169287516001600160a01b03169460808a015163ffffffff1692511515604051956148258761273b565b8652602086019687526040860193845260608601916001600160401b03169586835260808101936001600160401b03169788855260a0820192835260c08201938d5f86526020019687515f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0360205260405f2093516001600160a01b03166001600160a01b031684546001600160a01b0319161784556001840192516001600160a01b03166001600160a01b031683546001600160a01b03191617835551908254905160c01b7fffffffffffffffff000000000000000000000000000000000000000000000000169160a01b77ffffffff000000000000000000000000000000000000000016906001600160a01b03161717905560020192516001600160401b03166001600160401b03166001600160401b031984541617835551151561498e90839068ff0000000000000000825491151560401b169068ff00000000000000001916179055565b51151581549060481b69ff000000000000000000169069ff00000000000000000019161790555194516001600160a01b031695516001600160a01b03169651935160405194855260208501526001600160401b031660408401526060830152608082015260a07f550576b2f9e0ac12dfd5dd2d5743b5b7f11f34302b5f6bec6ad60db81bd6a91891a4608001516001600160a01b03169283614a2f926131e3565b516001600160401b0316935160e001515f0b93813b1561234857604051639c45c34b60e01b81526001600160a01b039490941660048501526001600160401b0316602484015260448301919091525f92830b60648301529091908290608490829084905af1801561233d57614aa15750565b5f6136e491612756565b50505050509450955050925050816136e4947f8d61555dcf69ba745e97fdea78e2652d9cdd464ca521faad482fe796f6d5841c602080870151926001600160401b0360405191168152a352614f6d565b999c5099509c50505050509450809650602091500151906001600160a01b038451169281810180911161284b575f19810190811161284b578115613687576136e4977fc8f90125c6a36c77a571201afc10310420481ab4895fadabb596d0ba71c22e3e92604092049082519182526020820152a3526138f2565b6305f5e0ff19016001600160401b03811161284b57614baf614ba46001600160401b036305f5e100931661369b565b6305f5e0ff9061285f565b0461474e565b6305f5e100811115614bc857505f61474e565b6305f5e100036001600160401b03811161284b57614baf614ba46001600160401b036305f5e100931661369b565b905091614739565b63ffffffff614c128160608d0151166153a8565b16620f42400390620f4240821161284b57614727620f4240916146d06001600160401b039463ffffffff8f604001511690613670565b90505101511661365f565b635cffc5fb60e11b5f5260045ffd5b8161271003612710811161284b57612710614c876001600160401b03928387166136b5565b04169291614650565b60a085015160028110156141fa5715908180614d32575b614d15578115614d0b575b50614cbd575f6145f9565b509450945095505092506136e494507f31604f5790fbed7a37471cea010a8f08483441a6e1235ac48bb59337439a630d60206001600160a01b0381870151935116604051908152a252614f6d565b905051155f614cb2565b6001600160a01b038451166320a2097d60e11b5f5260045260245ffd5b5060c08601511515614ca7565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c60608201520194019201849293916144ef565b5090845f5260205f20905f915b818310614db65750509060206144cf928201016144c3565b6020919350806001915483858801015201910190918392614d9e565b602092506144cf94915060ff191682840152151560051b8201016144c3565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c6060820152019401920184929391614371565b5090855f5260205f20905f915b818310614e6857505090602061435192820101614345565b6020919350806001915483858801015201910190918392614e50565b6020925061435194915060ff191682840152151560051b820101614345565b9190805f0b9081155f14614ecf575050815b6001600160401b038111612348576001600160401b031690565b5f821315614f0757614ee4915060ff1661365f565b91821561368757614efb8184614f02930690613670565b928361367d565b614eb5565b505f0380805f0b0361284b57614f22614f029160ff1661365f565b836136b5565b630100000d60e01b8152815160049290919082906020018483015e01015f815290565b6280000360e11b8152815160049290919082906020018483015e01015f815290565b8051612710614f90614f8560e085019384519061285f565b60c0850151906136b5565b0481518181115f1461514f5750905b81906020840191614fc283519460608701956001600160a01b03875116906152c5565b15615148575b80615092575b7f4755f239bb1b047245415cb917deced72a3ca8baebcef109c396ff332ea6f50f91613c296001600160a01b0380615007858a5161285f565b9661501f828a51169860408c0199848b5116906131e3565b61505c828a51166001600160a01b03165f527f6c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0460205260405f2090565b61506787825461285f565b9055519651169651169651915192604051938493846040919493926060820195825260208201520152565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916001600160a01b0385511692803b156123485760405163f3fef3a360e01b81526001600160a01b03949094166004850152602484018390525f908490604490829084905af192831561233d577f4755f239bb1b047245415cb917deced72a3ca8baebcef109c396ff332ea6f50f93615138575b509150614fce565b5f61514291612756565b5f615130565b505f614fc8565b905090614f9f565b6001600160401b03166001609d1b01806001609d1b1161284b576001600160a01b031690565b60405163a9059cbb60e01b60208201526001600160a01b039290921660248301526044808301939093529181526136e4916151b9606483612756565b6153c3565b9060405190602082019063095ea7b360e01b8252736b9e773128f453f5c2c60935ee2de2cbc5390a246024840152604483015260448252615200606483612756565b5f806001600160a01b0385169284519082855af19061521d612c9d565b8261528b575b5081615280575b5015615234575050565b6136e4916151b960405163095ea7b360e01b6020820152736b9e773128f453f5c2c60935ee2de2cbc5390a2460248201525f60448201526044815261527a606482612756565b826153c3565b90503b15155f61522a565b805191925081159182156152a3575b5050905f615223565b81925090602091810103126123485760206152be91016130eb565b5f8061529a565b6040516370a0823160e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811660048301529092169392909190602082602481885afa91821561233d575f92615374575b5080821094851595615335575b50505050565b7f5180f0ad9e9bd2296de2ee38c85d11c56613fa73f8ee66792f26ac318f1274749260609260405192835260208301526040820152a25f80808061532f565b9091506020813d6020116153a0575b8161539060209383612756565b810103126123485751905f615322565b3d9150615383565b63ffffffff60649116029063ffffffff821691820361284b57565b906001600160a01b0361542492165f80604051936153e2604086612756565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564602086015260208151910182855af161541e612c9d565b916154f1565b805190811591821561543a575b50501561234857565b819250906020918101031261234857602061545591016130eb565b5f80615431565b51906001600160a01b038216820361234857565b519060ff8216820361234857565b9060ff8091169116039060ff821161284b57565b9160ff811660ff83168181145f146154ab575050505090565b6001600160401b0394929111156154d9576154d26154cd61376694869361547e565b61365f565b91166136b5565b6154ea6154cd85926137669561547e565b911661367d565b9192501561550d57815115615504575090565b3b156123485790565b50805190811561234857602001fdfe60a080604052346100455733608052610bd9908161004a8239608051818181607b01528181610187015281816103590152818161065a0152818161070101526108d20152f35b5f80fdfe60806040526004361015610011575f80fd5b5f5f3560e01c8063435354d3146108905780637bdae32e1461069b57806390a0827b146106365780639c45c34b1461030d578063de1a324a146100a25763eba61c0e1461005c575f80fd5b3461009f578060031936011261009f5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b80fd5b503461009f57366003190161010081126102f55760a01361009f5760405160a0810181811067ffffffffffffffff8211176102f9576040526100e2610961565b918282526024359182151583036102f5576020810192835260443563ffffffff811681036102f1576040820152610117610974565b6060820152608435906001600160a01b03821682036102f1576080015260a43567ffffffffffffffff81168091036102f55760c4359067ffffffffffffffff82168092036102f15760e435946fffffffffffffffffffffffffffffffff86168096036102ed576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633036102ed5763ffffffff6101bc91166109d3565b935115159281156102de5782156102cf57916102509391600493506040519263ffffffff60208501971687526040840152606083015260808201525f945f60a0830152600260c083015260e082015260e0815261021b6101008261099d565b6020604051948592630100000160e01b83850152518091602485015e8201018281015f8152500301601f19810183528261099d565b7333333333333333333333333333333333333333333b156102cb575f61028a91604051809381926317938e1360e01b835260048301610a00565b0381837333333333333333333333333333333333333333335af180156102c0576102b2575080f35b6102be91505f9061099d565b005b6040513d5f823e3d90fd5b5f80fd5b6313c0a8df60e01b8152600490fd5b63017461b760e71b8152600490fd5b8380fd5b8280fd5b5080fd5b634e487b7160e01b83526041600452602483fd5b503461009f57608036600319011261009f57610327610987565b6024359067ffffffffffffffff82168092036102f1576044359060643580850b90818103610632576001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016330361063257816105b4575050815b67ffffffffffffffff81116105b05767ffffffffffffffff169283156105a15790829185936103c0575b836103bc86610b0c565b5080f35b8061055857506001600160a01b031660405183806020830163095ea7b360e01b8152736b9e773128f453f5c2c60935ee2de2cbc5390a2460248501528560448501526044845261041160648561099d565b83519082865af1610420610b28565b81610529575b508061051f575b156104c7575b5050736b9e773128f453f5c2c60935ee2de2cbc5390a243b156102f55760405190630acb7f4b60e21b8252600482015263ffffffff6024820152818160448183736b9e773128f453f5c2c60935ee2de2cbc5390a245af180156104bc576104a7575b50506103bc905b9050815f80806103b2565b816104b19161099d565b6102f557815f610495565b6040513d84823e3d90fd5b6105189161051360405163095ea7b360e01b6020820152736b9e773128f453f5c2c60935ee2de2cbc5390a2460248201528660448201526044815261050d60648261099d565b82610a7b565b610a7b565b5f80610433565b50813b151561042d565b805180159250821561053e575b50505f610426565b6105519250602080918301019101610a63565b5f80610536565b909192506001609d1b01806001609d1b1161058d5791610588916001600160a01b03806103bc9695169116610a2a565b61049c565b634e487b7160e01b85526011600452602485fd5b6306506d5560e11b8552600485fd5b8480fd5b858213156105f6576105c9915060ff16610b67565b80156105e257808306830392831161058d578204610388565b634e487b7160e01b85526012600452602485fd5b5084038080860b0361058d5761060e9060ff16610b67565b82818102918183041490151761038857634e487b7160e01b85526011600452602485fd5b8580fd5b503461009f57604036600319011261009f57610650610987565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633036102f55761069890602435906001600160a01b03339116610a2a565b80f35b503461009f57608036600319011261009f578060043567ffffffffffffffff811680910361080d57602435906001600160a01b03821680920361088c576044359167ffffffffffffffff831680930361088a576106f6610974565b926001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633036105b05763ffffffff602094169263ffffffff841480610882575b156108105761079b93506040519285840152604083015260608201526060815261076960808261099d565b6004604051938492818401906280000360e11b82528051928391018483015e01015f815203601f19810183528261099d565b7333333333333333333333333333333333333333333b1561080d57816107d591604051809381926317938e1360e01b835260048301610a00565b0381837333333333333333333333333333333333333333335af180156104bc576107fc5750f35b816108069161099d565b61009f5780f35b50fd5b61087d93604051938685015286604085015263ffffffff6060850152608084015260a083015260c082015260c0815261084a60e08261099d565b600460405193849281840190630100000d60e01b82528051928391018483015e01015f815203601f19810183528261099d565b61079b565b50600161073e565b505b5050fd5b50346102cb5760403660031901126102cb576108aa610961565b602435906fffffffffffffffffffffffffffffffff82168092036102cb576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633036102cb576004610906610250926109d3565b926040519063ffffffff602083019516855260408201526040815261092c60608261099d565b6020604051948592630100000b60e01b83850152518091602485015e8201018281015f8152500301601f19810183528261099d565b6004359063ffffffff821682036102cb57565b6064359063ffffffff821682036102cb57565b600435906001600160a01b03821682036102cb57565b90601f8019910116810190811067ffffffffffffffff8211176109bf57604052565b634e487b7160e01b5f52604160045260245ffd5b63ffffffff6127109116019063ffffffff82116109ec57565b634e487b7160e01b5f52601160045260245ffd5b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b610a61926001600160a01b036040519363a9059cbb60e01b602086015216602484015260448301526044825261051360648361099d565b565b908160209103126102cb575180151581036102cb5790565b906001600160a01b03610adc92165f8060405193610a9a60408661099d565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564602086015260208151910182855af1610ad6610b28565b91610b78565b8051908115918215610af2575b5050156102cb57565b610b059250602080918301019101610a63565b5f80610ae9565b67ffffffffffffffff169067ffffffffffffffff82116109ec57565b3d15610b62573d9067ffffffffffffffff82116109bf5760405191610b57601f8201601f19166020018461099d565b82523d5f602084013e565b606090565b60ff16604d81116109ec57600a0a90565b91925015610b9457815115610b8b575090565b3b156102cb5790565b5080519081156102cb57602001fdfea2646970667358221220957eb92bf34977f1dbc400ded4a4688729e475d059af2473160b1dcd76c46a2064736f6c634300081e00336c70e510d36398bee89cc6e19ea6807a9915863d7d724712e0b3c15b01368b0002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800a2646970667358221220a4585ce27249e5aced6f7fb67b49145c526d0fb9b1c245b8ddbbc9d72f4aac4364736f6c634300081e0033"}
|