From dd076e929a59c67868ba9cc7d978400008644b1c Mon Sep 17 00:00:00 2001 From: soumalya340 Date: Tue, 25 Jun 2024 17:18:48 +0530 Subject: [PATCH] Update Phygital Version --- contracts/accessmaster/AccessMaster.sol | 17 +- .../accessmaster/interfaces/IAccessMaster.sol | 2 +- contracts/eternalsoul/EternalSoul.sol | 44 ++- contracts/eturnumpass/EternumPass.sol | 37 +- .../flow-contracts/cybermaven/CyberMaven.sol | 3 +- .../flowofferstation/FlowOfferStation.sol | 2 +- .../flowsubscription/FlowSubscription.sol | 307 --------------- .../flow-contracts/flowsubscription/Readme.md | 370 ------------------ contracts/fusionseries/FusionSeries.sol | 12 - contracts/phygital/Phygital.sol | 229 +++++------ contracts/signatureseries/SignatureSeries.sol | 35 +- contracts/tradehub/TradeHub.sol | 4 +- hardhat.config.ts | 45 ++- package.json | 4 +- scripts/launch/launch.json | 12 +- typechain-types/AccessControl.ts | 10 +- typechain-types/AccessControlEnumerable.ts | 10 +- typechain-types/AccessMaster.ts | 10 +- typechain-types/Create2.ts | 52 +++ typechain-types/ECDSA.ts | 52 +++ typechain-types/EIP712.ts | 130 ++++++ typechain-types/ERC1155.ts | 20 +- typechain-types/ERC1155Supply.ts | 47 ++- typechain-types/ERC20.ts | 108 +---- typechain-types/ERC2981.ts | 20 +- typechain-types/EternalSoul.ts | 65 +++ typechain-types/EternumPass.ts | 33 +- typechain-types/FusionSeries.ts | 47 ++- typechain-types/IAccessControl.ts | 10 +- typechain-types/IAccessControlEnumerable.ts | 10 +- typechain-types/IERC1155.ts | 20 +- typechain-types/IERC1155Errors.ts | 52 +++ typechain-types/IERC1155MetadataURI.ts | 20 +- typechain-types/IERC20.ts | 30 +- typechain-types/IERC20Errors.ts | 52 +++ typechain-types/IERC20Metadata.ts | 30 +- typechain-types/IERC5267.ts | 130 ++++++ typechain-types/IERC721.ts | 10 +- typechain-types/IERC721Enumerable.ts | 10 +- typechain-types/IERC721Errors.ts | 52 +++ typechain-types/IERC721Metadata.ts | 10 +- typechain-types/InstaGen.ts | 20 +- typechain-types/Math.ts | 52 +++ typechain-types/MyriadFlowOfferStation.ts | 20 +- typechain-types/Phygital.ts | 257 +----------- typechain-types/PhygitalA.ts | 20 +- typechain-types/ReentrancyGuard.ts | 52 +++ typechain-types/SFT.ts | 20 +- typechain-types/ShortStrings.ts | 52 +++ typechain-types/SignatureSeries.ts | 85 +++- typechain-types/Strings.ts | 52 +++ typechain-types/Token.ts | 108 +---- typechain-types/TradeHub.ts | 20 +- .../AccessControlEnumerable__factory.ts | 23 +- .../factories/AccessControl__factory.ts | 23 +- .../factories/AccessMaster__factory.ts | 35 +- .../factories/Bytecode__factory.ts | 2 +- typechain-types/factories/Create2__factory.ts | 87 ++++ .../factories/CyberMavenRegistry__factory.ts | 28 +- .../factories/CyberMaven__factory.ts | 2 +- typechain-types/factories/ECDSA__factory.ts | 85 ++++ typechain-types/factories/EIP712__factory.ts | 85 ++++ .../factories/ERC1155Holder__factory.ts | 46 +-- .../factories/ERC1155Supply__factory.ts | 119 +++++- typechain-types/factories/ERC1155__factory.ts | 153 +++++--- typechain-types/factories/ERC20__factory.ts | 190 ++++----- typechain-types/factories/ERC2981__factory.ts | 68 +++- typechain-types/factories/ERC721A__factory.ts | 2 +- .../factories/ERC721Enumerable__factory.ts | 124 ++++++ .../factories/ERC721Holder__factory.ts | 46 +-- typechain-types/factories/ERC721__factory.ts | 153 +++++--- .../factories/EternalSoul__factory.ts | 218 ++++++++++- .../factories/EternumPass__factory.ts | 207 +++++++++- .../factories/FlowSubscription__factory.ts | 2 +- .../factories/FusionSeries__factory.ts | 121 +++++- .../IAccessControlEnumerable__factory.ts | 23 +- .../factories/IAccessControl__factory.ts | 23 +- .../factories/IERC1155Errors__factory.ts | 128 ++++++ .../factories/IERC1155MetadataURI__factory.ts | 4 +- .../factories/IERC1155__factory.ts | 4 +- .../factories/IERC20Errors__factory.ts | 109 ++++++ .../factories/IERC20Metadata__factory.ts | 6 +- typechain-types/factories/IERC20__factory.ts | 6 +- .../factories/IERC5267__factory.ts | 72 ++++ .../factories/IERC721Enumerable__factory.ts | 2 +- .../factories/IERC721Errors__factory.ts | 126 ++++++ .../factories/IERC721Metadata__factory.ts | 2 +- typechain-types/factories/IERC721__factory.ts | 2 +- .../factories/InstaGen__factory.ts | 70 +++- typechain-types/factories/Math__factory.ts | 63 +++ .../MyriadFlowOfferStation__factory.ts | 75 +++- typechain-types/factories/NFT__factory.ts | 126 +++++- .../factories/PhygitalA__factory.ts | 70 +++- .../factories/Phygital__factory.ts | 345 ++++++++-------- .../factories/ReentrancyGuard__factory.ts | 31 ++ typechain-types/factories/SFT__factory.ts | 108 ++++- .../factories/ShortStrings__factory.ts | 77 ++++ .../factories/SignatureSeries__factory.ts | 286 +++++++++++++- typechain-types/factories/Strings__factory.ts | 77 ++++ typechain-types/factories/Token__factory.ts | 142 ++++--- .../factories/TradeHub__factory.ts | 75 +++- typechain-types/hardhat.d.ts | 125 ++++-- typechain-types/index.ts | 30 +- yarn.lock | 57 ++- 104 files changed, 4837 insertions(+), 2167 deletions(-) delete mode 100644 contracts/flow-contracts/flowsubscription/FlowSubscription.sol delete mode 100644 contracts/flow-contracts/flowsubscription/Readme.md create mode 100644 typechain-types/Create2.ts create mode 100644 typechain-types/ECDSA.ts create mode 100644 typechain-types/EIP712.ts create mode 100644 typechain-types/IERC1155Errors.ts create mode 100644 typechain-types/IERC20Errors.ts create mode 100644 typechain-types/IERC5267.ts create mode 100644 typechain-types/IERC721Errors.ts create mode 100644 typechain-types/Math.ts create mode 100644 typechain-types/ReentrancyGuard.ts create mode 100644 typechain-types/ShortStrings.ts create mode 100644 typechain-types/Strings.ts create mode 100644 typechain-types/factories/Create2__factory.ts create mode 100644 typechain-types/factories/ECDSA__factory.ts create mode 100644 typechain-types/factories/EIP712__factory.ts create mode 100644 typechain-types/factories/IERC1155Errors__factory.ts create mode 100644 typechain-types/factories/IERC20Errors__factory.ts create mode 100644 typechain-types/factories/IERC5267__factory.ts create mode 100644 typechain-types/factories/IERC721Errors__factory.ts create mode 100644 typechain-types/factories/Math__factory.ts create mode 100644 typechain-types/factories/ReentrancyGuard__factory.ts create mode 100644 typechain-types/factories/ShortStrings__factory.ts create mode 100644 typechain-types/factories/Strings__factory.ts diff --git a/contracts/accessmaster/AccessMaster.sol b/contracts/accessmaster/AccessMaster.sol index 1499e7f..f3f544d 100644 --- a/contracts/accessmaster/AccessMaster.sol +++ b/contracts/accessmaster/AccessMaster.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.17; +pragma solidity ^0.8.20; -import "@openzeppelin/contracts/access/AccessControlEnumerable.sol"; +import "@openzeppelin/contracts/access/extensions/AccessControlEnumerable.sol"; /** * @dev This Contract Module helps to deploy the @@ -21,22 +21,17 @@ contract AccessMaster is AccessControlEnumerable { keccak256("FLOW_OPERATOR_ROLE"); bytes32 public constant FLOW_CREATOR_ROLE = keccak256("FLOW_CREATOR_ROLE"); - constructor(address storefrontAdmin) { - _setupRole(FLOW_ADMIN_ROLE, _msgSender()); - + constructor(address _payoutAddress) { _setRoleAdmin(FLOW_ADMIN_ROLE, FLOW_ADMIN_ROLE); _setRoleAdmin(FLOW_OPERATOR_ROLE, FLOW_ADMIN_ROLE); _setRoleAdmin(FLOW_CREATOR_ROLE, FLOW_OPERATOR_ROLE); - + _grantRole(FLOW_ADMIN_ROLE, _msgSender()); // add Admin to operator and Creator grantRole(FLOW_OPERATOR_ROLE, _msgSender()); - // assigning storefront publisher Wallet the Admin role - grantRole(FLOW_ADMIN_ROLE, storefrontAdmin); - grantRole(FLOW_OPERATOR_ROLE, storefrontAdmin); - grantRole(FLOW_CREATOR_ROLE, storefrontAdmin); + grantRole(FLOW_CREATOR_ROLE, _msgSender()); - payoutAddress = storefrontAdmin; + payoutAddress = _payoutAddress; } function updateName( diff --git a/contracts/accessmaster/interfaces/IAccessMaster.sol b/contracts/accessmaster/interfaces/IAccessMaster.sol index 39e0f00..1bb942f 100644 --- a/contracts/accessmaster/interfaces/IAccessMaster.sol +++ b/contracts/accessmaster/interfaces/IAccessMaster.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.17; +pragma solidity ^0.8.17; /** * @dev External interface of AccessMaster declared to support ERC165 detection. diff --git a/contracts/eternalsoul/EternalSoul.sol b/contracts/eternalsoul/EternalSoul.sol index 14c29e9..385144e 100644 --- a/contracts/eternalsoul/EternalSoul.sol +++ b/contracts/eternalsoul/EternalSoul.sol @@ -3,8 +3,9 @@ pragma solidity ^0.8.17; import "@openzeppelin/contracts/utils/Context.sol"; import "../accessmaster/interfaces/IAccessMaster.sol"; -import "@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol"; +import "@openzeppelin/contracts/utils/cryptography/EIP712.sol"; import "@openzeppelin/contracts/utils/cryptography/ECDSA.sol"; +import "@openzeppelin/contracts/utils/Strings.sol"; import "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol"; /** @@ -175,7 +176,7 @@ contract EternalSoul is Context, ERC721Enumerable, EIP712 { */ function destroyAsset(uint256 tokenId) public { require( - _isApprovedOrOwner(_msgSender(), tokenId), + _isAuthorized(_ownerOf(tokenId), _msgSender(), tokenId), "EternalSoul: Caller is not token owner or approved" ); _burn(tokenId); @@ -193,7 +194,10 @@ contract EternalSoul is Context, ERC721Enumerable, EIP712 { uint256 tokenId, string memory _tokenURI ) internal virtual { - require(_exists(tokenId), "EternalSoul: Non-Existent Asset"); + require( + _requireOwned(tokenId) == _msgSender(), + "EternalSoul: Non-Existent Asset" + ); _tokenURIs[tokenId] = _tokenURI; } @@ -222,7 +226,10 @@ contract EternalSoul is Context, ERC721Enumerable, EIP712 { function tokenURI( uint256 tokenId ) public view virtual override returns (string memory) { - require(_exists(tokenId), "EternalSoul: Non-Existent Asset"); + require( + _requireOwned(tokenId) == _msgSender(), + "EternalSoul: Non-Existent Asset" + ); if (bytes(_tokenURIs[tokenId]).length == 0) { string memory _tokenUri = _baseURI(); //ERC721 return _tokenUri; @@ -235,19 +242,26 @@ contract EternalSoul is Context, ERC721Enumerable, EIP712 { return baseURI; } - /// @dev only minting and burning can happen - /// token transfer are restricted - function _beforeTokenTransfer( - address from, + // function _transfer( + // address from, + // address to, + // uint256 tokenId + // ) internal override { + // require( + // from == address(0) || to == address(0), + // "EternalSoul : Asset cannot be transferred" + // ); + // super._transfer(from, to, tokenId); + // } + + function _update( address to, uint256 tokenId, - uint256 batchSize - ) internal virtual override(ERC721Enumerable) { - require( - from == address(0) || to == address(0), - "EternalSoul : Asset cannot be transferred" - ); - super._beforeTokenTransfer(from, to, tokenId, batchSize); + address auth + ) internal virtual override returns (address) { + require(to == address(0), "EternalSoul : Asset cannot be transferred"); + address from = super._update(to, tokenId, auth); + return from; } /** diff --git a/contracts/eturnumpass/EternumPass.sol b/contracts/eturnumpass/EternumPass.sol index bf7b392..4454cb2 100644 --- a/contracts/eturnumpass/EternumPass.sol +++ b/contracts/eturnumpass/EternumPass.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.17; +pragma solidity ^0.8.20; import "../common/interface/IERC4907.sol"; import "../common/interface/IERC5643.sol"; @@ -73,7 +73,10 @@ contract EternumPass is Context, IERC4907, IERC5643, ERC2981, ERC721Enumerable { } modifier onlyWhenTokenExist(uint256 tokenId) { - require(_exists(tokenId), "EternumPass: Not a valid tokenId"); + require( + _requireOwned(tokenId) == _msgSender(), + "EternumPass: Not a valid tokenId" + ); _; } @@ -224,7 +227,7 @@ contract EternumPass is Context, IERC4907, IERC5643, ERC2981, ERC721Enumerable { */ function revokeSubscription(uint256 _tokenId) public { require( - _isApprovedOrOwner(_msgSender(), _tokenId), + _isAuthorized(_ownerOf(_tokenId), _msgSender(), _tokenId), "EternumPass: Not Owner Or Approved" ); _burn(_tokenId); @@ -247,7 +250,7 @@ contract EternumPass is Context, IERC4907, IERC5643, ERC2981, ERC721Enumerable { uint64 expires ) public override { require( - _isApprovedOrOwner(_msgSender(), tokenId), + _isAuthorized(_ownerOf(tokenId), _msgSender(), tokenId), "EternumPass: Not token owner Or approved" ); require( @@ -267,7 +270,7 @@ contract EternumPass is Context, IERC4907, IERC5643, ERC2981, ERC721Enumerable { uint256 pricePerHour ) public { require( - _isApprovedOrOwner(_msgSender(), tokenId), + _isAuthorized(_ownerOf(tokenId), _msgSender(), tokenId), "EternumPass: Caller is not token owner or approved" ); rentables[tokenId].isRentable = isRentable; @@ -283,7 +286,10 @@ contract EternumPass is Context, IERC4907, IERC5643, ERC2981, ERC721Enumerable { /// @param _timeInHours is in hours , Ex- 1,2,3 function rent(uint256 _tokenId, uint256 _timeInHours) external payable { - require(_exists(_tokenId), "SignatureSeries: Invalide Token Id"); + require( + _requireOwned(_tokenId) == _msgSender(), + "Eternumpass: Invalide Token Id" + ); require( rentables[_tokenId].isRentable, "EternumPass: Not available for rent" @@ -339,7 +345,8 @@ contract EternumPass is Context, IERC4907, IERC5643, ERC2981, ERC721Enumerable { ) external payable onlyWhenTokenExist(tokenId) { bool isOperator = flowRoles.isOperator(_msgSender()); require( - _isApprovedOrOwner(_msgSender(), tokenId) || isOperator, + _isAuthorized(_ownerOf(tokenId), _msgSender(), tokenId) || + isOperator, "EternumPass: Caller is owner nor approved or the Operator" ); require( @@ -385,7 +392,7 @@ contract EternumPass is Context, IERC4907, IERC5643, ERC2981, ERC721Enumerable { bool isOperator = flowRoles.isOperator(_msgSender()); if (!isOperator) { require( - _isApprovedOrOwner(_msgSender(), tokenId), + _isAuthorized(_ownerOf(tokenId), _msgSender(), tokenId), "EternumPass: Caller is owner nor approved" ); require( @@ -498,21 +505,17 @@ contract EternumPass is Context, IERC4907, IERC5643, ERC2981, ERC721Enumerable { return baseURI; } - function _beforeTokenTransfer( - address from, + function _update( address to, uint256 tokenId, - uint256 batchSize - ) internal virtual override(ERC721Enumerable) { - super._beforeTokenTransfer(from, to, tokenId, batchSize); + address auth + ) internal virtual override returns (address) { + address from = super._update(to, tokenId, auth); if (from != to && rentables[tokenId].user != address(0)) { delete rentables[tokenId]; emit UpdateUser(tokenId, address(0), 0); } - } - - function timeStamp() external view returns (uint256) { - return block.timestamp; + return from; } function supportsInterface( diff --git a/contracts/flow-contracts/cybermaven/CyberMaven.sol b/contracts/flow-contracts/cybermaven/CyberMaven.sol index 874523b..8347ba5 100644 --- a/contracts/flow-contracts/cybermaven/CyberMaven.sol +++ b/contracts/flow-contracts/cybermaven/CyberMaven.sol @@ -123,6 +123,7 @@ contract CyberMaven is } _nounce++; } + // Put Getter function getValueFromMyContract( @@ -260,7 +261,7 @@ contract CyberMaven is function supportsInterface( bytes4 interfaceId - ) public view virtual override(IERC165, ERC1155Receiver) returns (bool) { + ) public view virtual override(IERC165, ERC1155Holder) returns (bool) { if ( interfaceId == type(IERC165).interfaceId || interfaceId == type(IERC6551Account).interfaceId diff --git a/contracts/flow-contracts/flowofferstation/FlowOfferStation.sol b/contracts/flow-contracts/flowofferstation/FlowOfferStation.sol index e72dbdd..1e4a3ad 100644 --- a/contracts/flow-contracts/flowofferstation/FlowOfferStation.sol +++ b/contracts/flow-contracts/flowofferstation/FlowOfferStation.sol @@ -2,7 +2,7 @@ pragma solidity ^0.8.0; import "@openzeppelin/contracts/utils/Context.sol"; -import "@openzeppelin/contracts/security/ReentrancyGuard.sol"; +import "@openzeppelin/contracts/utils/ReentrancyGuard.sol"; import "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol"; import "@openzeppelin/contracts/token/common/ERC2981.sol"; import "../../accessmaster/interfaces/IAccessMaster.sol"; diff --git a/contracts/flow-contracts/flowsubscription/FlowSubscription.sol b/contracts/flow-contracts/flowsubscription/FlowSubscription.sol deleted file mode 100644 index 29b5ef5..0000000 --- a/contracts/flow-contracts/flowsubscription/FlowSubscription.sol +++ /dev/null @@ -1,307 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.17; -import "../../common/interface/IERC5643.sol"; -import "@openzeppelin/contracts/utils/Strings.sol"; -import "@openzeppelin/contracts/utils/Context.sol"; -import "@openzeppelin/contracts/token/common/ERC2981.sol"; -import "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol"; -import "../../accessmaster/interfaces/IAccessMaster.sol"; - -/// @title Users can only utilise token services after renewing their subscriptions and renting them to others. -/** - * @dev {ERC721} token, including: - * - * - ability for holders to burn (destroy) their tokens - * - token ID and URI autogeneration - * - ability for holders to give for rent - * - services can only be used after renewal of subscription - * - * This contract uses {AccessControl} to lock permissioned functions using the - * different roles - head to its documentation for details. - * - * The account that deploys the contract will be granted the Operator and pauser - * roles, as well as the default admin role, which will let it grant both creator - * and pauser roles to other accounts. - */ -contract FlowSubscription is Context, IERC5643, ERC2981, ERC721Enumerable { - bytes32 public constant ADMIN_ROLE = keccak256("ADMIN_ROLE"); - bytes32 public constant OPERATOR_ROLE = keccak256("OPERATOR_ROLE"); - // Set Constants for Interface ID and Roles - bytes4 private constant _INTERFACE_ID_ERC2981 = 0x2a55205a; - - /// @notice UNIX TIME FOR ONE MONTH(30 days) - uint256 public constant MONTH = 2592000; - - using Strings for uint256; - - bool public mintPaused = false; - uint8 public version = 1; - uint256 public publicSalePrice; - uint256 public subscriptionPricePerMonth; - uint256 private _tokenIdCounter; - string public baseURI; - address private owner; - - /// @notice To store subscription info - mapping(uint256 => uint64) private _expirations; // subscription - /// @notice To check if cancellation is intiated or not - mapping(uint256 => bool) public cancellationRequested; - /// @notice storing token URI's - mapping(uint256 => string) private _tokenURI; - - IACCESSMASTER flowRoles; - - modifier whenNotpaused() { - require(mintPaused == false, "FlowSubscription: NFT Minting Paused"); - _; - } - modifier onlyWhenTokenExist(uint256 tokenId) { - require(_exists(tokenId), "FlowSubscription: Not a valid tokenId"); - _; - } - - modifier onlyOperator() { - require( - flowRoles.isOperator(_msgSender()), - "EternalSoul: User is not authorized " - ); - _; - } - - modifier onlyAdmin() { - require( - flowRoles.isAdmin(_msgSender()), - "InstaGen: User is not authorized" - ); - _; - } - event SubscriptionIssued(uint256 tokenId, address indexed owner); - - event SubscriptionRevoked(uint256 tokenId, address indexed ownerOrApproved); - - event SubscriptionCancelRequested( - uint256 indexed tokenId, - uint256 indexed Time - ); - - constructor( - string memory _name, - string memory _symbol, - string memory _initialURI, - uint256 _publicSalePrice, - uint256 _subscriptionPricePerMonth, - uint96 royaltyBasisPoint, - address flowContract - ) ERC721(_name, _symbol) { - baseURI = _initialURI; - publicSalePrice = _publicSalePrice; - subscriptionPricePerMonth = _subscriptionPricePerMonth; - // Setting default royalty - _setDefaultRoyalty(_msgSender(), royaltyBasisPoint); - - flowRoles = IACCESSMASTER(flowContract); - } - - /// @notice Admin Role can set the mint price - function setPrice(uint256 _publicSalePrice) external onlyOperator { - publicSalePrice = _publicSalePrice; - } - - /// @notice pause or stop the contract from working by ADMIN - function pause() external onlyOperator { - mintPaused = true; - } - - /// @notice Unpause the contract by ADMIN - function unpause() public onlyOperator { - mintPaused = false; - } - - /// @notice only operator can set base token URI for the contract - function setBaseURI(string memory _tokenBaseURI) external onlyOperator { - baseURI = _tokenBaseURI; - } - - /// @notice to set token URI of a indivual token - function setTokenURI(uint tokenId, string memory _tokenUri) external { - require( - ownerOf(tokenId) == _msgSender() || - flowRoles.isOperator(_msgSender()) - ); - _tokenURI[tokenId] = _tokenUri; - } - - /// @notice Call to mint NFTs - /// @return tokenId - function subscribe() external payable whenNotpaused returns (uint256) { - _tokenIdCounter++; - uint256 tokenId = _tokenIdCounter; - require( - publicSalePrice >= msg.value, - "FlowSubscription: Insuffiecient amount!" - ); - _safeMint(_msgSender(), tokenId); - emit SubscriptionIssued(tokenId, _msgSender()); - return tokenId; - } - - //// @notice to mint NFT's By Operator - function delegateSubscribe( - address creator - ) public onlyOperator returns (uint256 tokenId) { - _tokenIdCounter++; - tokenId = _tokenIdCounter; - _safeMint(creator, tokenId); - emit SubscriptionIssued(tokenId, _msgSender()); - } - - /** - * @notice Burns `tokenId`. See {ERC721-_burn}. - * - * @dev Requirements: - * - * - The caller must own `tokenId` or be an approved operator. - */ - function revokeSubscription( - uint256 _tokenId - ) public onlyWhenTokenExist(_tokenId) { - require( - _isApprovedOrOwner(_msgSender(), _tokenId), - "FlowSubscription: Not Owner Or Approved" - ); - _burn(_tokenId); - emit SubscriptionRevoked(_tokenId, _msgSender()); - _resetTokenRoyalty(_tokenId); - } - - /// @notice only Admin can withdraw the funds collected - function withdraw() external onlyAdmin { - // get the balance of the contract - (bool callSuccess, ) = payable(_msgSender()).call{ - value: address(this).balance - }(""); - require(callSuccess, "FlowSubscription: Withdrawal failed"); - } - - /** SUBSCRIPTION **/ - - /// @notice Renews the subscription to an NFT - /// Throws if `tokenId` is not a valid NFT - /// Renewal can be done even if existing subscription is not ended - /// @param tokenId The NFT to renew the subscription for - /// @param duration The number of months to extend a subscription for - /// cannot be more than 12 or less than 1 - function renewSubscription( - uint256 tokenId, - uint64 duration - ) external payable onlyWhenTokenExist(tokenId) { - bool isOperator = flowRoles.isOperator(_msgSender()); - require( - _isApprovedOrOwner(_msgSender(), tokenId) || isOperator, - "FlowSubscription: Caller is not owner nor approved nor the Operator" - ); - require( - cancellationRequested[tokenId] == false, - "FlowSubscription: Renewal cannot be proceeded, token is in cancellation process!" - ); - require( - duration > 0 && duration <= 12, - "FlowSubscription: Duration must be between 1 to 12 months!" - ); - uint256 _duration = (duration * MONTH); - if (!isOperator) { - require( - msg.value >= duration * subscriptionPricePerMonth, - "FlowSubscription: Insufficient Payment" - ); - } - uint64 newExpiration; - - if (isRenewable(tokenId)) { - newExpiration = uint64(block.timestamp + _duration); - _expirations[tokenId] = newExpiration; - } else { - newExpiration = uint64(_expirations[tokenId] + _duration); - _expirations[tokenId] = newExpiration; - } - emit SubscriptionUpdate(tokenId, newExpiration); - } - - /// @notice Cancels the subscription of an NFT - /// @dev Throws if `tokenId` is not a valid NFT - /// only deduct a week as a penalty when refunding the money. - /// @param tokenId The NFT to cancel the subscription for - function cancelSubscription( - uint256 tokenId - ) external payable onlyWhenTokenExist(tokenId) { - bool isOperator = flowRoles.isOperator(_msgSender()); - require( - isRenewable(tokenId) == false, - "FlowSubscription: Cancellation cannot be proceeded!" - ); - if (!isOperator) { - require( - cancellationRequested[tokenId] == false, - "FlowSubscription: Cancellation cannot be proceeded!" - ); - require( - _isApprovedOrOwner(_msgSender(), tokenId), - "FlowSubscription: Caller is not owner nor approved" - ); - cancellationRequested[tokenId] = true; - _expirations[tokenId] = uint64(block.timestamp); - emit SubscriptionCancelRequested(tokenId, block.timestamp); - } else { - payable(ownerOf(tokenId)).transfer(msg.value); - cancellationRequested[tokenId] = false; - } - } - - /** Getter Functions **/ - - ////// SUBSCRIPTION /////////////// - - /// @notice Gets the expiration date of a subscription - /// @param tokenId The NFT to get the expiration date of - /// @return The expiration date of the subscription - function expiresAt(uint256 tokenId) external view returns (uint64) { - return _expirations[tokenId]; - } - - /// @notice Determines whether a subscription can be renewed - /// @param tokenId The NFT to get the expiration date of - /// @return The renewability of a the subscription - function isRenewable(uint256 tokenId) public view returns (bool) { - if (_expirations[tokenId] <= block.timestamp) { - return true; - } else { - return false; - } - } - - ////////////////////////////////// - - ///@dev Returns the Uniform Resource Identifier (URI) for `tokenId` token. - function tokenURI( - uint256 tokenId - ) public view override(ERC721) returns (string memory) { - if (bytes(_tokenURI[tokenId]).length == 0) { - string memory _tokenUri = _baseURI(); //ERC721 - return string(abi.encodePacked(_tokenUri, "/", tokenId.toString())); - } else { - return _tokenURI[tokenId]; - } - } - - function _baseURI() internal view override returns (string memory) { - return baseURI; - } - - function supportsInterface( - bytes4 interfaceId - ) public view virtual override(ERC721Enumerable, ERC2981) returns (bool) { - if (interfaceId == _INTERFACE_ID_ERC2981) return true; - if (interfaceId == type(IERC5643).interfaceId) return true; - return super.supportsInterface(interfaceId); - } -} diff --git a/contracts/flow-contracts/flowsubscription/Readme.md b/contracts/flow-contracts/flowsubscription/Readme.md deleted file mode 100644 index 5e2ff92..0000000 --- a/contracts/flow-contracts/flowsubscription/Readme.md +++ /dev/null @@ -1,370 +0,0 @@ -## FlowSubscription - -_{ERC721} token, including: - - - ability for holders to burn (destroy) their tokens - - token ID and URI autogeneration - - ability for holders to give for rent - - services can only be used after renewal of subscription - -This contract uses {AccessControl} to lock permissioned functions using the -different roles - head to its documentation for details. - -The account that deploys the contract will be granted the Operator and pauser -roles, as well as the default admin role, which will let it grant both creator -and pauser roles to other accounts._ - -### ADMIN_ROLE - -```solidity -bytes32 ADMIN_ROLE -``` - -### OPERATOR_ROLE - -```solidity -bytes32 OPERATOR_ROLE -``` - -### MONTH - -```solidity -uint256 MONTH -``` - -UNIX TIME FOR ONE MONTH(30 days) - -### mintPaused - -```solidity -bool mintPaused -``` - -### publicSalePrice - -```solidity -uint256 publicSalePrice -``` - -### subscriptionPricePerMonth - -```solidity -uint256 subscriptionPricePerMonth -``` - -### baseURI - -```solidity -string baseURI -``` - -### cancellationRequested - -```solidity -mapping(uint256 => bool) cancellationRequested -``` - -To check if cancellation is intiated or not - -### whenNotpaused - -```solidity -modifier whenNotpaused() -``` - -### onlyWhenTokenExist - -```solidity -modifier onlyWhenTokenExist(uint256 tokenId) -``` - -### SubscriptionIssued - -```solidity -event SubscriptionIssued(uint256 tokenId, address owner) -``` - -### SubscriptionRevoked - -```solidity -event SubscriptionRevoked(uint256 tokenId, address ownerOrApproved) -``` - -### SubscriptionCancelRequested - -```solidity -event SubscriptionCancelRequested(uint256 tokenId, uint256 Time) -``` - -### constructor - -```solidity -constructor(string _name, string _symbol, string _initialURI, uint256 _publicSalePrice, uint256 _subscriptionPricePerMonth, uint96 royaltyBasisPoint) public -``` - -### setPrice - -```solidity -function setPrice(uint256 _publicSalePrice) external -``` - -Admin Role can set the mint price - -### pause - -```solidity -function pause() external -``` - -pause or stop the contract from working by ADMIN - -### unpause - -```solidity -function unpause() public -``` - -Unpause the contract by ADMIN - -### setBaseURI - -```solidity -function setBaseURI(string _tokenBaseURI) external -``` - -only operator can set base token URI for the contract - -### setTokenURI - -```solidity -function setTokenURI(uint256 tokenId, string _tokenUri) external -``` - -to set token URI of a indivual token - -### subscribe - -```solidity -function subscribe() external payable returns (uint256) -``` - -Call to mint NFTs - -#### Return Values - -| Name | Type | Description | -| ---- | ---- | ----------- | -| [0] | uint256 | tokenId | - -### delegateSubscribe - -```solidity -function delegateSubscribe(address creator) public returns (uint256 tokenId) -``` - -### revokeSubscription - -```solidity -function revokeSubscription(uint256 _tokenId) public -``` - -Burns `tokenId`. See {ERC721-_burn}. - -_Requirements: - -- The caller must own `tokenId` or be an approved operator._ - -### withdraw - -```solidity -function withdraw() external -``` - -only Admin can withdraw the funds collected - -### renewSubscription - -```solidity -function renewSubscription(uint256 tokenId, uint64 duration) external payable -``` - -Renews the subscription to an NFT -Throws if `tokenId` is not a valid NFT -Renewal can be done even if existing subscription is not ended - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| tokenId | uint256 | The NFT to renew the subscription for | -| duration | uint64 | The number of months to extend a subscription for - cannot be more than 12 or less than 1 | - -### cancelSubscription - -```solidity -function cancelSubscription(uint256 tokenId) external payable -``` - -Cancels the subscription of an NFT - -_Throws if `tokenId` is not a valid NFT -only deduct a week as a penalty when refunding the money._ - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| tokenId | uint256 | The NFT to cancel the subscription for | - -### expiresAt - -```solidity -function expiresAt(uint256 tokenId) external view returns (uint64) -``` - -Gets the expiration date of a subscription - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| tokenId | uint256 | The NFT to get the expiration date of | - -#### Return Values - -| Name | Type | Description | -| ---- | ---- | ----------- | -| [0] | uint64 | The expiration date of the subscription | - -### isRenewable - -```solidity -function isRenewable(uint256 tokenId) public view returns (bool) -``` - -Determines whether a subscription can be renewed - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| tokenId | uint256 | The NFT to get the expiration date of | - -#### Return Values - -| Name | Type | Description | -| ---- | ---- | ----------- | -| [0] | bool | The renewability of a the subscription | - -### tokenURI - -```solidity -function tokenURI(uint256 tokenId) public view returns (string) -``` - -_Returns the Uniform Resource Identifier (URI) for `tokenId` token._ - -### _baseURI - -```solidity -function _baseURI() internal view returns (string) -``` - -_Base URI for computing {tokenURI}. If set, the resulting URI for each -token will be the concatenation of the `baseURI` and the `tokenId`. Empty -by default, can be overridden in child contracts._ - -### supportsInterface - -```solidity -function supportsInterface(bytes4 interfaceId) public view virtual returns (bool) -``` - -## IERC5643 - -### SubscriptionUpdate - -```solidity -event SubscriptionUpdate(uint256 tokenId, uint64 expiration) -``` - -Emitted when a subscription expiration changes - -_When a subscription is canceled, the expiration value should also be 0._ - -### renewSubscription - -```solidity -function renewSubscription(uint256 tokenId, uint64 duration) external payable -``` - -Renews the subscription to an NFT -Throws if `tokenId` is not a valid NFT - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| tokenId | uint256 | The NFT to renew the subscription for | -| duration | uint64 | The number of seconds to extend a subscription for | - -### cancelSubscription - -```solidity -function cancelSubscription(uint256 tokenId) external payable -``` - -Cancels the subscription of an NFT - -_Throws if `tokenId` is not a valid NFT_ - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| tokenId | uint256 | The NFT to cancel the subscription for | - -### expiresAt - -```solidity -function expiresAt(uint256 tokenId) external view returns (uint64) -``` - -Gets the expiration date of a subscription - -_Throws if `tokenId` is not a valid NFT_ - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| tokenId | uint256 | The NFT to get the expiration date of | - -#### Return Values - -| Name | Type | Description | -| ---- | ---- | ----------- | -| [0] | uint64 | The expiration date of the subscription | - -### isRenewable - -```solidity -function isRenewable(uint256 tokenId) external view returns (bool) -``` - -Determines whether a subscription can be renewed - -_Throws if `tokenId` is not a valid NFT_ - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| tokenId | uint256 | The NFT to get the expiration date of | - -#### Return Values - -| Name | Type | Description | -| ---- | ---- | ----------- | -| [0] | bool | The renewability of a the subscription | diff --git a/contracts/fusionseries/FusionSeries.sol b/contracts/fusionseries/FusionSeries.sol index 1c49174..b10b200 100644 --- a/contracts/fusionseries/FusionSeries.sol +++ b/contracts/fusionseries/FusionSeries.sol @@ -174,18 +174,6 @@ contract FusionSeries is Context, ERC1155Supply { ) public view virtual override returns (string memory) { return _tokenURIs[tokenId]; } - - function _beforeTokenTransfer( - address operator, - address from, - address to, - uint256[] memory ids, - uint256[] memory amounts, - bytes memory data - ) internal virtual override(ERC1155Supply) { - super._beforeTokenTransfer(operator, from, to, ids, amounts, data); - } - /** * @dev See {IERC165-supportsInterface}. */ diff --git a/contracts/phygital/Phygital.sol b/contracts/phygital/Phygital.sol index 602628e..0050bef 100644 --- a/contracts/phygital/Phygital.sol +++ b/contracts/phygital/Phygital.sol @@ -5,7 +5,8 @@ import "@openzeppelin/contracts/utils/Context.sol"; import "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol"; import "@openzeppelin/contracts/token/common/ERC2981.sol"; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; -import "../common/interface/IERC4907.sol"; +import "@openzeppelin/contracts/utils/Strings.sol"; +// import "../common/interface/IERC4907.sol"; import "../accessmaster/interfaces/IAccessMaster.sol"; /// @title PhygitalA: A Smart Contract for Managing Phygital Assets with ERC721 Tokens @@ -16,7 +17,8 @@ import "../accessmaster/interfaces/IAccessMaster.sol"; * It allows for the immutable registration of NFC IDs to NFTs, ensuring a unique and verifiable link * between a physical item and its digital counterpart. */ -contract Phygital is Context, ERC721Enumerable, ERC2981, IERC4907 { +// contract Phygital is Context, ERC721Enumerable, ERC2981, IERC4907 { +contract Phygital is Context, ERC721Enumerable, ERC2981 { // Set Constants for Interface ID and Roles bytes4 private constant _INTERFACE_ID_ERC2981 = 0x2a55205a; @@ -270,109 +272,115 @@ contract Phygital is Context, ERC721Enumerable, ERC2981, IERC4907 { uint256 tokenId, string memory _tokenURI ) internal virtual { - require(_exists(tokenId), "Phygital: Non-Existent Asset"); + require( + _requireOwned(tokenId) == _msgSender(), + "Phygital: Non-Existent Asset" + ); _tokenURIs[tokenId] = _tokenURI; } /********************* Rental(ERC4907) *********************************/ /// @notice Owner can set the NFT's rental price and status - function setRentInfo( - uint256 tokenId, - bool isRentable, - uint256 pricePerHour - ) public { - require( - _isApprovedOrOwner(_msgSender(), tokenId), - "Phygital: Caller is not token owner or approved" - ); - rentables[tokenId].isRentable = isRentable; - rentables[tokenId].hourlyRate = pricePerHour; - emit RentalInfo(tokenId, isRentable, pricePerHour, _msgSender()); - } - - /// @notice set the user and expires of an NFT - /// @dev This function is used to gift a person by the owner, - /// The zero address indicates there is no user - /// Throws if `tokenId` is not valid NFT - /// @param user The new user of the NFT - /// @param expires UNIX timestamp, The new user could use the NFT before expires - - function setUser(uint256 tokenId, address user, uint64 expires) public { - require( - _isApprovedOrOwner(_msgSender(), tokenId), - "Phygital: Not token owner Or approved" - ); - require( - userOf(tokenId) == address(0), - "Phygital: item is already subscribed" - ); - RentableItems storage info = rentables[tokenId]; - info.user = user; - info.expires = expires + uint64(block.timestamp); - emit UpdateUser(tokenId, user, info.expires); - } - - /** - * @notice to use for renting an item - * We are calculating 1 month equal to 30 days - * @dev The zero address indicates there is no user renting the item currently - * Throws if `tokenId` is not valid NFT, - * time cannot be less than 1 hour or more than 6 months - * @param _timeInHours is in hours , Ex- 1,2,3 - */ - - function rent(uint256 _tokenId, uint256 _timeInHours) external payable { - require(_exists(_tokenId), "Phygital: Invalide Token Id"); - require( - rentables[_tokenId].isRentable, - "Phygital: Not available for rent" - ); - require( - userOf(_tokenId) == address(0), - "Phygital: NFT Already Subscribed" - ); - require(_timeInHours > 0, "Phygital: Time can't be less than 1 hour"); - require( - _timeInHours <= 4320, - "Phygital: Time can't be more than 6 months" - ); - - uint256 amount = amountRequired(_tokenId, _timeInHours); - - require(msg.value >= amount, "Phygital: Insufficient Funds"); - payable(ownerOf(_tokenId)).transfer(msg.value); - - RentableItems storage info = rentables[_tokenId]; - info.user = _msgSender(); - info.expires = uint64(block.timestamp + (_timeInHours * 3600)); - emit UpdateUser(_tokenId, _msgSender(), info.expires); - } + // function setRentInfo( + // uint256 tokenId, + // bool isRentable, + // uint256 pricePerHour + // ) public { + // require( + // _isAuthorized(_ownerOf(tokenId), _msgSender(), tokenId), + // "Phygital: Caller is not token owner or approved" + // ); + // rentables[tokenId].isRentable = isRentable; + // rentables[tokenId].hourlyRate = pricePerHour; + // emit RentalInfo(tokenId, isRentable, pricePerHour, _msgSender()); + // } + + // /// @notice set the user and expires of an NFT + // /// @dev This function is used to gift a person by the owner, + // /// The zero address indicates there is no user + // /// Throws if `tokenId` is not valid NFT + // /// @param user The new user of the NFT + // /// @param expires UNIX timestamp, The new user could use the NFT before expires + + // function setUser(uint256 tokenId, address user, uint64 expires) public { + // require( + // _requireOwned(tokenId) == _msgSender(), + // "Phygital: Not token owner Or approved" + // ); + // require( + // userOf(tokenId) == address(0), + // "Phygital: item is already subscribed" + // ); + // RentableItems storage info = rentables[tokenId]; + // info.user = user; + // info.expires = expires + uint64(block.timestamp); + // emit UpdateUser(tokenId, user, info.expires); + // } + + // /** + // * @notice to use for renting an item + // * We are calculating 1 month equal to 30 days + // * @dev The zero address indicates there is no user renting the item currently + // * Throws if `tokenId` is not valid NFT, + // * time cannot be less than 1 hour or more than 6 months + // * @param _timeInHours is in hours , Ex- 1,2,3 + // */ + + // function rent(uint256 _tokenId, uint256 _timeInHours) external payable { + // require( + // _requireOwned(_tokenId) == _msgSender(), + // "Phygital: Invalide Token Id" + // ); + // require( + // rentables[_tokenId].isRentable, + // "Phygital: Not available for rent" + // ); + // require( + // userOf(_tokenId) == address(0), + // "Phygital: NFT Already Subscribed" + // ); + // require(_timeInHours > 0, "Phygital: Time can't be less than 1 hour"); + // require( + // _timeInHours <= 4320, + // "Phygital: Time can't be more than 6 months" + // ); + + // uint256 amount = amountRequired(_tokenId, _timeInHours); + + // require(msg.value >= amount, "Phygital: Insufficient Funds"); + // payable(ownerOf(_tokenId)).transfer(msg.value); + + // RentableItems storage info = rentables[_tokenId]; + // info.user = _msgSender(); + // info.expires = uint64(block.timestamp + (_timeInHours * 3600)); + // emit UpdateUser(_tokenId, _msgSender(), info.expires); + // } /** Getter Functions **/ /************* Rental(ERC4907) ***************** */ /// @dev IERC4907 implementation - function userOf(uint256 tokenId) public view returns (address) { - if (userExpires(tokenId) >= block.timestamp) { - return rentables[tokenId].user; - } else { - return address(0); - } - } - - /// @dev IERC4907 implementation - function userExpires(uint256 tokenId) public view returns (uint256) { - return rentables[tokenId].expires; - } - - /// @notice to calculate the amount of money required - /// to rent an item for a certain time - function amountRequired( - uint256 tokenId, - uint256 time - ) public view returns (uint256 amount) { - amount = rentables[tokenId].hourlyRate * time; - } + // function userOf(uint256 tokenId) public view returns (address) { + // if (userExpires(tokenId) >= block.timestamp) { + // return rentables[tokenId].user; + // } else { + // return address(0); + // } + // } + + // /// @dev IERC4907 implementation + // function userExpires(uint256 tokenId) public view returns (uint256) { + // return rentables[tokenId].expires; + // } + + // /// @notice to calculate the amount of money required + // /// to rent an item for a certain time + // function amountRequired( + // uint256 tokenId, + // uint256 time + // ) public view returns (uint256 amount) { + // amount = rentables[tokenId].hourlyRate * time; + // } ///////////////////////////////////////////////// @@ -382,24 +390,27 @@ contract Phygital is Context, ERC721Enumerable, ERC2981, IERC4907 { function tokenURI( uint256 tokenId ) public view virtual override returns (string memory) { - require(_exists(tokenId), "SignatureSeries: Non-Existent Asset"); + require( + _requireOwned(tokenId) == _msgSender(), + "SignatureSeries: Non-Existent Asset" + ); string memory _tokenURI = _tokenURIs[tokenId]; return _tokenURI; } - function _beforeTokenTransfer( - address from, - address to, - uint256 tokenId, - uint256 batchSize - ) internal virtual override(ERC721Enumerable) { - super._beforeTokenTransfer(from, to, tokenId, batchSize); - if (from != to && rentables[tokenId].user != address(0)) { - delete rentables[tokenId]; - emit UpdateUser(tokenId, address(0), 0); - } - } + // function _update( + // address to, + // uint256 tokenId, + // address auth + // ) internal virtual override returns (address) { + // address from = super._update(to, tokenId, auth); + // if (from != to && rentables[tokenId].user != address(0)) { + // delete rentables[tokenId]; + // emit UpdateUser(tokenId, address(0), 0); + // } + // return from; + // } /** * @dev See {IERC165-supportsInterface}. @@ -408,7 +419,7 @@ contract Phygital is Context, ERC721Enumerable, ERC2981, IERC4907 { bytes4 interfaceId ) public view virtual override(ERC721Enumerable, ERC2981) returns (bool) { if (interfaceId == _INTERFACE_ID_ERC2981) return true; - if (interfaceId == type(IERC4907).interfaceId) return true; + // if (interfaceId == type(IERC4907).interfaceId) return true; return super.supportsInterface(interfaceId); } } diff --git a/contracts/signatureseries/SignatureSeries.sol b/contracts/signatureseries/SignatureSeries.sol index 5724082..097445c 100644 --- a/contracts/signatureseries/SignatureSeries.sol +++ b/contracts/signatureseries/SignatureSeries.sol @@ -3,9 +3,10 @@ pragma solidity ^0.8.17; import "@openzeppelin/contracts/utils/Context.sol"; import "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol"; -import "@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol"; +import "@openzeppelin/contracts/utils/cryptography/EIP712.sol"; import "@openzeppelin/contracts/utils/cryptography/ECDSA.sol"; import "@openzeppelin/contracts/token/common/ERC2981.sol"; +import "@openzeppelin/contracts/utils/Strings.sol"; import "../common/interface/IERC4907.sol"; import "../accessmaster/interfaces/IAccessMaster.sol"; @@ -278,7 +279,7 @@ contract SignatureSeries is */ function destroyAsset(uint256 tokenId) public { require( - _isApprovedOrOwner(_msgSender(), tokenId), + _isAuthorized(_ownerOf(tokenId), _msgSender(), tokenId), "SignatureSeries: Caller is not token owner or approved" ); _burn(tokenId); @@ -297,7 +298,10 @@ contract SignatureSeries is uint256 tokenId, string memory _tokenURI ) internal virtual { - require(_exists(tokenId), "SignatureSeries: Non-Existent Asset"); + require( + _requireOwned(tokenId) == _msgSender(), + "SignatureSeries: Non-Existent Asset" + ); _tokenURIs[tokenId] = _tokenURI; } @@ -309,7 +313,7 @@ contract SignatureSeries is uint256 pricePerHour ) public { require( - _isApprovedOrOwner(_msgSender(), tokenId), + _isAuthorized(_ownerOf(tokenId), _msgSender(), tokenId), "SignatureSeries: Caller is not token owner or approved" ); rentables[tokenId].isRentable = isRentable; @@ -326,7 +330,7 @@ contract SignatureSeries is function setUser(uint256 tokenId, address user, uint64 expires) public { require( - _isApprovedOrOwner(_msgSender(), tokenId), + _isAuthorized(_ownerOf(tokenId), _msgSender(), tokenId), "SignatureSeries: Not token owner Or approved" ); require( @@ -349,7 +353,10 @@ contract SignatureSeries is */ function rent(uint256 _tokenId, uint256 _timeInHours) external payable { - require(_exists(_tokenId), "SignatureSeries: Invalide Token Id"); + require( + _requireOwned(_tokenId) == _msgSender(), + "SignatureSeries: Invalide Token Id" + ); require( rentables[_tokenId].isRentable, "SignatureSeries: Not available for rent" @@ -403,7 +410,10 @@ contract SignatureSeries is function tokenURI( uint256 tokenId ) public view virtual override returns (string memory) { - require(_exists(tokenId), "SignatureSeries: Non-Existent Asset"); + require( + _requireOwned(tokenId) == _msgSender(), + "SignatureSeries: Non-Existent Asset" + ); string memory _tokenURI = _tokenURIs[tokenId]; return _tokenURI; @@ -434,18 +444,17 @@ contract SignatureSeries is } ///////////////////////////////////////////////// - - function _beforeTokenTransfer( - address from, + function _update( address to, uint256 tokenId, - uint256 batchSize - ) internal virtual override(ERC721Enumerable) { - super._beforeTokenTransfer(from, to, tokenId, batchSize); + address auth + ) internal virtual override returns (address) { + address from = super._update(to, tokenId, auth); if (from != to && rentables[tokenId].user != address(0)) { delete rentables[tokenId]; emit UpdateUser(tokenId, address(0), 0); } + return from; } /** diff --git a/contracts/tradehub/TradeHub.sol b/contracts/tradehub/TradeHub.sol index d6db9c0..cd11041 100644 --- a/contracts/tradehub/TradeHub.sol +++ b/contracts/tradehub/TradeHub.sol @@ -2,7 +2,7 @@ pragma solidity ^0.8.17; import "@openzeppelin/contracts/utils/Context.sol"; -import "@openzeppelin/contracts/security/ReentrancyGuard.sol"; +import "@openzeppelin/contracts/utils/ReentrancyGuard.sol"; import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; import "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol"; import "@openzeppelin/contracts/token/ERC1155/ERC1155.sol"; @@ -811,7 +811,7 @@ contract TradeHub is */ function supportsInterface( bytes4 interfaceId - ) public view virtual override(ERC2981, ERC1155Receiver) returns (bool) { + ) public view virtual override(ERC2981, ERC1155Holder) returns (bool) { if (interfaceId == _INTERFACE_ID_ERC2981) return true; return super.supportsInterface(interfaceId); } diff --git a/hardhat.config.ts b/hardhat.config.ts index 4848c66..635f5f2 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -1,7 +1,7 @@ require("dotenv").config() import dotenv from "dotenv" dotenv.config() -import "@nomiclabs/hardhat-etherscan" +import "@nomicfoundation/hardhat-verify" import "@nomiclabs/hardhat-truffle5" import "@nomiclabs/hardhat-waffle" import "hardhat-gas-reporter" @@ -30,21 +30,28 @@ task("accounts", "Prints the list of accounts", async (taskArgs, hre) => { const MATICMUM_RPC_URL = process.env.MATICMUM_RPC_URL || "https://polygon-mumbai.g.alchemy.com/v2/api-key" + const SEPOLIA_RPC_URL = process.env.SEPOLIA_RPC_URL || "https://ETH-RPC-URL" + const ARBITRUM_GOERLI_RPC_URL = process.env.ARBITRUM_GOERLI_RPC_URL || "https://arbitrum-goerli.infura.io/v3/api-key" + const OPTIMISM_GOERLI_RPC_URL = process.env.OPTIMISM_GOERLI_RPC_URL || "https://optimism-goerli.infura.io/v3/api-key" -const BASE_GOERLI_RPC_URL = - process.env.BASE_GOERLI_RPC_URL || "https://goerli.base.org" + +const BASE_TESTNET_RPC_URL = + process.env.BASE_TESTNET_RPC_URL || "wss://base-sepolia-rpc.publicnode.com" + const SCROLL_SEPOLIA_RPC_URL = process.env.SCROLL_SEPOLIA_RPC_URL || "https://scroll-testnet-public.unifra.io" + const POLYGON_ZKEVM_TESTNET_RPC_URL = process.env.POLYGON_ZKEVM_TESTNET_RPC_URL || "https://rpc.public.zkevm-test.net" + // MAINNET const ETHEREUM_RPC_URL = process.env.ETHEREUM_RPC_URL || "https://mainnet.infura.io/v3/api-key" @@ -68,6 +75,7 @@ const MNEMONIC = "ajkskjfjksjkf ssfaasff asklkfl klfkas dfklhao asfj sfk klsfjs fkjs" const PRIVATE_KEY = process.env.PRIVATE_KEY +/// EXPLORER API KEYS const POLYGONSCAN_API_KEY = process.env.POLYGONSCAN_API_KEY || "lklsdkskldjklgdklkld" const ETHERSCAN_API_KEY = process.env.ETHERSCAN_API_KEY || "Etherscan API key" @@ -88,7 +96,7 @@ const POLYGON_ZKEVM_API_KEY = */ module.exports = { solidity: { - version: "0.8.17", + version: "0.8.24", settings: { optimizer: { enabled: true, @@ -134,9 +142,9 @@ module.exports = { mnemonic: MNEMONIC, }, }, - baseGoerli: { - networkId: 84531, - url: BASE_GOERLI_RPC_URL, + baseTestnet: { + networkId: 84532, + url: BASE_TESTNET_RPC_URL, // accounts : [PRIVATE_KEY], accounts: { mnemonic: MNEMONIC, @@ -226,19 +234,19 @@ module.exports = { sepolia: ETHERSCAN_API_KEY, optimisticGoerli: OPTISCAN_API_KEY, arbitrumGoerli: ARBISCAN_API_KEY, - baseGoerli: BASESCAN_API_KEY, + baseSepolia: BASESCAN_API_KEY, scrollTestnet: SCROLLSCAN_API_KEY, polygonzKevmTestnet: POLYGON_ZKEVM_API_KEY, }, customChains: [ - { - network: "baseGoerli", - chainId: 84531, - urls: { - apiURL: "https://api-goerli.basescan.org/api", - browserURL: "https://goerli.basescan.org", - }, - }, + // { + // network: "baseTestnet", + // chainId: 84532, + // urls: { + // apiURL: "https://api-goerli.basescan.org/api", + // browserURL: "https://goerli.basescan.org", + // }, + // }, { network: "scrollTestnet", chainId: 534351, @@ -257,6 +265,11 @@ module.exports = { }, ], }, + sourcify: { + // Disabled by default + // Doesn't need an API key + enabled: true, + }, paths: { sources: "./contracts", tests: "./test", diff --git a/package.json b/package.json index bd6be0a..73dba85 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "dependencies": { "@nomiclabs/hardhat-web3": "^2.0.0", - "@openzeppelin/contracts": "^4.8.0", + "@openzeppelin/contracts": "^5.0.2", "js-yaml": "^4.1.0", "web3": "^1.7.0" }, @@ -15,8 +15,8 @@ "revokeRole": "hardhat run scripts/revokeRole.js" }, "devDependencies": { + "@nomicfoundation/hardhat-verify": "^2.0.8", "@nomiclabs/hardhat-ethers": "^2.0.4", - "@nomiclabs/hardhat-etherscan": "^3.0.0", "@nomiclabs/hardhat-truffle5": "^2.0.3", "@nomiclabs/hardhat-waffle": "^2.0.2", "@openzeppelin/test-helpers": "^0.5.15", diff --git a/scripts/launch/launch.json b/scripts/launch/launch.json index 5924cb3..c702f0d 100644 --- a/scripts/launch/launch.json +++ b/scripts/launch/launch.json @@ -1,12 +1,6 @@ { - "contractName" : "PhygitalA", - "constructorParams":{ - "param1": "Alice Clothing", - "param2" : "AC", - "param3" : "0x3A29EA5Ee6AB0326D72b55837dD9fD45b7a867Dd" , - "param4" : "0xc3fE1c3bCCE02d7A115Df2d4737137A15ff830F9", - "param5" : "0xe6b8a5CF854791412c1f6EFC7CAf629f5Df1c747", - "param6" : ["10000000000000000",100,300,6], - "param7" : "www.xyz.com" + "contractName": "AccessMaster", + "constructorParams": { + "param1": "0x83AD8ddAdb013fbA80DE0d802FD4fB1a949AD79f" } } \ No newline at end of file diff --git a/typechain-types/AccessControl.ts b/typechain-types/AccessControl.ts index 28b13e8..6af018d 100644 --- a/typechain-types/AccessControl.ts +++ b/typechain-types/AccessControl.ts @@ -156,7 +156,7 @@ export interface AccessControl extends BaseContract { renounceRole( role: BytesLike, - account: string, + callerConfirmation: string, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -190,7 +190,7 @@ export interface AccessControl extends BaseContract { renounceRole( role: BytesLike, - account: string, + callerConfirmation: string, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -224,7 +224,7 @@ export interface AccessControl extends BaseContract { renounceRole( role: BytesLike, - account: string, + callerConfirmation: string, overrides?: CallOverrides ): Promise; @@ -297,7 +297,7 @@ export interface AccessControl extends BaseContract { renounceRole( role: BytesLike, - account: string, + callerConfirmation: string, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -337,7 +337,7 @@ export interface AccessControl extends BaseContract { renounceRole( role: BytesLike, - account: string, + callerConfirmation: string, overrides?: Overrides & { from?: string | Promise } ): Promise; diff --git a/typechain-types/AccessControlEnumerable.ts b/typechain-types/AccessControlEnumerable.ts index 82c3157..aa59fd7 100644 --- a/typechain-types/AccessControlEnumerable.ts +++ b/typechain-types/AccessControlEnumerable.ts @@ -186,7 +186,7 @@ export interface AccessControlEnumerable extends BaseContract { renounceRole( role: BytesLike, - account: string, + callerConfirmation: string, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -231,7 +231,7 @@ export interface AccessControlEnumerable extends BaseContract { renounceRole( role: BytesLike, - account: string, + callerConfirmation: string, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -276,7 +276,7 @@ export interface AccessControlEnumerable extends BaseContract { renounceRole( role: BytesLike, - account: string, + callerConfirmation: string, overrides?: CallOverrides ): Promise; @@ -360,7 +360,7 @@ export interface AccessControlEnumerable extends BaseContract { renounceRole( role: BytesLike, - account: string, + callerConfirmation: string, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -411,7 +411,7 @@ export interface AccessControlEnumerable extends BaseContract { renounceRole( role: BytesLike, - account: string, + callerConfirmation: string, overrides?: Overrides & { from?: string | Promise } ): Promise; diff --git a/typechain-types/AccessMaster.ts b/typechain-types/AccessMaster.ts index 72391b5..ec02336 100644 --- a/typechain-types/AccessMaster.ts +++ b/typechain-types/AccessMaster.ts @@ -277,7 +277,7 @@ export interface AccessMaster extends BaseContract { renounceRole( role: BytesLike, - account: string, + callerConfirmation: string, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -357,7 +357,7 @@ export interface AccessMaster extends BaseContract { renounceRole( role: BytesLike, - account: string, + callerConfirmation: string, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -437,7 +437,7 @@ export interface AccessMaster extends BaseContract { renounceRole( role: BytesLike, - account: string, + callerConfirmation: string, overrides?: CallOverrides ): Promise; @@ -550,7 +550,7 @@ export interface AccessMaster extends BaseContract { renounceRole( role: BytesLike, - account: string, + callerConfirmation: string, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -647,7 +647,7 @@ export interface AccessMaster extends BaseContract { renounceRole( role: BytesLike, - account: string, + callerConfirmation: string, overrides?: Overrides & { from?: string | Promise } ): Promise; diff --git a/typechain-types/Create2.ts b/typechain-types/Create2.ts new file mode 100644 index 0000000..19de930 --- /dev/null +++ b/typechain-types/Create2.ts @@ -0,0 +1,52 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { BaseContract, Signer, utils } from "ethers"; + +import { Listener, Provider } from "@ethersproject/providers"; +import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; + +export interface Create2Interface extends utils.Interface { + contractName: "Create2"; + functions: {}; + + events: {}; +} + +export interface Create2 extends BaseContract { + contractName: "Create2"; + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: Create2Interface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: {}; + + callStatic: {}; + + filters: {}; + + estimateGas: {}; + + populateTransaction: {}; +} diff --git a/typechain-types/ECDSA.ts b/typechain-types/ECDSA.ts new file mode 100644 index 0000000..481ea60 --- /dev/null +++ b/typechain-types/ECDSA.ts @@ -0,0 +1,52 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { BaseContract, Signer, utils } from "ethers"; + +import { Listener, Provider } from "@ethersproject/providers"; +import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; + +export interface ECDSAInterface extends utils.Interface { + contractName: "ECDSA"; + functions: {}; + + events: {}; +} + +export interface ECDSA extends BaseContract { + contractName: "ECDSA"; + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: ECDSAInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: {}; + + callStatic: {}; + + filters: {}; + + estimateGas: {}; + + populateTransaction: {}; +} diff --git a/typechain-types/EIP712.ts b/typechain-types/EIP712.ts new file mode 100644 index 0000000..f6380fa --- /dev/null +++ b/typechain-types/EIP712.ts @@ -0,0 +1,130 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; +import { Listener, Provider } from "@ethersproject/providers"; +import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; + +export interface EIP712Interface extends utils.Interface { + contractName: "EIP712"; + functions: { + "eip712Domain()": FunctionFragment; + }; + + encodeFunctionData( + functionFragment: "eip712Domain", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "eip712Domain", + data: BytesLike + ): Result; + + events: { + "EIP712DomainChanged()": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "EIP712DomainChanged"): EventFragment; +} + +export type EIP712DomainChangedEvent = TypedEvent<[], {}>; + +export type EIP712DomainChangedEventFilter = + TypedEventFilter; + +export interface EIP712 extends BaseContract { + contractName: "EIP712"; + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: EIP712Interface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + eip712Domain( + overrides?: CallOverrides + ): Promise< + [string, string, string, BigNumber, string, string, BigNumber[]] & { + fields: string; + name: string; + version: string; + chainId: BigNumber; + verifyingContract: string; + salt: string; + extensions: BigNumber[]; + } + >; + }; + + eip712Domain( + overrides?: CallOverrides + ): Promise< + [string, string, string, BigNumber, string, string, BigNumber[]] & { + fields: string; + name: string; + version: string; + chainId: BigNumber; + verifyingContract: string; + salt: string; + extensions: BigNumber[]; + } + >; + + callStatic: { + eip712Domain( + overrides?: CallOverrides + ): Promise< + [string, string, string, BigNumber, string, string, BigNumber[]] & { + fields: string; + name: string; + version: string; + chainId: BigNumber; + verifyingContract: string; + salt: string; + extensions: BigNumber[]; + } + >; + }; + + filters: { + "EIP712DomainChanged()"(): EIP712DomainChangedEventFilter; + EIP712DomainChanged(): EIP712DomainChangedEventFilter; + }; + + estimateGas: { + eip712Domain(overrides?: CallOverrides): Promise; + }; + + populateTransaction: { + eip712Domain(overrides?: CallOverrides): Promise; + }; +} diff --git a/typechain-types/ERC1155.ts b/typechain-types/ERC1155.ts index b44ed64..d016e7e 100644 --- a/typechain-types/ERC1155.ts +++ b/typechain-types/ERC1155.ts @@ -190,7 +190,7 @@ export interface ERC1155 extends BaseContract { from: string, to: string, ids: BigNumberish[], - amounts: BigNumberish[], + values: BigNumberish[], data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -199,7 +199,7 @@ export interface ERC1155 extends BaseContract { from: string, to: string, id: BigNumberish, - amount: BigNumberish, + value: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -240,7 +240,7 @@ export interface ERC1155 extends BaseContract { from: string, to: string, ids: BigNumberish[], - amounts: BigNumberish[], + values: BigNumberish[], data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -249,7 +249,7 @@ export interface ERC1155 extends BaseContract { from: string, to: string, id: BigNumberish, - amount: BigNumberish, + value: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -290,7 +290,7 @@ export interface ERC1155 extends BaseContract { from: string, to: string, ids: BigNumberish[], - amounts: BigNumberish[], + values: BigNumberish[], data: BytesLike, overrides?: CallOverrides ): Promise; @@ -299,7 +299,7 @@ export interface ERC1155 extends BaseContract { from: string, to: string, id: BigNumberish, - amount: BigNumberish, + value: BigNumberish, data: BytesLike, overrides?: CallOverrides ): Promise; @@ -390,7 +390,7 @@ export interface ERC1155 extends BaseContract { from: string, to: string, ids: BigNumberish[], - amounts: BigNumberish[], + values: BigNumberish[], data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -399,7 +399,7 @@ export interface ERC1155 extends BaseContract { from: string, to: string, id: BigNumberish, - amount: BigNumberish, + value: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -441,7 +441,7 @@ export interface ERC1155 extends BaseContract { from: string, to: string, ids: BigNumberish[], - amounts: BigNumberish[], + values: BigNumberish[], data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -450,7 +450,7 @@ export interface ERC1155 extends BaseContract { from: string, to: string, id: BigNumberish, - amount: BigNumberish, + value: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; diff --git a/typechain-types/ERC1155Supply.ts b/typechain-types/ERC1155Supply.ts index 8f27865..aa2ea2d 100644 --- a/typechain-types/ERC1155Supply.ts +++ b/typechain-types/ERC1155Supply.ts @@ -28,7 +28,7 @@ export interface ERC1155SupplyInterface extends utils.Interface { "safeTransferFrom(address,address,uint256,uint256,bytes)": FunctionFragment; "setApprovalForAll(address,bool)": FunctionFragment; "supportsInterface(bytes4)": FunctionFragment; - "totalSupply(uint256)": FunctionFragment; + "totalSupply()": FunctionFragment; "uri(uint256)": FunctionFragment; }; @@ -66,7 +66,7 @@ export interface ERC1155SupplyInterface extends utils.Interface { ): string; encodeFunctionData( functionFragment: "totalSupply", - values: [BigNumberish] + values?: undefined ): string; encodeFunctionData(functionFragment: "uri", values: [BigNumberish]): string; @@ -207,7 +207,7 @@ export interface ERC1155Supply extends BaseContract { from: string, to: string, ids: BigNumberish[], - amounts: BigNumberish[], + values: BigNumberish[], data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -216,7 +216,7 @@ export interface ERC1155Supply extends BaseContract { from: string, to: string, id: BigNumberish, - amount: BigNumberish, + value: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -232,7 +232,9 @@ export interface ERC1155Supply extends BaseContract { overrides?: CallOverrides ): Promise<[boolean]>; - totalSupply( + "totalSupply()"(overrides?: CallOverrides): Promise<[BigNumber]>; + + "totalSupply(uint256)"( id: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber]>; @@ -264,7 +266,7 @@ export interface ERC1155Supply extends BaseContract { from: string, to: string, ids: BigNumberish[], - amounts: BigNumberish[], + values: BigNumberish[], data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -273,7 +275,7 @@ export interface ERC1155Supply extends BaseContract { from: string, to: string, id: BigNumberish, - amount: BigNumberish, + value: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -289,7 +291,12 @@ export interface ERC1155Supply extends BaseContract { overrides?: CallOverrides ): Promise; - totalSupply(id: BigNumberish, overrides?: CallOverrides): Promise; + "totalSupply()"(overrides?: CallOverrides): Promise; + + "totalSupply(uint256)"( + id: BigNumberish, + overrides?: CallOverrides + ): Promise; uri(arg0: BigNumberish, overrides?: CallOverrides): Promise; @@ -318,7 +325,7 @@ export interface ERC1155Supply extends BaseContract { from: string, to: string, ids: BigNumberish[], - amounts: BigNumberish[], + values: BigNumberish[], data: BytesLike, overrides?: CallOverrides ): Promise; @@ -327,7 +334,7 @@ export interface ERC1155Supply extends BaseContract { from: string, to: string, id: BigNumberish, - amount: BigNumberish, + value: BigNumberish, data: BytesLike, overrides?: CallOverrides ): Promise; @@ -343,7 +350,9 @@ export interface ERC1155Supply extends BaseContract { overrides?: CallOverrides ): Promise; - totalSupply( + "totalSupply()"(overrides?: CallOverrides): Promise; + + "totalSupply(uint256)"( id: BigNumberish, overrides?: CallOverrides ): Promise; @@ -425,7 +434,7 @@ export interface ERC1155Supply extends BaseContract { from: string, to: string, ids: BigNumberish[], - amounts: BigNumberish[], + values: BigNumberish[], data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -434,7 +443,7 @@ export interface ERC1155Supply extends BaseContract { from: string, to: string, id: BigNumberish, - amount: BigNumberish, + value: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -450,7 +459,9 @@ export interface ERC1155Supply extends BaseContract { overrides?: CallOverrides ): Promise; - totalSupply( + "totalSupply()"(overrides?: CallOverrides): Promise; + + "totalSupply(uint256)"( id: BigNumberish, overrides?: CallOverrides ): Promise; @@ -486,7 +497,7 @@ export interface ERC1155Supply extends BaseContract { from: string, to: string, ids: BigNumberish[], - amounts: BigNumberish[], + values: BigNumberish[], data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -495,7 +506,7 @@ export interface ERC1155Supply extends BaseContract { from: string, to: string, id: BigNumberish, - amount: BigNumberish, + value: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -511,7 +522,9 @@ export interface ERC1155Supply extends BaseContract { overrides?: CallOverrides ): Promise; - totalSupply( + "totalSupply()"(overrides?: CallOverrides): Promise; + + "totalSupply(uint256)"( id: BigNumberish, overrides?: CallOverrides ): Promise; diff --git a/typechain-types/ERC20.ts b/typechain-types/ERC20.ts index 9067228..afb76a9 100644 --- a/typechain-types/ERC20.ts +++ b/typechain-types/ERC20.ts @@ -24,8 +24,6 @@ export interface ERC20Interface extends utils.Interface { "approve(address,uint256)": FunctionFragment; "balanceOf(address)": FunctionFragment; "decimals()": FunctionFragment; - "decreaseAllowance(address,uint256)": FunctionFragment; - "increaseAllowance(address,uint256)": FunctionFragment; "name()": FunctionFragment; "symbol()": FunctionFragment; "totalSupply()": FunctionFragment; @@ -43,14 +41,6 @@ export interface ERC20Interface extends utils.Interface { ): string; encodeFunctionData(functionFragment: "balanceOf", values: [string]): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; - encodeFunctionData( - functionFragment: "decreaseAllowance", - values: [string, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "increaseAllowance", - values: [string, BigNumberish] - ): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData( @@ -70,14 +60,6 @@ export interface ERC20Interface extends utils.Interface { decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "decreaseAllowance", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "increaseAllowance", - data: BytesLike - ): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; decodeFunctionResult( @@ -149,7 +131,7 @@ export interface ERC20 extends BaseContract { approve( spender: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -157,18 +139,6 @@ export interface ERC20 extends BaseContract { decimals(overrides?: CallOverrides): Promise<[number]>; - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - name(overrides?: CallOverrides): Promise<[string]>; symbol(overrides?: CallOverrides): Promise<[string]>; @@ -177,14 +147,14 @@ export interface ERC20 extends BaseContract { transfer( to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; transferFrom( from: string, to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; }; @@ -197,7 +167,7 @@ export interface ERC20 extends BaseContract { approve( spender: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -205,18 +175,6 @@ export interface ERC20 extends BaseContract { decimals(overrides?: CallOverrides): Promise; - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - name(overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; @@ -225,14 +183,14 @@ export interface ERC20 extends BaseContract { transfer( to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; transferFrom( from: string, to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -245,7 +203,7 @@ export interface ERC20 extends BaseContract { approve( spender: string, - amount: BigNumberish, + value: BigNumberish, overrides?: CallOverrides ): Promise; @@ -253,18 +211,6 @@ export interface ERC20 extends BaseContract { decimals(overrides?: CallOverrides): Promise; - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: CallOverrides - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: CallOverrides - ): Promise; - name(overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; @@ -273,14 +219,14 @@ export interface ERC20 extends BaseContract { transfer( to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: CallOverrides ): Promise; transferFrom( from: string, to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: CallOverrides ): Promise; }; @@ -318,7 +264,7 @@ export interface ERC20 extends BaseContract { approve( spender: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -326,18 +272,6 @@ export interface ERC20 extends BaseContract { decimals(overrides?: CallOverrides): Promise; - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - name(overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; @@ -346,14 +280,14 @@ export interface ERC20 extends BaseContract { transfer( to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; transferFrom( from: string, to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; }; @@ -367,7 +301,7 @@ export interface ERC20 extends BaseContract { approve( spender: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -378,18 +312,6 @@ export interface ERC20 extends BaseContract { decimals(overrides?: CallOverrides): Promise; - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - name(overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; @@ -398,14 +320,14 @@ export interface ERC20 extends BaseContract { transfer( to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; transferFrom( from: string, to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; }; diff --git a/typechain-types/ERC2981.ts b/typechain-types/ERC2981.ts index f526b23..034c8b4 100644 --- a/typechain-types/ERC2981.ts +++ b/typechain-types/ERC2981.ts @@ -72,8 +72,8 @@ export interface ERC2981 extends BaseContract { functions: { royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise<[string, BigNumber]>; @@ -84,8 +84,8 @@ export interface ERC2981 extends BaseContract { }; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise<[string, BigNumber]>; @@ -96,8 +96,8 @@ export interface ERC2981 extends BaseContract { callStatic: { royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise<[string, BigNumber]>; @@ -111,8 +111,8 @@ export interface ERC2981 extends BaseContract { estimateGas: { royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise; @@ -124,8 +124,8 @@ export interface ERC2981 extends BaseContract { populateTransaction: { royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise; diff --git a/typechain-types/EternalSoul.ts b/typechain-types/EternalSoul.ts index f3913ba..65a671c 100644 --- a/typechain-types/EternalSoul.ts +++ b/typechain-types/EternalSoul.ts @@ -43,6 +43,7 @@ export interface EternalSoulInterface extends utils.Interface { "baseURI()": FunctionFragment; "delegateIssue(address,string)": FunctionFragment; "destroyAsset(uint256)": FunctionFragment; + "eip712Domain()": FunctionFragment; "getApproved(uint256)": FunctionFragment; "isApprovedForAll(address,address)": FunctionFragment; "issue(address,string)": FunctionFragment; @@ -91,6 +92,10 @@ export interface EternalSoulInterface extends utils.Interface { functionFragment: "destroyAsset", values: [BigNumberish] ): string; + encodeFunctionData( + functionFragment: "eip712Domain", + values?: undefined + ): string; encodeFunctionData( functionFragment: "getApproved", values: [BigNumberish] @@ -180,6 +185,10 @@ export interface EternalSoulInterface extends utils.Interface { functionFragment: "destroyAsset", data: BytesLike ): Result; + decodeFunctionResult( + functionFragment: "eip712Domain", + data: BytesLike + ): Result; decodeFunctionResult( functionFragment: "getApproved", data: BytesLike @@ -236,6 +245,7 @@ export interface EternalSoulInterface extends utils.Interface { "ApprovalForAll(address,address,bool)": EventFragment; "AssetDestroyed(uint256,address)": EventFragment; "AssetIssued(uint256,address,string)": EventFragment; + "EIP712DomainChanged()": EventFragment; "FundTransferred(address,address,uint256,uint256)": EventFragment; "Transfer(address,address,uint256)": EventFragment; }; @@ -244,6 +254,7 @@ export interface EternalSoulInterface extends utils.Interface { getEvent(nameOrSignatureOrTopic: "ApprovalForAll"): EventFragment; getEvent(nameOrSignatureOrTopic: "AssetDestroyed"): EventFragment; getEvent(nameOrSignatureOrTopic: "AssetIssued"): EventFragment; + getEvent(nameOrSignatureOrTopic: "EIP712DomainChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "FundTransferred"): EventFragment; getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; } @@ -276,6 +287,11 @@ export type AssetIssuedEvent = TypedEvent< export type AssetIssuedEventFilter = TypedEventFilter; +export type EIP712DomainChangedEvent = TypedEvent<[], {}>; + +export type EIP712DomainChangedEventFilter = + TypedEventFilter; + export type FundTransferredEvent = TypedEvent< [string, string, BigNumber, BigNumber], { sender: string; reciepient: string; tokenId: BigNumber; amount: BigNumber } @@ -345,6 +361,20 @@ export interface EternalSoul extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; + eip712Domain( + overrides?: CallOverrides + ): Promise< + [string, string, string, BigNumber, string, string, BigNumber[]] & { + fields: string; + name: string; + version: string; + chainId: BigNumber; + verifyingContract: string; + salt: string; + extensions: BigNumber[]; + } + >; + getApproved( tokenId: BigNumberish, overrides?: CallOverrides @@ -474,6 +504,20 @@ export interface EternalSoul extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; + eip712Domain( + overrides?: CallOverrides + ): Promise< + [string, string, string, BigNumber, string, string, BigNumber[]] & { + fields: string; + name: string; + version: string; + chainId: BigNumber; + verifyingContract: string; + salt: string; + extensions: BigNumber[]; + } + >; + getApproved( tokenId: BigNumberish, overrides?: CallOverrides @@ -597,6 +641,20 @@ export interface EternalSoul extends BaseContract { overrides?: CallOverrides ): Promise; + eip712Domain( + overrides?: CallOverrides + ): Promise< + [string, string, string, BigNumber, string, string, BigNumber[]] & { + fields: string; + name: string; + version: string; + chainId: BigNumber; + verifyingContract: string; + salt: string; + extensions: BigNumber[]; + } + >; + getApproved( tokenId: BigNumberish, overrides?: CallOverrides @@ -730,6 +788,9 @@ export interface EternalSoul extends BaseContract { metaDataURI?: null ): AssetIssuedEventFilter; + "EIP712DomainChanged()"(): EIP712DomainChangedEventFilter; + EIP712DomainChanged(): EIP712DomainChangedEventFilter; + "FundTransferred(address,address,uint256,uint256)"( sender?: null, reciepient?: null, @@ -783,6 +844,8 @@ export interface EternalSoul extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; + eip712Domain(overrides?: CallOverrides): Promise; + getApproved( tokenId: BigNumberish, overrides?: CallOverrides @@ -918,6 +981,8 @@ export interface EternalSoul extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; + eip712Domain(overrides?: CallOverrides): Promise; + getApproved( tokenId: BigNumberish, overrides?: CallOverrides diff --git a/typechain-types/EternumPass.ts b/typechain-types/EternumPass.ts index a7f602f..e736a68 100644 --- a/typechain-types/EternumPass.ts +++ b/typechain-types/EternumPass.ts @@ -56,7 +56,6 @@ export interface EternumPassInterface extends utils.Interface { "subscriptionPricePerMonth()": FunctionFragment; "supportsInterface(bytes4)": FunctionFragment; "symbol()": FunctionFragment; - "timeStamp()": FunctionFragment; "tokenByIndex(uint256)": FunctionFragment; "tokenIdCounter()": FunctionFragment; "tokenOfOwnerByIndex(address,uint256)": FunctionFragment; @@ -186,7 +185,6 @@ export interface EternumPassInterface extends utils.Interface { values: [BytesLike] ): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; - encodeFunctionData(functionFragment: "timeStamp", values?: undefined): string; encodeFunctionData( functionFragment: "tokenByIndex", values: [BigNumberish] @@ -321,7 +319,6 @@ export interface EternumPassInterface extends utils.Interface { data: BytesLike ): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "timeStamp", data: BytesLike): Result; decodeFunctionResult( functionFragment: "tokenByIndex", data: BytesLike @@ -570,8 +567,8 @@ export interface EternumPass extends BaseContract { ): Promise; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise<[string, BigNumber]>; @@ -644,8 +641,6 @@ export interface EternumPass extends BaseContract { symbol(overrides?: CallOverrides): Promise<[string]>; - timeStamp(overrides?: CallOverrides): Promise<[BigNumber]>; - tokenByIndex( index: BigNumberish, overrides?: CallOverrides @@ -780,8 +775,8 @@ export interface EternumPass extends BaseContract { ): Promise; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise<[string, BigNumber]>; @@ -854,8 +849,6 @@ export interface EternumPass extends BaseContract { symbol(overrides?: CallOverrides): Promise; - timeStamp(overrides?: CallOverrides): Promise; - tokenByIndex( index: BigNumberish, overrides?: CallOverrides @@ -985,8 +978,8 @@ export interface EternumPass extends BaseContract { ): Promise; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise<[string, BigNumber]>; @@ -1054,8 +1047,6 @@ export interface EternumPass extends BaseContract { symbol(overrides?: CallOverrides): Promise; - timeStamp(overrides?: CallOverrides): Promise; - tokenByIndex( index: BigNumberish, overrides?: CallOverrides @@ -1296,8 +1287,8 @@ export interface EternumPass extends BaseContract { ): Promise; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise; @@ -1370,8 +1361,6 @@ export interface EternumPass extends BaseContract { symbol(overrides?: CallOverrides): Promise; - timeStamp(overrides?: CallOverrides): Promise; - tokenByIndex( index: BigNumberish, overrides?: CallOverrides @@ -1520,8 +1509,8 @@ export interface EternumPass extends BaseContract { ): Promise; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise; @@ -1596,8 +1585,6 @@ export interface EternumPass extends BaseContract { symbol(overrides?: CallOverrides): Promise; - timeStamp(overrides?: CallOverrides): Promise; - tokenByIndex( index: BigNumberish, overrides?: CallOverrides diff --git a/typechain-types/FusionSeries.ts b/typechain-types/FusionSeries.ts index 5a0d9f0..7735d74 100644 --- a/typechain-types/FusionSeries.ts +++ b/typechain-types/FusionSeries.ts @@ -36,7 +36,7 @@ export interface FusionSeriesInterface extends utils.Interface { "setURI(string)": FunctionFragment; "supportsInterface(bytes4)": FunctionFragment; "symbol()": FunctionFragment; - "totalSupply(uint256)": FunctionFragment; + "totalSupply()": FunctionFragment; "tradeHub()": FunctionFragment; "uri(uint256)": FunctionFragment; "version()": FunctionFragment; @@ -96,7 +96,7 @@ export interface FusionSeriesInterface extends utils.Interface { encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData( functionFragment: "totalSupply", - values: [BigNumberish] + values?: undefined ): string; encodeFunctionData(functionFragment: "tradeHub", values?: undefined): string; encodeFunctionData(functionFragment: "uri", values: [BigNumberish]): string; @@ -313,7 +313,7 @@ export interface FusionSeries extends BaseContract { from: string, to: string, ids: BigNumberish[], - amounts: BigNumberish[], + values: BigNumberish[], data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -322,7 +322,7 @@ export interface FusionSeries extends BaseContract { from: string, to: string, id: BigNumberish, - amount: BigNumberish, + value: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -345,7 +345,9 @@ export interface FusionSeries extends BaseContract { symbol(overrides?: CallOverrides): Promise<[string]>; - totalSupply( + "totalSupply()"(overrides?: CallOverrides): Promise<[BigNumber]>; + + "totalSupply(uint256)"( id: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber]>; @@ -408,7 +410,7 @@ export interface FusionSeries extends BaseContract { from: string, to: string, ids: BigNumberish[], - amounts: BigNumberish[], + values: BigNumberish[], data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -417,7 +419,7 @@ export interface FusionSeries extends BaseContract { from: string, to: string, id: BigNumberish, - amount: BigNumberish, + value: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -440,7 +442,12 @@ export interface FusionSeries extends BaseContract { symbol(overrides?: CallOverrides): Promise; - totalSupply(id: BigNumberish, overrides?: CallOverrides): Promise; + "totalSupply()"(overrides?: CallOverrides): Promise; + + "totalSupply(uint256)"( + id: BigNumberish, + overrides?: CallOverrides + ): Promise; tradeHub(overrides?: CallOverrides): Promise; @@ -500,7 +507,7 @@ export interface FusionSeries extends BaseContract { from: string, to: string, ids: BigNumberish[], - amounts: BigNumberish[], + values: BigNumberish[], data: BytesLike, overrides?: CallOverrides ): Promise; @@ -509,7 +516,7 @@ export interface FusionSeries extends BaseContract { from: string, to: string, id: BigNumberish, - amount: BigNumberish, + value: BigNumberish, data: BytesLike, overrides?: CallOverrides ): Promise; @@ -529,7 +536,9 @@ export interface FusionSeries extends BaseContract { symbol(overrides?: CallOverrides): Promise; - totalSupply( + "totalSupply()"(overrides?: CallOverrides): Promise; + + "totalSupply(uint256)"( id: BigNumberish, overrides?: CallOverrides ): Promise; @@ -664,7 +673,7 @@ export interface FusionSeries extends BaseContract { from: string, to: string, ids: BigNumberish[], - amounts: BigNumberish[], + values: BigNumberish[], data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -673,7 +682,7 @@ export interface FusionSeries extends BaseContract { from: string, to: string, id: BigNumberish, - amount: BigNumberish, + value: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -696,7 +705,9 @@ export interface FusionSeries extends BaseContract { symbol(overrides?: CallOverrides): Promise; - totalSupply( + "totalSupply()"(overrides?: CallOverrides): Promise; + + "totalSupply(uint256)"( id: BigNumberish, overrides?: CallOverrides ): Promise; @@ -765,7 +776,7 @@ export interface FusionSeries extends BaseContract { from: string, to: string, ids: BigNumberish[], - amounts: BigNumberish[], + values: BigNumberish[], data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -774,7 +785,7 @@ export interface FusionSeries extends BaseContract { from: string, to: string, id: BigNumberish, - amount: BigNumberish, + value: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -797,7 +808,9 @@ export interface FusionSeries extends BaseContract { symbol(overrides?: CallOverrides): Promise; - totalSupply( + "totalSupply()"(overrides?: CallOverrides): Promise; + + "totalSupply(uint256)"( id: BigNumberish, overrides?: CallOverrides ): Promise; diff --git a/typechain-types/IAccessControl.ts b/typechain-types/IAccessControl.ts index 0e0aa30..e1c07a7 100644 --- a/typechain-types/IAccessControl.ts +++ b/typechain-types/IAccessControl.ts @@ -136,7 +136,7 @@ export interface IAccessControl extends BaseContract { renounceRole( role: BytesLike, - account: string, + callerConfirmation: string, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -163,7 +163,7 @@ export interface IAccessControl extends BaseContract { renounceRole( role: BytesLike, - account: string, + callerConfirmation: string, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -190,7 +190,7 @@ export interface IAccessControl extends BaseContract { renounceRole( role: BytesLike, - account: string, + callerConfirmation: string, overrides?: CallOverrides ): Promise; @@ -256,7 +256,7 @@ export interface IAccessControl extends BaseContract { renounceRole( role: BytesLike, - account: string, + callerConfirmation: string, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -287,7 +287,7 @@ export interface IAccessControl extends BaseContract { renounceRole( role: BytesLike, - account: string, + callerConfirmation: string, overrides?: Overrides & { from?: string | Promise } ): Promise; diff --git a/typechain-types/IAccessControlEnumerable.ts b/typechain-types/IAccessControlEnumerable.ts index 4b92e75..b0c4911 100644 --- a/typechain-types/IAccessControlEnumerable.ts +++ b/typechain-types/IAccessControlEnumerable.ts @@ -166,7 +166,7 @@ export interface IAccessControlEnumerable extends BaseContract { renounceRole( role: BytesLike, - account: string, + callerConfirmation: string, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -204,7 +204,7 @@ export interface IAccessControlEnumerable extends BaseContract { renounceRole( role: BytesLike, - account: string, + callerConfirmation: string, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -242,7 +242,7 @@ export interface IAccessControlEnumerable extends BaseContract { renounceRole( role: BytesLike, - account: string, + callerConfirmation: string, overrides?: CallOverrides ): Promise; @@ -319,7 +319,7 @@ export interface IAccessControlEnumerable extends BaseContract { renounceRole( role: BytesLike, - account: string, + callerConfirmation: string, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -361,7 +361,7 @@ export interface IAccessControlEnumerable extends BaseContract { renounceRole( role: BytesLike, - account: string, + callerConfirmation: string, overrides?: Overrides & { from?: string | Promise } ): Promise; diff --git a/typechain-types/IERC1155.ts b/typechain-types/IERC1155.ts index 8872ccf..abdd057 100644 --- a/typechain-types/IERC1155.ts +++ b/typechain-types/IERC1155.ts @@ -187,7 +187,7 @@ export interface IERC1155 extends BaseContract { from: string, to: string, ids: BigNumberish[], - amounts: BigNumberish[], + values: BigNumberish[], data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -196,7 +196,7 @@ export interface IERC1155 extends BaseContract { from: string, to: string, id: BigNumberish, - amount: BigNumberish, + value: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -235,7 +235,7 @@ export interface IERC1155 extends BaseContract { from: string, to: string, ids: BigNumberish[], - amounts: BigNumberish[], + values: BigNumberish[], data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -244,7 +244,7 @@ export interface IERC1155 extends BaseContract { from: string, to: string, id: BigNumberish, - amount: BigNumberish, + value: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -283,7 +283,7 @@ export interface IERC1155 extends BaseContract { from: string, to: string, ids: BigNumberish[], - amounts: BigNumberish[], + values: BigNumberish[], data: BytesLike, overrides?: CallOverrides ): Promise; @@ -292,7 +292,7 @@ export interface IERC1155 extends BaseContract { from: string, to: string, id: BigNumberish, - amount: BigNumberish, + value: BigNumberish, data: BytesLike, overrides?: CallOverrides ): Promise; @@ -381,7 +381,7 @@ export interface IERC1155 extends BaseContract { from: string, to: string, ids: BigNumberish[], - amounts: BigNumberish[], + values: BigNumberish[], data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -390,7 +390,7 @@ export interface IERC1155 extends BaseContract { from: string, to: string, id: BigNumberish, - amount: BigNumberish, + value: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -430,7 +430,7 @@ export interface IERC1155 extends BaseContract { from: string, to: string, ids: BigNumberish[], - amounts: BigNumberish[], + values: BigNumberish[], data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -439,7 +439,7 @@ export interface IERC1155 extends BaseContract { from: string, to: string, id: BigNumberish, - amount: BigNumberish, + value: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; diff --git a/typechain-types/IERC1155Errors.ts b/typechain-types/IERC1155Errors.ts new file mode 100644 index 0000000..fe377b5 --- /dev/null +++ b/typechain-types/IERC1155Errors.ts @@ -0,0 +1,52 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { BaseContract, Signer, utils } from "ethers"; + +import { Listener, Provider } from "@ethersproject/providers"; +import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; + +export interface IERC1155ErrorsInterface extends utils.Interface { + contractName: "IERC1155Errors"; + functions: {}; + + events: {}; +} + +export interface IERC1155Errors extends BaseContract { + contractName: "IERC1155Errors"; + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IERC1155ErrorsInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: {}; + + callStatic: {}; + + filters: {}; + + estimateGas: {}; + + populateTransaction: {}; +} diff --git a/typechain-types/IERC1155MetadataURI.ts b/typechain-types/IERC1155MetadataURI.ts index b364f14..285adb9 100644 --- a/typechain-types/IERC1155MetadataURI.ts +++ b/typechain-types/IERC1155MetadataURI.ts @@ -190,7 +190,7 @@ export interface IERC1155MetadataURI extends BaseContract { from: string, to: string, ids: BigNumberish[], - amounts: BigNumberish[], + values: BigNumberish[], data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -199,7 +199,7 @@ export interface IERC1155MetadataURI extends BaseContract { from: string, to: string, id: BigNumberish, - amount: BigNumberish, + value: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -240,7 +240,7 @@ export interface IERC1155MetadataURI extends BaseContract { from: string, to: string, ids: BigNumberish[], - amounts: BigNumberish[], + values: BigNumberish[], data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -249,7 +249,7 @@ export interface IERC1155MetadataURI extends BaseContract { from: string, to: string, id: BigNumberish, - amount: BigNumberish, + value: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -290,7 +290,7 @@ export interface IERC1155MetadataURI extends BaseContract { from: string, to: string, ids: BigNumberish[], - amounts: BigNumberish[], + values: BigNumberish[], data: BytesLike, overrides?: CallOverrides ): Promise; @@ -299,7 +299,7 @@ export interface IERC1155MetadataURI extends BaseContract { from: string, to: string, id: BigNumberish, - amount: BigNumberish, + value: BigNumberish, data: BytesLike, overrides?: CallOverrides ): Promise; @@ -390,7 +390,7 @@ export interface IERC1155MetadataURI extends BaseContract { from: string, to: string, ids: BigNumberish[], - amounts: BigNumberish[], + values: BigNumberish[], data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -399,7 +399,7 @@ export interface IERC1155MetadataURI extends BaseContract { from: string, to: string, id: BigNumberish, - amount: BigNumberish, + value: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -441,7 +441,7 @@ export interface IERC1155MetadataURI extends BaseContract { from: string, to: string, ids: BigNumberish[], - amounts: BigNumberish[], + values: BigNumberish[], data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -450,7 +450,7 @@ export interface IERC1155MetadataURI extends BaseContract { from: string, to: string, id: BigNumberish, - amount: BigNumberish, + value: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; diff --git a/typechain-types/IERC20.ts b/typechain-types/IERC20.ts index 1a9d3e4..84a8ae2 100644 --- a/typechain-types/IERC20.ts +++ b/typechain-types/IERC20.ts @@ -122,7 +122,7 @@ export interface IERC20 extends BaseContract { approve( spender: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -132,14 +132,14 @@ export interface IERC20 extends BaseContract { transfer( to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; transferFrom( from: string, to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; }; @@ -152,7 +152,7 @@ export interface IERC20 extends BaseContract { approve( spender: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -162,14 +162,14 @@ export interface IERC20 extends BaseContract { transfer( to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; transferFrom( from: string, to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -182,7 +182,7 @@ export interface IERC20 extends BaseContract { approve( spender: string, - amount: BigNumberish, + value: BigNumberish, overrides?: CallOverrides ): Promise; @@ -192,14 +192,14 @@ export interface IERC20 extends BaseContract { transfer( to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: CallOverrides ): Promise; transferFrom( from: string, to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: CallOverrides ): Promise; }; @@ -237,7 +237,7 @@ export interface IERC20 extends BaseContract { approve( spender: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -247,14 +247,14 @@ export interface IERC20 extends BaseContract { transfer( to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; transferFrom( from: string, to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; }; @@ -268,7 +268,7 @@ export interface IERC20 extends BaseContract { approve( spender: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -281,14 +281,14 @@ export interface IERC20 extends BaseContract { transfer( to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; transferFrom( from: string, to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; }; diff --git a/typechain-types/IERC20Errors.ts b/typechain-types/IERC20Errors.ts new file mode 100644 index 0000000..7fd374e --- /dev/null +++ b/typechain-types/IERC20Errors.ts @@ -0,0 +1,52 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { BaseContract, Signer, utils } from "ethers"; + +import { Listener, Provider } from "@ethersproject/providers"; +import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; + +export interface IERC20ErrorsInterface extends utils.Interface { + contractName: "IERC20Errors"; + functions: {}; + + events: {}; +} + +export interface IERC20Errors extends BaseContract { + contractName: "IERC20Errors"; + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IERC20ErrorsInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: {}; + + callStatic: {}; + + filters: {}; + + estimateGas: {}; + + populateTransaction: {}; +} diff --git a/typechain-types/IERC20Metadata.ts b/typechain-types/IERC20Metadata.ts index e4188b8..cc0d415 100644 --- a/typechain-types/IERC20Metadata.ts +++ b/typechain-types/IERC20Metadata.ts @@ -131,7 +131,7 @@ export interface IERC20Metadata extends BaseContract { approve( spender: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -147,14 +147,14 @@ export interface IERC20Metadata extends BaseContract { transfer( to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; transferFrom( from: string, to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; }; @@ -167,7 +167,7 @@ export interface IERC20Metadata extends BaseContract { approve( spender: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -183,14 +183,14 @@ export interface IERC20Metadata extends BaseContract { transfer( to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; transferFrom( from: string, to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -203,7 +203,7 @@ export interface IERC20Metadata extends BaseContract { approve( spender: string, - amount: BigNumberish, + value: BigNumberish, overrides?: CallOverrides ): Promise; @@ -219,14 +219,14 @@ export interface IERC20Metadata extends BaseContract { transfer( to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: CallOverrides ): Promise; transferFrom( from: string, to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: CallOverrides ): Promise; }; @@ -264,7 +264,7 @@ export interface IERC20Metadata extends BaseContract { approve( spender: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -280,14 +280,14 @@ export interface IERC20Metadata extends BaseContract { transfer( to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; transferFrom( from: string, to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; }; @@ -301,7 +301,7 @@ export interface IERC20Metadata extends BaseContract { approve( spender: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -320,14 +320,14 @@ export interface IERC20Metadata extends BaseContract { transfer( to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; transferFrom( from: string, to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; }; diff --git a/typechain-types/IERC5267.ts b/typechain-types/IERC5267.ts new file mode 100644 index 0000000..1200f0b --- /dev/null +++ b/typechain-types/IERC5267.ts @@ -0,0 +1,130 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; +import { Listener, Provider } from "@ethersproject/providers"; +import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; + +export interface IERC5267Interface extends utils.Interface { + contractName: "IERC5267"; + functions: { + "eip712Domain()": FunctionFragment; + }; + + encodeFunctionData( + functionFragment: "eip712Domain", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "eip712Domain", + data: BytesLike + ): Result; + + events: { + "EIP712DomainChanged()": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "EIP712DomainChanged"): EventFragment; +} + +export type EIP712DomainChangedEvent = TypedEvent<[], {}>; + +export type EIP712DomainChangedEventFilter = + TypedEventFilter; + +export interface IERC5267 extends BaseContract { + contractName: "IERC5267"; + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IERC5267Interface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + eip712Domain( + overrides?: CallOverrides + ): Promise< + [string, string, string, BigNumber, string, string, BigNumber[]] & { + fields: string; + name: string; + version: string; + chainId: BigNumber; + verifyingContract: string; + salt: string; + extensions: BigNumber[]; + } + >; + }; + + eip712Domain( + overrides?: CallOverrides + ): Promise< + [string, string, string, BigNumber, string, string, BigNumber[]] & { + fields: string; + name: string; + version: string; + chainId: BigNumber; + verifyingContract: string; + salt: string; + extensions: BigNumber[]; + } + >; + + callStatic: { + eip712Domain( + overrides?: CallOverrides + ): Promise< + [string, string, string, BigNumber, string, string, BigNumber[]] & { + fields: string; + name: string; + version: string; + chainId: BigNumber; + verifyingContract: string; + salt: string; + extensions: BigNumber[]; + } + >; + }; + + filters: { + "EIP712DomainChanged()"(): EIP712DomainChangedEventFilter; + EIP712DomainChanged(): EIP712DomainChangedEventFilter; + }; + + estimateGas: { + eip712Domain(overrides?: CallOverrides): Promise; + }; + + populateTransaction: { + eip712Domain(overrides?: CallOverrides): Promise; + }; +} diff --git a/typechain-types/IERC721.ts b/typechain-types/IERC721.ts index 4d42241..15033f5 100644 --- a/typechain-types/IERC721.ts +++ b/typechain-types/IERC721.ts @@ -197,7 +197,7 @@ export interface IERC721 extends BaseContract { setApprovalForAll( operator: string, - _approved: boolean, + approved: boolean, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -252,7 +252,7 @@ export interface IERC721 extends BaseContract { setApprovalForAll( operator: string, - _approved: boolean, + approved: boolean, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -307,7 +307,7 @@ export interface IERC721 extends BaseContract { setApprovalForAll( operator: string, - _approved: boolean, + approved: boolean, overrides?: CallOverrides ): Promise; @@ -401,7 +401,7 @@ export interface IERC721 extends BaseContract { setApprovalForAll( operator: string, - _approved: boolean, + approved: boolean, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -463,7 +463,7 @@ export interface IERC721 extends BaseContract { setApprovalForAll( operator: string, - _approved: boolean, + approved: boolean, overrides?: Overrides & { from?: string | Promise } ): Promise; diff --git a/typechain-types/IERC721Enumerable.ts b/typechain-types/IERC721Enumerable.ts index dab4725..51314b9 100644 --- a/typechain-types/IERC721Enumerable.ts +++ b/typechain-types/IERC721Enumerable.ts @@ -224,7 +224,7 @@ export interface IERC721Enumerable extends BaseContract { setApprovalForAll( operator: string, - _approved: boolean, + approved: boolean, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -292,7 +292,7 @@ export interface IERC721Enumerable extends BaseContract { setApprovalForAll( operator: string, - _approved: boolean, + approved: boolean, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -360,7 +360,7 @@ export interface IERC721Enumerable extends BaseContract { setApprovalForAll( operator: string, - _approved: boolean, + approved: boolean, overrides?: CallOverrides ): Promise; @@ -467,7 +467,7 @@ export interface IERC721Enumerable extends BaseContract { setApprovalForAll( operator: string, - _approved: boolean, + approved: boolean, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -542,7 +542,7 @@ export interface IERC721Enumerable extends BaseContract { setApprovalForAll( operator: string, - _approved: boolean, + approved: boolean, overrides?: Overrides & { from?: string | Promise } ): Promise; diff --git a/typechain-types/IERC721Errors.ts b/typechain-types/IERC721Errors.ts new file mode 100644 index 0000000..9931d27 --- /dev/null +++ b/typechain-types/IERC721Errors.ts @@ -0,0 +1,52 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { BaseContract, Signer, utils } from "ethers"; + +import { Listener, Provider } from "@ethersproject/providers"; +import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; + +export interface IERC721ErrorsInterface extends utils.Interface { + contractName: "IERC721Errors"; + functions: {}; + + events: {}; +} + +export interface IERC721Errors extends BaseContract { + contractName: "IERC721Errors"; + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IERC721ErrorsInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: {}; + + callStatic: {}; + + filters: {}; + + estimateGas: {}; + + populateTransaction: {}; +} diff --git a/typechain-types/IERC721Metadata.ts b/typechain-types/IERC721Metadata.ts index f03d8e1..dd08ad3 100644 --- a/typechain-types/IERC721Metadata.ts +++ b/typechain-types/IERC721Metadata.ts @@ -211,7 +211,7 @@ export interface IERC721Metadata extends BaseContract { setApprovalForAll( operator: string, - _approved: boolean, + approved: boolean, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -275,7 +275,7 @@ export interface IERC721Metadata extends BaseContract { setApprovalForAll( operator: string, - _approved: boolean, + approved: boolean, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -336,7 +336,7 @@ export interface IERC721Metadata extends BaseContract { setApprovalForAll( operator: string, - _approved: boolean, + approved: boolean, overrides?: CallOverrides ): Promise; @@ -436,7 +436,7 @@ export interface IERC721Metadata extends BaseContract { setApprovalForAll( operator: string, - _approved: boolean, + approved: boolean, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -507,7 +507,7 @@ export interface IERC721Metadata extends BaseContract { setApprovalForAll( operator: string, - _approved: boolean, + approved: boolean, overrides?: Overrides & { from?: string | Promise } ): Promise; diff --git a/typechain-types/InstaGen.ts b/typechain-types/InstaGen.ts index da06ea9..3a8edea 100644 --- a/typechain-types/InstaGen.ts +++ b/typechain-types/InstaGen.ts @@ -426,8 +426,8 @@ export interface InstaGen extends BaseContract { >; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise<[string, BigNumber]>; @@ -577,8 +577,8 @@ export interface InstaGen extends BaseContract { >; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise<[string, BigNumber]>; @@ -719,8 +719,8 @@ export interface InstaGen extends BaseContract { >; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise<[string, BigNumber]>; @@ -969,8 +969,8 @@ export interface InstaGen extends BaseContract { ): Promise; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise; @@ -1125,8 +1125,8 @@ export interface InstaGen extends BaseContract { ): Promise; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise; diff --git a/typechain-types/Math.ts b/typechain-types/Math.ts new file mode 100644 index 0000000..b0e8ba7 --- /dev/null +++ b/typechain-types/Math.ts @@ -0,0 +1,52 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { BaseContract, Signer, utils } from "ethers"; + +import { Listener, Provider } from "@ethersproject/providers"; +import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; + +export interface MathInterface extends utils.Interface { + contractName: "Math"; + functions: {}; + + events: {}; +} + +export interface Math extends BaseContract { + contractName: "Math"; + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: MathInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: {}; + + callStatic: {}; + + filters: {}; + + estimateGas: {}; + + populateTransaction: {}; +} diff --git a/typechain-types/MyriadFlowOfferStation.ts b/typechain-types/MyriadFlowOfferStation.ts index 0e0642b..30229d0 100644 --- a/typechain-types/MyriadFlowOfferStation.ts +++ b/typechain-types/MyriadFlowOfferStation.ts @@ -246,8 +246,8 @@ export interface MyriadFlowOfferStation extends BaseContract { proposalCounter(overrides?: CallOverrides): Promise<[BigNumber]>; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise<[string, BigNumber]>; @@ -309,8 +309,8 @@ export interface MyriadFlowOfferStation extends BaseContract { proposalCounter(overrides?: CallOverrides): Promise; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise<[string, BigNumber]>; @@ -372,8 +372,8 @@ export interface MyriadFlowOfferStation extends BaseContract { proposalCounter(overrides?: CallOverrides): Promise; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise<[string, BigNumber]>; @@ -480,8 +480,8 @@ export interface MyriadFlowOfferStation extends BaseContract { proposalCounter(overrides?: CallOverrides): Promise; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise; @@ -538,8 +538,8 @@ export interface MyriadFlowOfferStation extends BaseContract { proposalCounter(overrides?: CallOverrides): Promise; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise; diff --git a/typechain-types/Phygital.ts b/typechain-types/Phygital.ts index 4526216..29a97ca 100644 --- a/typechain-types/Phygital.ts +++ b/typechain-types/Phygital.ts @@ -9,7 +9,6 @@ import { CallOverrides, ContractTransaction, Overrides, - PayableOverrides, PopulatedTransaction, Signer, utils, @@ -23,7 +22,6 @@ export interface PhygitalInterface extends utils.Interface { functions: { "Counter()": FunctionFragment; "accessMasterAddress()": FunctionFragment; - "amountRequired(uint256,uint256)": FunctionFragment; "approve(address,uint256)": FunctionFragment; "balanceOf(address)": FunctionFragment; "createAsset(string,uint96,bytes)": FunctionFragment; @@ -36,14 +34,11 @@ export interface PhygitalInterface extends utils.Interface { "ownerOf(uint256)": FunctionFragment; "phygitalAssets(uint256)": FunctionFragment; "phygitalIdCheck(bytes)": FunctionFragment; - "rent(uint256,uint256)": FunctionFragment; "rentables(uint256)": FunctionFragment; "royaltyInfo(uint256,uint256)": FunctionFragment; "safeTransferFrom(address,address,uint256)": FunctionFragment; "setApprovalForAll(address,bool)": FunctionFragment; "setItemStatus(uint256,uint8)": FunctionFragment; - "setRentInfo(uint256,bool,uint256)": FunctionFragment; - "setUser(uint256,address,uint64)": FunctionFragment; "supportsInterface(bytes4)": FunctionFragment; "symbol()": FunctionFragment; "tokenByIndex(uint256)": FunctionFragment; @@ -52,8 +47,6 @@ export interface PhygitalInterface extends utils.Interface { "totalSupply()": FunctionFragment; "tradeHub()": FunctionFragment; "transferFrom(address,address,uint256)": FunctionFragment; - "userExpires(uint256)": FunctionFragment; - "userOf(uint256)": FunctionFragment; "version()": FunctionFragment; }; @@ -62,10 +55,6 @@ export interface PhygitalInterface extends utils.Interface { functionFragment: "accessMasterAddress", values?: undefined ): string; - encodeFunctionData( - functionFragment: "amountRequired", - values: [BigNumberish, BigNumberish] - ): string; encodeFunctionData( functionFragment: "approve", values: [string, BigNumberish] @@ -105,10 +94,6 @@ export interface PhygitalInterface extends utils.Interface { functionFragment: "phygitalIdCheck", values: [BytesLike] ): string; - encodeFunctionData( - functionFragment: "rent", - values: [BigNumberish, BigNumberish] - ): string; encodeFunctionData( functionFragment: "rentables", values: [BigNumberish] @@ -129,14 +114,6 @@ export interface PhygitalInterface extends utils.Interface { functionFragment: "setItemStatus", values: [BigNumberish, BigNumberish] ): string; - encodeFunctionData( - functionFragment: "setRentInfo", - values: [BigNumberish, boolean, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "setUser", - values: [BigNumberish, string, BigNumberish] - ): string; encodeFunctionData( functionFragment: "supportsInterface", values: [BytesLike] @@ -163,14 +140,6 @@ export interface PhygitalInterface extends utils.Interface { functionFragment: "transferFrom", values: [string, string, BigNumberish] ): string; - encodeFunctionData( - functionFragment: "userExpires", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "userOf", - values: [BigNumberish] - ): string; encodeFunctionData(functionFragment: "version", values?: undefined): string; decodeFunctionResult(functionFragment: "Counter", data: BytesLike): Result; @@ -178,10 +147,6 @@ export interface PhygitalInterface extends utils.Interface { functionFragment: "accessMasterAddress", data: BytesLike ): Result; - decodeFunctionResult( - functionFragment: "amountRequired", - data: BytesLike - ): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult( @@ -215,7 +180,6 @@ export interface PhygitalInterface extends utils.Interface { functionFragment: "phygitalIdCheck", data: BytesLike ): Result; - decodeFunctionResult(functionFragment: "rent", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rentables", data: BytesLike): Result; decodeFunctionResult( functionFragment: "royaltyInfo", @@ -233,11 +197,6 @@ export interface PhygitalInterface extends utils.Interface { functionFragment: "setItemStatus", data: BytesLike ): Result; - decodeFunctionResult( - functionFragment: "setRentInfo", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "setUser", data: BytesLike): Result; decodeFunctionResult( functionFragment: "supportsInterface", data: BytesLike @@ -261,11 +220,6 @@ export interface PhygitalInterface extends utils.Interface { functionFragment: "transferFrom", data: BytesLike ): Result; - decodeFunctionResult( - functionFragment: "userExpires", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "userOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; events: { @@ -277,7 +231,6 @@ export interface PhygitalInterface extends utils.Interface { "RentalInfo(uint256,bool,uint256,address)": EventFragment; "Transfer(address,address,uint256)": EventFragment; "UpdateAssetStatus(address,uint8,uint256)": EventFragment; - "UpdateUser(uint256,address,uint64)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; @@ -288,7 +241,6 @@ export interface PhygitalInterface extends utils.Interface { getEvent(nameOrSignatureOrTopic: "RentalInfo"): EventFragment; getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdateAssetStatus"): EventFragment; - getEvent(nameOrSignatureOrTopic: "UpdateUser"): EventFragment; } export type ApprovalEvent = TypedEvent< @@ -350,13 +302,6 @@ export type UpdateAssetStatusEvent = TypedEvent< export type UpdateAssetStatusEventFilter = TypedEventFilter; -export type UpdateUserEvent = TypedEvent< - [BigNumber, string, BigNumber], - { tokenId: BigNumber; user: string; expires: BigNumber } ->; - -export type UpdateUserEventFilter = TypedEventFilter; - export interface Phygital extends BaseContract { contractName: "Phygital"; connect(signerOrProvider: Signer | Provider | string): this; @@ -389,12 +334,6 @@ export interface Phygital extends BaseContract { accessMasterAddress(overrides?: CallOverrides): Promise<[string]>; - amountRequired( - tokenId: BigNumberish, - time: BigNumberish, - overrides?: CallOverrides - ): Promise<[BigNumber] & { amount: BigNumber }>; - approve( to: string, tokenId: BigNumberish, @@ -459,12 +398,6 @@ export interface Phygital extends BaseContract { overrides?: CallOverrides ): Promise<[boolean]>; - rent( - _tokenId: BigNumberish, - _timeInHours: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - rentables( arg0: BigNumberish, overrides?: CallOverrides @@ -478,8 +411,8 @@ export interface Phygital extends BaseContract { >; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise<[string, BigNumber]>; @@ -510,20 +443,6 @@ export interface Phygital extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; - setRentInfo( - tokenId: BigNumberish, - isRentable: boolean, - pricePerHour: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setUser( - tokenId: BigNumberish, - user: string, - expires: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - supportsInterface( interfaceId: BytesLike, overrides?: CallOverrides @@ -558,13 +477,6 @@ export interface Phygital extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; - userExpires( - tokenId: BigNumberish, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - userOf(tokenId: BigNumberish, overrides?: CallOverrides): Promise<[string]>; - version(overrides?: CallOverrides): Promise<[number]>; }; @@ -572,12 +484,6 @@ export interface Phygital extends BaseContract { accessMasterAddress(overrides?: CallOverrides): Promise; - amountRequired( - tokenId: BigNumberish, - time: BigNumberish, - overrides?: CallOverrides - ): Promise; - approve( to: string, tokenId: BigNumberish, @@ -636,12 +542,6 @@ export interface Phygital extends BaseContract { phygitalIdCheck(arg0: BytesLike, overrides?: CallOverrides): Promise; - rent( - _tokenId: BigNumberish, - _timeInHours: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - rentables( arg0: BigNumberish, overrides?: CallOverrides @@ -655,8 +555,8 @@ export interface Phygital extends BaseContract { >; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise<[string, BigNumber]>; @@ -687,20 +587,6 @@ export interface Phygital extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; - setRentInfo( - tokenId: BigNumberish, - isRentable: boolean, - pricePerHour: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setUser( - tokenId: BigNumberish, - user: string, - expires: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - supportsInterface( interfaceId: BytesLike, overrides?: CallOverrides @@ -732,13 +618,6 @@ export interface Phygital extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; - userExpires( - tokenId: BigNumberish, - overrides?: CallOverrides - ): Promise; - - userOf(tokenId: BigNumberish, overrides?: CallOverrides): Promise; - version(overrides?: CallOverrides): Promise; callStatic: { @@ -746,12 +625,6 @@ export interface Phygital extends BaseContract { accessMasterAddress(overrides?: CallOverrides): Promise; - amountRequired( - tokenId: BigNumberish, - time: BigNumberish, - overrides?: CallOverrides - ): Promise; - approve( to: string, tokenId: BigNumberish, @@ -813,12 +686,6 @@ export interface Phygital extends BaseContract { overrides?: CallOverrides ): Promise; - rent( - _tokenId: BigNumberish, - _timeInHours: BigNumberish, - overrides?: CallOverrides - ): Promise; - rentables( arg0: BigNumberish, overrides?: CallOverrides @@ -832,8 +699,8 @@ export interface Phygital extends BaseContract { >; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise<[string, BigNumber]>; @@ -864,20 +731,6 @@ export interface Phygital extends BaseContract { overrides?: CallOverrides ): Promise; - setRentInfo( - tokenId: BigNumberish, - isRentable: boolean, - pricePerHour: BigNumberish, - overrides?: CallOverrides - ): Promise; - - setUser( - tokenId: BigNumberish, - user: string, - expires: BigNumberish, - overrides?: CallOverrides - ): Promise; - supportsInterface( interfaceId: BytesLike, overrides?: CallOverrides @@ -909,13 +762,6 @@ export interface Phygital extends BaseContract { overrides?: CallOverrides ): Promise; - userExpires( - tokenId: BigNumberish, - overrides?: CallOverrides - ): Promise; - - userOf(tokenId: BigNumberish, overrides?: CallOverrides): Promise; - version(overrides?: CallOverrides): Promise; }; @@ -1009,17 +855,6 @@ export interface Phygital extends BaseContract { assetStatus?: null, time?: null ): UpdateAssetStatusEventFilter; - - "UpdateUser(uint256,address,uint64)"( - tokenId?: BigNumberish | null, - user?: string | null, - expires?: null - ): UpdateUserEventFilter; - UpdateUser( - tokenId?: BigNumberish | null, - user?: string | null, - expires?: null - ): UpdateUserEventFilter; }; estimateGas: { @@ -1027,12 +862,6 @@ export interface Phygital extends BaseContract { accessMasterAddress(overrides?: CallOverrides): Promise; - amountRequired( - tokenId: BigNumberish, - time: BigNumberish, - overrides?: CallOverrides - ): Promise; - approve( to: string, tokenId: BigNumberish, @@ -1091,20 +920,14 @@ export interface Phygital extends BaseContract { overrides?: CallOverrides ): Promise; - rent( - _tokenId: BigNumberish, - _timeInHours: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - rentables( arg0: BigNumberish, overrides?: CallOverrides ): Promise; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise; @@ -1135,20 +958,6 @@ export interface Phygital extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; - setRentInfo( - tokenId: BigNumberish, - isRentable: boolean, - pricePerHour: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setUser( - tokenId: BigNumberish, - user: string, - expires: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - supportsInterface( interfaceId: BytesLike, overrides?: CallOverrides @@ -1183,16 +992,6 @@ export interface Phygital extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; - userExpires( - tokenId: BigNumberish, - overrides?: CallOverrides - ): Promise; - - userOf( - tokenId: BigNumberish, - overrides?: CallOverrides - ): Promise; - version(overrides?: CallOverrides): Promise; }; @@ -1203,12 +1002,6 @@ export interface Phygital extends BaseContract { overrides?: CallOverrides ): Promise; - amountRequired( - tokenId: BigNumberish, - time: BigNumberish, - overrides?: CallOverrides - ): Promise; - approve( to: string, tokenId: BigNumberish, @@ -1270,20 +1063,14 @@ export interface Phygital extends BaseContract { overrides?: CallOverrides ): Promise; - rent( - _tokenId: BigNumberish, - _timeInHours: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise } - ): Promise; - rentables( arg0: BigNumberish, overrides?: CallOverrides ): Promise; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise; @@ -1314,20 +1101,6 @@ export interface Phygital extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; - setRentInfo( - tokenId: BigNumberish, - isRentable: boolean, - pricePerHour: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - setUser( - tokenId: BigNumberish, - user: string, - expires: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - supportsInterface( interfaceId: BytesLike, overrides?: CallOverrides @@ -1362,16 +1135,6 @@ export interface Phygital extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; - userExpires( - tokenId: BigNumberish, - overrides?: CallOverrides - ): Promise; - - userOf( - tokenId: BigNumberish, - overrides?: CallOverrides - ): Promise; - version(overrides?: CallOverrides): Promise; }; } diff --git a/typechain-types/PhygitalA.ts b/typechain-types/PhygitalA.ts index c1bfaff..0126d8f 100644 --- a/typechain-types/PhygitalA.ts +++ b/typechain-types/PhygitalA.ts @@ -474,8 +474,8 @@ export interface PhygitalA extends BaseContract { >; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise<[string, BigNumber]>; @@ -633,8 +633,8 @@ export interface PhygitalA extends BaseContract { >; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise<[string, BigNumber]>; @@ -786,8 +786,8 @@ export interface PhygitalA extends BaseContract { >; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise<[string, BigNumber]>; @@ -1053,8 +1053,8 @@ export interface PhygitalA extends BaseContract { ): Promise; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise; @@ -1211,8 +1211,8 @@ export interface PhygitalA extends BaseContract { ): Promise; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise; diff --git a/typechain-types/ReentrancyGuard.ts b/typechain-types/ReentrancyGuard.ts new file mode 100644 index 0000000..af5dc0a --- /dev/null +++ b/typechain-types/ReentrancyGuard.ts @@ -0,0 +1,52 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { BaseContract, Signer, utils } from "ethers"; + +import { Listener, Provider } from "@ethersproject/providers"; +import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; + +export interface ReentrancyGuardInterface extends utils.Interface { + contractName: "ReentrancyGuard"; + functions: {}; + + events: {}; +} + +export interface ReentrancyGuard extends BaseContract { + contractName: "ReentrancyGuard"; + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: ReentrancyGuardInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: {}; + + callStatic: {}; + + filters: {}; + + estimateGas: {}; + + populateTransaction: {}; +} diff --git a/typechain-types/SFT.ts b/typechain-types/SFT.ts index 8fed86e..8532476 100644 --- a/typechain-types/SFT.ts +++ b/typechain-types/SFT.ts @@ -207,7 +207,7 @@ export interface SFT extends BaseContract { from: string, to: string, ids: BigNumberish[], - amounts: BigNumberish[], + values: BigNumberish[], data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -216,7 +216,7 @@ export interface SFT extends BaseContract { from: string, to: string, id: BigNumberish, - amount: BigNumberish, + value: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -265,7 +265,7 @@ export interface SFT extends BaseContract { from: string, to: string, ids: BigNumberish[], - amounts: BigNumberish[], + values: BigNumberish[], data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -274,7 +274,7 @@ export interface SFT extends BaseContract { from: string, to: string, id: BigNumberish, - amount: BigNumberish, + value: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -323,7 +323,7 @@ export interface SFT extends BaseContract { from: string, to: string, ids: BigNumberish[], - amounts: BigNumberish[], + values: BigNumberish[], data: BytesLike, overrides?: CallOverrides ): Promise; @@ -332,7 +332,7 @@ export interface SFT extends BaseContract { from: string, to: string, id: BigNumberish, - amount: BigNumberish, + value: BigNumberish, data: BytesLike, overrides?: CallOverrides ): Promise; @@ -431,7 +431,7 @@ export interface SFT extends BaseContract { from: string, to: string, ids: BigNumberish[], - amounts: BigNumberish[], + values: BigNumberish[], data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -440,7 +440,7 @@ export interface SFT extends BaseContract { from: string, to: string, id: BigNumberish, - amount: BigNumberish, + value: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -490,7 +490,7 @@ export interface SFT extends BaseContract { from: string, to: string, ids: BigNumberish[], - amounts: BigNumberish[], + values: BigNumberish[], data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -499,7 +499,7 @@ export interface SFT extends BaseContract { from: string, to: string, id: BigNumberish, - amount: BigNumberish, + value: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; diff --git a/typechain-types/ShortStrings.ts b/typechain-types/ShortStrings.ts new file mode 100644 index 0000000..9aab2ea --- /dev/null +++ b/typechain-types/ShortStrings.ts @@ -0,0 +1,52 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { BaseContract, Signer, utils } from "ethers"; + +import { Listener, Provider } from "@ethersproject/providers"; +import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; + +export interface ShortStringsInterface extends utils.Interface { + contractName: "ShortStrings"; + functions: {}; + + events: {}; +} + +export interface ShortStrings extends BaseContract { + contractName: "ShortStrings"; + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: ShortStringsInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: {}; + + callStatic: {}; + + filters: {}; + + estimateGas: {}; + + populateTransaction: {}; +} diff --git a/typechain-types/SignatureSeries.ts b/typechain-types/SignatureSeries.ts index 0eab1da..d83408b 100644 --- a/typechain-types/SignatureSeries.ts +++ b/typechain-types/SignatureSeries.ts @@ -45,6 +45,7 @@ export interface SignatureSeriesInterface extends utils.Interface { "createAsset(string,uint96)": FunctionFragment; "delegateAssetCreation(address,string,uint96)": FunctionFragment; "destroyAsset(uint256)": FunctionFragment; + "eip712Domain()": FunctionFragment; "getApproved(uint256)": FunctionFragment; "isApprovedForAll(address,address)": FunctionFragment; "lazyAssetCreation((uint256,string,bytes),uint96)": FunctionFragment; @@ -107,6 +108,10 @@ export interface SignatureSeriesInterface extends utils.Interface { functionFragment: "destroyAsset", values: [BigNumberish] ): string; + encodeFunctionData( + functionFragment: "eip712Domain", + values?: undefined + ): string; encodeFunctionData( functionFragment: "getApproved", values: [BigNumberish] @@ -228,6 +233,10 @@ export interface SignatureSeriesInterface extends utils.Interface { functionFragment: "destroyAsset", data: BytesLike ): Result; + decodeFunctionResult( + functionFragment: "eip712Domain", + data: BytesLike + ): Result; decodeFunctionResult( functionFragment: "getApproved", data: BytesLike @@ -300,6 +309,7 @@ export interface SignatureSeriesInterface extends utils.Interface { events: { "Approval(address,address,uint256)": EventFragment; "ApprovalForAll(address,address,bool)": EventFragment; + "EIP712DomainChanged()": EventFragment; "FundTransferred(address,address,uint256,uint256)": EventFragment; "RentalInfo(uint256,bool,uint256,address)": EventFragment; "SignatureSeriesAssetCreated(uint256,address,string)": EventFragment; @@ -310,6 +320,7 @@ export interface SignatureSeriesInterface extends utils.Interface { getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; getEvent(nameOrSignatureOrTopic: "ApprovalForAll"): EventFragment; + getEvent(nameOrSignatureOrTopic: "EIP712DomainChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "FundTransferred"): EventFragment; getEvent(nameOrSignatureOrTopic: "RentalInfo"): EventFragment; getEvent( @@ -336,6 +347,11 @@ export type ApprovalForAllEvent = TypedEvent< export type ApprovalForAllEventFilter = TypedEventFilter; +export type EIP712DomainChangedEvent = TypedEvent<[], {}>; + +export type EIP712DomainChangedEventFilter = + TypedEventFilter; + export type FundTransferredEvent = TypedEvent< [string, string, BigNumber, BigNumber], { sender: string; reciepient: string; tokenId: BigNumber; amount: BigNumber } @@ -448,6 +464,20 @@ export interface SignatureSeries extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; + eip712Domain( + overrides?: CallOverrides + ): Promise< + [string, string, string, BigNumber, string, string, BigNumber[]] & { + fields: string; + name: string; + version: string; + chainId: BigNumber; + verifyingContract: string; + salt: string; + extensions: BigNumber[]; + } + >; + getApproved( tokenId: BigNumberish, overrides?: CallOverrides @@ -498,8 +528,8 @@ export interface SignatureSeries extends BaseContract { >; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise<[string, BigNumber]>; @@ -627,6 +657,20 @@ export interface SignatureSeries extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; + eip712Domain( + overrides?: CallOverrides + ): Promise< + [string, string, string, BigNumber, string, string, BigNumber[]] & { + fields: string; + name: string; + version: string; + chainId: BigNumber; + verifyingContract: string; + salt: string; + extensions: BigNumber[]; + } + >; + getApproved( tokenId: BigNumberish, overrides?: CallOverrides @@ -674,8 +718,8 @@ export interface SignatureSeries extends BaseContract { >; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise<[string, BigNumber]>; @@ -800,6 +844,20 @@ export interface SignatureSeries extends BaseContract { overrides?: CallOverrides ): Promise; + eip712Domain( + overrides?: CallOverrides + ): Promise< + [string, string, string, BigNumber, string, string, BigNumber[]] & { + fields: string; + name: string; + version: string; + chainId: BigNumber; + verifyingContract: string; + salt: string; + extensions: BigNumber[]; + } + >; + getApproved( tokenId: BigNumberish, overrides?: CallOverrides @@ -847,8 +905,8 @@ export interface SignatureSeries extends BaseContract { >; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise<[string, BigNumber]>; @@ -956,6 +1014,9 @@ export interface SignatureSeries extends BaseContract { approved?: null ): ApprovalForAllEventFilter; + "EIP712DomainChanged()"(): EIP712DomainChangedEventFilter; + EIP712DomainChanged(): EIP712DomainChangedEventFilter; + "FundTransferred(address,address,uint256,uint256)"( sender?: null, reciepient?: null, @@ -1066,6 +1127,8 @@ export interface SignatureSeries extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; + eip712Domain(overrides?: CallOverrides): Promise; + getApproved( tokenId: BigNumberish, overrides?: CallOverrides @@ -1109,8 +1172,8 @@ export interface SignatureSeries extends BaseContract { ): Promise; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise; @@ -1247,6 +1310,8 @@ export interface SignatureSeries extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; + eip712Domain(overrides?: CallOverrides): Promise; + getApproved( tokenId: BigNumberish, overrides?: CallOverrides @@ -1290,8 +1355,8 @@ export interface SignatureSeries extends BaseContract { ): Promise; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise; diff --git a/typechain-types/Strings.ts b/typechain-types/Strings.ts new file mode 100644 index 0000000..320f0ca --- /dev/null +++ b/typechain-types/Strings.ts @@ -0,0 +1,52 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { BaseContract, Signer, utils } from "ethers"; + +import { Listener, Provider } from "@ethersproject/providers"; +import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; + +export interface StringsInterface extends utils.Interface { + contractName: "Strings"; + functions: {}; + + events: {}; +} + +export interface Strings extends BaseContract { + contractName: "Strings"; + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: StringsInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: {}; + + callStatic: {}; + + filters: {}; + + estimateGas: {}; + + populateTransaction: {}; +} diff --git a/typechain-types/Token.ts b/typechain-types/Token.ts index f7e06b2..c6bb3f8 100644 --- a/typechain-types/Token.ts +++ b/typechain-types/Token.ts @@ -24,8 +24,6 @@ export interface TokenInterface extends utils.Interface { "approve(address,uint256)": FunctionFragment; "balanceOf(address)": FunctionFragment; "decimals()": FunctionFragment; - "decreaseAllowance(address,uint256)": FunctionFragment; - "increaseAllowance(address,uint256)": FunctionFragment; "mintToken(address,uint256)": FunctionFragment; "name()": FunctionFragment; "symbol()": FunctionFragment; @@ -44,14 +42,6 @@ export interface TokenInterface extends utils.Interface { ): string; encodeFunctionData(functionFragment: "balanceOf", values: [string]): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; - encodeFunctionData( - functionFragment: "decreaseAllowance", - values: [string, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "increaseAllowance", - values: [string, BigNumberish] - ): string; encodeFunctionData( functionFragment: "mintToken", values: [string, BigNumberish] @@ -75,14 +65,6 @@ export interface TokenInterface extends utils.Interface { decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "decreaseAllowance", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "increaseAllowance", - data: BytesLike - ): Result; decodeFunctionResult(functionFragment: "mintToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; @@ -155,7 +137,7 @@ export interface Token extends BaseContract { approve( spender: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -163,18 +145,6 @@ export interface Token extends BaseContract { decimals(overrides?: CallOverrides): Promise<[number]>; - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - mintToken( to: string, amount: BigNumberish, @@ -189,14 +159,14 @@ export interface Token extends BaseContract { transfer( to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; transferFrom( from: string, to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; }; @@ -209,7 +179,7 @@ export interface Token extends BaseContract { approve( spender: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -217,18 +187,6 @@ export interface Token extends BaseContract { decimals(overrides?: CallOverrides): Promise; - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - mintToken( to: string, amount: BigNumberish, @@ -243,14 +201,14 @@ export interface Token extends BaseContract { transfer( to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; transferFrom( from: string, to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -263,7 +221,7 @@ export interface Token extends BaseContract { approve( spender: string, - amount: BigNumberish, + value: BigNumberish, overrides?: CallOverrides ): Promise; @@ -271,18 +229,6 @@ export interface Token extends BaseContract { decimals(overrides?: CallOverrides): Promise; - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: CallOverrides - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: CallOverrides - ): Promise; - mintToken( to: string, amount: BigNumberish, @@ -297,14 +243,14 @@ export interface Token extends BaseContract { transfer( to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: CallOverrides ): Promise; transferFrom( from: string, to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: CallOverrides ): Promise; }; @@ -342,7 +288,7 @@ export interface Token extends BaseContract { approve( spender: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -350,18 +296,6 @@ export interface Token extends BaseContract { decimals(overrides?: CallOverrides): Promise; - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - mintToken( to: string, amount: BigNumberish, @@ -376,14 +310,14 @@ export interface Token extends BaseContract { transfer( to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; transferFrom( from: string, to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; }; @@ -397,7 +331,7 @@ export interface Token extends BaseContract { approve( spender: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -408,18 +342,6 @@ export interface Token extends BaseContract { decimals(overrides?: CallOverrides): Promise; - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - mintToken( to: string, amount: BigNumberish, @@ -434,14 +356,14 @@ export interface Token extends BaseContract { transfer( to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; transferFrom( from: string, to: string, - amount: BigNumberish, + value: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; }; diff --git a/typechain-types/TradeHub.ts b/typechain-types/TradeHub.ts index 537db01..44412d5 100644 --- a/typechain-types/TradeHub.ts +++ b/typechain-types/TradeHub.ts @@ -462,8 +462,8 @@ export interface TradeHub extends BaseContract { ): Promise; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise<[string, BigNumber]>; @@ -609,8 +609,8 @@ export interface TradeHub extends BaseContract { ): Promise; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise<[string, BigNumber]>; @@ -750,8 +750,8 @@ export interface TradeHub extends BaseContract { removeItem(itemId: BigNumberish, overrides?: CallOverrides): Promise; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise<[string, BigNumber]>; @@ -990,8 +990,8 @@ export interface TradeHub extends BaseContract { ): Promise; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise; @@ -1118,8 +1118,8 @@ export interface TradeHub extends BaseContract { ): Promise; royaltyInfo( - _tokenId: BigNumberish, - _salePrice: BigNumberish, + tokenId: BigNumberish, + salePrice: BigNumberish, overrides?: CallOverrides ): Promise; diff --git a/typechain-types/factories/AccessControlEnumerable__factory.ts b/typechain-types/factories/AccessControlEnumerable__factory.ts index ff47bf1..f82c304 100644 --- a/typechain-types/factories/AccessControlEnumerable__factory.ts +++ b/typechain-types/factories/AccessControlEnumerable__factory.ts @@ -10,6 +10,27 @@ import type { } from "../AccessControlEnumerable"; const _abi = [ + { + inputs: [], + name: "AccessControlBadConfirmation", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "bytes32", + name: "neededRole", + type: "bytes32", + }, + ], + name: "AccessControlUnauthorizedAccount", + type: "error", + }, { anonymous: false, inputs: [ @@ -211,7 +232,7 @@ const _abi = [ }, { internalType: "address", - name: "account", + name: "callerConfirmation", type: "address", }, ], diff --git a/typechain-types/factories/AccessControl__factory.ts b/typechain-types/factories/AccessControl__factory.ts index 92cb07e..9c775d4 100644 --- a/typechain-types/factories/AccessControl__factory.ts +++ b/typechain-types/factories/AccessControl__factory.ts @@ -7,6 +7,27 @@ import { Provider } from "@ethersproject/providers"; import type { AccessControl, AccessControlInterface } from "../AccessControl"; const _abi = [ + { + inputs: [], + name: "AccessControlBadConfirmation", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "bytes32", + name: "neededRole", + type: "bytes32", + }, + ], + name: "AccessControlUnauthorizedAccount", + type: "error", + }, { anonymous: false, inputs: [ @@ -165,7 +186,7 @@ const _abi = [ }, { internalType: "address", - name: "account", + name: "callerConfirmation", type: "address", }, ], diff --git a/typechain-types/factories/AccessMaster__factory.ts b/typechain-types/factories/AccessMaster__factory.ts index 0610c1b..3bd46d2 100644 --- a/typechain-types/factories/AccessMaster__factory.ts +++ b/typechain-types/factories/AccessMaster__factory.ts @@ -10,13 +10,34 @@ const _abi = [ inputs: [ { internalType: "address", - name: "storefrontAdmin", + name: "_payoutAddress", type: "address", }, ], stateMutability: "nonpayable", type: "constructor", }, + { + inputs: [], + name: "AccessControlBadConfirmation", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "bytes32", + name: "neededRole", + type: "bytes32", + }, + ], + name: "AccessControlUnauthorizedAccount", + type: "error", + }, { anonymous: false, inputs: [ @@ -340,7 +361,7 @@ const _abi = [ }, { internalType: "address", - name: "account", + name: "callerConfirmation", type: "address", }, ], @@ -454,7 +475,7 @@ const _abi = [ ]; const _bytecode = - "0x60c0604052600f60809081526e26bc9020b1b1b2b9b9a6b0b9ba32b960891b60a05260029062000030908262000697565b50604080518082019091526002815261414d60f01b602082015260039062000059908262000697565b503480156200006757600080fd5b506040516200198d3803806200198d8339810160408190526200008a9162000763565b620000a56000805160206200194d83398151915233620001a6565b620000c06000805160206200194d83398151915280620001b6565b620000ea6000805160206200196d8339815191526000805160206200194d833981519152620001b6565b620001146000805160206200192d8339815191526000805160206200196d833981519152620001b6565b6200012f6000805160206200196d8339815191523362000201565b6200014a6000805160206200194d8339815191528262000201565b620001656000805160206200196d8339815191528262000201565b620001806000805160206200192d8339815191528262000201565b600480546001600160a01b0319166001600160a01b0392909216919091179055620008d8565b620001b282826200022f565b5050565b600082815260208190526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b6000828152602081905260409020600101546200021e816200026d565b6200022a83836200022f565b505050565b6200024682826200027c60201b620006941760201c565b60008281526001602090815260409091206200022a918390620007186200031c821b17901c565b6200027981336200033c565b50565b6000828152602081815260408083206001600160a01b038516845290915290205460ff16620001b2576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620002d83390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600062000333836001600160a01b038416620003d5565b90505b92915050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff16620001b2576200037b816200042760201b6200072d1760201c565b620003918360206200073f6200043a821b17811c565b604051602001620003a4929190620007b4565b60408051601f198184030181529082905262461bcd60e51b8252620003cc916004016200082d565b60405180910390fd5b60008181526001830160205260408120546200041e5750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915562000336565b50600062000336565b6060620003366001600160a01b03831660145b606060006200044b83600262000878565b6200045890600262000892565b6001600160401b03811115620004725762000472620005f3565b6040519080825280601f01601f1916602001820160405280156200049d576020820181803683370190505b509050600360fc1b81600081518110620004bb57620004bb620008a8565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110620004ed57620004ed620008a8565b60200101906001600160f81b031916908160001a90535060006200051384600262000878565b6200052090600162000892565b90505b6001811115620005a2576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110620005585762000558620008a8565b1a60f81b828281518110620005715762000571620008a8565b60200101906001600160f81b031916908160001a90535060049490941c936200059a81620008be565b905062000523565b508315620003335760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620003cc565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200061e57607f821691505b6020821081036200063f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200022a57600081815260208120601f850160051c810160208610156200066e5750805b601f850160051c820191505b818110156200068f578281556001016200067a565b505050505050565b81516001600160401b03811115620006b357620006b3620005f3565b620006cb81620006c4845462000609565b8462000645565b602080601f831160018114620007035760008415620006ea5750858301515b600019600386901b1c1916600185901b1785556200068f565b600085815260208120601f198616915b82811015620007345788860151825594840194600190910190840162000713565b5085821015620007535787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200077657600080fd5b81516001600160a01b03811681146200033357600080fd5b60005b83811015620007ab57818101518382015260200162000791565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351620007ee8160178501602088016200078e565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351620008218160288401602088016200078e565b01602801949350505050565b60208152600082518060208401526200084e8160408501602087016200078e565b601f01601f19169190910160400192915050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141762000336576200033662000862565b8082018082111562000336576200033662000862565b634e487b7160e01b600052603260045260246000fd5b600081620008d057620008d062000862565b506000190190565b61104580620008e86000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80637b75083c116100b85780639ea5722b1161007c5780639ea5722b146102d8578063a217fddf146102ff578063ca15c87314610307578063d547741f1461031a578063e554d2341461032d578063efd460651461033e57600080fd5b80637b75083c1461026a57806384da92a71461027f5780639010d07c1461029257806391d14854146102bd57806395d89b41146102d057600080fd5b806333ea51a81161010a57806333ea51a8146101dd57806336568abe146101f0578063537f53121461020357806354fd4d5014610216578063611ed8cb146102305780636d70f7ae1461025757600080fd5b806301ffc9a71461014757806306fdde031461016f578063248a9ca31461018457806324d7806c146101b55780632f2ff15d146101c8575b600080fd5b61015a610155366004610bb6565b610351565b60405190151581526020015b60405180910390f35b61017761037c565b6040516101669190610c04565b6101a7610192366004610c37565b60009081526020819052604090206001015490565b604051908152602001610166565b61015a6101c3366004610c6c565b61040a565b6101db6101d6366004610c87565b610424565b005b6101db6101eb366004610c6c565b61044e565b6101db6101fe366004610c87565b6104e5565b6101db610211366004610cc9565b610563565b61021e600181565b60405160ff9091168152602001610166565b6101a77f9e62e2fe49176359be731211a93beb8a4b41d6d0345b62f64c4f4e7b56ba503281565b61015a610265366004610c6c565b610587565b6101a7600080516020610ff083398151915281565b6101db61028d366004610cc9565b6105b3565b6102a56102a0366004610d7a565b6105d7565b6040516001600160a01b039091168152602001610166565b61015a6102cb366004610c87565b6105f6565b61017761061f565b6101a77fb75d0c3e4b0e01fa592ef743acc55a0b7765ffd271595abd71aa99cbf3518c0781565b6101a7600081565b6101a7610315366004610c37565b61062c565b6101db610328366004610c87565b610643565b6004546001600160a01b03166102a5565b61015a61034c366004610c6c565b610668565b60006001600160e01b03198216635a05180f60e01b14806103765750610376826108db565b92915050565b6002805461038990610d9c565b80601f01602080910402602001604051908101604052809291908181526020018280546103b590610d9c565b80156104025780601f106103d757610100808354040283529160200191610402565b820191906000526020600020905b8154815290600101906020018083116103e557829003601f168201915b505050505081565b6000610376600080516020610ff0833981519152836105f6565b60008281526020819052604090206001015461043f81610910565b610449838361091d565b505050565b610466600080516020610ff0833981519152336105f6565b6104c35760405162461bcd60e51b8152602060048201526024808201527f4163636573734d61737465723a2055736572206973206e6f7420617574686f726044820152631a5e995960e21b60648201526084015b60405180910390fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03811633146105555760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016104ba565b61055f828261093f565b5050565b600080516020610ff083398151915261057b81610910565b60036104498382610e24565b60006103767f9e62e2fe49176359be731211a93beb8a4b41d6d0345b62f64c4f4e7b56ba5032836105f6565b600080516020610ff08339815191526105cb81610910565b60026104498382610e24565b60008281526001602052604081206105ef9083610961565b9392505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b6003805461038990610d9c565b60008181526001602052604081206103769061096d565b60008281526020819052604090206001015461065e81610910565b610449838361093f565b60006103767fb75d0c3e4b0e01fa592ef743acc55a0b7765ffd271595abd71aa99cbf3518c07836105f6565b61069e82826105f6565b61055f576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556106d43390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60006105ef836001600160a01b038416610977565b60606103766001600160a01b03831660145b6060600061074e836002610efa565b610759906002610f11565b67ffffffffffffffff81111561077157610771610cb3565b6040519080825280601f01601f19166020018201604052801561079b576020820181803683370190505b509050600360fc1b816000815181106107b6576107b6610f24565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106107e5576107e5610f24565b60200101906001600160f81b031916908160001a9053506000610809846002610efa565b610814906001610f11565b90505b600181111561088c576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061084857610848610f24565b1a60f81b82828151811061085e5761085e610f24565b60200101906001600160f81b031916908160001a90535060049490941c9361088581610f3a565b9050610817565b5083156105ef5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016104ba565b60006001600160e01b03198216637965db0b60e01b148061037657506301ffc9a760e01b6001600160e01b0319831614610376565b61091a81336109c6565b50565b6109278282610694565b60008281526001602052604090206104499082610718565b6109498282610a1f565b60008281526001602052604090206104499082610a84565b60006105ef8383610a99565b6000610376825490565b60008181526001830160205260408120546109be57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610376565b506000610376565b6109d082826105f6565b61055f576109dd8161072d565b6109e883602061073f565b6040516020016109f9929190610f51565b60408051601f198184030181529082905262461bcd60e51b82526104ba91600401610c04565b610a2982826105f6565b1561055f576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60006105ef836001600160a01b038416610ac3565b6000826000018281548110610ab057610ab0610f24565b9060005260206000200154905092915050565b60008181526001830160205260408120548015610bac576000610ae7600183610fc6565b8554909150600090610afb90600190610fc6565b9050818114610b60576000866000018281548110610b1b57610b1b610f24565b9060005260206000200154905080876000018481548110610b3e57610b3e610f24565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080610b7157610b71610fd9565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610376565b6000915050610376565b600060208284031215610bc857600080fd5b81356001600160e01b0319811681146105ef57600080fd5b60005b83811015610bfb578181015183820152602001610be3565b50506000910152565b6020815260008251806020840152610c23816040850160208701610be0565b601f01601f19169190910160400192915050565b600060208284031215610c4957600080fd5b5035919050565b80356001600160a01b0381168114610c6757600080fd5b919050565b600060208284031215610c7e57600080fd5b6105ef82610c50565b60008060408385031215610c9a57600080fd5b82359150610caa60208401610c50565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600060208284031215610cdb57600080fd5b813567ffffffffffffffff80821115610cf357600080fd5b818401915084601f830112610d0757600080fd5b813581811115610d1957610d19610cb3565b604051601f8201601f19908116603f01168101908382118183101715610d4157610d41610cb3565b81604052828152876020848701011115610d5a57600080fd5b826020860160208301376000928101602001929092525095945050505050565b60008060408385031215610d8d57600080fd5b50508035926020909101359150565b600181811c90821680610db057607f821691505b602082108103610dd057634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561044957600081815260208120601f850160051c81016020861015610dfd5750805b601f850160051c820191505b81811015610e1c57828155600101610e09565b505050505050565b815167ffffffffffffffff811115610e3e57610e3e610cb3565b610e5281610e4c8454610d9c565b84610dd6565b602080601f831160018114610e875760008415610e6f5750858301515b600019600386901b1c1916600185901b178555610e1c565b600085815260208120601f198616915b82811015610eb657888601518255948401946001909101908401610e97565b5085821015610ed45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761037657610376610ee4565b8082018082111561037657610376610ee4565b634e487b7160e01b600052603260045260246000fd5b600081610f4957610f49610ee4565b506000190190565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351610f89816017850160208801610be0565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351610fba816028840160208801610be0565b01602801949350505050565b8181038181111561037657610376610ee4565b634e487b7160e01b600052603160045260246000fdfe8f882e9b3b0c043c8507802fbb9a0ed808c8f0587361ab18424493e6841512a8a26469706673582212208f270800ce771534938de32c0d3373ffdd78d2eb754c09a2b201d4ff77357fb764736f6c63430008110033b75d0c3e4b0e01fa592ef743acc55a0b7765ffd271595abd71aa99cbf3518c078f882e9b3b0c043c8507802fbb9a0ed808c8f0587361ab18424493e6841512a89e62e2fe49176359be731211a93beb8a4b41d6d0345b62f64c4f4e7b56ba5032"; + "0x60c0604052600f60809081526e26bc9020b1b1b2b9b9a6b0b9ba32b960891b60a0526002906200003090826200042b565b50604080518082019091526002815261414d60f01b60208201526003906200005990826200042b565b5034801562000066575f80fd5b50604051620012c9380380620012c98339810160408190526200008991620004f7565b620000a35f80516020620012898339815191528062000168565b620000cb5f80516020620012a98339815191525f805160206200128983398151915262000168565b620000f35f80516020620012698339815191525f80516020620012a983398151915262000168565b6200010d5f805160206200128983398151915233620001b2565b50620001285f80516020620012a983398151915233620001ed565b620001425f805160206200126983398151915233620001ed565b600480546001600160a01b0319166001600160a01b03929092169190911790556200051f565b5f82815260208190526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b5f80620001c084846200021b565b90508015620001e4575f848152600160205260409020620001e29084620002c6565b505b90505b92915050565b5f828152602081905260409020600101546200020981620002dc565b620002158383620001b2565b50505050565b5f828152602081815260408083206001600160a01b038516845290915281205460ff16620002be575f838152602081815260408083206001600160a01b03861684529091529020805460ff19166001179055620002753390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4506001620001e7565b505f620001e7565b5f620001e4836001600160a01b038416620002eb565b620002e8813362000332565b50565b5f818152600183016020526040812054620002be57508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155620001e7565b5f828152602081815260408083206001600160a01b038516845290915290205460ff16620003895760405163e2517d3f60e01b81526001600160a01b03821660048201526024810183905260440160405180910390fd5b5050565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620003b657607f821691505b602082108103620003d557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200042657805f5260205f20601f840160051c81016020851015620004025750805b601f840160051c820191505b8181101562000423575f81556001016200040e565b50505b505050565b81516001600160401b038111156200044757620004476200038d565b6200045f81620004588454620003a1565b84620003db565b602080601f83116001811462000495575f84156200047d5750858301515b5f19600386901b1c1916600185901b178555620004ef565b5f85815260208120601f198616915b82811015620004c557888601518255948401946001909101908401620004a4565b5085821015620004e357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f6020828403121562000508575f80fd5b81516001600160a01b0381168114620001e4575f80fd5b610d3c806200052d5f395ff3fe608060405234801561000f575f80fd5b506004361061013d575f3560e01c80637b75083c116100b45780639ea5722b116100795780639ea5722b146102d0578063a217fddf146102f7578063ca15c873146102fe578063d547741f14610311578063e554d23414610324578063efd4606514610335575f80fd5b80637b75083c1461026357806384da92a7146102775780639010d07c1461028a57806391d14854146102b557806395d89b41146102c8575f80fd5b806333ea51a81161010557806333ea51a8146101d657806336568abe146101e9578063537f5312146101fc57806354fd4d501461020f578063611ed8cb146102295780636d70f7ae14610250575f80fd5b806301ffc9a71461014157806306fdde0314610169578063248a9ca31461017e57806324d7806c146101ae5780632f2ff15d146101c1575b5f80fd5b61015461014f366004610995565b610348565b60405190151581526020015b60405180910390f35b610171610372565b60405161016091906109bc565b6101a061018c366004610a08565b5f9081526020819052604090206001015490565b604051908152602001610160565b6101546101bc366004610a3a565b6103fe565b6101d46101cf366004610a53565b610416565b005b6101d46101e4366004610a3a565b610440565b6101d46101f7366004610a53565b6104d6565b6101d461020a366004610a91565b61050e565b610217600181565b60405160ff9091168152602001610160565b6101a07f9e62e2fe49176359be731211a93beb8a4b41d6d0345b62f64c4f4e7b56ba503281565b61015461025e366004610a3a565b610531565b6101a05f80516020610ce783398151915281565b6101d4610285366004610a91565b61055c565b61029d610298366004610b3c565b61057f565b6040516001600160a01b039091168152602001610160565b6101546102c3366004610a53565b61059d565b6101716105c5565b6101a07fb75d0c3e4b0e01fa592ef743acc55a0b7765ffd271595abd71aa99cbf3518c0781565b6101a05f81565b6101a061030c366004610a08565b6105d2565b6101d461031f366004610a53565b6105e8565b6004546001600160a01b031661029d565b610154610343366004610a3a565b61060c565b5f6001600160e01b03198216635a05180f60e01b148061036c575061036c82610637565b92915050565b6002805461037f90610b5c565b80601f01602080910402602001604051908101604052809291908181526020018280546103ab90610b5c565b80156103f65780601f106103cd576101008083540402835291602001916103f6565b820191905f5260205f20905b8154815290600101906020018083116103d957829003601f168201915b505050505081565b5f61036c5f80516020610ce78339815191528361059d565b5f828152602081905260409020600101546104308161066b565b61043a8383610678565b50505050565b6104575f80516020610ce78339815191523361059d565b6104b45760405162461bcd60e51b8152602060048201526024808201527f4163636573734d61737465723a2055736572206973206e6f7420617574686f726044820152631a5e995960e21b60648201526084015b60405180910390fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03811633146104ff5760405163334bd91960e11b815260040160405180910390fd5b61050982826106ab565b505050565b5f80516020610ce78339815191526105258161066b565b60036105098382610bdf565b5f61036c7f9e62e2fe49176359be731211a93beb8a4b41d6d0345b62f64c4f4e7b56ba50328361059d565b5f80516020610ce78339815191526105738161066b565b60026105098382610bdf565b5f82815260016020526040812061059690836106d6565b9392505050565b5f918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b6003805461037f90610b5c565b5f81815260016020526040812061036c906106e1565b5f828152602081905260409020600101546106028161066b565b61043a83836106ab565b5f61036c7fb75d0c3e4b0e01fa592ef743acc55a0b7765ffd271595abd71aa99cbf3518c078361059d565b5f6001600160e01b03198216637965db0b60e01b148061036c57506301ffc9a760e01b6001600160e01b031983161461036c565b61067581336106ea565b50565b5f806106848484610727565b90508015610596575f8481526001602052604090206106a390846107b6565b509392505050565b5f806106b784846107ca565b90508015610596575f8481526001602052604090206106a39084610833565b5f6105968383610847565b5f61036c825490565b6106f4828261059d565b6107235760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016104ab565b5050565b5f610732838361059d565b6107af575f838152602081815260408083206001600160a01b03861684529091529020805460ff191660011790556107673390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a450600161036c565b505f61036c565b5f610596836001600160a01b03841661086d565b5f6107d5838361059d565b156107af575f838152602081815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a450600161036c565b5f610596836001600160a01b0384166108b2565b5f825f01828154811061085c5761085c610c9f565b905f5260205f200154905092915050565b5f8181526001830160205260408120546107af57508154600181810184555f84815260208082209093018490558454848252828601909352604090209190915561036c565b5f818152600183016020526040812054801561098c575f6108d4600183610cb3565b85549091505f906108e790600190610cb3565b9050808214610946575f865f01828154811061090557610905610c9f565b905f5260205f200154905080875f01848154811061092557610925610c9f565b5f918252602080832090910192909255918252600188019052604090208390555b855486908061095757610957610cd2565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f90556001935050505061036c565b5f91505061036c565b5f602082840312156109a5575f80fd5b81356001600160e01b031981168114610596575f80fd5b5f602080835283518060208501525f5b818110156109e8578581018301518582016040015282016109cc565b505f604082860101526040601f19601f8301168501019250505092915050565b5f60208284031215610a18575f80fd5b5035919050565b80356001600160a01b0381168114610a35575f80fd5b919050565b5f60208284031215610a4a575f80fd5b61059682610a1f565b5f8060408385031215610a64575f80fd5b82359150610a7460208401610a1f565b90509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215610aa1575f80fd5b813567ffffffffffffffff80821115610ab8575f80fd5b818401915084601f830112610acb575f80fd5b813581811115610add57610add610a7d565b604051601f8201601f19908116603f01168101908382118183101715610b0557610b05610a7d565b81604052828152876020848701011115610b1d575f80fd5b826020860160208301375f928101602001929092525095945050505050565b5f8060408385031215610b4d575f80fd5b50508035926020909101359150565b600181811c90821680610b7057607f821691505b602082108103610b8e57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561050957805f5260205f20601f840160051c81016020851015610bb95750805b601f840160051c820191505b81811015610bd8575f8155600101610bc5565b5050505050565b815167ffffffffffffffff811115610bf957610bf9610a7d565b610c0d81610c078454610b5c565b84610b94565b602080601f831160018114610c40575f8415610c295750858301515b5f19600386901b1c1916600185901b178555610c97565b5f85815260208120601f198616915b82811015610c6e57888601518255948401946001909101908401610c4f565b5085821015610c8b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b634e487b7160e01b5f52603260045260245ffd5b8181038181111561036c57634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52603160045260245ffdfe8f882e9b3b0c043c8507802fbb9a0ed808c8f0587361ab18424493e6841512a8a264697066735822122062528c5b87ce8e65e5ebefbef9af6a53f43140fc338e10d583502b88f284dc6a64736f6c63430008180033b75d0c3e4b0e01fa592ef743acc55a0b7765ffd271595abd71aa99cbf3518c078f882e9b3b0c043c8507802fbb9a0ed808c8f0587361ab18424493e6841512a89e62e2fe49176359be731211a93beb8a4b41d6d0345b62f64c4f4e7b56ba5032"; type AccessMasterConstructorParams = | [signer?: Signer] @@ -475,19 +496,19 @@ export class AccessMaster__factory extends ContractFactory { } deploy( - storefrontAdmin: string, + _payoutAddress: string, overrides?: Overrides & { from?: string | Promise } ): Promise { return super.deploy( - storefrontAdmin, + _payoutAddress, overrides || {} ) as Promise; } getDeployTransaction( - storefrontAdmin: string, + _payoutAddress: string, overrides?: Overrides & { from?: string | Promise } ): TransactionRequest { - return super.getDeployTransaction(storefrontAdmin, overrides || {}); + return super.getDeployTransaction(_payoutAddress, overrides || {}); } attach(address: string): AccessMaster { return super.attach(address) as AccessMaster; diff --git a/typechain-types/factories/Bytecode__factory.ts b/typechain-types/factories/Bytecode__factory.ts index 4f813cc..c3e51b8 100644 --- a/typechain-types/factories/Bytecode__factory.ts +++ b/typechain-types/factories/Bytecode__factory.ts @@ -30,7 +30,7 @@ const _abi = [ ]; const _bytecode = - "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e3ab60fb17299fc65a73da3e13a4b1cd12859ab2a3b3f91f4705a130e552f35564736f6c63430008110033"; + "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220018a37fcfff20a83d8b2490c3a095c107c7d9957441bb2844a1a20420fc75bb164736f6c63430008180033"; type BytecodeConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/Create2__factory.ts b/typechain-types/factories/Create2__factory.ts new file mode 100644 index 0000000..e0b7973 --- /dev/null +++ b/typechain-types/factories/Create2__factory.ts @@ -0,0 +1,87 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { Create2, Create2Interface } from "../Create2"; + +const _abi = [ + { + inputs: [], + name: "Create2EmptyBytecode", + type: "error", + }, + { + inputs: [], + name: "Create2FailedDeployment", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + ], + name: "Create2InsufficientBalance", + type: "error", + }, +]; + +const _bytecode = + "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212201663f7c987f9d95b3dbc674aad77b2376160d021d8a46ce58bef3c0c3f201dfb64736f6c63430008180033"; + +type Create2ConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: Create2ConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class Create2__factory extends ContractFactory { + constructor(...args: Create2ConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + this.contractName = "Create2"; + } + + deploy( + overrides?: Overrides & { from?: string | Promise } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + getDeployTransaction( + overrides?: Overrides & { from?: string | Promise } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + attach(address: string): Create2 { + return super.attach(address) as Create2; + } + connect(signer: Signer): Create2__factory { + return super.connect(signer) as Create2__factory; + } + static readonly contractName: "Create2"; + public readonly contractName: "Create2"; + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): Create2Interface { + return new utils.Interface(_abi) as Create2Interface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): Create2 { + return new Contract(address, _abi, signerOrProvider) as Create2; + } +} diff --git a/typechain-types/factories/CyberMavenRegistry__factory.ts b/typechain-types/factories/CyberMavenRegistry__factory.ts index f6781c2..4455e63 100644 --- a/typechain-types/factories/CyberMavenRegistry__factory.ts +++ b/typechain-types/factories/CyberMavenRegistry__factory.ts @@ -20,6 +20,32 @@ const _abi = [ stateMutability: "nonpayable", type: "constructor", }, + { + inputs: [], + name: "Create2EmptyBytecode", + type: "error", + }, + { + inputs: [], + name: "Create2FailedDeployment", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + ], + name: "Create2InsufficientBalance", + type: "error", + }, { inputs: [], name: "InitializationFailed", @@ -311,7 +337,7 @@ const _abi = [ ]; const _bytecode = - "0x60c0604052601260809081527143796265724d6176656e526567697374727960701b60a0526000906200003390826200016b565b5060006001556003805460ff60a01b1916600160a01b1790553480156200005957600080fd5b5060405162000e5938038062000e598339810160408190526200007c9162000237565b600280546001600160a01b0319166001600160a01b0383161790556200009f3390565b600380546001600160a01b0319166001600160a01b03929092169190911790555062000269565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000f157607f821691505b6020821081036200011257634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200016657600081815260208120601f850160051c81016020861015620001415750805b601f850160051c820191505b8181101562000162578281556001016200014d565b5050505b505050565b81516001600160401b03811115620001875762000187620000c6565b6200019f81620001988454620000dc565b8462000118565b602080601f831160018114620001d75760008415620001be5750858301515b600019600386901b1c1916600185901b17855562000162565b600085815260208120601f198616915b828110156200020857888601518255948401946001909101908401620001e7565b5085821015620002275787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200024a57600080fd5b81516001600160a01b03811681146200026257600080fd5b9392505050565b610be080620002796000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806361bc221a1161006657806361bc221a14610151578063a0edbcd51461015a578063d784d426146101c9578063da7323b3146101dc578063f2a40db8146101ef57600080fd5b80630103c92b146100a357806306fdde03146100d65780633f2c8034146100eb57806354fd4d50146101005780635e9bc53614610126575b600080fd5b6100c36100b1366004610830565b60056020526000908152604090205481565b6040519081526020015b60405180910390f35b6100de610229565b6040516100cd919061086f565b6100fe6100f93660046108a2565b6102b7565b005b60035461011490600160a01b900460ff1681565b60405160ff90911681526020016100cd565b610139610134366004610929565b610354565b6040516001600160a01b0390911681526020016100cd565b6100c360015481565b61019f610168366004610977565b60046020908152600092835260408084209091529082529020805460018201546002909201546001600160a01b0391821692911683565b604080516001600160a01b03948516815260208101939093529216918101919091526060016100cd565b6100fe6101d7366004610830565b610383565b6101396101ea3660046109b7565b610404565b61019f6101fd366004610aa5565b6006602052600090815260409020805460018201546002909201546001600160a01b0391821692911683565b6000805461023690610abe565b80601f016020809104026020016040519081016040528092919081815260200182805461026290610abe565b80156102af5780601f10610284576101008083540402835291602001916102af565b820191906000526020600020905b81548152906001019060200180831161029257829003601f168201915b505050505081565b604080514660208201526001600160a01b038616918101919091526060810184905260009060800160408051601f198184030181528282528051602080830191909120600254601f8801839004830286018301909452868552919450909261034b926001600160a01b03169146918a918a9187918b908b908190840183828082843760009201919091525061040492505050565b50505050505050565b6000806103648787878787610669565b8051602090910120905061037883826106d2565b979650505050505050565b6003546001600160a01b031633146103e25760405162461bcd60e51b815260206004820152601c60248201527f4163636f756e745265676973747279203a204e6f74206f776e6572210000000060448201526064015b60405180910390fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000806104148888888888610669565b9050600061042c8560001b83805190602001206106d2565b905061043a600086846106e6565b905083516000146104c5576000816001600160a01b03168560405161045f9190610af8565b6000604051808303816000865af19150503d806000811461049c576040519150601f19603f3d011682016040523d82523d6000602084013e6104a1565b606091505b50509050806104c357604051630337323560e31b815260040160405180910390fd5b505b600180549060006104d583610b14565b91905055506040518060600160405280886001600160a01b03168152602001878152602001826001600160a01b0316815250600460006105123390565b6001600160a01b03908116825260208083019390935260409182016000908120600180548352908552838220865181549085166001600160a01b031991821617825595870151818301559590930151600290950180549590921694909316939093179092559054906005906105843390565b6001600160a01b03908116825260208083019390935260409182016000908120949094558151606080820184528c83168083528286018d8152888516848701818152600180548b5260068a5299889020955186549088166001600160a01b031991821617875592519986019990995597516002909401805494861694909116939093179092558351958652918e16938501939093529083018b90528201526080810187905260a081018690527f07fba7bba1191da7ee1155dcfa0030701c9c9a9cc34a93b991fc6fd0c9268d8f9060c00160405180910390a198975050505050505050565b60408051602081018390529081018590526001600160a01b0384166060828101919091526080820184905290869060a00160408051601f19818403018152908290526106b89291602001610b3b565b604051602081830303815290604052905095945050505050565b60006106df8383306107ea565b9392505050565b6000834710156107385760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e636500000060448201526064016103d9565b81516000036107895760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f60448201526064016103d9565b8282516020840186f590506001600160a01b0381166106df5760405162461bcd60e51b815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f790000000000000060448201526064016103d9565b6000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b80356001600160a01b038116811461082b57600080fd5b919050565b60006020828403121561084257600080fd5b6106df82610814565b60005b8381101561086657818101518382015260200161084e565b50506000910152565b602081526000825180602084015261088e81604085016020870161084b565b601f01601f19169190910160400192915050565b600080600080606085870312156108b857600080fd5b6108c185610814565b935060208501359250604085013567ffffffffffffffff808211156108e557600080fd5b818701915087601f8301126108f957600080fd5b81358181111561090857600080fd5b88602082850101111561091a57600080fd5b95989497505060200194505050565b600080600080600060a0868803121561094157600080fd5b61094a86610814565b94506020860135935061095f60408701610814565b94979396509394606081013594506080013592915050565b6000806040838503121561098a57600080fd5b61099383610814565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60008060008060008060c087890312156109d057600080fd5b6109d987610814565b9550602087013594506109ee60408801610814565b9350606087013592506080870135915060a087013567ffffffffffffffff80821115610a1957600080fd5b818901915089601f830112610a2d57600080fd5b813581811115610a3f57610a3f6109a1565b604051601f8201601f19908116603f01168101908382118183101715610a6757610a676109a1565b816040528281528c6020848701011115610a8057600080fd5b8260208601602083013760006020848301015280955050505050509295509295509295565b600060208284031215610ab757600080fd5b5035919050565b600181811c90821680610ad257607f821691505b602082108103610af257634e487b7160e01b600052602260045260246000fd5b50919050565b60008251610b0a81846020870161084b565b9190910192915050565b600060018201610b3457634e487b7160e01b600052601160045260246000fd5b5060010190565b733d60ad80600a3d3981f3363d3d373d3d3d363d7360601b8152606083901b6bffffffffffffffffffffffff191660148201526e5af43d82803e903d91602b57fd5bf360881b60288201528151600090610b9c81603785016020870161084b565b91909101603701939250505056fea26469706673582212205d664ea01bfd1dd7768bfe1a5e520a067174c474f98a06fb865894897bfee11a64736f6c63430008110033"; + "0x60c0604052601260809081527143796265724d6176656e526567697374727960701b60a0525f9062000032908262000161565b505f6001556003805460ff60a01b1916600160a01b17905534801562000056575f80fd5b5060405162000d8138038062000d8183398101604081905262000079916200022d565b600280546001600160a01b0319166001600160a01b0383161790556200009c3390565b600380546001600160a01b0319166001600160a01b0392909216919091179055506200025c565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620000ec57607f821691505b6020821081036200010b57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200015c57805f5260205f20601f840160051c81016020851015620001385750805b601f840160051c820191505b8181101562000159575f815560010162000144565b50505b505050565b81516001600160401b038111156200017d576200017d620000c3565b62000195816200018e8454620000d7565b8462000111565b602080601f831160018114620001cb575f8415620001b35750858301515b5f19600386901b1c1916600185901b17855562000225565b5f85815260208120601f198616915b82811015620001fb57888601518255948401946001909101908401620001da565b50858210156200021957878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f602082840312156200023e575f80fd5b81516001600160a01b038116811462000255575f80fd5b9392505050565b610b17806200026a5f395ff3fe608060405234801561000f575f80fd5b506004361061009b575f3560e01c806361bc221a1161006357806361bc221a1461014c578063a0edbcd514610155578063d784d426146101c3578063da7323b3146101d6578063f2a40db8146101e9575f80fd5b80630103c92b1461009f57806306fdde03146100d15780633f2c8034146100e657806354fd4d50146100fb5780635e9bc53614610121575b5f80fd5b6100be6100ad36600461078c565b60056020525f908152604090205481565b6040519081526020015b60405180910390f35b6100d9610222565b6040516100c891906107c7565b6100f96100f43660046107f9565b6102ad565b005b60035461010f90600160a01b900460ff1681565b60405160ff90911681526020016100c8565b61013461012f366004610879565b610348565b6040516001600160a01b0390911681526020016100c8565b6100be60015481565b6101996101633660046108c3565b600460209081525f92835260408084209091529082529020805460018201546002909201546001600160a01b0391821692911683565b604080516001600160a01b03948516815260208101939093529216918101919091526060016100c8565b6100f96101d136600461078c565b610376565b6101346101e43660046108ff565b6103f7565b6101996101f73660046109e5565b60066020525f90815260409020805460018201546002909201546001600160a01b0391821692911683565b5f805461022e906109fc565b80601f016020809104026020016040519081016040528092919081815260200182805461025a906109fc565b80156102a55780601f1061027c576101008083540402835291602001916102a5565b820191905f5260205f20905b81548152906001019060200180831161028857829003601f168201915b505050505081565b604080514660208201526001600160a01b03861691810191909152606081018490525f9060800160408051601f198184030181528282528051602080830191909120600254601f8801839004830286018301909452868552919450909261033f926001600160a01b03169146918a918a9187918b908b90819084018382808284375f920191909152506103f792505050565b50505050505050565b5f80610357878787878761064e565b8051602090910120905061036b83826106b7565b979650505050505050565b6003546001600160a01b031633146103d55760405162461bcd60e51b815260206004820152601c60248201527f4163636f756e745265676973747279203a204e6f74206f776e6572210000000060448201526064015b60405180910390fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b5f80610406888888888861064e565b90505f61041c855f1b83805190602001206106b7565b90506104295f86846106ca565b905083515f146104ae575f816001600160a01b03168560405161044c9190610a34565b5f604051808303815f865af19150503d805f8114610485576040519150601f19603f3d011682016040523d82523d5f602084013e61048a565b606091505b50509050806104ac57604051630337323560e31b815260040160405180910390fd5b505b60018054905f6104bd83610a4f565b91905055506040518060600160405280886001600160a01b03168152602001878152602001826001600160a01b031681525060045f6104f93390565b6001600160a01b03908116825260208083019390935260409182015f908120600180548352908552838220865181549085166001600160a01b0319918216178255958701518183015595909301516002909501805495909216949093169390931790925590549060059061056a3390565b6001600160a01b03908116825260208083019390935260409182015f908120949094558151606080820184528c83168083528286018d8152888516848701818152600180548b5260068a5299889020955186549088166001600160a01b031991821617875592519986019990995597516002909401805494861694909116939093179092558351958652918e16938501939093529083018b90528201526080810187905260a081018690527f07fba7bba1191da7ee1155dcfa0030701c9c9a9cc34a93b991fc6fd0c9268d8f9060c00160405180910390a198975050505050505050565b60408051602081018390529081018590526001600160a01b0384166060828101919091526080820184905290869060a00160408051601f198184030181529082905261069d9291602001610a73565b604051602081830303815290604052905095945050505050565b5f6106c3838330610748565b9392505050565b5f834710156106f55760405163392efb2b60e21b8152476004820152602481018590526044016103cc565b81515f0361071657604051631328927760e21b815260040160405180910390fd5b8282516020840186f590506001600160a01b0381166106c357604051633a0ba96160e11b815260040160405180910390fd5b5f604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b80356001600160a01b0381168114610787575f80fd5b919050565b5f6020828403121561079c575f80fd5b6106c382610771565b5f5b838110156107bf5781810151838201526020016107a7565b50505f910152565b602081525f82518060208401526107e58160408501602087016107a5565b601f01601f19169190910160400192915050565b5f805f806060858703121561080c575f80fd5b61081585610771565b935060208501359250604085013567ffffffffffffffff80821115610838575f80fd5b818701915087601f83011261084b575f80fd5b813581811115610859575f80fd5b88602082850101111561086a575f80fd5b95989497505060200194505050565b5f805f805f60a0868803121561088d575f80fd5b61089686610771565b9450602086013593506108ab60408701610771565b94979396509394606081013594506080013592915050565b5f80604083850312156108d4575f80fd5b6108dd83610771565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f805f805f8060c08789031215610914575f80fd5b61091d87610771565b95506020870135945061093260408801610771565b9350606087013592506080870135915060a087013567ffffffffffffffff8082111561095c575f80fd5b818901915089601f83011261096f575f80fd5b813581811115610981576109816108eb565b604051601f8201601f19908116603f011681019083821181831017156109a9576109a96108eb565b816040528281528c60208487010111156109c1575f80fd5b826020860160208301375f6020848301015280955050505050509295509295509295565b5f602082840312156109f5575f80fd5b5035919050565b600181811c90821680610a1057607f821691505b602082108103610a2e57634e487b7160e01b5f52602260045260245ffd5b50919050565b5f8251610a458184602087016107a5565b9190910192915050565b5f60018201610a6c57634e487b7160e01b5f52601160045260245ffd5b5060010190565b733d60ad80600a3d3981f3363d3d373d3d3d363d7360601b8152606083901b6bffffffffffffffffffffffff191660148201526e5af43d82803e903d91602b57fd5bf360881b602882015281515f90610ad38160378501602087016107a5565b91909101603701939250505056fea2646970667358221220df7610029fe4a9a94bbe71de59ac4271d682e78600fcf71b23f2d0d1aa165f7564736f6c63430008180033"; type CyberMavenRegistryConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/CyberMaven__factory.ts b/typechain-types/factories/CyberMaven__factory.ts index 75bd5ad..4748412 100644 --- a/typechain-types/factories/CyberMaven__factory.ts +++ b/typechain-types/factories/CyberMaven__factory.ts @@ -793,7 +793,7 @@ const _abi = [ ]; const _bytecode = - "0x60c0604052601160809081527010de58995c93585d995b8815d85b1b195d607a1b60a05260009062000032908262000123565b50604080518082019091526003815262434d5760e81b60208201526001906200005c908262000123565b506002805460ff191660011790553480156200007757600080fd5b50620001ef565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000a957607f821691505b602082108103620000ca57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200011e57600081815260208120601f850160051c81016020861015620000f95750805b601f850160051c820191505b818110156200011a5782815560010162000105565b5050505b505050565b81516001600160401b038111156200013f576200013f6200007e565b620001578162000150845462000094565b84620000d0565b602080601f8311600181146200018f5760008415620001765750858301515b600019600386901b1c1916600185901b1785556200011a565b600085815260208120601f198616915b82811015620001c0578886015182559484019460019091019084016200019f565b5085821015620001df5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611d9a80620001ff6000396000f3fe60806040526004361061016a5760003560e01c80635e59658d116100d1578063b6011b4c1161008a578063f23a6e6111610064578063f23a6e6114610445578063f6f5e5de14610471578063fc0c546a14610491578063ff627136146104c957600080fd5b8063b6011b4c146103d9578063bc197c81146103f9578063cf838bb71461042557600080fd5b80635e59658d1461033c5780638da5cb5b1461034f57806395d89b411461037c5780639e5d4c4914610391578063ace561a8146103a4578063affed0e0146103c457600080fd5b80631626ba7e116101235780631626ba7e1461027057806318fa06531461029057806336ea1ad3146102b05780633790767d146102d05780633b403383146102f057806354fd4d501461031057600080fd5b806301ffc9a714610176578063052aafe6146101ab57806306fdde03146101cd5780630c190999146101ef57806312065fe01461020f578063150b7a021461022c57600080fd5b3661017157005b600080fd5b34801561018257600080fd5b50610196610191366004611464565b6104e9565b60405190151581526020015b60405180910390f35b3480156101b757600080fd5b506101cb6101c63660046114b4565b610536565b005b3480156101d957600080fd5b506101e2610622565b6040516101a2919061154f565b3480156101fb57600080fd5b506101e261020a3660046115a3565b6106b0565b34801561021b57600080fd5b50475b6040519081526020016101a2565b34801561023857600080fd5b506102576102473660046116b4565b630a85bd0160e11b949350505050565b6040516001600160e01b031990911681526020016101a2565b34801561027c57600080fd5b5061025761028b36600461171f565b610776565b34801561029c57600080fd5b506101cb6102ab366004611765565b6107ad565b3480156102bc57600080fd5b506101cb6102cb3660046114b4565b61088d565b3480156102dc57600080fd5b506101cb6102eb366004611765565b610970565b3480156102fc57600080fd5b506101cb61030b3660046117a6565b610a62565b34801561031c57600080fd5b5060025461032a9060ff1681565b60405160ff90911681526020016101a2565b6101e261034a3660046115a3565b610aaa565b34801561035b57600080fd5b50610364610b3f565b6040516001600160a01b0390911681526020016101a2565b34801561038857600080fd5b506101e2610c2f565b6101e261039f3660046117f6565b610c3c565b3480156103b057600080fd5b506101cb6103bf366004611765565b610d05565b3480156103d057600080fd5b5060035461021e565b3480156103e557600080fd5b506101cb6103f4366004611765565b610df7565b34801561040557600080fd5b506102576104143660046118d0565b63bc197c8160e01b95945050505050565b34801561043157600080fd5b506101cb610440366004611765565b610edd565b34801561045157600080fd5b5061025761046036600461197d565b63f23a6e6160e01b95945050505050565b34801561047d57600080fd5b506101cb61048c3660046119e5565b610fc3565b34801561049d57600080fd5b506104a66110af565b604080519384526001600160a01b039092166020840152908201526060016101a2565b3480156104d557600080fd5b506101cb6104e43660046117a6565b6110eb565b60006001600160e01b031982166301ffc9a760e01b148061051a57506001600160e01b03198216630801407360e31b145b1561052757506001919050565b6105308261112f565b92915050565b61053e610b3f565b6001600160a01b0316336001600160a01b0316146105775760405162461bcd60e51b815260040161056e90611a60565b60405180910390fd5b60405163a22cb46560e01b81526001600160a01b038381166004830152821515602483015284169063a22cb46590604401600060405180830381600087803b1580156105c257600080fd5b505af11580156105d6573d6000803e3d6000fd5b50505050801515826001600160a01b0316846001600160a01b03167fd7698c899db5f56816711124e6ab44c0cfa2e194af43f33492af91a6d54ff91960405160405180910390a4505050565b6000805461062f90611a97565b80601f016020809104026020016040519081016040528092919081815260200182805461065b90611a97565b80156106a85780601f1061067d576101008083540402835291602001916106a8565b820191906000526020600020905b81548152906001019060200180831161068b57829003601f168201915b505050505081565b6060600080856001600160a01b031685856040516106cf929190611ad1565b600060405180830381855afa9150503d806000811461070a576040519150601f19603f3d011682016040523d82523d6000602084013e61070f565b606091505b50915091508161076b5760405162461bcd60e51b815260206004820152602160248201527f43796265724d6176656e203a20436f6e74726163742063616c6c206661696c656044820152601960fa1b606482015260840161056e565b9150505b9392505050565b60008061078b610784610b3f565b8585611164565b905080156107a35750630b135d3f60e11b9050610530565b5060009392505050565b6107b5610b3f565b6001600160a01b0316336001600160a01b0316146107e55760405162461bcd60e51b815260040161056e90611a60565b60405163095ea7b360e01b81526001600160a01b0383811660048301526024820183905284169063095ea7b390604401600060405180830381600087803b15801561082f57600080fd5b505af1158015610843573d6000803e3d6000fd5b5050505080826001600160a01b0316846001600160a01b03167fa96e2ec8a7a5dc95067b7579776e83cb3cec114c267f7938611fbf1ea3176abb60405160405180910390a4505050565b610895610b3f565b6001600160a01b0316336001600160a01b0316146108c55760405162461bcd60e51b815260040161056e90611a60565b60405163a22cb46560e01b81526001600160a01b038381166004830152821515602483015284169063a22cb46590604401600060405180830381600087803b15801561091057600080fd5b505af1158015610924573d6000803e3d6000fd5b50505050801515826001600160a01b0316846001600160a01b03167f5bc78940a1dd276a0640342496ac76b74787395ee09c644a30550fb1862cd7cc60405160405180910390a4505050565b610978610b3f565b6001600160a01b0316336001600160a01b0316146109a85760405162461bcd60e51b815260040161056e90611a60565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af11580156109f7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1b9190611ae1565b5080826001600160a01b0316846001600160a01b03167f1a06370a29b7d12f762dd19849fed38b8d5f15530e7fbf6406ac5cb5041fec5760405160405180910390a4505050565b610a6a610b3f565b6001600160a01b0316336001600160a01b031614610a9a5760405162461bcd60e51b815260040161056e90611a60565b6001610aa68282611b4d565b5050565b6060610ab4610b3f565b6001600160a01b0316336001600160a01b031614610ae45760405162461bcd60e51b815260040161056e90611a60565b600080856001600160a01b0316348686604051610b02929190611ad1565b60006040518083038185875af1925050503d806000811461070a576040519150601f19603f3d011682016040523d82523d6000602084013e61070f565b600080600080306001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610b83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba79190611c0c565b925092509250468314610bbe576000935050505090565b6040516331a9108f60e11b8152600481018290526001600160a01b03831690636352211e90602401602060405180830381865afa158015610c03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c279190611c45565b935050505090565b6001805461062f90611a97565b6060610c46610b3f565b6001600160a01b0316336001600160a01b031614610c765760405162461bcd60e51b815260040161056e90611a60565b6000856001600160a01b0316858585604051610c93929190611ad1565b60006040518083038185875af1925050503d8060008114610cd0576040519150601f19603f3d011682016040523d82523d6000602084013e610cd5565b606091505b509250905080610ce757815160208301fd5b60038054906000610cf783611c78565b919050555050949350505050565b610d0d610b3f565b6001600160a01b0316336001600160a01b031614610d3d5760405162461bcd60e51b815260040161056e90611a60565b60405163095ea7b360e01b81526001600160a01b0383811660048301526024820183905284169063095ea7b3906044016020604051808303816000875af1158015610d8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db09190611ae1565b5080826001600160a01b0316846001600160a01b03167f74f5671b2c665be44c6acf481087ab8ee03946f0f59891926722b7c4c9b2c89560405160405180910390a4505050565b610dff610b3f565b6001600160a01b0316336001600160a01b031614610e2f5760405162461bcd60e51b815260040161056e90611a60565b6040516323b872dd60e01b81523060048201526001600160a01b038381166024830152604482018390528416906323b872dd90606401600060405180830381600087803b158015610e7f57600080fd5b505af1158015610e93573d6000803e3d6000fd5b5050505080826001600160a01b0316846001600160a01b03167f699c030d2793978709485653c78b3fa764810320ca32b0160240a8c90e9b5f7860405160405180910390a4505050565b610ee5610b3f565b6001600160a01b0316336001600160a01b031614610f155760405162461bcd60e51b815260040161056e90611a60565b604051632142170760e11b81523060048201526001600160a01b038381166024830152604482018390528416906342842e0e90606401600060405180830381600087803b158015610f6557600080fd5b505af1158015610f79573d6000803e3d6000fd5b5050505080826001600160a01b0316846001600160a01b03167f10ac19deacd17fbdf34066e59e11af29ce80412a7c87fbb7f53ce7366986768d60405160405180910390a4505050565b610fcb610b3f565b6001600160a01b0316336001600160a01b031614610ffb5760405162461bcd60e51b815260040161056e90611a60565b604051637921219560e11b81526001600160a01b0387169063f242432a9061103190309089908990899089908990600401611c91565b600060405180830381600087803b15801561104b57600080fd5b505af115801561105f573d6000803e3d6000fd5b50506040516001600160a01b0389811682528693508792508816907fd45f6c962afe2748ec880e008162e9fa2b340e699f62f0a4e555e679c6d0831d9060200160405180910390a4505050505050565b6000808030803b906110cc906110c6606084611ced565b836112a6565b8060200190518101906110df9190611c0c565b93509350935050909192565b6110f3610b3f565b6001600160a01b0316336001600160a01b0316146111235760405162461bcd60e51b815260040161056e90611a60565b6000610aa68282611b4d565b60006001600160e01b03198216630271189760e51b148061053057506301ffc9a760e01b6001600160e01b0319831614610530565b6000806000611173858561135b565b9092509050600081600481111561118c5761118c611d00565b1480156111aa5750856001600160a01b0316826001600160a01b0316145b156111ba5760019250505061076f565b600080876001600160a01b0316631626ba7e60e01b88886040516024016111e2929190611d16565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516112209190611d2f565b600060405180830381855afa9150503d806000811461125b576040519150601f19603f3d011682016040523d82523d6000602084013e611260565b606091505b5091509150818015611273575080516020145b801561129a57508051630b135d3f60e11b906112989083016020908101908401611d4b565b145b98975050505050505050565b6060833b60008190036112c957505060408051602081019091526000815261076f565b808411156112e757505060408051602081019091526000815261076f565b838310156113195760405163162544fd60e11b815260048101829052602481018590526044810184905260640161056e565b838303848203600082821061132e5782611330565b815b60408051603f8301601f19168101909152818152955090508087602087018a3c505050509392505050565b60008082516041036113915760208301516040840151606085015160001a611385878285856113a0565b94509450505050611399565b506000905060025b9250929050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156113d7575060009050600361145b565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561142b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166114545760006001925092505061145b565b9150600090505b94509492505050565b60006020828403121561147657600080fd5b81356001600160e01b03198116811461076f57600080fd5b6001600160a01b03811681146114a357600080fd5b50565b80151581146114a357600080fd5b6000806000606084860312156114c957600080fd5b83356114d48161148e565b925060208401356114e48161148e565b915060408401356114f4816114a6565b809150509250925092565b60005b8381101561151a578181015183820152602001611502565b50506000910152565b6000815180845261153b8160208601602086016114ff565b601f01601f19169290920160200192915050565b60208152600061076f6020830184611523565b60008083601f84011261157457600080fd5b5081356001600160401b0381111561158b57600080fd5b60208301915083602082850101111561139957600080fd5b6000806000604084860312156115b857600080fd5b83356115c38161148e565b925060208401356001600160401b038111156115de57600080fd5b6115ea86828701611562565b9497909650939450505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611635576116356115f7565b604052919050565b60006001600160401b03831115611656576116566115f7565b611669601f8401601f191660200161160d565b905082815283838301111561167d57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126116a557600080fd5b61076f8383356020850161163d565b600080600080608085870312156116ca57600080fd5b84356116d58161148e565b935060208501356116e58161148e565b92506040850135915060608501356001600160401b0381111561170757600080fd5b61171387828801611694565b91505092959194509250565b6000806040838503121561173257600080fd5b8235915060208301356001600160401b0381111561174f57600080fd5b61175b85828601611694565b9150509250929050565b60008060006060848603121561177a57600080fd5b83356117858161148e565b925060208401356117958161148e565b929592945050506040919091013590565b6000602082840312156117b857600080fd5b81356001600160401b038111156117ce57600080fd5b8201601f810184136117df57600080fd5b6117ee8482356020840161163d565b949350505050565b6000806000806060858703121561180c57600080fd5b84356118178161148e565b93506020850135925060408501356001600160401b0381111561183957600080fd5b61184587828801611562565b95989497509550505050565b600082601f83011261186257600080fd5b813560206001600160401b0382111561187d5761187d6115f7565b8160051b61188c82820161160d565b92835284810182019282810190878511156118a657600080fd5b83870192505b848310156118c5578235825291830191908301906118ac565b979650505050505050565b600080600080600060a086880312156118e857600080fd5b85356118f38161148e565b945060208601356119038161148e565b935060408601356001600160401b038082111561191f57600080fd5b61192b89838a01611851565b9450606088013591508082111561194157600080fd5b61194d89838a01611851565b9350608088013591508082111561196357600080fd5b5061197088828901611694565b9150509295509295909350565b600080600080600060a0868803121561199557600080fd5b85356119a08161148e565b945060208601356119b08161148e565b9350604086013592506060860135915060808601356001600160401b038111156119d957600080fd5b61197088828901611694565b60008060008060008060a087890312156119fe57600080fd5b8635611a098161148e565b95506020870135611a198161148e565b9450604087013593506060870135925060808701356001600160401b03811115611a4257600080fd5b611a4e89828a01611562565b979a9699509497509295939492505050565b6020808252601b908201527f43796265724d6176656e3a204e6f7420746f6b656e206f776e65720000000000604082015260600190565b600181811c90821680611aab57607f821691505b602082108103611acb57634e487b7160e01b600052602260045260246000fd5b50919050565b8183823760009101908152919050565b600060208284031215611af357600080fd5b815161076f816114a6565b601f821115611b4857600081815260208120601f850160051c81016020861015611b255750805b601f850160051c820191505b81811015611b4457828155600101611b31565b5050505b505050565b81516001600160401b03811115611b6657611b666115f7565b611b7a81611b748454611a97565b84611afe565b602080601f831160018114611baf5760008415611b975750858301515b600019600386901b1c1916600185901b178555611b44565b600085815260208120601f198616915b82811015611bde57888601518255948401946001909101908401611bbf565b5085821015611bfc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600080600060608486031215611c2157600080fd5b835192506020840151611c338161148e565b80925050604084015190509250925092565b600060208284031215611c5757600080fd5b815161076f8161148e565b634e487b7160e01b600052601160045260246000fd5b600060018201611c8a57611c8a611c62565b5060010190565b6001600160a01b03878116825286166020820152604081018590526060810184905260a06080820181905281018290526000828460c0840137600060c0848401015260c0601f19601f8501168301019050979650505050505050565b8181038181111561053057610530611c62565b634e487b7160e01b600052602160045260246000fd5b8281526040602082015260006117ee6040830184611523565b60008251611d418184602087016114ff565b9190910192915050565b600060208284031215611d5d57600080fd5b505191905056fea26469706673582212202b8eab11bd715a3be772d065fa78b789dd6c8a335eaee7c3b75ecd60a6377a4964736f6c63430008110033"; + "0x60c0604052601160809081527010de58995c93585d995b8815d85b1b195d607a1b60a0525f906200003190826200011a565b50604080518082019091526003815262434d5760e81b60208201526001906200005b90826200011a565b506002805460ff1916600117905534801562000075575f80fd5b50620001e6565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620000a557607f821691505b602082108103620000c457634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200011557805f5260205f20601f840160051c81016020851015620000f15750805b601f840160051c820191505b8181101562000112575f8155600101620000fd565b50505b505050565b81516001600160401b038111156200013657620001366200007c565b6200014e8162000147845462000090565b84620000ca565b602080601f83116001811462000184575f84156200016c5750858301515b5f19600386901b1c1916600185901b178555620001de565b5f85815260208120601f198616915b82811015620001b45788860151825594840194600190910190840162000193565b5085821015620001d257878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b611ce080620001f45f395ff3fe608060405260043610610164575f3560e01c80635e59658d116100cd578063b6011b4c11610087578063f23a6e6111610062578063f23a6e611461042b578063f6f5e5de14610456578063fc0c546a14610475578063ff627136146104ac575f80fd5b8063b6011b4c146103c2578063bc197c81146103e1578063cf838bb71461040c575f80fd5b80635e59658d146103295780638da5cb5b1461033c57806395d89b41146103685780639e5d4c491461037c578063ace561a81461038f578063affed0e0146103ae575f80fd5b80631626ba7e1161011e5780631626ba7e1461026357806318fa06531461028257806336ea1ad3146102a15780633790767d146102c05780633b403383146102df57806354fd4d50146102fe575f80fd5b806301ffc9a71461016f578063052aafe6146101a357806306fdde03146101c45780630c190999146101e557806312065fe014610204578063150b7a0214610220575f80fd5b3661016b57005b5f80fd5b34801561017a575f80fd5b5061018e6101893660046113fc565b6104cb565b60405190151581526020015b60405180910390f35b3480156101ae575f80fd5b506101c26101bd366004611447565b610517565b005b3480156101cf575f80fd5b506101d86105fe565b60405161019a91906114dc565b3480156101f0575f80fd5b506101d86101ff366004611532565b610689565b34801561020f575f80fd5b50475b60405190815260200161019a565b34801561022b575f80fd5b5061024a61023a366004611638565b630a85bd0160e11b949350505050565b6040516001600160e01b0319909116815260200161019a565b34801561026e575f80fd5b5061024a61027d36600461169f565b61074b565b34801561028d575f80fd5b506101c261029c3660046116e2565b610780565b3480156102ac575f80fd5b506101c26102bb366004611447565b61085b565b3480156102cb575f80fd5b506101c26102da3660046116e2565b610939565b3480156102ea575f80fd5b506101c26102f9366004611720565b610a28565b348015610309575f80fd5b506002546103179060ff1681565b60405160ff909116815260200161019a565b6101d8610337366004611532565b610a70565b348015610347575f80fd5b50610350610b01565b6040516001600160a01b03909116815260200161019a565b348015610373575f80fd5b506101d8610bea565b6101d861038a36600461176c565b610bf7565b34801561039a575f80fd5b506101c26103a93660046116e2565b610cbb565b3480156103b9575f80fd5b50600354610212565b3480156103cd575f80fd5b506101c26103dc3660046116e2565b610daa565b3480156103ec575f80fd5b5061024a6103fb36600461183f565b63bc197c8160e01b95945050505050565b348015610417575f80fd5b506101c26104263660046116e2565b610e8b565b348015610436575f80fd5b5061024a6104453660046118e5565b63f23a6e6160e01b95945050505050565b348015610461575f80fd5b506101c2610470366004611948565b610f6c565b348015610480575f80fd5b50610489611053565b604080519384526001600160a01b0390921660208401529082015260600161019a565b3480156104b7575f80fd5b506101c26104c6366004611720565b61108e565b5f6001600160e01b031982166301ffc9a760e01b14806104fb57506001600160e01b03198216630801407360e31b145b1561050857506001919050565b610511826110d1565b92915050565b61051f610b01565b6001600160a01b0316336001600160a01b0316146105585760405162461bcd60e51b815260040161054f906119be565b60405180910390fd5b60405163a22cb46560e01b81526001600160a01b038381166004830152821515602483015284169063a22cb465906044015f604051808303815f87803b1580156105a0575f80fd5b505af11580156105b2573d5f803e3d5ffd5b50505050801515826001600160a01b0316846001600160a01b03167fd7698c899db5f56816711124e6ab44c0cfa2e194af43f33492af91a6d54ff91960405160405180910390a4505050565b5f805461060a906119f5565b80601f0160208091040260200160405190810160405280929190818152602001828054610636906119f5565b80156106815780601f1061065857610100808354040283529160200191610681565b820191905f5260205f20905b81548152906001019060200180831161066457829003601f168201915b505050505081565b60605f80856001600160a01b031685856040516106a7929190611a2d565b5f60405180830381855afa9150503d805f81146106df576040519150601f19603f3d011682016040523d82523d5f602084013e6106e4565b606091505b5091509150816107405760405162461bcd60e51b815260206004820152602160248201527f43796265724d6176656e203a20436f6e74726163742063616c6c206661696c656044820152601960fa1b606482015260840161054f565b9150505b9392505050565b5f8061075f610758610b01565b8585611105565b905080156107775750630b135d3f60e11b9050610511565b505f9392505050565b610788610b01565b6001600160a01b0316336001600160a01b0316146107b85760405162461bcd60e51b815260040161054f906119be565b60405163095ea7b360e01b81526001600160a01b0383811660048301526024820183905284169063095ea7b3906044015f604051808303815f87803b1580156107ff575f80fd5b505af1158015610811573d5f803e3d5ffd5b5050505080826001600160a01b0316846001600160a01b03167fa96e2ec8a7a5dc95067b7579776e83cb3cec114c267f7938611fbf1ea3176abb60405160405180910390a4505050565b610863610b01565b6001600160a01b0316336001600160a01b0316146108935760405162461bcd60e51b815260040161054f906119be565b60405163a22cb46560e01b81526001600160a01b038381166004830152821515602483015284169063a22cb465906044015f604051808303815f87803b1580156108db575f80fd5b505af11580156108ed573d5f803e3d5ffd5b50505050801515826001600160a01b0316846001600160a01b03167f5bc78940a1dd276a0640342496ac76b74787395ee09c644a30550fb1862cd7cc60405160405180910390a4505050565b610941610b01565b6001600160a01b0316336001600160a01b0316146109715760405162461bcd60e51b815260040161054f906119be565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303815f875af11580156109bd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109e19190611a3c565b5080826001600160a01b0316846001600160a01b03167f1a06370a29b7d12f762dd19849fed38b8d5f15530e7fbf6406ac5cb5041fec5760405160405180910390a4505050565b610a30610b01565b6001600160a01b0316336001600160a01b031614610a605760405162461bcd60e51b815260040161054f906119be565b6001610a6c8282611aa3565b5050565b6060610a7a610b01565b6001600160a01b0316336001600160a01b031614610aaa5760405162461bcd60e51b815260040161054f906119be565b5f80856001600160a01b0316348686604051610ac7929190611a2d565b5f6040518083038185875af1925050503d805f81146106df576040519150601f19603f3d011682016040523d82523d5f602084013e6106e4565b5f805f80306001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610b41573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b659190611b62565b925092509250468314610b7b575f935050505090565b6040516331a9108f60e11b8152600481018290526001600160a01b03831690636352211e90602401602060405180830381865afa158015610bbe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610be29190611b98565b935050505090565b6001805461060a906119f5565b6060610c01610b01565b6001600160a01b0316336001600160a01b031614610c315760405162461bcd60e51b815260040161054f906119be565b5f856001600160a01b0316858585604051610c4d929190611a2d565b5f6040518083038185875af1925050503d805f8114610c87576040519150601f19603f3d011682016040523d82523d5f602084013e610c8c565b606091505b509250905080610c9e57815160208301fd5b60038054905f610cad83611bc7565b919050555050949350505050565b610cc3610b01565b6001600160a01b0316336001600160a01b031614610cf35760405162461bcd60e51b815260040161054f906119be565b60405163095ea7b360e01b81526001600160a01b0383811660048301526024820183905284169063095ea7b3906044016020604051808303815f875af1158015610d3f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d639190611a3c565b5080826001600160a01b0316846001600160a01b03167f74f5671b2c665be44c6acf481087ab8ee03946f0f59891926722b7c4c9b2c89560405160405180910390a4505050565b610db2610b01565b6001600160a01b0316336001600160a01b031614610de25760405162461bcd60e51b815260040161054f906119be565b6040516323b872dd60e01b81523060048201526001600160a01b038381166024830152604482018390528416906323b872dd906064015f604051808303815f87803b158015610e2f575f80fd5b505af1158015610e41573d5f803e3d5ffd5b5050505080826001600160a01b0316846001600160a01b03167f699c030d2793978709485653c78b3fa764810320ca32b0160240a8c90e9b5f7860405160405180910390a4505050565b610e93610b01565b6001600160a01b0316336001600160a01b031614610ec35760405162461bcd60e51b815260040161054f906119be565b604051632142170760e11b81523060048201526001600160a01b038381166024830152604482018390528416906342842e0e906064015f604051808303815f87803b158015610f10575f80fd5b505af1158015610f22573d5f803e3d5ffd5b5050505080826001600160a01b0316846001600160a01b03167f10ac19deacd17fbdf34066e59e11af29ce80412a7c87fbb7f53ce7366986768d60405160405180910390a4505050565b610f74610b01565b6001600160a01b0316336001600160a01b031614610fa45760405162461bcd60e51b815260040161054f906119be565b604051637921219560e11b81526001600160a01b0387169063f242432a90610fda90309089908990899089908990600401611bdf565b5f604051808303815f87803b158015610ff1575f80fd5b505af1158015611003573d5f803e3d5ffd5b50506040516001600160a01b0389811682528693508792508816907fd45f6c962afe2748ec880e008162e9fa2b340e699f62f0a4e555e679c6d0831d9060200160405180910390a4505050505050565b5f808030803b9061106f90611069606084611c39565b83611164565b8060200190518101906110829190611b62565b93509350935050909192565b611096610b01565b6001600160a01b0316336001600160a01b0316146110c65760405162461bcd60e51b815260040161054f906119be565b5f610a6c8282611aa3565b5f6001600160e01b03198216630271189760e51b148061051157506301ffc9a760e01b6001600160e01b0319831614610511565b5f805f6111128585611215565b5090925090505f81600381111561112b5761112b611c4c565b1480156111495750856001600160a01b0316826001600160a01b0316145b8061115a575061115a86868661125e565b9695505050505050565b6060833b5f81900361118557505060408051602081019091525f8152610744565b808411156111a257505060408051602081019091525f8152610744565b838310156111d45760405163162544fd60e11b815260048101829052602481018590526044810184905260640161054f565b8383038482035f8282106111e857826111ea565b815b60408051603f8301601f19168101909152818152955090508087602087018a3c505050509392505050565b5f805f835160410361124c576020840151604085015160608601515f1a61123e88828585611334565b955095509550505050611257565b505081515f91506002905b9250925092565b5f805f856001600160a01b0316858560405160240161127e929190611c60565b60408051601f198184030181529181526020820180516001600160e01b0316630b135d3f60e11b179052516112b39190611c78565b5f60405180830381855afa9150503d805f81146112eb576040519150601f19603f3d011682016040523d82523d5f602084013e6112f0565b606091505b509150915081801561130457506020815110155b801561115a57508051630b135d3f60e11b906113299083016020908101908401611c93565b149695505050505050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561136d57505f915060039050826113f2565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156113be573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166113e957505f9250600191508290506113f2565b92505f91508190505b9450945094915050565b5f6020828403121561140c575f80fd5b81356001600160e01b031981168114610744575f80fd5b6001600160a01b0381168114611437575f80fd5b50565b8015158114611437575f80fd5b5f805f60608486031215611459575f80fd5b833561146481611423565b9250602084013561147481611423565b915060408401356114848161143a565b809150509250925092565b5f5b838110156114a9578181015183820152602001611491565b50505f910152565b5f81518084526114c881602086016020860161148f565b601f01601f19169290920160200192915050565b602081525f61074460208301846114b1565b5f8083601f8401126114fe575f80fd5b5081356001600160401b03811115611514575f80fd5b60208301915083602082850101111561152b575f80fd5b9250929050565b5f805f60408486031215611544575f80fd5b833561154f81611423565b925060208401356001600160401b03811115611569575f80fd5b611575868287016114ee565b9497909650939450505050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156115be576115be611582565b604052919050565b5f6001600160401b038311156115de576115de611582565b6115f1601f8401601f1916602001611596565b9050828152838383011115611604575f80fd5b828260208301375f602084830101529392505050565b5f82601f830112611629575f80fd5b610744838335602085016115c6565b5f805f806080858703121561164b575f80fd5b843561165681611423565b9350602085013561166681611423565b92506040850135915060608501356001600160401b03811115611687575f80fd5b6116938782880161161a565b91505092959194509250565b5f80604083850312156116b0575f80fd5b8235915060208301356001600160401b038111156116cc575f80fd5b6116d88582860161161a565b9150509250929050565b5f805f606084860312156116f4575f80fd5b83356116ff81611423565b9250602084013561170f81611423565b929592945050506040919091013590565b5f60208284031215611730575f80fd5b81356001600160401b03811115611745575f80fd5b8201601f81018413611755575f80fd5b611764848235602084016115c6565b949350505050565b5f805f806060858703121561177f575f80fd5b843561178a81611423565b93506020850135925060408501356001600160401b038111156117ab575f80fd5b6117b7878288016114ee565b95989497509550505050565b5f82601f8301126117d2575f80fd5b813560206001600160401b038211156117ed576117ed611582565b8160051b6117fc828201611596565b9283528481018201928281019087851115611815575f80fd5b83870192505b848310156118345782358252918301919083019061181b565b979650505050505050565b5f805f805f60a08688031215611853575f80fd5b853561185e81611423565b9450602086013561186e81611423565b935060408601356001600160401b0380821115611889575f80fd5b61189589838a016117c3565b945060608801359150808211156118aa575f80fd5b6118b689838a016117c3565b935060808801359150808211156118cb575f80fd5b506118d88882890161161a565b9150509295509295909350565b5f805f805f60a086880312156118f9575f80fd5b853561190481611423565b9450602086013561191481611423565b9350604086013592506060860135915060808601356001600160401b0381111561193c575f80fd5b6118d88882890161161a565b5f805f805f8060a0878903121561195d575f80fd5b863561196881611423565b9550602087013561197881611423565b9450604087013593506060870135925060808701356001600160401b038111156119a0575f80fd5b6119ac89828a016114ee565b979a9699509497509295939492505050565b6020808252601b908201527f43796265724d6176656e3a204e6f7420746f6b656e206f776e65720000000000604082015260600190565b600181811c90821680611a0957607f821691505b602082108103611a2757634e487b7160e01b5f52602260045260245ffd5b50919050565b818382375f9101908152919050565b5f60208284031215611a4c575f80fd5b81516107448161143a565b601f821115611a9e57805f5260205f20601f840160051c81016020851015611a7c5750805b601f840160051c820191505b81811015611a9b575f8155600101611a88565b50505b505050565b81516001600160401b03811115611abc57611abc611582565b611ad081611aca84546119f5565b84611a57565b602080601f831160018114611b03575f8415611aec5750858301515b5f19600386901b1c1916600185901b178555611b5a565b5f85815260208120601f198616915b82811015611b3157888601518255948401946001909101908401611b12565b5085821015611b4e57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f805f60608486031215611b74575f80fd5b835192506020840151611b8681611423565b80925050604084015190509250925092565b5f60208284031215611ba8575f80fd5b815161074481611423565b634e487b7160e01b5f52601160045260245ffd5b5f60018201611bd857611bd8611bb3565b5060010190565b6001600160a01b03878116825286166020820152604081018590526060810184905260a06080820181905281018290525f828460c08401375f60c0848401015260c0601f19601f8501168301019050979650505050505050565b8181038181111561051157610511611bb3565b634e487b7160e01b5f52602160045260245ffd5b828152604060208201525f61176460408301846114b1565b5f8251611c8981846020870161148f565b9190910192915050565b5f60208284031215611ca3575f80fd5b505191905056fea264697066735822122022f7d27c129f62ffc8e07e0722b91e64c288f244f2ecac337c3766a130c04e9864736f6c63430008180033"; type CyberMavenConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/ECDSA__factory.ts b/typechain-types/factories/ECDSA__factory.ts new file mode 100644 index 0000000..9ef3595 --- /dev/null +++ b/typechain-types/factories/ECDSA__factory.ts @@ -0,0 +1,85 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { ECDSA, ECDSAInterface } from "../ECDSA"; + +const _abi = [ + { + inputs: [], + name: "ECDSAInvalidSignature", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "length", + type: "uint256", + }, + ], + name: "ECDSAInvalidSignatureLength", + type: "error", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "ECDSAInvalidSignatureS", + type: "error", + }, +]; + +const _bytecode = + "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220f4ee0ad9bf976350b9e57846cdb7450afd685251ceceddea6f43aeb55ba299f464736f6c63430008180033"; + +type ECDSAConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: ECDSAConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class ECDSA__factory extends ContractFactory { + constructor(...args: ECDSAConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + this.contractName = "ECDSA"; + } + + deploy( + overrides?: Overrides & { from?: string | Promise } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + getDeployTransaction( + overrides?: Overrides & { from?: string | Promise } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + attach(address: string): ECDSA { + return super.attach(address) as ECDSA; + } + connect(signer: Signer): ECDSA__factory { + return super.connect(signer) as ECDSA__factory; + } + static readonly contractName: "ECDSA"; + public readonly contractName: "ECDSA"; + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): ECDSAInterface { + return new utils.Interface(_abi) as ECDSAInterface; + } + static connect(address: string, signerOrProvider: Signer | Provider): ECDSA { + return new Contract(address, _abi, signerOrProvider) as ECDSA; + } +} diff --git a/typechain-types/factories/EIP712__factory.ts b/typechain-types/factories/EIP712__factory.ts new file mode 100644 index 0000000..6a722c8 --- /dev/null +++ b/typechain-types/factories/EIP712__factory.ts @@ -0,0 +1,85 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import { Provider } from "@ethersproject/providers"; +import type { EIP712, EIP712Interface } from "../EIP712"; + +const _abi = [ + { + inputs: [], + name: "InvalidShortString", + type: "error", + }, + { + inputs: [ + { + internalType: "string", + name: "str", + type: "string", + }, + ], + name: "StringTooLong", + type: "error", + }, + { + anonymous: false, + inputs: [], + name: "EIP712DomainChanged", + type: "event", + }, + { + inputs: [], + name: "eip712Domain", + outputs: [ + { + internalType: "bytes1", + name: "fields", + type: "bytes1", + }, + { + internalType: "string", + name: "name", + type: "string", + }, + { + internalType: "string", + name: "version", + type: "string", + }, + { + internalType: "uint256", + name: "chainId", + type: "uint256", + }, + { + internalType: "address", + name: "verifyingContract", + type: "address", + }, + { + internalType: "bytes32", + name: "salt", + type: "bytes32", + }, + { + internalType: "uint256[]", + name: "extensions", + type: "uint256[]", + }, + ], + stateMutability: "view", + type: "function", + }, +]; + +export class EIP712__factory { + static readonly abi = _abi; + static createInterface(): EIP712Interface { + return new utils.Interface(_abi) as EIP712Interface; + } + static connect(address: string, signerOrProvider: Signer | Provider): EIP712 { + return new Contract(address, _abi, signerOrProvider) as EIP712; + } +} diff --git a/typechain-types/factories/ERC1155Holder__factory.ts b/typechain-types/factories/ERC1155Holder__factory.ts index ba83fba..71ac295 100644 --- a/typechain-types/factories/ERC1155Holder__factory.ts +++ b/typechain-types/factories/ERC1155Holder__factory.ts @@ -1,8 +1,9 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; -import { Provider, TransactionRequest } from "@ethersproject/providers"; + +import { Contract, Signer, utils } from "ethers"; +import { Provider } from "@ethersproject/providers"; import type { ERC1155Holder, ERC1155HolderInterface } from "../ERC1155Holder"; const _abi = [ @@ -105,46 +106,7 @@ const _abi = [ }, ]; -const _bytecode = - "0x608060405234801561001057600080fd5b506103c5806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806301ffc9a714610046578063bc197c811461006e578063f23a6e61146100a6575b600080fd5b6100596100543660046100fc565b6100c5565b60405190151581526020015b60405180910390f35b61008d61007c366004610280565b63bc197c8160e01b95945050505050565b6040516001600160e01b03199091168152602001610065565b61008d6100b436600461032a565b63f23a6e6160e01b95945050505050565b60006001600160e01b03198216630271189760e51b14806100f657506301ffc9a760e01b6001600160e01b03198316145b92915050565b60006020828403121561010e57600080fd5b81356001600160e01b03198116811461012657600080fd5b9392505050565b80356001600160a01b038116811461014457600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561018857610188610149565b604052919050565b600082601f8301126101a157600080fd5b8135602067ffffffffffffffff8211156101bd576101bd610149565b8160051b6101cc82820161015f565b92835284810182019282810190878511156101e657600080fd5b83870192505b84831015610205578235825291830191908301906101ec565b979650505050505050565b600082601f83011261022157600080fd5b813567ffffffffffffffff81111561023b5761023b610149565b61024e601f8201601f191660200161015f565b81815284602083860101111561026357600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561029857600080fd5b6102a18661012d565b94506102af6020870161012d565b9350604086013567ffffffffffffffff808211156102cc57600080fd5b6102d889838a01610190565b945060608801359150808211156102ee57600080fd5b6102fa89838a01610190565b9350608088013591508082111561031057600080fd5b5061031d88828901610210565b9150509295509295909350565b600080600080600060a0868803121561034257600080fd5b61034b8661012d565b94506103596020870161012d565b93506040860135925060608601359150608086013567ffffffffffffffff81111561038357600080fd5b61031d8882890161021056fea2646970667358221220b3eaaa34a59d13b15a26b9af0e282575678d9dc6069e10d6c7a90b9c96176b5c64736f6c63430008110033"; - -type ERC1155HolderConstructorParams = - | [signer?: Signer] - | ConstructorParameters; - -const isSuperArgs = ( - xs: ERC1155HolderConstructorParams -): xs is ConstructorParameters => xs.length > 1; - -export class ERC1155Holder__factory extends ContractFactory { - constructor(...args: ERC1155HolderConstructorParams) { - if (isSuperArgs(args)) { - super(...args); - } else { - super(_abi, _bytecode, args[0]); - } - this.contractName = "ERC1155Holder"; - } - - deploy( - overrides?: Overrides & { from?: string | Promise } - ): Promise { - return super.deploy(overrides || {}) as Promise; - } - getDeployTransaction( - overrides?: Overrides & { from?: string | Promise } - ): TransactionRequest { - return super.getDeployTransaction(overrides || {}); - } - attach(address: string): ERC1155Holder { - return super.attach(address) as ERC1155Holder; - } - connect(signer: Signer): ERC1155Holder__factory { - return super.connect(signer) as ERC1155Holder__factory; - } - static readonly contractName: "ERC1155Holder"; - public readonly contractName: "ERC1155Holder"; - static readonly bytecode = _bytecode; +export class ERC1155Holder__factory { static readonly abi = _abi; static createInterface(): ERC1155HolderInterface { return new utils.Interface(_abi) as ERC1155HolderInterface; diff --git a/typechain-types/factories/ERC1155Supply__factory.ts b/typechain-types/factories/ERC1155Supply__factory.ts index 5db83c8..7ee58e5 100644 --- a/typechain-types/factories/ERC1155Supply__factory.ts +++ b/typechain-types/factories/ERC1155Supply__factory.ts @@ -7,6 +7,108 @@ import { Provider } from "@ethersproject/providers"; import type { ERC1155Supply, ERC1155SupplyInterface } from "../ERC1155Supply"; const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "ERC1155InsufficientBalance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address", + }, + ], + name: "ERC1155InvalidApprover", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "idsLength", + type: "uint256", + }, + { + internalType: "uint256", + name: "valuesLength", + type: "uint256", + }, + ], + name: "ERC1155InvalidArrayLength", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + ], + name: "ERC1155InvalidOperator", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC1155InvalidReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ERC1155InvalidSender", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "ERC1155MissingApprovalForAll", + type: "error", + }, { anonymous: false, inputs: [ @@ -235,7 +337,7 @@ const _abi = [ }, { internalType: "uint256[]", - name: "amounts", + name: "values", type: "uint256[]", }, { @@ -268,7 +370,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, { @@ -319,6 +421,19 @@ const _abi = [ stateMutability: "view", type: "function", }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, { inputs: [ { diff --git a/typechain-types/factories/ERC1155__factory.ts b/typechain-types/factories/ERC1155__factory.ts index dbe27f0..d87fb94 100644 --- a/typechain-types/factories/ERC1155__factory.ts +++ b/typechain-types/factories/ERC1155__factory.ts @@ -1,21 +1,113 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; -import { Provider, TransactionRequest } from "@ethersproject/providers"; + +import { Contract, Signer, utils } from "ethers"; +import { Provider } from "@ethersproject/providers"; import type { ERC1155, ERC1155Interface } from "../ERC1155"; const _abi = [ { inputs: [ { - internalType: "string", - name: "uri_", - type: "string", + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", }, ], - stateMutability: "nonpayable", - type: "constructor", + name: "ERC1155InsufficientBalance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address", + }, + ], + name: "ERC1155InvalidApprover", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "idsLength", + type: "uint256", + }, + { + internalType: "uint256", + name: "valuesLength", + type: "uint256", + }, + ], + name: "ERC1155InvalidArrayLength", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + ], + name: "ERC1155InvalidOperator", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC1155InvalidReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ERC1155InvalidSender", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "ERC1155MissingApprovalForAll", + type: "error", }, { anonymous: false, @@ -226,7 +318,7 @@ const _abi = [ }, { internalType: "uint256[]", - name: "amounts", + name: "values", type: "uint256[]", }, { @@ -259,7 +351,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, { @@ -331,48 +423,7 @@ const _abi = [ }, ]; -const _bytecode = - "0x60806040523480156200001157600080fd5b506040516200162b3803806200162b83398101604081905262000034916200006e565b6200003f8162000046565b506200029e565b6002620000548282620001d2565b5050565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156200008257600080fd5b82516001600160401b03808211156200009a57600080fd5b818501915085601f830112620000af57600080fd5b815181811115620000c457620000c462000058565b604051601f8201601f19908116603f01168101908382118183101715620000ef57620000ef62000058565b8160405282815288868487010111156200010857600080fd5b600093505b828410156200012c57848401860151818501870152928501926200010d565b600086848301015280965050505050505092915050565b600181811c908216806200015857607f821691505b6020821081036200017957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620001cd57600081815260208120601f850160051c81016020861015620001a85750805b601f850160051c820191505b81811015620001c957828155600101620001b4565b5050505b505050565b81516001600160401b03811115620001ee57620001ee62000058565b6200020681620001ff845462000143565b846200017f565b602080601f8311600181146200023e5760008415620002255750858301515b600019600386901b1c1916600185901b178555620001c9565b600085815260208120601f198616915b828110156200026f578886015182559484019460019091019084016200024e565b50858210156200028e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61137d80620002ae6000396000f3fe608060405234801561001057600080fd5b50600436106100875760003560e01c80634e1273f41161005b5780634e1273f41461010a578063a22cb4651461012a578063e985e9c51461013d578063f242432a1461017957600080fd5b8062fdd58e1461008c57806301ffc9a7146100b25780630e89341c146100d55780632eb2c2d6146100f5575b600080fd5b61009f61009a366004610b40565b61018c565b6040519081526020015b60405180910390f35b6100c56100c0366004610b83565b610225565b60405190151581526020016100a9565b6100e86100e3366004610ba7565b610275565b6040516100a99190610c06565b610108610103366004610d65565b610309565b005b61011d610118366004610e0f565b610355565b6040516100a99190610f15565b610108610138366004610f28565b61047f565b6100c561014b366004610f64565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b610108610187366004610f97565b61048e565b60006001600160a01b0383166101fc5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b506000818152602081815260408083206001600160a01b03861684529091529020545b92915050565b60006001600160e01b03198216636cdb3d1360e11b148061025657506001600160e01b031982166303a24d0760e21b145b8061021f57506301ffc9a760e01b6001600160e01b031983161461021f565b60606002805461028490610ffc565b80601f01602080910402602001604051908101604052809291908181526020018280546102b090610ffc565b80156102fd5780601f106102d2576101008083540402835291602001916102fd565b820191906000526020600020905b8154815290600101906020018083116102e057829003601f168201915b50505050509050919050565b6001600160a01b0385163314806103255750610325853361014b565b6103415760405162461bcd60e51b81526004016101f390611036565b61034e85858585856104d3565b5050505050565b606081518351146103ba5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b60648201526084016101f3565b6000835167ffffffffffffffff8111156103d6576103d6610c19565b6040519080825280602002602001820160405280156103ff578160200160208202803683370190505b50905060005b84518110156104775761044a85828151811061042357610423611084565b602002602001015185838151811061043d5761043d611084565b602002602001015161018c565b82828151811061045c5761045c611084565b6020908102919091010152610470816110b0565b9050610405565b509392505050565b61048a3383836106b0565b5050565b6001600160a01b0385163314806104aa57506104aa853361014b565b6104c65760405162461bcd60e51b81526004016101f390611036565b61034e8585858585610790565b81518351146105355760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206044820152670dad2e6dac2e8c6d60c31b60648201526084016101f3565b6001600160a01b03841661055b5760405162461bcd60e51b81526004016101f3906110c9565b3360005b845181101561064257600085828151811061057c5761057c611084565b60200260200101519050600085838151811061059a5761059a611084565b602090810291909101810151600084815280835260408082206001600160a01b038e1683529093529190912054909150818110156105ea5760405162461bcd60e51b81526004016101f39061110e565b6000838152602081815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290610627908490611158565b925050819055505050508061063b906110b0565b905061055f565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb878760405161069292919061116b565b60405180910390a46106a88187878787876108ba565b505050505050565b816001600160a01b0316836001600160a01b0316036107235760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b60648201526084016101f3565b6001600160a01b03838116600081815260016020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0384166107b65760405162461bcd60e51b81526004016101f3906110c9565b3360006107c285610a1e565b905060006107cf85610a1e565b90506000868152602081815260408083206001600160a01b038c168452909152902054858110156108125760405162461bcd60e51b81526004016101f39061110e565b6000878152602081815260408083206001600160a01b038d8116855292528083208985039055908a1682528120805488929061084f908490611158565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46108af848a8a8a8a8a610a69565b505050505050505050565b6001600160a01b0384163b156106a85760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906108fe9089908990889088908890600401611199565b6020604051808303816000875af1925050508015610939575060408051601f3d908101601f19168201909252610936918101906111f7565b60015b6109e557610945611214565b806308c379a00361097e5750610959611230565b806109645750610980565b8060405162461bcd60e51b81526004016101f39190610c06565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b60648201526084016101f3565b6001600160e01b0319811663bc197c8160e01b14610a155760405162461bcd60e51b81526004016101f3906112ba565b50505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110610a5857610a58611084565b602090810291909101015292915050565b6001600160a01b0384163b156106a85760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190610aad9089908990889088908890600401611302565b6020604051808303816000875af1925050508015610ae8575060408051601f3d908101601f19168201909252610ae5918101906111f7565b60015b610af457610945611214565b6001600160e01b0319811663f23a6e6160e01b14610a155760405162461bcd60e51b81526004016101f3906112ba565b80356001600160a01b0381168114610b3b57600080fd5b919050565b60008060408385031215610b5357600080fd5b610b5c83610b24565b946020939093013593505050565b6001600160e01b031981168114610b8057600080fd5b50565b600060208284031215610b9557600080fd5b8135610ba081610b6a565b9392505050565b600060208284031215610bb957600080fd5b5035919050565b6000815180845260005b81811015610be657602081850181015186830182015201610bca565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610ba06020830184610bc0565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff81118282101715610c5557610c55610c19565b6040525050565b600067ffffffffffffffff821115610c7657610c76610c19565b5060051b60200190565b600082601f830112610c9157600080fd5b81356020610c9e82610c5c565b604051610cab8282610c2f565b83815260059390931b8501820192828101915086841115610ccb57600080fd5b8286015b84811015610ce65780358352918301918301610ccf565b509695505050505050565b600082601f830112610d0257600080fd5b813567ffffffffffffffff811115610d1c57610d1c610c19565b604051610d33601f8301601f191660200182610c2f565b818152846020838601011115610d4857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215610d7d57600080fd5b610d8686610b24565b9450610d9460208701610b24565b9350604086013567ffffffffffffffff80821115610db157600080fd5b610dbd89838a01610c80565b94506060880135915080821115610dd357600080fd5b610ddf89838a01610c80565b93506080880135915080821115610df557600080fd5b50610e0288828901610cf1565b9150509295509295909350565b60008060408385031215610e2257600080fd5b823567ffffffffffffffff80821115610e3a57600080fd5b818501915085601f830112610e4e57600080fd5b81356020610e5b82610c5c565b604051610e688282610c2f565b83815260059390931b8501820192828101915089841115610e8857600080fd5b948201945b83861015610ead57610e9e86610b24565b82529482019490820190610e8d565b96505086013592505080821115610ec357600080fd5b50610ed085828601610c80565b9150509250929050565b600081518084526020808501945080840160005b83811015610f0a57815187529582019590820190600101610eee565b509495945050505050565b602081526000610ba06020830184610eda565b60008060408385031215610f3b57600080fd5b610f4483610b24565b915060208301358015158114610f5957600080fd5b809150509250929050565b60008060408385031215610f7757600080fd5b610f8083610b24565b9150610f8e60208401610b24565b90509250929050565b600080600080600060a08688031215610faf57600080fd5b610fb886610b24565b9450610fc660208701610b24565b93506040860135925060608601359150608086013567ffffffffffffffff811115610ff057600080fd5b610e0288828901610cf1565b600181811c9082168061101057607f821691505b60208210810361103057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016110c2576110c261109a565b5060010190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b8082018082111561021f5761021f61109a565b60408152600061117e6040830185610eda565b82810360208401526111908185610eda565b95945050505050565b6001600160a01b0386811682528516602082015260a0604082018190526000906111c590830186610eda565b82810360608401526111d78186610eda565b905082810360808401526111eb8185610bc0565b98975050505050505050565b60006020828403121561120957600080fd5b8151610ba081610b6a565b600060033d111561122d5760046000803e5060005160e01c5b90565b600060443d101561123e5790565b6040516003193d81016004833e81513d67ffffffffffffffff816024840111818411171561126e57505050505090565b82850191508151818111156112865750505050505090565b843d87010160208285010111156112a05750505050505090565b6112af60208286010187610c2f565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a06080820181905260009061133c90830184610bc0565b97965050505050505056fea26469706673582212203e03f9cfa5a17f195366842ae3f5807c28e5dbd77e797f545662118d5a1b82c464736f6c63430008110033"; - -type ERC1155ConstructorParams = - | [signer?: Signer] - | ConstructorParameters; - -const isSuperArgs = ( - xs: ERC1155ConstructorParams -): xs is ConstructorParameters => xs.length > 1; - -export class ERC1155__factory extends ContractFactory { - constructor(...args: ERC1155ConstructorParams) { - if (isSuperArgs(args)) { - super(...args); - } else { - super(_abi, _bytecode, args[0]); - } - this.contractName = "ERC1155"; - } - - deploy( - uri_: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise { - return super.deploy(uri_, overrides || {}) as Promise; - } - getDeployTransaction( - uri_: string, - overrides?: Overrides & { from?: string | Promise } - ): TransactionRequest { - return super.getDeployTransaction(uri_, overrides || {}); - } - attach(address: string): ERC1155 { - return super.attach(address) as ERC1155; - } - connect(signer: Signer): ERC1155__factory { - return super.connect(signer) as ERC1155__factory; - } - static readonly contractName: "ERC1155"; - public readonly contractName: "ERC1155"; - static readonly bytecode = _bytecode; +export class ERC1155__factory { static readonly abi = _abi; static createInterface(): ERC1155Interface { return new utils.Interface(_abi) as ERC1155Interface; diff --git a/typechain-types/factories/ERC20__factory.ts b/typechain-types/factories/ERC20__factory.ts index 43b7b3d..8583855 100644 --- a/typechain-types/factories/ERC20__factory.ts +++ b/typechain-types/factories/ERC20__factory.ts @@ -1,26 +1,97 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; -import { Provider, TransactionRequest } from "@ethersproject/providers"; + +import { Contract, Signer, utils } from "ethers"; +import { Provider } from "@ethersproject/providers"; import type { ERC20, ERC20Interface } from "../ERC20"; const _abi = [ { inputs: [ { - internalType: "string", - name: "name_", - type: "string", + internalType: "address", + name: "spender", + type: "address", }, { - internalType: "string", - name: "symbol_", - type: "string", + internalType: "uint256", + name: "allowance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", }, ], - stateMutability: "nonpayable", - type: "constructor", + name: "ERC20InsufficientAllowance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + ], + name: "ERC20InsufficientBalance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address", + }, + ], + name: "ERC20InvalidApprover", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC20InvalidReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ERC20InvalidSender", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "ERC20InvalidSpender", + type: "error", }, { anonymous: false, @@ -105,7 +176,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, ], @@ -152,54 +223,6 @@ const _abi = [ stateMutability: "view", type: "function", }, - { - inputs: [ - { - internalType: "address", - name: "spender", - type: "address", - }, - { - internalType: "uint256", - name: "subtractedValue", - type: "uint256", - }, - ], - name: "decreaseAllowance", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "spender", - type: "address", - }, - { - internalType: "uint256", - name: "addedValue", - type: "uint256", - }, - ], - name: "increaseAllowance", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, { inputs: [], name: "name", @@ -248,7 +271,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, ], @@ -277,7 +300,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, ], @@ -294,50 +317,7 @@ const _abi = [ }, ]; -const _bytecode = - "0x60806040523480156200001157600080fd5b5060405162000b4638038062000b4683398101604081905262000034916200011f565b600362000042838262000218565b50600462000051828262000218565b505050620002e4565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200008257600080fd5b81516001600160401b03808211156200009f576200009f6200005a565b604051601f8301601f19908116603f01168101908282118183101715620000ca57620000ca6200005a565b81604052838152602092508683858801011115620000e757600080fd5b600091505b838210156200010b5785820183015181830184015290820190620000ec565b600093810190920192909252949350505050565b600080604083850312156200013357600080fd5b82516001600160401b03808211156200014b57600080fd5b620001598683870162000070565b935060208501519150808211156200017057600080fd5b506200017f8582860162000070565b9150509250929050565b600181811c908216806200019e57607f821691505b602082108103620001bf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200021357600081815260208120601f850160051c81016020861015620001ee5750805b601f850160051c820191505b818110156200020f57828155600101620001fa565b5050505b505050565b81516001600160401b038111156200023457620002346200005a565b6200024c8162000245845462000189565b84620001c5565b602080601f8311600181146200028457600084156200026b5750858301515b600019600386901b1c1916600185901b1785556200020f565b600085815260208120601f198616915b82811015620002b55788860151825594840194600190910190840162000294565b5085821015620002d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61085280620002f46000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101a0565b6040516100c3919061069c565b60405180910390f35b6100df6100da366004610706565b610232565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f366004610730565b61024c565b604051601281526020016100c3565b6100df610131366004610706565b610270565b6100f361014436600461076c565b6001600160a01b031660009081526020819052604090205490565b6100b6610292565b6100df610175366004610706565b6102a1565b6100df610188366004610706565b610321565b6100f361019b36600461078e565b61032f565b6060600380546101af906107c1565b80601f01602080910402602001604051908101604052809291908181526020018280546101db906107c1565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b5050505050905090565b60003361024081858561035a565b60019150505b92915050565b60003361025a85828561047e565b6102658585856104f8565b506001949350505050565b600033610240818585610283838361032f565b61028d91906107fb565b61035a565b6060600480546101af906107c1565b600033816102af828661032f565b9050838110156103145760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b610265828686840361035a565b6000336102408185856104f8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103bc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161030b565b6001600160a01b03821661041d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161030b565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061048a848461032f565b905060001981146104f257818110156104e55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161030b565b6104f2848484840361035a565b50505050565b6001600160a01b03831661055c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161030b565b6001600160a01b0382166105be5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161030b565b6001600160a01b038316600090815260208190526040902054818110156106365760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161030b565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104f2565b600060208083528351808285015260005b818110156106c9578581018301518582016040015282016106ad565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461070157600080fd5b919050565b6000806040838503121561071957600080fd5b610722836106ea565b946020939093013593505050565b60008060006060848603121561074557600080fd5b61074e846106ea565b925061075c602085016106ea565b9150604084013590509250925092565b60006020828403121561077e57600080fd5b610787826106ea565b9392505050565b600080604083850312156107a157600080fd5b6107aa836106ea565b91506107b8602084016106ea565b90509250929050565b600181811c908216806107d557607f821691505b6020821081036107f557634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561024657634e487b7160e01b600052601160045260246000fdfea26469706673582212205dd3dbf63f0acedbc1f6a7862077c7dcdf11c6e692c3a0c354c443a6f9e989ba64736f6c63430008110033"; - -type ERC20ConstructorParams = - | [signer?: Signer] - | ConstructorParameters; - -const isSuperArgs = ( - xs: ERC20ConstructorParams -): xs is ConstructorParameters => xs.length > 1; - -export class ERC20__factory extends ContractFactory { - constructor(...args: ERC20ConstructorParams) { - if (isSuperArgs(args)) { - super(...args); - } else { - super(_abi, _bytecode, args[0]); - } - this.contractName = "ERC20"; - } - - deploy( - name_: string, - symbol_: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise { - return super.deploy(name_, symbol_, overrides || {}) as Promise; - } - getDeployTransaction( - name_: string, - symbol_: string, - overrides?: Overrides & { from?: string | Promise } - ): TransactionRequest { - return super.getDeployTransaction(name_, symbol_, overrides || {}); - } - attach(address: string): ERC20 { - return super.attach(address) as ERC20; - } - connect(signer: Signer): ERC20__factory { - return super.connect(signer) as ERC20__factory; - } - static readonly contractName: "ERC20"; - public readonly contractName: "ERC20"; - static readonly bytecode = _bytecode; +export class ERC20__factory { static readonly abi = _abi; static createInterface(): ERC20Interface { return new utils.Interface(_abi) as ERC20Interface; diff --git a/typechain-types/factories/ERC2981__factory.ts b/typechain-types/factories/ERC2981__factory.ts index 7545ff6..ad1e555 100644 --- a/typechain-types/factories/ERC2981__factory.ts +++ b/typechain-types/factories/ERC2981__factory.ts @@ -11,12 +11,76 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "_tokenId", + name: "numerator", type: "uint256", }, { internalType: "uint256", - name: "_salePrice", + name: "denominator", + type: "uint256", + }, + ], + name: "ERC2981InvalidDefaultRoyalty", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC2981InvalidDefaultRoyaltyReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "uint256", + name: "numerator", + type: "uint256", + }, + { + internalType: "uint256", + name: "denominator", + type: "uint256", + }, + ], + name: "ERC2981InvalidTokenRoyalty", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC2981InvalidTokenRoyaltyReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "uint256", + name: "salePrice", type: "uint256", }, ], diff --git a/typechain-types/factories/ERC721A__factory.ts b/typechain-types/factories/ERC721A__factory.ts index 6b3b859..25f8c15 100644 --- a/typechain-types/factories/ERC721A__factory.ts +++ b/typechain-types/factories/ERC721A__factory.ts @@ -464,7 +464,7 @@ const _abi = [ ]; const _bytecode = - "0x60806040523480156200001157600080fd5b506040516200109138038062001091833981016040819052620000349162000124565b60026200004283826200021d565b5060036200005182826200021d565b5050600160005550620002e9565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200008757600080fd5b81516001600160401b0380821115620000a457620000a46200005f565b604051601f8301601f19908116603f01168101908282118183101715620000cf57620000cf6200005f565b81604052838152602092508683858801011115620000ec57600080fd5b600091505b83821015620001105785820183015181830184015290820190620000f1565b600093810190920192909252949350505050565b600080604083850312156200013857600080fd5b82516001600160401b03808211156200015057600080fd5b6200015e8683870162000075565b935060208501519150808211156200017557600080fd5b50620001848582860162000075565b9150509250929050565b600181811c90821680620001a357607f821691505b602082108103620001c457634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200021857600081815260208120601f850160051c81016020861015620001f35750805b601f850160051c820191505b818110156200021457828155600101620001ff565b5050505b505050565b81516001600160401b038111156200023957620002396200005f565b62000251816200024a84546200018e565b84620001ca565b602080601f831160018114620002895760008415620002705750858301515b600019600386901b1c1916600185901b17855562000214565b600085815260208120601f198616915b82811015620002ba5788860151825594840194600190910190840162000299565b5085821015620002d95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610d9880620002f96000396000f3fe6080604052600436106100dd5760003560e01c80636352211e1161007f578063a22cb46511610059578063a22cb46514610228578063b88d4fde14610248578063c87b56dd1461025b578063e985e9c51461027b57600080fd5b80636352211e146101d357806370a08231146101f357806395d89b411461021357600080fd5b8063095ea7b3116100bb578063095ea7b31461017157806318160ddd1461018657806323b872dd146101ad57806342842e0e146101c057600080fd5b806301ffc9a7146100e257806306fdde0314610117578063081812fc14610139575b600080fd5b3480156100ee57600080fd5b506101026100fd3660046109e8565b6102c4565b60405190151581526020015b60405180910390f35b34801561012357600080fd5b5061012c610316565b60405161010e9190610a55565b34801561014557600080fd5b50610159610154366004610a68565b6103a8565b6040516001600160a01b03909116815260200161010e565b61018461017f366004610a98565b6103e3565b005b34801561019257600080fd5b5060015460005403600019015b60405190815260200161010e565b6101846101bb366004610ac2565b6103f3565b6101846101ce366004610ac2565b610558565b3480156101df57600080fd5b506101596101ee366004610a68565b610578565b3480156101ff57600080fd5b5061019f61020e366004610afe565b610583565b34801561021f57600080fd5b5061012c6105c9565b34801561023457600080fd5b50610184610243366004610b19565b6105d8565b610184610256366004610b6b565b610644565b34801561026757600080fd5b5061012c610276366004610a68565b610685565b34801561028757600080fd5b50610102610296366004610c47565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b60006301ffc9a760e01b6001600160e01b0319831614806102f557506380ac58cd60e01b6001600160e01b03198316145b806103105750635b5e139f60e01b6001600160e01b03198316145b92915050565b60606002805461032590610c7a565b80601f016020809104026020016040519081016040528092919081815260200182805461035190610c7a565b801561039e5780601f106103735761010080835404028352916020019161039e565b820191906000526020600020905b81548152906001019060200180831161038157829003601f168201915b5050505050905090565b60006103b38261070d565b6103c7576103c76333d1c03960e21b61075b565b506000908152600660205260409020546001600160a01b031690565b6103ef82826001610765565b5050565b60006103fe82610808565b6001600160a01b0394851694909150811684146104245761042462a1148160e81b61075b565b60008281526006602052604090208054338082146001600160a01b03881690911417610468576104548633610296565b61046857610468632ce44b5f60e11b61075b565b801561047357600082555b6001600160a01b038681166000908152600560205260408082208054600019019055918716808252919020805460010190554260a01b17600160e11b17600085815260046020526040812091909155600160e11b84169003610505576001840160008181526004602052604081205490036105035760005481146105035760008181526004602052604090208490555b505b6001600160a01b0385168481887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a48060000361054f5761054f633a954ecd60e21b61075b565b50505050505050565b61057383838360405180602001604052806000815250610644565b505050565b600061031082610808565b60006001600160a01b0382166105a3576105a36323d3ad8160e21b61075b565b506001600160a01b031660009081526005602052604090205467ffffffffffffffff1690565b60606003805461032590610c7a565b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b61064f8484846103f3565b6001600160a01b0383163b1561067f5761066b848484846108a9565b61067f5761067f6368d2bf6b60e11b61075b565b50505050565b60606106908261070d565b6106a4576106a4630a14c4b560e41b61075b565b60006106bb60408051602081019091526000815290565b905080516000036106db5760405180602001604052806000815250610706565b806106e58461098b565b6040516020016106f6929190610cb4565b6040516020818303038152906040525b9392505050565b600081600111610756576000548210156107565760005b506000828152600460205260408120549081900361074c5761074583610ce3565b9250610724565b600160e01b161590505b919050565b8060005260046000fd5b600061077083610578565b90508180156107885750336001600160a01b03821614155b156107ab576107978133610296565b6107ab576107ab6367d9dca160e11b61075b565b60008381526006602052604080822080546001600160a01b0319166001600160a01b0388811691821790925591518693918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a450505050565b60008160011161089957506000818152600460205260408120549081900361088657600054821061084357610843636f96cda160e11b61075b565b5b5060001901600081815260046020526040902054801561084457600160e01b811660000361087157919050565b610881636f96cda160e11b61075b565b610844565b600160e01b811660000361089957919050565b610756636f96cda160e11b61075b565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a02906108de903390899088908890600401610d08565b6020604051808303816000875af1925050508015610919575060408051601f3d908101601f1916820190925261091691810190610d45565b60015b61096e573d808015610947576040519150601f19603f3d011682016040523d82523d6000602084013e61094c565b606091505b508051600003610966576109666368d2bf6b60e11b61075b565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b606060a06040510180604052602081039150506000815280825b600183039250600a81066030018353600a9004806109a55750819003601f19909101908152919050565b6001600160e01b0319811681146109e557600080fd5b50565b6000602082840312156109fa57600080fd5b8135610706816109cf565b60005b83811015610a20578181015183820152602001610a08565b50506000910152565b60008151808452610a41816020860160208601610a05565b601f01601f19169290920160200192915050565b6020815260006107066020830184610a29565b600060208284031215610a7a57600080fd5b5035919050565b80356001600160a01b038116811461075657600080fd5b60008060408385031215610aab57600080fd5b610ab483610a81565b946020939093013593505050565b600080600060608486031215610ad757600080fd5b610ae084610a81565b9250610aee60208501610a81565b9150604084013590509250925092565b600060208284031215610b1057600080fd5b61070682610a81565b60008060408385031215610b2c57600080fd5b610b3583610a81565b915060208301358015158114610b4a57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215610b8157600080fd5b610b8a85610a81565b9350610b9860208601610a81565b925060408501359150606085013567ffffffffffffffff80821115610bbc57600080fd5b818701915087601f830112610bd057600080fd5b813581811115610be257610be2610b55565b604051601f8201601f19908116603f01168101908382118183101715610c0a57610c0a610b55565b816040528281528a6020848701011115610c2357600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215610c5a57600080fd5b610c6383610a81565b9150610c7160208401610a81565b90509250929050565b600181811c90821680610c8e57607f821691505b602082108103610cae57634e487b7160e01b600052602260045260246000fd5b50919050565b60008351610cc6818460208801610a05565b835190830190610cda818360208801610a05565b01949350505050565b600081610d0057634e487b7160e01b600052601160045260246000fd5b506000190190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090610d3b90830184610a29565b9695505050505050565b600060208284031215610d5757600080fd5b8151610706816109cf56fea26469706673582212206888bfff1ccd789706a9ef70dd2457efe80e4a6db3aaba7597d62d81bcd08fd964736f6c63430008110033"; + "0x608060405234801562000010575f80fd5b50604051620010183803806200101883398101604081905262000033916200011e565b60026200004183826200020e565b5060036200005082826200020e565b505060015f5550620002da565b634e487b7160e01b5f52604160045260245ffd5b5f82601f83011262000081575f80fd5b81516001600160401b03808211156200009e576200009e6200005d565b604051601f8301601f19908116603f01168101908282118183101715620000c957620000c96200005d565b8160405283815260209250866020858801011115620000e6575f80fd5b5f91505b83821015620001095785820183015181830184015290820190620000ea565b5f602085830101528094505050505092915050565b5f806040838503121562000130575f80fd5b82516001600160401b038082111562000147575f80fd5b620001558683870162000071565b935060208501519150808211156200016b575f80fd5b506200017a8582860162000071565b9150509250929050565b600181811c908216806200019957607f821691505b602082108103620001b857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200020957805f5260205f20601f840160051c81016020851015620001e55750805b601f840160051c820191505b8181101562000206575f8155600101620001f1565b50505b505050565b81516001600160401b038111156200022a576200022a6200005d565b62000242816200023b845462000184565b84620001be565b602080601f83116001811462000278575f8415620002605750858301515b5f19600386901b1c1916600185901b178555620002d2565b5f85815260208120601f198616915b82811015620002a85788860151825594840194600190910190840162000287565b5085821015620002c657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b610d3080620002e85f395ff3fe6080604052600436106100d9575f3560e01c80636352211e1161007c578063a22cb46511610057578063a22cb4651461021a578063b88d4fde14610239578063c87b56dd1461024c578063e985e9c51461026b575f80fd5b80636352211e146101c857806370a08231146101e757806395d89b4114610206575f80fd5b8063095ea7b3116100b7578063095ea7b31461016957806318160ddd1461017e57806323b872dd146101a257806342842e0e146101b5575f80fd5b806301ffc9a7146100dd57806306fdde0314610111578063081812fc14610132575b5f80fd5b3480156100e8575f80fd5b506100fc6100f73660046109a8565b6102b2565b60405190151581526020015b60405180910390f35b34801561011c575f80fd5b50610125610303565b6040516101089190610a10565b34801561013d575f80fd5b5061015161014c366004610a22565b610393565b6040516001600160a01b039091168152602001610108565b61017c610177366004610a4f565b6103cc565b005b348015610189575f80fd5b506001545f54035f19015b604051908152602001610108565b61017c6101b0366004610a77565b6103dc565b61017c6101c3366004610a77565b610536565b3480156101d3575f80fd5b506101516101e2366004610a22565b610555565b3480156101f2575f80fd5b50610194610201366004610ab0565b61055f565b348015610211575f80fd5b506101256105a3565b348015610225575f80fd5b5061017c610234366004610ac9565b6105b2565b61017c610247366004610b16565b61061d565b348015610257575f80fd5b50610125610266366004610a22565b61065e565b348015610276575f80fd5b506100fc610285366004610beb565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205460ff1690565b5f6301ffc9a760e01b6001600160e01b0319831614806102e257506380ac58cd60e01b6001600160e01b03198316145b806102fd5750635b5e139f60e01b6001600160e01b03198316145b92915050565b60606002805461031290610c1c565b80601f016020809104026020016040519081016040528092919081815260200182805461033e90610c1c565b80156103895780601f1061036057610100808354040283529160200191610389565b820191905f5260205f20905b81548152906001019060200180831161036c57829003601f168201915b5050505050905090565b5f61039d826106e2565b6103b1576103b16333d1c03960e21b61072c565b505f908152600660205260409020546001600160a01b031690565b6103d882826001610734565b5050565b5f6103e6826107d5565b6001600160a01b03948516949091508116841461040c5761040c62a1148160e81b61072c565b5f8281526006602052604090208054338082146001600160a01b0388169091141761044f5761043b8633610285565b61044f5761044f632ce44b5f60e11b61072c565b8015610459575f82555b6001600160a01b038681165f9081526005602052604080822080545f19019055918716808252919020805460010190554260a01b17600160e11b175f85815260046020526040812091909155600160e11b841690036104e557600184015f8181526004602052604081205490036104e3575f5481146104e3575f8181526004602052604090208490555b505b6001600160a01b0385168481887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a4805f0361052d5761052d633a954ecd60e21b61072c565b50505050505050565b61055083838360405180602001604052805f81525061061d565b505050565b5f6102fd826107d5565b5f6001600160a01b03821661057e5761057e6323d3ad8160e21b61072c565b506001600160a01b03165f9081526005602052604090205467ffffffffffffffff1690565b60606003805461031290610c1c565b335f8181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6106288484846103dc565b6001600160a01b0383163b15610658576106448484848461086f565b610658576106586368d2bf6b60e11b61072c565b50505050565b6060610669826106e2565b61067d5761067d630a14c4b560e41b61072c565b5f61069260408051602081019091525f815290565b905080515f036106b05760405180602001604052805f8152506106db565b806106ba8461094d565b6040516020016106cb929190610c54565b6040516020818303038152906040525b9392505050565b5f81600111610727575f54821015610727575f5b505f828152600460205260408120549081900361071d5761071683610c82565b92506106f6565b600160e01b161590505b919050565b805f5260045ffd5b5f61073e83610555565b90508180156107565750336001600160a01b03821614155b15610779576107658133610285565b610779576107796367d9dca160e11b61072c565b5f8381526006602052604080822080546001600160a01b0319166001600160a01b0388811691821790925591518693918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a450505050565b5f8160011161085f57505f818152600460205260408120549081900361084d575f54821061080d5761080d636f96cda160e11b61072c565b5b505f19015f81815260046020526040902054801561080e57600160e01b81165f0361083857919050565b610848636f96cda160e11b61072c565b61080e565b600160e01b81165f0361085f57919050565b610727636f96cda160e11b61072c565b604051630a85bd0160e11b81525f906001600160a01b0385169063150b7a02906108a3903390899088908890600401610ca3565b6020604051808303815f875af19250505080156108dd575060408051601f3d908101601f191682019092526108da91810190610cdf565b60015b610930573d80801561090a576040519150601f19603f3d011682016040523d82523d5f602084013e61090f565b606091505b5080515f03610928576109286368d2bf6b60e11b61072c565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b606060a06040510180604052602081039150505f815280825b600183039250600a81066030018353600a9004806109665750819003601f19909101908152919050565b6001600160e01b0319811681146109a5575f80fd5b50565b5f602082840312156109b8575f80fd5b81356106db81610990565b5f5b838110156109dd5781810151838201526020016109c5565b50505f910152565b5f81518084526109fc8160208601602086016109c3565b601f01601f19169290920160200192915050565b602081525f6106db60208301846109e5565b5f60208284031215610a32575f80fd5b5035919050565b80356001600160a01b0381168114610727575f80fd5b5f8060408385031215610a60575f80fd5b610a6983610a39565b946020939093013593505050565b5f805f60608486031215610a89575f80fd5b610a9284610a39565b9250610aa060208501610a39565b9150604084013590509250925092565b5f60208284031215610ac0575f80fd5b6106db82610a39565b5f8060408385031215610ada575f80fd5b610ae383610a39565b915060208301358015158114610af7575f80fd5b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215610b29575f80fd5b610b3285610a39565b9350610b4060208601610a39565b925060408501359150606085013567ffffffffffffffff80821115610b63575f80fd5b818701915087601f830112610b76575f80fd5b813581811115610b8857610b88610b02565b604051601f8201601f19908116603f01168101908382118183101715610bb057610bb0610b02565b816040528281528a6020848701011115610bc8575f80fd5b826020860160208301375f60208483010152809550505050505092959194509250565b5f8060408385031215610bfc575f80fd5b610c0583610a39565b9150610c1360208401610a39565b90509250929050565b600181811c90821680610c3057607f821691505b602082108103610c4e57634e487b7160e01b5f52602260045260245ffd5b50919050565b5f8351610c658184602088016109c3565b835190830190610c798183602088016109c3565b01949350505050565b5f81610c9c57634e487b7160e01b5f52601160045260245ffd5b505f190190565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f90610cd5908301846109e5565b9695505050505050565b5f60208284031215610cef575f80fd5b81516106db8161099056fea2646970667358221220f69014a02903c166663177fc578e0295b79f898a48b6ee4d4604554ccc9a891d64736f6c63430008180033"; type ERC721AConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/ERC721Enumerable__factory.ts b/typechain-types/factories/ERC721Enumerable__factory.ts index 7ea048a..f58de8d 100644 --- a/typechain-types/factories/ERC721Enumerable__factory.ts +++ b/typechain-types/factories/ERC721Enumerable__factory.ts @@ -10,6 +10,130 @@ import type { } from "../ERC721Enumerable"; const _abi = [ + { + inputs: [], + name: "ERC721EnumerableForbiddenBatchMint", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "ERC721IncorrectOwner", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "ERC721InsufficientApproval", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address", + }, + ], + name: "ERC721InvalidApprover", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + ], + name: "ERC721InvalidOperator", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "ERC721InvalidOwner", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC721InvalidReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ERC721InvalidSender", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "ERC721NonexistentToken", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "uint256", + name: "index", + type: "uint256", + }, + ], + name: "ERC721OutOfBoundsIndex", + type: "error", + }, { anonymous: false, inputs: [ diff --git a/typechain-types/factories/ERC721Holder__factory.ts b/typechain-types/factories/ERC721Holder__factory.ts index 1ae0431..22ec083 100644 --- a/typechain-types/factories/ERC721Holder__factory.ts +++ b/typechain-types/factories/ERC721Holder__factory.ts @@ -1,8 +1,9 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; -import { Provider, TransactionRequest } from "@ethersproject/providers"; + +import { Contract, Signer, utils } from "ethers"; +import { Provider } from "@ethersproject/providers"; import type { ERC721Holder, ERC721HolderInterface } from "../ERC721Holder"; const _abi = [ @@ -42,46 +43,7 @@ const _abi = [ }, ]; -const _bytecode = - "0x608060405234801561001057600080fd5b506101af806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063150b7a0214610030575b600080fd5b61004e61003e36600461009d565b630a85bd0160e11b949350505050565b6040516001600160e01b0319909116815260200160405180910390f35b80356001600160a01b038116811461008257600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600080600080608085870312156100b357600080fd5b6100bc8561006b565b93506100ca6020860161006b565b925060408501359150606085013567ffffffffffffffff808211156100ee57600080fd5b818701915087601f83011261010257600080fd5b81358181111561011457610114610087565b604051601f8201601f19908116603f0116810190838211818310171561013c5761013c610087565b816040528281528a602084870101111561015557600080fd5b8260208601602083013760006020848301015280955050505050509295919450925056fea2646970667358221220f78f70d8a2af1eab6825b627fea44e2edbc4b20bd0673b7395753120ddeff2d664736f6c63430008110033"; - -type ERC721HolderConstructorParams = - | [signer?: Signer] - | ConstructorParameters; - -const isSuperArgs = ( - xs: ERC721HolderConstructorParams -): xs is ConstructorParameters => xs.length > 1; - -export class ERC721Holder__factory extends ContractFactory { - constructor(...args: ERC721HolderConstructorParams) { - if (isSuperArgs(args)) { - super(...args); - } else { - super(_abi, _bytecode, args[0]); - } - this.contractName = "ERC721Holder"; - } - - deploy( - overrides?: Overrides & { from?: string | Promise } - ): Promise { - return super.deploy(overrides || {}) as Promise; - } - getDeployTransaction( - overrides?: Overrides & { from?: string | Promise } - ): TransactionRequest { - return super.getDeployTransaction(overrides || {}); - } - attach(address: string): ERC721Holder { - return super.attach(address) as ERC721Holder; - } - connect(signer: Signer): ERC721Holder__factory { - return super.connect(signer) as ERC721Holder__factory; - } - static readonly contractName: "ERC721Holder"; - public readonly contractName: "ERC721Holder"; - static readonly bytecode = _bytecode; +export class ERC721Holder__factory { static readonly abi = _abi; static createInterface(): ERC721HolderInterface { return new utils.Interface(_abi) as ERC721HolderInterface; diff --git a/typechain-types/factories/ERC721__factory.ts b/typechain-types/factories/ERC721__factory.ts index 197497f..689cc42 100644 --- a/typechain-types/factories/ERC721__factory.ts +++ b/typechain-types/factories/ERC721__factory.ts @@ -1,26 +1,114 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; -import { Provider, TransactionRequest } from "@ethersproject/providers"; + +import { Contract, Signer, utils } from "ethers"; +import { Provider } from "@ethersproject/providers"; import type { ERC721, ERC721Interface } from "../ERC721"; const _abi = [ { inputs: [ { - internalType: "string", - name: "name_", - type: "string", + internalType: "address", + name: "sender", + type: "address", }, { - internalType: "string", - name: "symbol_", - type: "string", + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "address", + name: "owner", + type: "address", }, ], - stateMutability: "nonpayable", - type: "constructor", + name: "ERC721IncorrectOwner", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "ERC721InsufficientApproval", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address", + }, + ], + name: "ERC721InvalidApprover", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + ], + name: "ERC721InvalidOperator", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "ERC721InvalidOwner", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC721InvalidReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ERC721InvalidSender", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "ERC721NonexistentToken", + type: "error", }, { anonymous: false, @@ -354,50 +442,7 @@ const _abi = [ }, ]; -const _bytecode = - "0x60806040523480156200001157600080fd5b50604051620013e7380380620013e783398101604081905262000034916200011f565b600062000042838262000218565b50600162000051828262000218565b505050620002e4565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200008257600080fd5b81516001600160401b03808211156200009f576200009f6200005a565b604051601f8301601f19908116603f01168101908282118183101715620000ca57620000ca6200005a565b81604052838152602092508683858801011115620000e757600080fd5b600091505b838210156200010b5785820183015181830184015290820190620000ec565b600093810190920192909252949350505050565b600080604083850312156200013357600080fd5b82516001600160401b03808211156200014b57600080fd5b620001598683870162000070565b935060208501519150808211156200017057600080fd5b506200017f8582860162000070565b9150509250929050565b600181811c908216806200019e57607f821691505b602082108103620001bf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200021357600081815260208120601f850160051c81016020861015620001ee5750805b601f850160051c820191505b818110156200020f57828155600101620001fa565b5050505b505050565b81516001600160401b038111156200023457620002346200005a565b6200024c8162000245845462000189565b84620001c5565b602080601f8311600181146200028457600084156200026b5750858301515b600019600386901b1c1916600185901b1785556200020f565b600085815260208120601f198616915b82811015620002b55788860151825594840194600190910190840162000294565b5085821015620002d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6110f380620002f46000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101b3578063b88d4fde146101c6578063c87b56dd146101d9578063e985e9c5146101ec57600080fd5b80636352211e1461017757806370a082311461018a57806395d89b41146101ab57600080fd5b806301ffc9a7146100d457806306fdde03146100fc578063081812fc14610111578063095ea7b31461013c57806323b872dd1461015157806342842e0e14610164575b600080fd5b6100e76100e2366004610c7f565b610228565b60405190151581526020015b60405180910390f35b61010461027a565b6040516100f39190610cec565b61012461011f366004610cff565b61030c565b6040516001600160a01b0390911681526020016100f3565b61014f61014a366004610d34565b610333565b005b61014f61015f366004610d5e565b61044d565b61014f610172366004610d5e565b61047e565b610124610185366004610cff565b610499565b61019d610198366004610d9a565b6104f9565b6040519081526020016100f3565b61010461057f565b61014f6101c1366004610db5565b61058e565b61014f6101d4366004610e07565b61059d565b6101046101e7366004610cff565b6105d5565b6100e76101fa366004610ee3565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60006001600160e01b031982166380ac58cd60e01b148061025957506001600160e01b03198216635b5e139f60e01b145b8061027457506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461028990610f16565b80601f01602080910402602001604051908101604052809291908181526020018280546102b590610f16565b80156103025780601f106102d757610100808354040283529160200191610302565b820191906000526020600020905b8154815290600101906020018083116102e557829003601f168201915b5050505050905090565b600061031782610649565b506000908152600460205260409020546001600160a01b031690565b600061033e82610499565b9050806001600160a01b0316836001600160a01b0316036103b05760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806103cc57506103cc81336101fa565b61043e5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016103a7565b61044883836106ab565b505050565b6104573382610719565b6104735760405162461bcd60e51b81526004016103a790610f50565b610448838383610798565b6104488383836040518060200160405280600081525061059d565b6000818152600260205260408120546001600160a01b0316806102745760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103a7565b60006001600160a01b0382166105635760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016103a7565b506001600160a01b031660009081526003602052604090205490565b60606001805461028990610f16565b6105993383836108fc565b5050565b6105a73383610719565b6105c35760405162461bcd60e51b81526004016103a790610f50565b6105cf848484846109ca565b50505050565b60606105e082610649565b60006105f760408051602081019091526000815290565b905060008151116106175760405180602001604052806000815250610642565b80610621846109fd565b604051602001610632929190610f9d565b6040516020818303038152906040525b9392505050565b6000818152600260205260409020546001600160a01b03166106a85760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103a7565b50565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906106e082610499565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061072583610499565b9050806001600160a01b0316846001600160a01b0316148061076c57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806107905750836001600160a01b03166107858461030c565b6001600160a01b0316145b949350505050565b826001600160a01b03166107ab82610499565b6001600160a01b0316146107d15760405162461bcd60e51b81526004016103a790610fcc565b6001600160a01b0382166108335760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016103a7565b826001600160a01b031661084682610499565b6001600160a01b03161461086c5760405162461bcd60e51b81526004016103a790610fcc565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b816001600160a01b0316836001600160a01b03160361095d5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016103a7565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6109d5848484610798565b6109e184848484610a90565b6105cf5760405162461bcd60e51b81526004016103a790611011565b60606000610a0a83610b91565b600101905060008167ffffffffffffffff811115610a2a57610a2a610df1565b6040519080825280601f01601f191660200182016040528015610a54576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610a5e57509392505050565b60006001600160a01b0384163b15610b8657604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610ad4903390899088908890600401611063565b6020604051808303816000875af1925050508015610b0f575060408051601f3d908101601f19168201909252610b0c918101906110a0565b60015b610b6c573d808015610b3d576040519150601f19603f3d011682016040523d82523d6000602084013e610b42565b606091505b508051600003610b645760405162461bcd60e51b81526004016103a790611011565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610790565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610bd05772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610bfc576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610c1a57662386f26fc10000830492506010015b6305f5e1008310610c32576305f5e100830492506008015b6127108310610c4657612710830492506004015b60648310610c58576064830492506002015b600a83106102745760010192915050565b6001600160e01b0319811681146106a857600080fd5b600060208284031215610c9157600080fd5b813561064281610c69565b60005b83811015610cb7578181015183820152602001610c9f565b50506000910152565b60008151808452610cd8816020860160208601610c9c565b601f01601f19169290920160200192915050565b6020815260006106426020830184610cc0565b600060208284031215610d1157600080fd5b5035919050565b80356001600160a01b0381168114610d2f57600080fd5b919050565b60008060408385031215610d4757600080fd5b610d5083610d18565b946020939093013593505050565b600080600060608486031215610d7357600080fd5b610d7c84610d18565b9250610d8a60208501610d18565b9150604084013590509250925092565b600060208284031215610dac57600080fd5b61064282610d18565b60008060408385031215610dc857600080fd5b610dd183610d18565b915060208301358015158114610de657600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215610e1d57600080fd5b610e2685610d18565b9350610e3460208601610d18565b925060408501359150606085013567ffffffffffffffff80821115610e5857600080fd5b818701915087601f830112610e6c57600080fd5b813581811115610e7e57610e7e610df1565b604051601f8201601f19908116603f01168101908382118183101715610ea657610ea6610df1565b816040528281528a6020848701011115610ebf57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215610ef657600080fd5b610eff83610d18565b9150610f0d60208401610d18565b90509250929050565b600181811c90821680610f2a57607f821691505b602082108103610f4a57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60008351610faf818460208801610c9c565b835190830190610fc3818360208801610c9c565b01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061109690830184610cc0565b9695505050505050565b6000602082840312156110b257600080fd5b815161064281610c6956fea26469706673582212209111c6bfadf2f2fc75950683c2e4a695a0a448e7853a386b73d56801b9f366ea64736f6c63430008110033"; - -type ERC721ConstructorParams = - | [signer?: Signer] - | ConstructorParameters; - -const isSuperArgs = ( - xs: ERC721ConstructorParams -): xs is ConstructorParameters => xs.length > 1; - -export class ERC721__factory extends ContractFactory { - constructor(...args: ERC721ConstructorParams) { - if (isSuperArgs(args)) { - super(...args); - } else { - super(_abi, _bytecode, args[0]); - } - this.contractName = "ERC721"; - } - - deploy( - name_: string, - symbol_: string, - overrides?: Overrides & { from?: string | Promise } - ): Promise { - return super.deploy(name_, symbol_, overrides || {}) as Promise; - } - getDeployTransaction( - name_: string, - symbol_: string, - overrides?: Overrides & { from?: string | Promise } - ): TransactionRequest { - return super.getDeployTransaction(name_, symbol_, overrides || {}); - } - attach(address: string): ERC721 { - return super.attach(address) as ERC721; - } - connect(signer: Signer): ERC721__factory { - return super.connect(signer) as ERC721__factory; - } - static readonly contractName: "ERC721"; - public readonly contractName: "ERC721"; - static readonly bytecode = _bytecode; +export class ERC721__factory { static readonly abi = _abi; static createInterface(): ERC721Interface { return new utils.Interface(_abi) as ERC721Interface; diff --git a/typechain-types/factories/EternalSoul__factory.ts b/typechain-types/factories/EternalSoul__factory.ts index 8dd3980..2a391df 100644 --- a/typechain-types/factories/EternalSoul__factory.ts +++ b/typechain-types/factories/EternalSoul__factory.ts @@ -54,6 +54,173 @@ const _abi = [ stateMutability: "nonpayable", type: "constructor", }, + { + inputs: [], + name: "ECDSAInvalidSignature", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "length", + type: "uint256", + }, + ], + name: "ECDSAInvalidSignatureLength", + type: "error", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "ECDSAInvalidSignatureS", + type: "error", + }, + { + inputs: [], + name: "ERC721EnumerableForbiddenBatchMint", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "ERC721IncorrectOwner", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "ERC721InsufficientApproval", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address", + }, + ], + name: "ERC721InvalidApprover", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + ], + name: "ERC721InvalidOperator", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "ERC721InvalidOwner", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC721InvalidReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ERC721InvalidSender", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "ERC721NonexistentToken", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "uint256", + name: "index", + type: "uint256", + }, + ], + name: "ERC721OutOfBoundsIndex", + type: "error", + }, + { + inputs: [], + name: "InvalidShortString", + type: "error", + }, + { + inputs: [ + { + internalType: "string", + name: "str", + type: "string", + }, + ], + name: "StringTooLong", + type: "error", + }, { anonymous: false, inputs: [ @@ -148,6 +315,12 @@ const _abi = [ name: "AssetIssued", type: "event", }, + { + anonymous: false, + inputs: [], + name: "EIP712DomainChanged", + type: "event", + }, { anonymous: false, inputs: [ @@ -330,6 +503,49 @@ const _abi = [ stateMutability: "nonpayable", type: "function", }, + { + inputs: [], + name: "eip712Domain", + outputs: [ + { + internalType: "bytes1", + name: "fields", + type: "bytes1", + }, + { + internalType: "string", + name: "name", + type: "string", + }, + { + internalType: "string", + name: "version", + type: "string", + }, + { + internalType: "uint256", + name: "chainId", + type: "uint256", + }, + { + internalType: "address", + name: "verifyingContract", + type: "address", + }, + { + internalType: "bytes32", + name: "salt", + type: "bytes32", + }, + { + internalType: "uint256[]", + name: "extensions", + type: "uint256[]", + }, + ], + stateMutability: "view", + type: "function", + }, { inputs: [ { @@ -755,7 +971,7 @@ const _abi = [ ]; const _bytecode = - "0x6101406040523480156200001257600080fd5b506040516200300d3803806200300d833981016040819052620000359162000232565b838388886000620000478382620003be565b506001620000568282620003be565b5050825160209384012082519284019290922060e08390526101008190524660a0818152604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818901819052818301979097526060810194909452608080850193909352308483018190528151808603909301835260c0948501909152815191909601209052929092526101205250600d620000f68682620003be565b50601080546001600160a01b0383166001600160a01b03199182168117909255600c80549091169091179055600e620001308582620003be565b50600f6200013f8482620003be565b5050600a55506200048a9350505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200017857600080fd5b81516001600160401b038082111562000195576200019562000150565b604051601f8301601f19908116603f01168101908282118183101715620001c057620001c062000150565b81604052838152602092508683858801011115620001dd57600080fd5b600091505b83821015620002015785820183015181830184015290820190620001e2565b600093810190920192909252949350505050565b80516001600160a01b03811681146200022d57600080fd5b919050565b600080600080600080600060e0888a0312156200024e57600080fd5b87516001600160401b03808211156200026657600080fd5b620002748b838c0162000166565b985060208a01519150808211156200028b57600080fd5b620002998b838c0162000166565b975060408a0151915080821115620002b057600080fd5b620002be8b838c0162000166565b965060608a0151915080821115620002d557600080fd5b620002e38b838c0162000166565b955060808a0151915080821115620002fa57600080fd5b50620003098a828b0162000166565b93505060a088015191506200032160c0890162000215565b905092959891949750929550565b600181811c908216806200034457607f821691505b6020821081036200036557634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003b957600081815260208120601f850160051c81016020861015620003945750805b601f850160051c820191505b81811015620003b557828155600101620003a0565b5050505b505050565b81516001600160401b03811115620003da57620003da62000150565b620003f281620003eb84546200032f565b846200036b565b602080601f8311600181146200042a5760008415620004115750858301515b600019600386901b1c1916600185901b178555620003b5565b600085815260208120601f198616915b828110156200045b578886015182559484019460019091019084016200043a565b50858210156200047a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c05160e0516101005161012051612b33620004da6000396000611afc01526000611b4b01526000611b2601526000611a7f01526000611aa901526000611ad30152612b336000f3fe6080604052600436106101c25760003560e01c806354fd4d50116100f757806395d89b4111610095578063c87b56dd11610064578063c87b56dd146104f7578063e3faad9414610517578063e985e9c51461052c578063f26d66c01461057557600080fd5b806395d89b411461048d578063a22cb465146104a2578063a4157296146104c2578063b88d4fde146104d757600080fd5b80636771309b116100d15780636771309b146104185780636c0360eb1461043857806370a082311461044d57806381530b681461046d57600080fd5b806354fd4d50146103b157806355f804b3146103d85780636352211e146103f857600080fd5b806318160ddd116101645780633a61d52c1161013e5780633a61d52c1461033157806342842e0e14610351578063474c1520146103715780634f6ccce71461039157600080fd5b806318160ddd146102dc57806323b872dd146102f15780632f745c591461031157600080fd5b8063081812fc116101a0578063081812fc1461024c578063095ea7b3146102845780630aa7c854146102a65780630d39fc81146102c657600080fd5b806301ffc9a7146101c757806304b444d9146101fc57806306fdde031461022a575b600080fd5b3480156101d357600080fd5b506101e76101e2366004612360565b610588565b60405190151581526020015b60405180910390f35b34801561020857600080fd5b5061021c61021736600461243e565b610599565b6040519081526020016101f3565b34801561023657600080fd5b5061023f6106e8565b6040516101f391906124d4565b34801561025857600080fd5b5061026c6102673660046124e7565b61077a565b6040516001600160a01b0390911681526020016101f3565b34801561029057600080fd5b506102a461029f366004612500565b6107a1565b005b3480156102b257600080fd5b50600c5461026c906001600160a01b031681565b3480156102d257600080fd5b5061021c600a5481565b3480156102e857600080fd5b5060085461021c565b3480156102fd57600080fd5b506102a461030c36600461252c565b6108b6565b34801561031d57600080fd5b5061021c61032c366004612500565b6108e8565b34801561033d57600080fd5b5061026c61034c36600461256d565b61097e565b34801561035d57600080fd5b506102a461036c36600461252c565b610a5c565b34801561037d57600080fd5b506102a461038c3660046124e7565b610a77565b34801561039d57600080fd5b5061021c6103ac3660046124e7565b610b31565b3480156103bd57600080fd5b506103c6600181565b60405160ff90911681526020016101f3565b3480156103e457600080fd5b506102a46103f33660046125a8565b610bc4565b34801561040457600080fd5b5061026c6104133660046124e7565b610c6a565b34801561042457600080fd5b5061021c61043336600461243e565b610cca565b34801561044457600080fd5b5061023f610dc9565b34801561045957600080fd5b5061021c6104683660046125dd565b610e57565b34801561047957600080fd5b506102a46104883660046124e7565b600a55565b34801561049957600080fd5b5061023f610edd565b3480156104ae57600080fd5b506102a46104bd366004612608565b610eec565b3480156104ce57600080fd5b5061023f610ef7565b3480156104e357600080fd5b506102a46104f2366004612641565b610f04565b34801561050357600080fd5b5061023f6105123660046124e7565b610f3c565b34801561052357600080fd5b5061023f611074565b34801561053857600080fd5b506101e76105473660046126c1565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b61021c61058336600461256d565b611081565b6000610593826112cd565b92915050565b6010546000906001600160a01b031663efd46065336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156105f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061691906126ef565b6106735760405162461bcd60e51b815260206004820152602360248201527f457465726e616c536f756c3a2055736572206973206e6f7420617574686f72696044820152621e995960ea1b60648201526084015b60405180910390fd5b600b805490600061068383612722565b9091555050600b5461069584826112f2565b61069f818461130c565b336001600160a01b0316817fdb2bfbc11c8a6350afe6406725431235c99ed05824d40daee07eae3d1fafb70b856040516106d991906124d4565b60405180910390a39392505050565b6060600080546106f79061273b565b80601f01602080910402602001604051908101604052809291908181526020018280546107239061273b565b80156107705780601f1061074557610100808354040283529160200191610770565b820191906000526020600020905b81548152906001019060200180831161075357829003601f168201915b5050505050905090565b600061078582611388565b506000908152600460205260409020546001600160a01b031690565b60006107ac82610c6a565b9050806001600160a01b0316836001600160a01b0316036108195760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b606482015260840161066a565b336001600160a01b038216148061083557506108358133610547565b6108a75760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161066a565b6108b183836113ea565b505050565b6108c1335b82611458565b6108dd5760405162461bcd60e51b815260040161066a90612775565b6108b18383836114d6565b60006108f383610e57565b82106109555760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b606482015260840161066a565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b600080610a057f6a50cd13df4d49c839384eb15944b5713af5a276ddb78e79557d1798dbca09fa84356109b460208701876127c2565b6040516109c2929190612809565b6040519081900381206109ea9392916020019283526020830191909152604082015260600190565b60405160208183030381529060405280519060200120611647565b90506000610a5482610a1a60408701876127c2565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061169592505050565b949350505050565b6108b183838360405180602001604052806000815250610f04565b610a80336108bb565b610ae75760405162461bcd60e51b815260206004820152603260248201527f457465726e616c536f756c3a2043616c6c6572206973206e6f7420746f6b656e604482015271081bdddb995c881bdc88185c1c1c9bdd995960721b606482015260840161066a565b610af0816116b9565b807fc3a3686eed3b315ba4f3b1a0bf88b63a4525e3f27314495ba7dc0a40a6c4cd90336040516001600160a01b03909116815260200160405180910390a250565b6000610b3c60085490565b8210610b9f5760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b606482015260840161066a565b60088281548110610bb257610bb2612819565b90600052602060002001549050919050565b6010546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610c1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3e91906126ef565b610c5a5760405162461bcd60e51b815260040161066a9061282f565b600d610c6682826128c1565b5050565b6000818152600260205260408120546001600160a01b0316806105935760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161066a565b6010546000906001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610d23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4791906126ef565b610d635760405162461bcd60e51b815260040161066a9061282f565b600b8054906000610d7383612722565b9091555050600b54610d8584826112f2565b610d8f818461130c565b836001600160a01b0316817fdb2bfbc11c8a6350afe6406725431235c99ed05824d40daee07eae3d1fafb70b856040516106d991906124d4565b600d8054610dd69061273b565b80601f0160208091040260200160405190810160405280929190818152602001828054610e029061273b565b8015610e4f5780601f10610e2457610100808354040283529160200191610e4f565b820191906000526020600020905b815481529060010190602001808311610e3257829003601f168201915b505050505081565b60006001600160a01b038216610ec15760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161066a565b506001600160a01b031660009081526003602052604090205490565b6060600180546106f79061273b565b610c6633838361175c565b600f8054610dd69061273b565b610f0e3383611458565b610f2a5760405162461bcd60e51b815260040161066a90612775565b610f368484848461182a565b50505050565b6000818152600260205260409020546060906001600160a01b0316610fa35760405162461bcd60e51b815260206004820152601f60248201527f457465726e616c536f756c3a204e6f6e2d4578697374656e7420417373657400604482015260640161066a565b60008281526011602052604090208054610fbc9061273b565b9050600003610fd6576000610fcf61185d565b9392505050565b60008281526011602052604090208054610fef9061273b565b80601f016020809104026020016040519081016040528092919081815260200182805461101b9061273b565b80156110685780601f1061103d57610100808354040283529160200191611068565b820191906000526020600020905b81548152906001019060200180831161104b57829003601f168201915b50505050509050919050565b600e8054610dd69061273b565b6010546000906001600160a01b0316636d70f7ae61109e8461097e565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156110e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061110691906126ef565b6111455760405162461bcd60e51b815260206004820152601060248201526f2bb937b7339039b4b3b730ba3ab9329760811b604482015260640161066a565b600a54156111975781353410156111975760405162461bcd60e51b81526020600482015260166024820152752737ba1022b737bab3b41032ba3432b91039b2b73a1760511b604482015260640161066a565b600b80549060006111a783612722565b9091555050600b546111b933826112f2565b611204816111ca60208601866127c2565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061130c92505050565b60105460408051633955348d60e21b815290516000926001600160a01b03169163e554d2349160048083019260209291908290030181865afa15801561124e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112729190612981565b90506112803382843461186c565b33827fdb2bfbc11c8a6350afe6406725431235c99ed05824d40daee07eae3d1fafb70b6112b060208801886127c2565b6040516112be92919061299e565b60405180910390a35092915050565b60006001600160e01b0319821663780e9d6360e01b1480610593575061059382611968565b610c668282604051806020016040528060008152506119b8565b6000828152600260205260409020546001600160a01b03166113705760405162461bcd60e51b815260206004820152601f60248201527f457465726e616c536f756c3a204e6f6e2d4578697374656e7420417373657400604482015260640161066a565b60008281526011602052604090206108b182826128c1565b6000818152600260205260409020546001600160a01b03166113e75760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161066a565b50565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061141f82610c6a565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061146483610c6a565b9050806001600160a01b0316846001600160a01b031614806114ab57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b80610a545750836001600160a01b03166114c48461077a565b6001600160a01b031614949350505050565b826001600160a01b03166114e982610c6a565b6001600160a01b03161461150f5760405162461bcd60e51b815260040161066a906129cd565b6001600160a01b0382166115715760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161066a565b61157e83838360016119eb565b826001600160a01b031661159182610c6a565b6001600160a01b0316146115b75760405162461bcd60e51b815260040161066a906129cd565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000610593611654611a72565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b60008060006116a48585611b99565b915091506116b181611bde565b509392505050565b60006116c482610c6a565b90506116d48160008460016119eb565b6116dd82610c6a565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b816001600160a01b0316836001600160a01b0316036117bd5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161066a565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6118358484846114d6565b61184184848484611d28565b610f365760405162461bcd60e51b815260040161066a90612a12565b6060600d80546106f79061273b565b6000836001600160a01b03168260405160006040518083038185875af1925050503d80600081146118b9576040519150601f19603f3d011682016040523d82523d6000602084013e6118be565b606091505b505090508061190f5760405162461bcd60e51b815260206004820152601c60248201527f457465726e616c536f756c3a205472616e73666572206661696c656400000000604482015260640161066a565b604080516001600160a01b03808816825286166020820152908101849052606081018390527faeadc2c673108f922a1042ef404b73ae1af992c9ae54249a4a7d13ef21ef2c189060800160405180910390a15050505050565b60006001600160e01b031982166380ac58cd60e01b148061199957506001600160e01b03198216635b5e139f60e01b145b8061059357506301ffc9a760e01b6001600160e01b0319831614610593565b6119c28383611e29565b6119cf6000848484611d28565b6108b15760405162461bcd60e51b815260040161066a90612a12565b6001600160a01b0384161580611a0857506001600160a01b038316155b611a665760405162461bcd60e51b815260206004820152602960248201527f457465726e616c536f756c203a2041737365742063616e6e6f74206265207472604482015268185b9cd9995c9c995960ba1b606482015260840161066a565b610f3684848484611fc2565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015611acb57507f000000000000000000000000000000000000000000000000000000000000000046145b15611af557507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6000808251604103611bcf5760208301516040840151606085015160001a611bc3878285856120f6565b94509450505050611bd7565b506000905060025b9250929050565b6000816004811115611bf257611bf2612a64565b03611bfa5750565b6001816004811115611c0e57611c0e612a64565b03611c5b5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161066a565b6002816004811115611c6f57611c6f612a64565b03611cbc5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161066a565b6003816004811115611cd057611cd0612a64565b036113e75760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840161066a565b60006001600160a01b0384163b15611e1e57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611d6c903390899088908890600401612a7a565b6020604051808303816000875af1925050508015611da7575060408051601f3d908101601f19168201909252611da491810190612ab7565b60015b611e04573d808015611dd5576040519150601f19603f3d011682016040523d82523d6000602084013e611dda565b606091505b508051600003611dfc5760405162461bcd60e51b815260040161066a90612a12565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610a54565b506001949350505050565b6001600160a01b038216611e7f5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161066a565b6000818152600260205260409020546001600160a01b031615611ee45760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161066a565b611ef26000838360016119eb565b6000818152600260205260409020546001600160a01b031615611f575760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161066a565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60018111156120315760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b606482015260840161066a565b816001600160a01b03851661208d5761208881600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b6120b0565b836001600160a01b0316856001600160a01b0316146120b0576120b085826121ba565b6001600160a01b0384166120cc576120c781612257565b6120ef565b846001600160a01b0316846001600160a01b0316146120ef576120ef8482612306565b5050505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561212d57506000905060036121b1565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612181573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166121aa576000600192509250506121b1565b9150600090505b94509492505050565b600060016121c784610e57565b6121d19190612ad4565b600083815260076020526040902054909150808214612224576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b60085460009061226990600190612ad4565b6000838152600960205260408120546008805493945090928490811061229157612291612819565b9060005260206000200154905080600883815481106122b2576122b2612819565b60009182526020808320909101929092558281526009909152604080822084905585825281205560088054806122ea576122ea612ae7565b6001900381819060005260206000200160009055905550505050565b600061231183610e57565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b6001600160e01b0319811681146113e757600080fd5b60006020828403121561237257600080fd5b8135610fcf8161234a565b6001600160a01b03811681146113e757600080fd5b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156123c3576123c3612392565b604051601f8501601f19908116603f011681019082821181831017156123eb576123eb612392565b8160405280935085815286868601111561240457600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261242f57600080fd5b610fcf838335602085016123a8565b6000806040838503121561245157600080fd5b823561245c8161237d565b9150602083013567ffffffffffffffff81111561247857600080fd5b6124848582860161241e565b9150509250929050565b6000815180845260005b818110156124b457602081850181015186830182015201612498565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610fcf602083018461248e565b6000602082840312156124f957600080fd5b5035919050565b6000806040838503121561251357600080fd5b823561251e8161237d565b946020939093013593505050565b60008060006060848603121561254157600080fd5b833561254c8161237d565b9250602084013561255c8161237d565b929592945050506040919091013590565b60006020828403121561257f57600080fd5b813567ffffffffffffffff81111561259657600080fd5b820160608185031215610fcf57600080fd5b6000602082840312156125ba57600080fd5b813567ffffffffffffffff8111156125d157600080fd5b610a548482850161241e565b6000602082840312156125ef57600080fd5b8135610fcf8161237d565b80151581146113e757600080fd5b6000806040838503121561261b57600080fd5b82356126268161237d565b91506020830135612636816125fa565b809150509250929050565b6000806000806080858703121561265757600080fd5b84356126628161237d565b935060208501356126728161237d565b925060408501359150606085013567ffffffffffffffff81111561269557600080fd5b8501601f810187136126a657600080fd5b6126b5878235602084016123a8565b91505092959194509250565b600080604083850312156126d457600080fd5b82356126df8161237d565b915060208301356126368161237d565b60006020828403121561270157600080fd5b8151610fcf816125fa565b634e487b7160e01b600052601160045260246000fd5b6000600182016127345761273461270c565b5060010190565b600181811c9082168061274f57607f821691505b60208210810361276f57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b6000808335601e198436030181126127d957600080fd5b83018035915067ffffffffffffffff8211156127f457600080fd5b602001915036819003821315611bd757600080fd5b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b60208082526024908201527f457465726e616c536f756c3a2055736572206973206e6f7420617574686f726960408201526303d32b2160e51b606082015260800190565b601f8211156108b157600081815260208120601f850160051c8101602086101561289a5750805b601f850160051c820191505b818110156128b9578281556001016128a6565b505050505050565b815167ffffffffffffffff8111156128db576128db612392565b6128ef816128e9845461273b565b84612873565b602080601f831160018114612924576000841561290c5750858301515b600019600386901b1c1916600185901b1785556128b9565b600085815260208120601f198616915b8281101561295357888601518255948401946001909101908401612934565b50858210156129715787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561299357600080fd5b8151610fcf8161237d565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612aad9083018461248e565b9695505050505050565b600060208284031215612ac957600080fd5b8151610fcf8161234a565b818103818111156105935761059361270c565b634e487b7160e01b600052603160045260246000fdfea264697066735822122066dad26f01da1e081b4dc128cd1f79891b9501fc7035d4e0245601ab4847a3c264736f6c63430008110033"; + "0x61016060405234801562000011575f80fd5b5060405162002d5b38038062002d5b8339810160408190526200003491620002da565b838388885f62000045838262000457565b50600162000054828262000457565b50620000669150839050600a62000175565b610120526200007781600b62000175565b61014052815160208084019190912060e052815190820120610100524660a0526200010460e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c052600f6200011b868262000457565b50601280546001600160a01b0383166001600160a01b03199182168117909255600e80549091169091179055601062000155858262000457565b50601162000164848262000457565b5050600c55506200057b9350505050565b5f60208351101562000194576200018c83620001ad565b9050620001a7565b81620001a1848262000457565b5060ff90505b92915050565b5f80829050601f81511115620001e3578260405163305a27a960e01b8152600401620001da919062000523565b60405180910390fd5b8051620001f08262000557565b179392505050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015620002285781810151838201526020016200020e565b50505f910152565b5f82601f83011262000240575f80fd5b81516001600160401b03808211156200025d576200025d620001f8565b604051601f8301601f19908116603f01168101908282118183101715620002885762000288620001f8565b81604052838152866020858801011115620002a1575f80fd5b620002b48460208301602089016200020c565b9695505050505050565b80516001600160a01b0381168114620002d5575f80fd5b919050565b5f805f805f805f60e0888a031215620002f1575f80fd5b87516001600160401b038082111562000308575f80fd5b620003168b838c0162000230565b985060208a01519150808211156200032c575f80fd5b6200033a8b838c0162000230565b975060408a015191508082111562000350575f80fd5b6200035e8b838c0162000230565b965060608a015191508082111562000374575f80fd5b620003828b838c0162000230565b955060808a015191508082111562000398575f80fd5b50620003a78a828b0162000230565b93505060a08801519150620003bf60c08901620002be565b905092959891949750929550565b600181811c90821680620003e257607f821691505b6020821081036200040157634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200045257805f5260205f20601f840160051c810160208510156200042e5750805b601f840160051c820191505b818110156200044f575f81556001016200043a565b50505b505050565b81516001600160401b03811115620004735762000473620001f8565b6200048b81620004848454620003cd565b8462000407565b602080601f831160018114620004c1575f8415620004a95750858301515b5f19600386901b1c1916600185901b1785556200051b565b5f85815260208120601f198616915b82811015620004f157888601518255948401946001909101908401620004d0565b50858210156200050f57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b602081525f8251806020840152620005438160408501602087016200020c565b601f01601f19169190910160400192915050565b8051602080830151919081101562000401575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161278e620005cd5f395f6113d901525f6113a701525f6119d701525f6119af01525f61190a01525f61193401525f61195e015261278e5ff3fe6080604052600436106101c5575f3560e01c806355f804b3116100f257806395d89b4111610092578063c87b56dd11610062578063c87b56dd14610507578063e3faad9414610526578063e985e9c51461053a578063f26d66c014610559575f80fd5b806395d89b41146104a1578063a22cb465146104b5578063a4157296146104d4578063b88d4fde146104e8575f80fd5b80636c0360eb116100cd5780636c0360eb1461042857806370a082311461043c57806381530b681461045b57806384b0196e1461047a575f80fd5b806355f804b3146103cb5780636352211e146103ea5780636771309b14610409575f80fd5b806318160ddd1161016857806342842e0e1161013857806342842e0e14610348578063474c1520146103675780634f6ccce71461038657806354fd4d50146103a5575f80fd5b806318160ddd146102d757806323b872dd146102eb5780632f745c591461030a5780633a61d52c14610329575f80fd5b8063081812fc116101a3578063081812fc1461024b578063095ea7b3146102825780630aa7c854146102a35780630d39fc81146102c2575f80fd5b806301ffc9a7146101c957806304b444d9146101fd57806306fdde031461022a575b5f80fd5b3480156101d4575f80fd5b506101e86101e336600461204e565b61056c565b60405190151581526020015b60405180910390f35b348015610208575f80fd5b5061021c610217366004612122565b61057c565b6040519081526020016101f4565b348015610235575f80fd5b5061023e6106c7565b6040516101f491906121b2565b348015610256575f80fd5b5061026a6102653660046121c4565b610756565b6040516001600160a01b0390911681526020016101f4565b34801561028d575f80fd5b506102a161029c3660046121db565b61077d565b005b3480156102ae575f80fd5b50600e5461026a906001600160a01b031681565b3480156102cd575f80fd5b5061021c600c5481565b3480156102e2575f80fd5b5060085461021c565b3480156102f6575f80fd5b506102a1610305366004612205565b61078c565b348015610315575f80fd5b5061021c6103243660046121db565b610815565b348015610334575f80fd5b5061026a610343366004612243565b610878565b348015610353575f80fd5b506102a1610362366004612205565b610953565b348015610372575f80fd5b506102a16103813660046121c4565b610972565b348015610391575f80fd5b5061021c6103a03660046121c4565b610a45565b3480156103b0575f80fd5b506103b9600181565b60405160ff90911681526020016101f4565b3480156103d6575f80fd5b506102a16103e536600461227a565b610a9a565b3480156103f5575f80fd5b5061026a6104043660046121c4565b610b3a565b348015610414575f80fd5b5061021c610423366004612122565b610b44565b348015610433575f80fd5b5061023e610c3f565b348015610447575f80fd5b5061021c6104563660046122ac565b610ccb565b348015610466575f80fd5b506102a16104753660046121c4565b600c55565b348015610485575f80fd5b5061048e610d10565b6040516101f497969594939291906122c7565b3480156104ac575f80fd5b5061023e610d52565b3480156104c0575f80fd5b506102a16104cf36600461236b565b610d61565b3480156104df575f80fd5b5061023e610d6c565b3480156104f3575f80fd5b506102a16105023660046123a2565b610d79565b348015610512575f80fd5b5061023e6105213660046121c4565b610d90565b348015610531575f80fd5b5061023e610ebd565b348015610545575f80fd5b506101e861055436600461241d565b610eca565b61021c610567366004612243565b610ef7565b5f6105768261113b565b92915050565b6012545f906001600160a01b031663efd46065336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156105d2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105f69190612449565b6106535760405162461bcd60e51b815260206004820152602360248201527f457465726e616c536f756c3a2055736572206973206e6f7420617574686f72696044820152621e995960ea1b60648201526084015b60405180910390fd5b600d8054905f61066283612478565b9091555050600d54610674848261115f565b61067e8184611178565b336001600160a01b0316817fdb2bfbc11c8a6350afe6406725431235c99ed05824d40daee07eae3d1fafb70b856040516106b891906121b2565b60405180910390a39392505050565b60605f80546106d590612490565b80601f016020809104026020016040519081016040528092919081815260200182805461070190612490565b801561074c5780601f106107235761010080835404028352916020019161074c565b820191905f5260205f20905b81548152906001019060200180831161072f57829003601f168201915b5050505050905090565b5f610760826111ef565b505f828152600460205260409020546001600160a01b0316610576565b610788828233611227565b5050565b6001600160a01b0382166107b557604051633250574960e11b81525f600482015260240161064a565b5f6107c1838333611234565b9050836001600160a01b0316816001600160a01b03161461080f576040516364283d7b60e01b81526001600160a01b038086166004830152602482018490528216604482015260640161064a565b50505050565b5f61081f83610ccb565b82106108505760405163295f44f760e21b81526001600160a01b03841660048201526024810183905260440161064a565b506001600160a01b03919091165f908152600660209081526040808320938352929052205490565b5f806108fe7f6a50cd13df4d49c839384eb15944b5713af5a276ddb78e79557d1798dbca09fa84356108ad60208701876124c8565b6040516108bb929190612512565b6040519081900381206108e39392916020019283526020830191909152604082015260600190565b604051602081830303815290604052805190602001206112b3565b90505f61094b8261091260408701876124c8565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506112df92505050565b949350505050565b61096d83838360405180602001604052805f815250610d79565b505050565b5f81815260026020526040902054610994906001600160a01b03163383611307565b6109fb5760405162461bcd60e51b815260206004820152603260248201527f457465726e616c536f756c3a2043616c6c6572206973206e6f7420746f6b656e604482015271081bdddb995c881bdc88185c1c1c9bdd995960721b606482015260840161064a565b610a0481611368565b807fc3a3686eed3b315ba4f3b1a0bf88b63a4525e3f27314495ba7dc0a40a6c4cd90336040516001600160a01b03909116815260200160405180910390a250565b5f610a4f60085490565b8210610a775760405163295f44f760e21b81525f60048201526024810183905260440161064a565b60088281548110610a8a57610a8a612521565b905f5260205f2001549050919050565b6012546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610aee573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b129190612449565b610b2e5760405162461bcd60e51b815260040161064a90612535565b600f61078882826125bd565b5f610576826111ef565b6012545f906001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610b9a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bbe9190612449565b610bda5760405162461bcd60e51b815260040161064a90612535565b600d8054905f610be983612478565b9091555050600d54610bfb848261115f565b610c058184611178565b836001600160a01b0316817fdb2bfbc11c8a6350afe6406725431235c99ed05824d40daee07eae3d1fafb70b856040516106b891906121b2565b600f8054610c4c90612490565b80601f0160208091040260200160405190810160405280929190818152602001828054610c7890612490565b8015610cc35780601f10610c9a57610100808354040283529160200191610cc3565b820191905f5260205f20905b815481529060010190602001808311610ca657829003601f168201915b505050505081565b5f6001600160a01b038216610cf5576040516322718ad960e21b81525f600482015260240161064a565b506001600160a01b03165f9081526003602052604090205490565b5f6060805f805f6060610d216113a0565b610d296113d2565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6060600180546106d590612490565b6107883383836113ff565b60118054610c4c90612490565b610d8484848461078c565b61080f8484848461149d565b606033610d9c836111ef565b6001600160a01b031614610df25760405162461bcd60e51b815260206004820152601f60248201527f457465726e616c536f756c3a204e6f6e2d4578697374656e7420417373657400604482015260640161064a565b5f8281526013602052604090208054610e0a90612490565b90505f03610e22575f610e1b6115c3565b9392505050565b5f8281526013602052604090208054610e3a90612490565b80601f0160208091040260200160405190810160405280929190818152602001828054610e6690612490565b8015610eb15780601f10610e8857610100808354040283529160200191610eb1565b820191905f5260205f20905b815481529060010190602001808311610e9457829003601f168201915b50505050509050919050565b60108054610c4c90612490565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205460ff1690565b6012545f906001600160a01b0316636d70f7ae610f1384610878565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610f55573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f799190612449565b610fb85760405162461bcd60e51b815260206004820152601060248201526f2bb937b7339039b4b3b730ba3ab9329760811b604482015260640161064a565b600c541561100a57813534101561100a5760405162461bcd60e51b81526020600482015260166024820152752737ba1022b737bab3b41032ba3432b91039b2b73a1760511b604482015260640161064a565b600d8054905f61101983612478565b9091555050600d5461102b338261115f565b6110758161103c60208601866124c8565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061117892505050565b60125460408051633955348d60e21b815290515f926001600160a01b03169163e554d2349160048083019260209291908290030181865afa1580156110bc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110e0919061267d565b90506110ee338284346115d2565b33827fdb2bfbc11c8a6350afe6406725431235c99ed05824d40daee07eae3d1fafb70b61111e60208801886124c8565b60405161112c929190612698565b60405180910390a35092915050565b5f6001600160e01b0319821663780e9d6360e01b14806105765750610576826116ca565b610788828260405180602001604052805f815250611719565b33611182836111ef565b6001600160a01b0316146111d85760405162461bcd60e51b815260206004820152601f60248201527f457465726e616c536f756c3a204e6f6e2d4578697374656e7420417373657400604482015260640161064a565b5f82815260136020526040902061096d82826125bd565b5f818152600260205260408120546001600160a01b03168061057657604051637e27328960e01b81526004810184905260240161064a565b61096d838383600161172f565b5f6001600160a01b0384161561129e5760405162461bcd60e51b815260206004820152602960248201527f457465726e616c536f756c203a2041737365742063616e6e6f74206265207472604482015268185b9cd9995c9c995960ba1b606482015260840161064a565b5f6112aa858585611833565b95945050505050565b5f6105766112bf6118fe565b8360405161190160f01b8152600281019290925260228201526042902090565b5f805f806112ed8686611a27565b9250925092506112fd8282611a70565b5090949350505050565b5f6001600160a01b0383161580159061094b5750826001600160a01b0316846001600160a01b0316148061134057506113408484610eca565b8061094b5750505f908152600460205260409020546001600160a01b03908116911614919050565b5f6113745f835f611234565b90506001600160a01b03811661078857604051637e27328960e01b81526004810183905260240161064a565b60606113cd7f0000000000000000000000000000000000000000000000000000000000000000600a611b28565b905090565b60606113cd7f0000000000000000000000000000000000000000000000000000000000000000600b611b28565b6001600160a01b03821661143157604051630b61174360e31b81526001600160a01b038316600482015260240161064a565b6001600160a01b038381165f81815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0383163b1561080f57604051630a85bd0160e11b81526001600160a01b0384169063150b7a02906114df9033908890879087906004016126c6565b6020604051808303815f875af1925050508015611519575060408051601f3d908101601f1916820190925261151691810190612702565b60015b611580573d808015611546576040519150601f19603f3d011682016040523d82523d5f602084013e61154b565b606091505b5080515f0361157857604051633250574960e11b81526001600160a01b038516600482015260240161064a565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b146115bc57604051633250574960e11b81526001600160a01b038516600482015260240161064a565b5050505050565b6060600f80546106d590612490565b5f836001600160a01b0316826040515f6040518083038185875af1925050503d805f811461161b576040519150601f19603f3d011682016040523d82523d5f602084013e611620565b606091505b50509050806116715760405162461bcd60e51b815260206004820152601c60248201527f457465726e616c536f756c3a205472616e73666572206661696c656400000000604482015260640161064a565b604080516001600160a01b03808816825286166020820152908101849052606081018390527faeadc2c673108f922a1042ef404b73ae1af992c9ae54249a4a7d13ef21ef2c189060800160405180910390a15050505050565b5f6001600160e01b031982166380ac58cd60e01b14806116fa57506001600160e01b03198216635b5e139f60e01b145b8061057657506301ffc9a760e01b6001600160e01b0319831614610576565b6117238383611bd1565b61096d5f84848461149d565b808061174357506001600160a01b03821615155b15611804575f611752846111ef565b90506001600160a01b0383161580159061177e5750826001600160a01b0316816001600160a01b031614155b8015611791575061178f8184610eca565b155b156117ba5760405163a9fbf51f60e01b81526001600160a01b038416600482015260240161064a565b81156118025783856001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b50505f90815260046020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b5f80611840858585611c32565b90506001600160a01b03811661189c5761189784600880545f838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b6118bf565b846001600160a01b0316816001600160a01b0316146118bf576118bf8185611d24565b6001600160a01b0385166118db576118d684611db1565b61094b565b846001600160a01b0316816001600160a01b03161461094b5761094b8585611e58565b5f306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561195657507f000000000000000000000000000000000000000000000000000000000000000046145b1561198057507f000000000000000000000000000000000000000000000000000000000000000090565b6113cd604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b5f805f8351604103611a5e576020840151604085015160608601515f1a611a5088828585611ea6565b955095509550505050611a69565b505081515f91506002905b9250925092565b5f826003811115611a8357611a8361271d565b03611a8c575050565b6001826003811115611aa057611aa061271d565b03611abe5760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115611ad257611ad261271d565b03611af35760405163fce698f760e01b81526004810182905260240161064a565b6003826003811115611b0757611b0761271d565b03610788576040516335e2f38360e21b81526004810182905260240161064a565b606060ff8314611b4257611b3b83611f6e565b9050610576565b818054611b4e90612490565b80601f0160208091040260200160405190810160405280929190818152602001828054611b7a90612490565b8015611bc55780601f10611b9c57610100808354040283529160200191611bc5565b820191905f5260205f20905b815481529060010190602001808311611ba857829003601f168201915b50505050509050610576565b6001600160a01b038216611bfa57604051633250574960e11b81525f600482015260240161064a565b5f611c0683835f611234565b90506001600160a01b0381161561096d576040516339e3563760e11b81525f600482015260240161064a565b5f828152600260205260408120546001600160a01b0390811690831615611c5e57611c5e818486611fab565b6001600160a01b03811615611c9857611c795f855f8061172f565b6001600160a01b0381165f90815260036020526040902080545f190190555b6001600160a01b03851615611cc6576001600160a01b0385165f908152600360205260409020805460010190555b5f8481526002602052604080822080546001600160a01b0319166001600160a01b0389811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b5f611d2e83610ccb565b5f83815260076020526040902054909150808214611d7f576001600160a01b0384165f9081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b505f9182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b6008545f90611dc290600190612731565b5f8381526009602052604081205460088054939450909284908110611de957611de9612521565b905f5260205f20015490508060088381548110611e0857611e08612521565b5f918252602080832090910192909255828152600990915260408082208490558582528120556008805480611e3f57611e3f612744565b600190038181905f5260205f20015f9055905550505050565b5f6001611e6484610ccb565b611e6e9190612731565b6001600160a01b039093165f908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115611edf57505f91506003905082611f64565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015611f30573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116611f5b57505f925060019150829050611f64565b92505f91508190505b9450945094915050565b60605f611f7a8361200f565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b611fb6838383611307565b61096d576001600160a01b038316611fe457604051637e27328960e01b81526004810182905260240161064a565b60405163177e802f60e01b81526001600160a01b03831660048201526024810182905260440161064a565b5f60ff8216601f81111561057657604051632cd44ac360e21b815260040160405180910390fd5b6001600160e01b03198116811461204b575f80fd5b50565b5f6020828403121561205e575f80fd5b8135610e1b81612036565b6001600160a01b038116811461204b575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f67ffffffffffffffff808411156120ab576120ab61207d565b604051601f8501601f19908116603f011681019082821181831017156120d3576120d361207d565b816040528093508581528686860111156120eb575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112612113575f80fd5b610e1b83833560208501612091565b5f8060408385031215612133575f80fd5b823561213e81612069565b9150602083013567ffffffffffffffff811115612159575f80fd5b61216585828601612104565b9150509250929050565b5f81518084525f5b8181101561219357602081850181015186830182015201612177565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f610e1b602083018461216f565b5f602082840312156121d4575f80fd5b5035919050565b5f80604083850312156121ec575f80fd5b82356121f781612069565b946020939093013593505050565b5f805f60608486031215612217575f80fd5b833561222281612069565b9250602084013561223281612069565b929592945050506040919091013590565b5f60208284031215612253575f80fd5b813567ffffffffffffffff811115612269575f80fd5b820160608185031215610e1b575f80fd5b5f6020828403121561228a575f80fd5b813567ffffffffffffffff8111156122a0575f80fd5b61094b84828501612104565b5f602082840312156122bc575f80fd5b8135610e1b81612069565b60ff60f81b881681525f602060e060208401526122e760e084018a61216f565b83810360408501526122f9818a61216f565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825260208088019350909101905f5b8181101561234c57835183529284019291840191600101612330565b50909c9b505050505050505050505050565b801515811461204b575f80fd5b5f806040838503121561237c575f80fd5b823561238781612069565b915060208301356123978161235e565b809150509250929050565b5f805f80608085870312156123b5575f80fd5b84356123c081612069565b935060208501356123d081612069565b925060408501359150606085013567ffffffffffffffff8111156123f2575f80fd5b8501601f81018713612402575f80fd5b61241187823560208401612091565b91505092959194509250565b5f806040838503121561242e575f80fd5b823561243981612069565b9150602083013561239781612069565b5f60208284031215612459575f80fd5b8151610e1b8161235e565b634e487b7160e01b5f52601160045260245ffd5b5f6001820161248957612489612464565b5060010190565b600181811c908216806124a457607f821691505b6020821081036124c257634e487b7160e01b5f52602260045260245ffd5b50919050565b5f808335601e198436030181126124dd575f80fd5b83018035915067ffffffffffffffff8211156124f7575f80fd5b60200191503681900382131561250b575f80fd5b9250929050565b818382375f9101908152919050565b634e487b7160e01b5f52603260045260245ffd5b60208082526024908201527f457465726e616c536f756c3a2055736572206973206e6f7420617574686f726960408201526303d32b2160e51b606082015260800190565b601f82111561096d57805f5260205f20601f840160051c8101602085101561259e5750805b601f840160051c820191505b818110156115bc575f81556001016125aa565b815167ffffffffffffffff8111156125d7576125d761207d565b6125eb816125e58454612490565b84612579565b602080601f83116001811461261e575f84156126075750858301515b5f19600386901b1c1916600185901b178555612675565b5f85815260208120601f198616915b8281101561264c5788860151825594840194600190910190840161262d565b508582101561266957878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f6020828403121561268d575f80fd5b8151610e1b81612069565b60208152816020820152818360408301375f818301604090810191909152601f909201601f19160101919050565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f906126f89083018461216f565b9695505050505050565b5f60208284031215612712575f80fd5b8151610e1b81612036565b634e487b7160e01b5f52602160045260245ffd5b8181038181111561057657610576612464565b634e487b7160e01b5f52603160045260245ffdfea2646970667358221220a3882c0b8304d938cb19b83492b5018cf2d52824e966ab46a11d6a0fe32a67e864736f6c63430008180033"; type EternalSoulConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/EternumPass__factory.ts b/typechain-types/factories/EternumPass__factory.ts index 063d74f..b8d7811 100644 --- a/typechain-types/factories/EternumPass__factory.ts +++ b/typechain-types/factories/EternumPass__factory.ts @@ -64,6 +64,194 @@ const _abi = [ stateMutability: "nonpayable", type: "constructor", }, + { + inputs: [ + { + internalType: "uint256", + name: "numerator", + type: "uint256", + }, + { + internalType: "uint256", + name: "denominator", + type: "uint256", + }, + ], + name: "ERC2981InvalidDefaultRoyalty", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC2981InvalidDefaultRoyaltyReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "uint256", + name: "numerator", + type: "uint256", + }, + { + internalType: "uint256", + name: "denominator", + type: "uint256", + }, + ], + name: "ERC2981InvalidTokenRoyalty", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC2981InvalidTokenRoyaltyReceiver", + type: "error", + }, + { + inputs: [], + name: "ERC721EnumerableForbiddenBatchMint", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "ERC721IncorrectOwner", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "ERC721InsufficientApproval", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address", + }, + ], + name: "ERC721InvalidApprover", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + ], + name: "ERC721InvalidOperator", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "ERC721InvalidOwner", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC721InvalidReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ERC721InvalidSender", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "ERC721NonexistentToken", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "uint256", + name: "index", + type: "uint256", + }, + ], + name: "ERC721OutOfBoundsIndex", + type: "error", + }, { anonymous: false, inputs: [ @@ -671,12 +859,12 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "_tokenId", + name: "tokenId", type: "uint256", }, { internalType: "uint256", - name: "_salePrice", + name: "salePrice", type: "uint256", }, ], @@ -926,19 +1114,6 @@ const _abi = [ stateMutability: "view", type: "function", }, - { - inputs: [], - name: "timeStamp", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, { inputs: [ { @@ -1124,7 +1299,7 @@ const _abi = [ ]; const _bytecode = - "0x6080604052600c805460ff191660011790553480156200001e57600080fd5b506040516200417d3803806200417d8339810160408190526200004191620002f0565b8888600262000051838262000466565b50600362000060828262000466565b5050601880546001600160a01b0319166001600160a01b0385161790555060116200008c888262000466565b50600d869055600e859055600f849055620000a83384620000f1565b601280546001600160a01b039283166001600160a01b03199182161790915560188054939092169281168317909155601380549091169091179055506200053295505050505050565b6127106001600160601b0382161115620001655760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646044820152692073616c65507269636560b01b60648201526084015b60405180910390fd5b6001600160a01b038216620001bd5760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c69642072656365697665720000000000000060448201526064016200015c565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600055565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200021e57600080fd5b81516001600160401b03808211156200023b576200023b620001f6565b604051601f8301601f19908116603f01168101908282118183101715620002665762000266620001f6565b816040528381526020925086838588010111156200028357600080fd5b600091505b83821015620002a7578582018301518183018401529082019062000288565b600093810190920192909252949350505050565b80516001600160601b0381168114620002d357600080fd5b919050565b80516001600160a01b0381168114620002d357600080fd5b60008060008060008060008060006101208a8c0312156200031057600080fd5b89516001600160401b03808211156200032857600080fd5b620003368d838e016200020c565b9a5060208c01519150808211156200034d57600080fd5b6200035b8d838e016200020c565b995060408c01519150808211156200037257600080fd5b50620003818c828d016200020c565b97505060608a0151955060808a0151945060a08a01519350620003a760c08b01620002bb565b9250620003b760e08b01620002d8565b9150620003c86101008b01620002d8565b90509295985092959850929598565b600181811c90821680620003ec57607f821691505b6020821081036200040d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200046157600081815260208120601f850160051c810160208610156200043c5750805b601f850160051c820191505b818110156200045d5782815560010162000448565b5050505b505050565b81516001600160401b03811115620004825762000482620001f6565b6200049a81620004938454620003d7565b8462000413565b602080601f831160018114620004d25760008415620004b95750858301515b600019600386901b1c1916600185901b1785556200045d565b600085815260208120601f198616915b828110156200050357888601518255948401946001909101908401620004e2565b5085821015620005225787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b613c3b80620005426000396000f3fe6080604052600436106102935760003560e01c8063659e2aef1161015a57806398bdf6f5116100c1578063c2f1f14a1161007a578063c2f1f14a146107e7578063c87b56dd14610807578063cde317af14610827578063d5999a5c14610847578063e030565e1461085e578063e985e9c51461087e57600080fd5b806398bdf6f5146107455780639b6860c81461075b578063a22cb46514610771578063a518f3dd14610791578063b88d4fde146107a7578063ba91caae146107c757600080fd5b80638456cb59116101135780638456cb59146106965780638f449a05146106ab5780638fc88c48146106b35780639012c4a8146106f057806391b7f5ed1461071057806395d89b411461073057600080fd5b8063659e2aef146106015780636c0360eb1461062157806370a0823114610636578063776ce86814610656578063783a112b146106695780637e4831d31461067c57600080fd5b806321235083116101fe57806342842e0e116101b757806342842e0e1461053a5780634f6ccce71461055a57806354fd4d501461057a57806355f804b3146105a15780636352211e146105c1578063655bc8db146105e157600080fd5b8063212350831461047357806323b872dd146104865780632a55205a146104a65780632f745c59146104e55780633171f5b0146105055780633f4ba83a1461052557600080fd5b80630ab0df87116102505780630ab0df871461038d578063112f9024146103a0578063162094c4146103c057806317c95709146103e057806318160ddd1461042e578063210542c71461044357600080fd5b806301ffc9a714610298578063022b50c0146102cd57806306fdde03146102f1578063081812fc14610313578063095ea7b31461034b5780630aa7c8541461036d575b600080fd5b3480156102a457600080fd5b506102b86102b3366004613344565b6108c7565b60405190151581526020015b60405180910390f35b3480156102d957600080fd5b506102e3600f5481565b6040519081526020016102c4565b3480156102fd57600080fd5b50610306610938565b6040516102c491906133b8565b34801561031f57600080fd5b5061033361032e3660046133cb565b6109ca565b6040516001600160a01b0390911681526020016102c4565b34801561035757600080fd5b5061036b6103663660046133f9565b6109f1565b005b34801561037957600080fd5b50601354610333906001600160a01b031681565b34801561039957600080fd5b50426102e3565b3480156103ac57600080fd5b5061036b6103bb3660046133cb565b610b0b565b3480156103cc57600080fd5b5061036b6103db3660046134d0565b610ba6565b3480156103ec57600080fd5b506104166103fb3660046133cb565b6000908152601560205260409020546001600160401b031690565b6040516001600160401b0390911681526020016102c4565b34801561043a57600080fd5b50600a546102e3565b34801561044f57600080fd5b506102b861045e3660046133cb565b60166020526000908152604090205460ff1681565b61036b6104813660046133cb565b610c54565b34801561049257600080fd5b5061036b6104a1366004613516565b610f2c565b3480156104b257600080fd5b506104c66104c1366004613557565b610f5e565b604080516001600160a01b0390931683526020830191909152016102c4565b3480156104f157600080fd5b506102e36105003660046133f9565b61100a565b34801561051157600080fd5b506102e3610520366004613579565b6110a0565b34801561053157600080fd5b5061036b6111ae565b34801561054657600080fd5b5061036b610555366004613516565b611250565b34801561056657600080fd5b506102e36105753660046133cb565b61126b565b34801561058657600080fd5b5061058f600181565b60405160ff90911681526020016102c4565b3480156105ad57600080fd5b5061036b6105bc366004613596565b6112fe565b3480156105cd57600080fd5b506103336105dc3660046133cb565b6113a4565b3480156105ed57600080fd5b5061036b6105fc3660046135d8565b611404565b34801561060d57600080fd5b5061036b61061c3660046133cb565b6114ef565b34801561062d57600080fd5b506103066115a1565b34801561064257600080fd5b506102e3610651366004613579565b61162f565b61036b610664366004613616565b6116b5565b61036b610677366004613557565b611ab2565b34801561068857600080fd5b50600c546102b89060ff1681565b3480156106a257600080fd5b5061036b611e94565b6102e3611f39565b3480156106bf57600080fd5b506102e36106ce3660046133cb565b600090815260146020526040902054600160a81b90046001600160401b031690565b3480156106fc57600080fd5b5061036b61070b3660046133cb565b6120dc565b34801561071c57600080fd5b5061036b61072b3660046133cb565b612177565b34801561073c57600080fd5b50610306612212565b34801561075157600080fd5b506102e360105481565b34801561076757600080fd5b506102e3600d5481565b34801561077d57600080fd5b5061036b61078c366004613642565b612221565b34801561079d57600080fd5b506102e3600e5481565b3480156107b357600080fd5b5061036b6107c236600461367b565b61222c565b3480156107d357600080fd5b506102e36107e2366004613557565b612264565b3480156107f357600080fd5b506103336108023660046133cb565b61228b565b34801561081357600080fd5b506103066108223660046133cb565b6122df565b34801561083357600080fd5b506102b86108423660046133cb565b6123e1565b34801561085357600080fd5b506102e362278d0081565b34801561086a57600080fd5b5061036b6108793660046136fa565b612409565b34801561088a57600080fd5b506102b8610899366004613738565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b6000636ad56fd360e11b6001600160e01b03198316016108e957506001919050565b6314bdb52960e21b6001600160e01b031983160161090957506001919050565b63739a07b360e01b6001600160e01b031983160161092957506001919050565b61093282612583565b92915050565b60606002805461094790613766565b80601f016020809104026020016040519081016040528092919081815260200182805461097390613766565b80156109c05780601f10610995576101008083540402835291602001916109c0565b820191906000526020600020905b8154815290600101906020018083116109a357829003601f168201915b5050505050905090565b60006109d5826125a8565b506000908152600660205260409020546001600160a01b031690565b60006109fc826113a4565b9050806001600160a01b0316836001600160a01b031603610a6e5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b0382161480610a8a5750610a8a8133610899565b610afc5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610a65565b610b0683836125f8565b505050565b6018546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610b61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8591906137a0565b610ba15760405162461bcd60e51b8152600401610a65906137bd565b600f55565b6018546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610bfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2091906137a0565b610c3c5760405162461bcd60e51b8152600401610a65906137bd565b6000828152601760205260409020610b068282613842565b80610c5e81612666565b610caa5760405162461bcd60e51b815260206004820181905260248201527f457465726e756d506173733a204e6f7420612076616c696420746f6b656e49646044820152606401610a65565b6018546000906001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610d03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2791906137a0565b905080610e6357610d39335b84612683565b610d975760405162461bcd60e51b815260206004820152602960248201527f457465726e756d506173733a2043616c6c6572206973206f776e6572206e6f7260448201526808185c1c1c9bdd995960ba1b6064820152608401610a65565b610da0836123e1565b15610dbd5760405162461bcd60e51b8152600401610a6590613901565b60008381526016602052604090205460ff1615610dec5760405162461bcd60e51b8152600401610a6590613946565b60008381526016602090815260408083208054600160ff1990911681179091556015909252808320805467ffffffffffffffff1916426001600160401b0381169190911790915590519192909186917fb83b155d49314a3067fe7919746d542e9559033726537f2a9daa8f63a44dedd091a4505050565b60008381526016602052604081205460ff1615159003610ecc57610e86836123e1565b15610ea35760405162461bcd60e51b8152600401610a6590613901565b6000838152601560205260409020805467ffffffffffffffff1916426001600160401b03161790555b3415610ee657610ee633610edf856113a4565b8534612701565b600083815260166020526040808220805460ff1916905551429085907fb83b155d49314a3067fe7919746d542e9559033726537f2a9daa8f63a44dedd0908490a4505050565b610f37335b82612683565b610f535760405162461bcd60e51b8152600401610a659061398d565b610b068383836127fd565b60008281526001602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b0316928201929092528291610fd35750604080518082019091526000546001600160a01b0381168252600160a01b90046001600160601b031660208201525b602081015160009061271090610ff2906001600160601b0316876139f0565b610ffc9190613a07565b915196919550909350505050565b60006110158361162f565b82106110775760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610a65565b506001600160a01b03919091166000908152600860209081526040808320938352929052205490565b6018546000906001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156110f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111d91906137a0565b6111395760405162461bcd60e51b8152600401610a65906137bd565b6010805490600061114983613a29565b9190505550601054905061115d828261296e565b601254611174906001600160a01b03166001612221565b60405181815233907f0176f203df400d7bd5f1b1c9ef36c16709bf3b5d9fd35f000a6bae32393f66c39060200160405180910390a2919050565b6018546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611204573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061122891906137a0565b6112445760405162461bcd60e51b8152600401610a65906137bd565b600c805460ff19169055565b610b068383836040518060200160405280600081525061222c565b6000611276600a5490565b82106112d95760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608401610a65565b600a82815481106112ec576112ec613a42565b90600052602060002001549050919050565b6018546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611354573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137891906137a0565b6113945760405162461bcd60e51b8152600401610a65906137bd565b60116113a08282613842565b5050565b6000818152600460205260408120546001600160a01b0316806109325760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610a65565b61140d33610d33565b6114745760405162461bcd60e51b815260206004820152603260248201527f457465726e756d506173733a2043616c6c6572206973206e6f7420746f6b656e604482015271081bdddb995c881bdc88185c1c1c9bdd995960721b6064820152608401610a65565b6000838152601460205260409020805460ff1916831515178155600101819055336001600160a01b03167fa9dcc06084f66afbdc1841a28e84400fcbf607131220fdcf404c8502f3c032038484846040516114e2939291909283529015156020830152604082015260600190565b60405180910390a2505050565b6114f833610f31565b61154f5760405162461bcd60e51b815260206004820152602260248201527f457465726e756d506173733a204e6f74204f776e6572204f7220417070726f76604482015261195960f21b6064820152608401610a65565b61155881612988565b60405181815233907f2323944eca282b47450d5a4215add1792fe29eae53a5165998cb00f4c0f665c39060200160405180910390a2600090815260016020526040812055565b50565b601180546115ae90613766565b80601f01602080910402602001604051908101604052809291908181526020018280546115da90613766565b80156116275780601f106115fc57610100808354040283529160200191611627565b820191906000526020600020905b81548152906001019060200180831161160a57829003601f168201915b505050505081565b60006001600160a01b0382166116995760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610a65565b506001600160a01b031660009081526005602052604090205490565b816116bf81612666565b61170b5760405162461bcd60e51b815260206004820181905260248201527f457465726e756d506173733a204e6f7420612076616c696420746f6b656e49646044820152606401610a65565b6018546000906001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611764573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061178891906137a0565b90506117943385612683565b8061179c5750805b61180e5760405162461bcd60e51b815260206004820152603960248201527f457465726e756d506173733a2043616c6c6572206973206f776e6572206e6f7260448201527f20617070726f766564206f7220746865204f70657261746f72000000000000006064820152608401610a65565b60008481526016602052604090205460ff161561183d5760405162461bcd60e51b8152600401610a6590613946565b6000836001600160401b03161180156118605750600c836001600160401b031611155b6118ca5760405162461bcd60e51b815260206004820152603560248201527f457465726e756d506173733a204475726174696f6e206d757374206265206265604482015274747765656e203120746f203132206d6f6e7468732160581b6064820152608401610a65565b60006118e262278d006001600160401b0386166139f0565b90508161195857600f546118ff906001600160401b0386166139f0565b3410156119585760405162461bcd60e51b815260206004820152602160248201527f457465726e756d506173733a20496e73756666696369656e74205061796d656e6044820152601d60fa1b6064820152608401610a65565b60185460408051633955348d60e21b815290516000926001600160a01b03169163e554d2349160048083019260209291908290030181865afa1580156119a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c69190613a58565b90506119d433828834612701565b60006119df876123e1565b15611a1d576119ee8342613a75565b6000888152601560205260409020805467ffffffffffffffff19166001600160401b0383161790559050611a6b565b600087815260156020526040902054611a409084906001600160401b0316613a75565b6000888152601560205260409020805467ffffffffffffffff19166001600160401b03831617905590505b6040516001600160401b038216815287907f2ec2be2c4b90c2cf13ecb6751a24daed6bb741ae5ed3f7371aabf9402f6d62e89060200160405180910390a250505050505050565b611abb82612666565b611b125760405162461bcd60e51b815260206004820152602260248201527f5369676e61747572655365726965733a20496e76616c69646520546f6b656e20604482015261125960f21b6064820152608401610a65565b60008281526014602052604090205460ff16611b7c5760405162461bcd60e51b815260206004820152602360248201527f457465726e756d506173733a204e6f7420617661696c61626c6520666f722072604482015262195b9d60ea1b6064820152608401610a65565b6000611b878361228b565b6001600160a01b031614611be95760405162461bcd60e51b815260206004820152602360248201527f457465726e756d506173733a204e465420416c7265616479205375627363726960448201526218995960ea1b6064820152608401610a65565b60008111611c4d5760405162461bcd60e51b815260206004820152602b60248201527f457465726e756d506173733a2054696d652063616e2774206265206c6573732060448201526a3a3430b71018903437bab960a91b6064820152608401610a65565b6110e0811115611cb55760405162461bcd60e51b815260206004820152602d60248201527f457465726e756d506173733a2054696d652063616e2774206265206d6f72652060448201526c7468616e2036206d6f6e74687360981b6064820152608401610a65565b6000611cc18383612264565b905080341015611d135760405162461bcd60e51b815260206004820152601f60248201527f457465726e756d506173733a20496e73756666696369656e742046756e6473006044820152606401610a65565b60006103e8600e5434611d2691906139f0565b611d309190613a07565b90506000611d3e8234613a88565b9050611d5433611d4d876113a4565b8784612701565b60185460408051633955348d60e21b815290516000926001600160a01b03169163e554d2349160048083019260209291908290030181865afa158015611d9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dc29190613a58565b9050611dd033828886612701565b60008681526014602052604090208054610100600160a81b0319166101003302178155611dff86610e106139f0565b611e099042613a75565b81546001600160401b0391909116600160a81b0267ffffffffffffffff60a81b19909116178155611e373390565b8154604051600160a81b9091046001600160401b031681526001600160a01b03919091169088907f4e06b4e7000e659094299b3533b47b6aa8ad048e95e872d23d1f4ee55af89cfe9060200160405180910390a350505050505050565b6018546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611eea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f0e91906137a0565b611f2a5760405162461bcd60e51b8152600401610a65906137bd565b600c805460ff19166001179055565b600c5460009060ff1615611f8f5760405162461bcd60e51b815260206004820152601f60248201527f457465726e756d506173733a204e4654204d696e74696e6720506175736564006044820152606401610a65565b60108054906000611f9f83613a29565b9091555050601054600d543410156120045760405162461bcd60e51b815260206004820152602260248201527f457465726e756d506173733a20496e7375666669656369656e7420616d6f756e604482015261742160f01b6064820152608401610a65565b61200e338261296e565b601254612025906001600160a01b03166001612221565b60185460408051633955348d60e21b815290516000926001600160a01b03169163e554d2349160048083019260209291908290030181865afa15801561206f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120939190613a58565b90506120a133828434612701565b60405182815233907f0176f203df400d7bd5f1b1c9ef36c16709bf3b5d9fd35f000a6bae32393f66c39060200160405180910390a250905090565b6018546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015612132573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061215691906137a0565b6121725760405162461bcd60e51b8152600401610a65906137bd565b600e55565b6018546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156121cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121f191906137a0565b61220d5760405162461bcd60e51b8152600401610a65906137bd565b600d55565b60606003805461094790613766565b6113a0338383612a2b565b6122363383612683565b6122525760405162461bcd60e51b8152600401610a659061398d565b61225e84848484612af9565b50505050565b60008281526014602052604081206001015481906122839084906139f0565b949350505050565b60008181526014602052604081205442600160a81b9091046001600160401b0316106122d2575060009081526014602052604090205461010090046001600160a01b031690565b506000919050565b919050565b60008181526017602052604090208054606091906122fc90613766565b905060000361234357600061230f612b2c565b90508061231b84612b3b565b60405160200161232c929190613a9b565b604051602081830303815290604052915050919050565b6000828152601760205260409020805461235c90613766565b80601f016020809104026020016040519081016040528092919081815260200182805461238890613766565b80156123d55780601f106123aa576101008083540402835291602001916123d5565b820191906000526020600020905b8154815290600101906020018083116123b857829003601f168201915b50505050509050919050565b600081815260156020526040812054426001600160401b03909116116122d257506001919050565b61241233610d33565b61246f5760405162461bcd60e51b815260206004820152602860248201527f457465726e756d506173733a204e6f7420746f6b656e206f776e6572204f7220604482015267185c1c1c9bdd995960c21b6064820152608401610a65565b600061247a8461228b565b6001600160a01b0316146124e05760405162461bcd60e51b815260206004820152602760248201527f457465726e756d506173733a204974656d20697320616c7265616479207375626044820152661cd8dc9a58995960ca1b6064820152608401610a65565b60008381526014602052604090208054610100600160a81b0319166101006001600160a01b038516021781556125164283613ad7565b815467ffffffffffffffff60a81b1916600160a81b6001600160401b039283160217825560405190831681526001600160a01b0384169085907f4e06b4e7000e659094299b3533b47b6aa8ad048e95e872d23d1f4ee55af89cfe906020015b60405180910390a350505050565b60006001600160e01b0319821663780e9d6360e01b1480610932575061093282612bcd565b6125b181612666565b61159e5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610a65565b600081815260066020526040902080546001600160a01b0319166001600160a01b038416908117909155819061262d826113a4565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000908152600460205260409020546001600160a01b0316151590565b60008061268f836113a4565b9050806001600160a01b0316846001600160a01b031614806126d657506001600160a01b0380821660009081526007602090815260408083209388168352929052205460ff165b806122835750836001600160a01b03166126ef846109ca565b6001600160a01b031614949350505050565b6000836001600160a01b03168260405160006040518083038185875af1925050503d806000811461274e576040519150601f19603f3d011682016040523d82523d6000602084013e612753565b606091505b50509050806127a45760405162461bcd60e51b815260206004820152601c60248201527f457465726e756d506173733a205472616e73666572206661696c6564000000006044820152606401610a65565b604080516001600160a01b03808816825286166020820152908101849052606081018390527faeadc2c673108f922a1042ef404b73ae1af992c9ae54249a4a7d13ef21ef2c189060800160405180910390a15050505050565b826001600160a01b0316612810826113a4565b6001600160a01b0316146128365760405162461bcd60e51b8152600401610a6590613afe565b6001600160a01b0382166128985760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610a65565b6128a58383836001612c0d565b826001600160a01b03166128b8826113a4565b6001600160a01b0316146128de5760405162461bcd60e51b8152600401610a6590613afe565b600081815260066020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260058552838620805460001901905590871680865283862080546001019055868652600490945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6113a0828260405180602001604052806000815250612cae565b6000612993826113a4565b90506129a3816000846001612c0d565b6129ac826113a4565b600083815260066020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526005845282852080546000190190558785526004909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b816001600160a01b0316836001600160a01b031603612a8c5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610a65565b6001600160a01b03838116600081815260076020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b612b048484846127fd565b612b1084848484612ce1565b61225e5760405162461bcd60e51b8152600401610a6590613b43565b60606011805461094790613766565b60606000612b4883612de2565b60010190506000816001600160401b03811115612b6757612b67613425565b6040519080825280601f01601f191660200182016040528015612b91576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084612b9b57509392505050565b60006001600160e01b031982166380ac58cd60e01b1480612bfe57506001600160e01b03198216635b5e139f60e01b145b80610932575061093282612eba565b612c1984848484612eef565b826001600160a01b0316846001600160a01b031614158015612c56575060008281526014602052604090205461010090046001600160a01b031615155b1561225e57600082815260146020908152604080832080546001600160e81b03191681556001018390555182815284917f4e06b4e7000e659094299b3533b47b6aa8ad048e95e872d23d1f4ee55af89cfe9101612575565b612cb88383613023565b612cc56000848484612ce1565b610b065760405162461bcd60e51b8152600401610a6590613b43565b60006001600160a01b0384163b15612dd757604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290612d25903390899088908890600401613b95565b6020604051808303816000875af1925050508015612d60575060408051601f3d908101601f19168201909252612d5d91810190613bd2565b60015b612dbd573d808015612d8e576040519150601f19603f3d011682016040523d82523d6000602084013e612d93565b606091505b508051600003612db55760405162461bcd60e51b8152600401610a6590613b43565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612283565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310612e215772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310612e4d576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310612e6b57662386f26fc10000830492506010015b6305f5e1008310612e83576305f5e100830492506008015b6127108310612e9757612710830492506004015b60648310612ea9576064830492506002015b600a83106109325760010192915050565b60006001600160e01b0319821663152a902d60e11b148061093257506301ffc9a760e01b6001600160e01b0319831614610932565b6001811115612f5e5760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b6064820152608401610a65565b816001600160a01b038516612fba57612fb581600a80546000838152600b60205260408120829055600182018355919091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80155565b612fdd565b836001600160a01b0316856001600160a01b031614612fdd57612fdd858261319e565b6001600160a01b038416612ff957612ff48161323b565b61301c565b846001600160a01b0316846001600160a01b03161461301c5761301c84826132ea565b5050505050565b6001600160a01b0382166130795760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610a65565b61308281612666565b156130cf5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610a65565b6130dd600083836001612c0d565b6130e681612666565b156131335760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610a65565b6001600160a01b038216600081815260056020908152604080832080546001019055848352600490915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600060016131ab8461162f565b6131b59190613a88565b600083815260096020526040902054909150808214613208576001600160a01b03841660009081526008602090815260408083208584528252808320548484528184208190558352600990915290208190555b5060009182526009602090815260408084208490556001600160a01b039094168352600881528383209183525290812055565b600a5460009061324d90600190613a88565b6000838152600b6020526040812054600a805493945090928490811061327557613275613a42565b9060005260206000200154905080600a838154811061329657613296613a42565b6000918252602080832090910192909255828152600b9091526040808220849055858252812055600a8054806132ce576132ce613bef565b6001900381819060005260206000200160009055905550505050565b60006132f58361162f565b6001600160a01b039093166000908152600860209081526040808320868452825280832085905593825260099052919091209190915550565b6001600160e01b03198116811461159e57600080fd5b60006020828403121561335657600080fd5b81356133618161332e565b9392505050565b60005b8381101561338357818101518382015260200161336b565b50506000910152565b600081518084526133a4816020860160208601613368565b601f01601f19169290920160200192915050565b602081526000613361602083018461338c565b6000602082840312156133dd57600080fd5b5035919050565b6001600160a01b038116811461159e57600080fd5b6000806040838503121561340c57600080fd5b8235613417816133e4565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b038084111561345557613455613425565b604051601f8501601f19908116603f0116810190828211818310171561347d5761347d613425565b8160405280935085815286868601111561349657600080fd5b858560208301376000602087830101525050509392505050565b600082601f8301126134c157600080fd5b6133618383356020850161343b565b600080604083850312156134e357600080fd5b8235915060208301356001600160401b0381111561350057600080fd5b61350c858286016134b0565b9150509250929050565b60008060006060848603121561352b57600080fd5b8335613536816133e4565b92506020840135613546816133e4565b929592945050506040919091013590565b6000806040838503121561356a57600080fd5b50508035926020909101359150565b60006020828403121561358b57600080fd5b8135613361816133e4565b6000602082840312156135a857600080fd5b81356001600160401b038111156135be57600080fd5b612283848285016134b0565b801515811461159e57600080fd5b6000806000606084860312156135ed57600080fd5b833592506020840135613546816135ca565b80356001600160401b03811681146122da57600080fd5b6000806040838503121561362957600080fd5b82359150613639602084016135ff565b90509250929050565b6000806040838503121561365557600080fd5b8235613660816133e4565b91506020830135613670816135ca565b809150509250929050565b6000806000806080858703121561369157600080fd5b843561369c816133e4565b935060208501356136ac816133e4565b92506040850135915060608501356001600160401b038111156136ce57600080fd5b8501601f810187136136df57600080fd5b6136ee8782356020840161343b565b91505092959194509250565b60008060006060848603121561370f57600080fd5b833592506020840135613721816133e4565b915061372f604085016135ff565b90509250925092565b6000806040838503121561374b57600080fd5b8235613756816133e4565b91506020830135613670816133e4565b600181811c9082168061377a57607f821691505b60208210810361379a57634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156137b257600080fd5b8151613361816135ca565b6020808252601a908201527f457465726e756d506173733a20556e617574686f72697a656421000000000000604082015260600190565b601f821115610b0657600081815260208120601f850160051c8101602086101561381b5750805b601f850160051c820191505b8181101561383a57828155600101613827565b505050505050565b81516001600160401b0381111561385b5761385b613425565b61386f816138698454613766565b846137f4565b602080601f8311600181146138a4576000841561388c5750858301515b600019600386901b1c1916600185901b17855561383a565b600085815260208120601f198616915b828110156138d3578886015182559484019460019091019084016138b4565b50858210156138f15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208082526025908201527f457465726e756d706173733a20537562736372697074696f6e20697320696e61604082015264637469766560d81b606082015260800190565b60208082526027908201527f457465726e756d506173733a2043616e63656c6c6174696f6e20697320696e2060408201526670726f6365737360c81b606082015260800190565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610932576109326139da565b600082613a2457634e487b7160e01b600052601260045260246000fd5b500490565b600060018201613a3b57613a3b6139da565b5060010190565b634e487b7160e01b600052603260045260246000fd5b600060208284031215613a6a57600080fd5b8151613361816133e4565b80820180821115610932576109326139da565b81810381811115610932576109326139da565b60008351613aad818460208801613368565b602f60f81b9083019081528351613acb816001840160208801613368565b01600101949350505050565b6001600160401b03818116838216019080821115613af757613af76139da565b5092915050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090613bc89083018461338c565b9695505050505050565b600060208284031215613be457600080fd5b81516133618161332e565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220474fecd38c984f3b35fdf2f3b4cd48b2f964d0551eaec3b3593ef373d593afea64736f6c63430008110033"; + "0x6080604052600c805460ff191660011790553480156200001d575f80fd5b5060405162003b8b38038062003b8b83398101604081905262000040916200028d565b88886002620000508382620003f5565b5060036200005f8282620003f5565b5050601880546001600160a01b0319166001600160a01b0385161790555060116200008b8882620003f5565b50600d869055600e859055600f849055620000a73384620000f0565b601280546001600160a01b039283166001600160a01b0319918216179091556018805493909216928116831790915560138054909116909117905550620004c195505050505050565b6127106001600160601b0382168110156200013557604051636f483d0960e01b81526001600160601b0383166004820152602481018290526044015b60405180910390fd5b6001600160a01b0383166200016057604051635b6cc80560e11b81525f60048201526024016200012c565b50604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b909102175f55565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112620001bd575f80fd5b81516001600160401b0380821115620001da57620001da62000199565b604051601f8301601f19908116603f0116810190828211818310171562000205576200020562000199565b816040528381526020925086602085880101111562000222575f80fd5b5f91505b8382101562000245578582018301518183018401529082019062000226565b5f602085830101528094505050505092915050565b80516001600160601b038116811462000271575f80fd5b919050565b80516001600160a01b038116811462000271575f80fd5b5f805f805f805f805f6101208a8c031215620002a7575f80fd5b89516001600160401b0380821115620002be575f80fd5b620002cc8d838e01620001ad565b9a5060208c0151915080821115620002e2575f80fd5b620002f08d838e01620001ad565b995060408c015191508082111562000306575f80fd5b50620003158c828d01620001ad565b97505060608a0151955060808a0151945060a08a015193506200033b60c08b016200025a565b92506200034b60e08b0162000276565b91506200035c6101008b0162000276565b90509295985092959850929598565b600181811c908216806200038057607f821691505b6020821081036200039f57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620003f057805f5260205f20601f840160051c81016020851015620003cc5750805b601f840160051c820191505b81811015620003ed575f8155600101620003d8565b50505b505050565b81516001600160401b0381111562000411576200041162000199565b62000429816200042284546200036b565b84620003a5565b602080601f8311600181146200045f575f8415620004475750858301515b5f19600386901b1c1916600185901b178555620004b9565b5f85815260208120601f198616915b828110156200048f578886015182559484019460019091019084016200046e565b5085821015620004ad57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b6136bc80620004cf5f395ff3fe608060405260043610610280575f3560e01c8063659e2aef1161015557806398bdf6f5116100be578063c2f1f14a11610078578063c2f1f14a14610798578063c87b56dd146107b7578063cde317af146107d6578063d5999a5c146107f5578063e030565e1461080b578063e985e9c51461082a575f80fd5b806398bdf6f5146106fc5780639b6860c814610711578063a22cb46514610726578063a518f3dd14610745578063b88d4fde1461075a578063ba91caae14610779575f80fd5b80638456cb591161010f5780638456cb59146106535780638f449a05146106675780638fc88c481461066f5780639012c4a8146106aa57806391b7f5ed146106c957806395d89b41146106e8575f80fd5b8063659e2aef146105c25780636c0360eb146105e157806370a08231146105f5578063776ce86814610614578063783a112b146106275780637e4831d31461063a575f80fd5b806321235083116101f757806342842e0e116101b157806342842e0e146105015780634f6ccce71461052057806354fd4d501461053f57806355f804b3146105655780636352211e14610584578063655bc8db146105a3575f80fd5b8063212350831461043f57806323b872dd146104525780632a55205a146104715780632f745c59146104af5780633171f5b0146104ce5780633f4ba83a146104ed575f80fd5b80630aa7c854116102485780630aa7c85414610354578063112f902414610373578063162094c41461039257806317c95709146103b157806318160ddd146103fd578063210542c714610411575f80fd5b806301ffc9a714610284578063022b50c0146102b857806306fdde03146102db578063081812fc146102fc578063095ea7b314610333575b5f80fd5b34801561028f575f80fd5b506102a361029e366004612ef9565b610849565b60405190151581526020015b60405180910390f35b3480156102c3575f80fd5b506102cd600f5481565b6040519081526020016102af565b3480156102e6575f80fd5b506102ef6108b9565b6040516102af9190612f68565b348015610307575f80fd5b5061031b610316366004612f7a565b610949565b6040516001600160a01b0390911681526020016102af565b34801561033e575f80fd5b5061035261034d366004612fa5565b610970565b005b34801561035f575f80fd5b5060135461031b906001600160a01b031681565b34801561037e575f80fd5b5061035261038d366004612f7a565b61097f565b34801561039d575f80fd5b506103526103ac366004613073565b610a21565b3480156103bc575f80fd5b506103e56103cb366004612f7a565b5f908152601560205260409020546001600160401b031690565b6040516001600160401b0390911681526020016102af565b348015610408575f80fd5b50600a546102cd565b34801561041c575f80fd5b506102a361042b366004612f7a565b60166020525f908152604090205460ff1681565b61035261044d366004612f7a565b610ad1565b34801561045d575f80fd5b5061035261046c3660046130b6565b610db4565b34801561047c575f80fd5b5061049061048b3660046130f4565b610e3d565b604080516001600160a01b0390931683526020830191909152016102af565b3480156104ba575f80fd5b506102cd6104c9366004612fa5565b610ee6565b3480156104d9575f80fd5b506102cd6104e8366004613114565b610f49565b3480156104f8575f80fd5b50610352611053565b34801561050c575f80fd5b5061035261051b3660046130b6565b6110f3565b34801561052b575f80fd5b506102cd61053a366004612f7a565b61110d565b34801561054a575f80fd5b50610553600181565b60405160ff90911681526020016102af565b348015610570575f80fd5b5061035261057f36600461312f565b611162565b34801561058f575f80fd5b5061031b61059e366004612f7a565b611202565b3480156105ae575f80fd5b506103526105bd36600461316d565b61120c565b3480156105cd575f80fd5b506103526105dc366004612f7a565b6112f9565b3480156105ec575f80fd5b506102ef6113b4565b348015610600575f80fd5b506102cd61060f366004613114565b611440565b6103526106223660046131a7565b611485565b6103526106353660046130f4565b611889565b348015610645575f80fd5b50600c546102a39060ff1681565b34801561065e575f80fd5b50610352611c61565b6102cd611d04565b34801561067a575f80fd5b506102cd610689366004612f7a565b5f90815260146020526040902054600160a81b90046001600160401b031690565b3480156106b5575f80fd5b506103526106c4366004612f7a565b611ea2565b3480156106d4575f80fd5b506103526106e3366004612f7a565b611f3b565b3480156106f3575f80fd5b506102ef611fd4565b348015610707575f80fd5b506102cd60105481565b34801561071c575f80fd5b506102cd600d5481565b348015610731575f80fd5b506103526107403660046131d1565b611fe3565b348015610750575f80fd5b506102cd600e5481565b348015610765575f80fd5b50610352610774366004613208565b611fee565b348015610784575f80fd5b506102cd6107933660046130f4565b612005565b3480156107a3575f80fd5b5061031b6107b2366004612f7a565b61202b565b3480156107c2575f80fd5b506102ef6107d1366004612f7a565b61207c565b3480156107e1575f80fd5b506102a36107f0366004612f7a565b612178565b348015610800575f80fd5b506102cd62278d0081565b348015610816575f80fd5b50610352610825366004613282565b61219f565b348015610835575f80fd5b506102a36108443660046132bd565b612319565b5f636ad56fd360e11b6001600160e01b031983160161086a57506001919050565b6314bdb52960e21b6001600160e01b031983160161088a57506001919050565b63739a07b360e01b6001600160e01b03198316016108aa57506001919050565b6108b382612346565b92915050565b6060600280546108c8906132e9565b80601f01602080910402602001604051908101604052809291908181526020018280546108f4906132e9565b801561093f5780601f106109165761010080835404028352916020019161093f565b820191905f5260205f20905b81548152906001019060200180831161092257829003601f168201915b5050505050905090565b5f6109538261236a565b505f828152600660205260409020546001600160a01b03166108b3565b61097b8282336123a1565b5050565b6018546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156109d3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f79190613321565b610a1c5760405162461bcd60e51b8152600401610a139061333c565b60405180910390fd5b600f55565b6018546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610a75573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a999190613321565b610ab55760405162461bcd60e51b8152600401610a139061333c565b5f828152601760205260409020610acc82826133b7565b505050565b8033610adc8261236a565b6001600160a01b031614610b325760405162461bcd60e51b815260206004820181905260248201527f457465726e756d506173733a204e6f7420612076616c696420746f6b656e49646044820152606401610a13565b6018545f906001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610b88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac9190613321565b905080610cee57610bc6610bbf846123ae565b33856123c8565b610c245760405162461bcd60e51b815260206004820152602960248201527f457465726e756d506173733a2043616c6c6572206973206f776e6572206e6f7260448201526808185c1c1c9bdd995960ba1b6064820152608401610a13565b610c2d83612178565b15610c4a5760405162461bcd60e51b8152600401610a1390613476565b5f8381526016602052604090205460ff1615610c785760405162461bcd60e51b8152600401610a13906134bb565b5f8381526016602090815260408083208054600160ff1990911681179091556015909252808320805467ffffffffffffffff1916426001600160401b0381169190911790915590519192909186917fb83b155d49314a3067fe7919746d542e9559033726537f2a9daa8f63a44dedd091a4505050565b5f8381526016602052604081205460ff1615159003610d5557610d1083612178565b15610d2d5760405162461bcd60e51b8152600401610a1390613476565b5f838152601560205260409020805467ffffffffffffffff1916426001600160401b03161790555b3415610d6f57610d6f33610d6885611202565b8534612429565b5f83815260166020526040808220805460ff1916905551429085907fb83b155d49314a3067fe7919746d542e9559033726537f2a9daa8f63a44dedd0908490a4505050565b6001600160a01b038216610ddd57604051633250574960e11b81525f6004820152602401610a13565b5f610de9838333612521565b9050836001600160a01b0316816001600160a01b031614610e37576040516364283d7b60e01b81526001600160a01b0380861660048301526024820184905282166044820152606401610a13565b50505050565b5f8281526001602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b0316928201929092528291610eb05750604080518082019091525f546001600160a01b0381168252600160a01b90046001600160601b031660208201525b60208101515f9061271090610ece906001600160601b031687613516565b610ed8919061352d565b915196919550909350505050565b5f610ef083611440565b8210610f215760405163295f44f760e21b81526001600160a01b038416600482015260248101839052604401610a13565b506001600160a01b03919091165f908152600860209081526040808320938352929052205490565b6018545f906001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610f9f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fc39190613321565b610fdf5760405162461bcd60e51b8152600401610a139061333c565b60108054905f610fee8361354c565b9190505550601054905061100282826125ce565b601254611019906001600160a01b03166001611fe3565b60405181815233907f0176f203df400d7bd5f1b1c9ef36c16709bf3b5d9fd35f000a6bae32393f66c39060200160405180910390a2919050565b6018546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156110a7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110cb9190613321565b6110e75760405162461bcd60e51b8152600401610a139061333c565b600c805460ff19169055565b610acc83838360405180602001604052805f815250611fee565b5f611117600a5490565b821061113f5760405163295f44f760e21b81525f600482015260248101839052604401610a13565b600a828154811061115257611152613564565b905f5260205f2001549050919050565b6018546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156111b6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111da9190613321565b6111f65760405162461bcd60e51b8152600401610a139061333c565b601161097b82826133b7565b5f6108b38261236a565b611218610bbf846123ae565b61127f5760405162461bcd60e51b815260206004820152603260248201527f457465726e756d506173733a2043616c6c6572206973206e6f7420746f6b656e604482015271081bdddb995c881bdc88185c1c1c9bdd995960721b6064820152608401610a13565b5f838152601460205260409020805460ff1916831515178155600101819055336001600160a01b03167fa9dcc06084f66afbdc1841a28e84400fcbf607131220fdcf404c8502f3c032038484846040516112ec939291909283529015156020830152604082015260600190565b60405180910390a2505050565b61130c611305826123ae565b33836123c8565b6113635760405162461bcd60e51b815260206004820152602260248201527f457465726e756d506173733a204e6f74204f776e6572204f7220417070726f76604482015261195960f21b6064820152608401610a13565b61136c816125e7565b60405181815233907f2323944eca282b47450d5a4215add1792fe29eae53a5165998cb00f4c0f665c39060200160405180910390a25f90815260016020526040812055565b50565b601180546113c1906132e9565b80601f01602080910402602001604051908101604052809291908181526020018280546113ed906132e9565b80156114385780601f1061140f57610100808354040283529160200191611438565b820191905f5260205f20905b81548152906001019060200180831161141b57829003601f168201915b505050505081565b5f6001600160a01b03821661146a576040516322718ad960e21b81525f6004820152602401610a13565b506001600160a01b03165f9081526005602052604090205490565b81336114908261236a565b6001600160a01b0316146114e65760405162461bcd60e51b815260206004820181905260248201527f457465726e756d506173733a204e6f7420612076616c696420746f6b656e49646044820152606401610a13565b6018545f906001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa15801561153c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115609190613321565b905061157561156e856123ae565b33866123c8565b8061157d5750805b6115ef5760405162461bcd60e51b815260206004820152603960248201527f457465726e756d506173733a2043616c6c6572206973206f776e6572206e6f7260448201527f20617070726f766564206f7220746865204f70657261746f72000000000000006064820152608401610a13565b5f8481526016602052604090205460ff161561161d5760405162461bcd60e51b8152600401610a13906134bb565b5f836001600160401b031611801561163f5750600c836001600160401b031611155b6116a95760405162461bcd60e51b815260206004820152603560248201527f457465726e756d506173733a204475726174696f6e206d757374206265206265604482015274747765656e203120746f203132206d6f6e7468732160581b6064820152608401610a13565b5f6116c062278d006001600160401b038616613516565b90508161173657600f546116dd906001600160401b038616613516565b3410156117365760405162461bcd60e51b815260206004820152602160248201527f457465726e756d506173733a20496e73756666696369656e74205061796d656e6044820152601d60fa1b6064820152608401610a13565b60185460408051633955348d60e21b815290515f926001600160a01b03169163e554d2349160048083019260209291908290030181865afa15801561177d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a19190613578565b90506117af33828834612429565b5f6117b987612178565b156117f6576117c88342613593565b5f888152601560205260409020805467ffffffffffffffff19166001600160401b0383161790559050611842565b5f878152601560205260409020546118189084906001600160401b0316613593565b5f888152601560205260409020805467ffffffffffffffff19166001600160401b03831617905590505b6040516001600160401b038216815287907f2ec2be2c4b90c2cf13ecb6751a24daed6bb741ae5ed3f7371aabf9402f6d62e89060200160405180910390a250505050505050565b336118938361236a565b6001600160a01b0316146118e95760405162461bcd60e51b815260206004820152601e60248201527f457465726e756d706173733a20496e76616c69646520546f6b656e20496400006044820152606401610a13565b5f8281526014602052604090205460ff166119525760405162461bcd60e51b815260206004820152602360248201527f457465726e756d506173733a204e6f7420617661696c61626c6520666f722072604482015262195b9d60ea1b6064820152608401610a13565b5f61195c8361202b565b6001600160a01b0316146119be5760405162461bcd60e51b815260206004820152602360248201527f457465726e756d506173733a204e465420416c7265616479205375627363726960448201526218995960ea1b6064820152608401610a13565b5f8111611a215760405162461bcd60e51b815260206004820152602b60248201527f457465726e756d506173733a2054696d652063616e2774206265206c6573732060448201526a3a3430b71018903437bab960a91b6064820152608401610a13565b6110e0811115611a895760405162461bcd60e51b815260206004820152602d60248201527f457465726e756d506173733a2054696d652063616e2774206265206d6f72652060448201526c7468616e2036206d6f6e74687360981b6064820152608401610a13565b5f611a948383612005565b905080341015611ae65760405162461bcd60e51b815260206004820152601f60248201527f457465726e756d506173733a20496e73756666696369656e742046756e6473006044820152606401610a13565b5f6103e8600e5434611af89190613516565b611b02919061352d565b90505f611b0f82346135a6565b9050611b2533611b1e87611202565b8784612429565b60185460408051633955348d60e21b815290515f926001600160a01b03169163e554d2349160048083019260209291908290030181865afa158015611b6c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b909190613578565b9050611b9e33828886612429565b5f8681526014602052604090208054610100600160a81b0319166101003302178155611bcc86610e10613516565b611bd69042613593565b81546001600160401b0391909116600160a81b0267ffffffffffffffff60a81b19909116178155611c043390565b8154604051600160a81b9091046001600160401b031681526001600160a01b03919091169088907f4e06b4e7000e659094299b3533b47b6aa8ad048e95e872d23d1f4ee55af89cfe9060200160405180910390a350505050505050565b6018546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611cb5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cd99190613321565b611cf55760405162461bcd60e51b8152600401610a139061333c565b600c805460ff19166001179055565b600c545f9060ff1615611d595760405162461bcd60e51b815260206004820152601f60248201527f457465726e756d506173733a204e4654204d696e74696e6720506175736564006044820152606401610a13565b60108054905f611d688361354c565b9091555050601054600d54341015611dcd5760405162461bcd60e51b815260206004820152602260248201527f457465726e756d506173733a20496e7375666669656369656e7420616d6f756e604482015261742160f01b6064820152608401610a13565b611dd733826125ce565b601254611dee906001600160a01b03166001611fe3565b60185460408051633955348d60e21b815290515f926001600160a01b03169163e554d2349160048083019260209291908290030181865afa158015611e35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e599190613578565b9050611e6733828434612429565b60405182815233907f0176f203df400d7bd5f1b1c9ef36c16709bf3b5d9fd35f000a6bae32393f66c39060200160405180910390a250905090565b6018546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611ef6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f1a9190613321565b611f365760405162461bcd60e51b8152600401610a139061333c565b600e55565b6018546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611f8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb39190613321565b611fcf5760405162461bcd60e51b8152600401610a139061333c565b600d55565b6060600380546108c8906132e9565b61097b33838361261f565b611ff9848484610db4565b610e37848484846126bd565b5f828152601460205260408120600101548190612023908490613516565b949350505050565b5f8181526014602052604081205442600160a81b9091046001600160401b03161061207057505f9081526014602052604090205461010090046001600160a01b031690565b505f919050565b919050565b5f818152601760205260409020805460609190612098906132e9565b90505f036120dd575f6120a96127e3565b9050806120b5846127f2565b6040516020016120c69291906135b9565b604051602081830303815290604052915050919050565b5f82815260176020526040902080546120f5906132e9565b80601f0160208091040260200160405190810160405280929190818152602001828054612121906132e9565b801561216c5780601f106121435761010080835404028352916020019161216c565b820191905f5260205f20905b81548152906001019060200180831161214f57829003601f168201915b50505050509050919050565b5f81815260156020526040812054426001600160401b039091161161207057506001919050565b6121ab610bbf846123ae565b6122085760405162461bcd60e51b815260206004820152602860248201527f457465726e756d506173733a204e6f7420746f6b656e206f776e6572204f7220604482015267185c1c1c9bdd995960c21b6064820152608401610a13565b5f6122128461202b565b6001600160a01b0316146122785760405162461bcd60e51b815260206004820152602760248201527f457465726e756d506173733a204974656d20697320616c7265616479207375626044820152661cd8dc9a58995960ca1b6064820152608401610a13565b5f8381526014602052604090208054610100600160a81b0319166101006001600160a01b038516021781556122ad42836135f4565b815467ffffffffffffffff60a81b1916600160a81b6001600160401b039283160217825560405190831681526001600160a01b0384169085907f4e06b4e7000e659094299b3533b47b6aa8ad048e95e872d23d1f4ee55af89cfe9060200160405180910390a350505050565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205460ff1690565b5f6001600160e01b0319821663780e9d6360e01b14806108b357506108b382612881565b5f80612375836123ae565b90506001600160a01b0381166108b357604051637e27328960e01b815260048101849052602401610a13565b610acc83838360016128c0565b5f908152600460205260409020546001600160a01b031690565b5f6001600160a01b038316158015906120235750826001600160a01b0316846001600160a01b0316148061240157506124018484612319565b806120235750505f908152600660205260409020546001600160a01b03908116911614919050565b5f836001600160a01b0316826040515f6040518083038185875af1925050503d805f8114612472576040519150601f19603f3d011682016040523d82523d5f602084013e612477565b606091505b50509050806124c85760405162461bcd60e51b815260206004820152601c60248201527f457465726e756d506173733a205472616e73666572206661696c6564000000006044820152606401610a13565b604080516001600160a01b03808816825286166020820152908101849052606081018390527faeadc2c673108f922a1042ef404b73ae1af992c9ae54249a4a7d13ef21ef2c189060800160405180910390a15050505050565b5f8061252e8585856129c4565b9050846001600160a01b0316816001600160a01b03161415801561256c57505f8481526014602052604090205461010090046001600160a01b031615155b15612023575f84815260146020908152604080832080546001600160e81b03191681556001018390555182815286917f4e06b4e7000e659094299b3533b47b6aa8ad048e95e872d23d1f4ee55af89cfe910160405180910390a3949350505050565b61097b828260405180602001604052805f815250612a8f565b5f6125f35f835f612521565b90506001600160a01b03811661097b57604051637e27328960e01b815260048101839052602401610a13565b6001600160a01b03821661265157604051630b61174360e31b81526001600160a01b0383166004820152602401610a13565b6001600160a01b038381165f81815260076020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0383163b15610e3757604051630a85bd0160e11b81526001600160a01b0384169063150b7a02906126ff90339088908790879060040161361b565b6020604051808303815f875af1925050508015612739575060408051601f3d908101601f1916820190925261273691810190613657565b60015b6127a0573d808015612766576040519150601f19603f3d011682016040523d82523d5f602084013e61276b565b606091505b5080515f0361279857604051633250574960e11b81526001600160a01b0385166004820152602401610a13565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b146127dc57604051633250574960e11b81526001600160a01b0385166004820152602401610a13565b5050505050565b6060601180546108c8906132e9565b60605f6127fe83612aa5565b60010190505f816001600160401b0381111561281c5761281c612fcf565b6040519080825280601f01601f191660200182016040528015612846576020820181803683370190505b5090508181016020015b5f19016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461285057509392505050565b5f6001600160e01b031982166380ac58cd60e01b14806128b157506001600160e01b03198216635b5e139f60e01b145b806108b357506108b382612b7c565b80806128d457506001600160a01b03821615155b15612995575f6128e38461236a565b90506001600160a01b0383161580159061290f5750826001600160a01b0316816001600160a01b031614155b801561292257506129208184612319565b155b1561294b5760405163a9fbf51f60e01b81526001600160a01b0384166004820152602401610a13565b81156129935783856001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b50505f90815260066020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b5f806129d1858585612bb0565b90506001600160a01b038116612a2d57612a2884600a80545f838152600b60205260408120829055600182018355919091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80155565b612a50565b846001600160a01b0316816001600160a01b031614612a5057612a508185612c9d565b6001600160a01b038516612a6c57612a6784612d2a565b612023565b846001600160a01b0316816001600160a01b031614612023576120238585612dd1565b612a998383612e1f565b610acc5f8484846126bd565b5f8072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310612ae35772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310612b0f576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310612b2d57662386f26fc10000830492506010015b6305f5e1008310612b45576305f5e100830492506008015b6127108310612b5957612710830492506004015b60648310612b6b576064830492506002015b600a83106108b35760010192915050565b5f6001600160e01b0319821663152a902d60e11b14806108b357506301ffc9a760e01b6001600160e01b03198316146108b3565b5f80612bbb846123ae565b90506001600160a01b03831615612bd757612bd7818486612e80565b6001600160a01b03811615612c1157612bf25f855f806128c0565b6001600160a01b0381165f90815260056020526040902080545f190190555b6001600160a01b03851615612c3f576001600160a01b0385165f908152600560205260409020805460010190555b5f8481526004602052604080822080546001600160a01b0319166001600160a01b0389811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b5f612ca783611440565b5f83815260096020526040902054909150808214612cf8576001600160a01b0384165f9081526008602090815260408083208584528252808320548484528184208190558352600990915290208190555b505f9182526009602090815260408084208490556001600160a01b039094168352600881528383209183525290812055565b600a545f90612d3b906001906135a6565b5f838152600b6020526040812054600a8054939450909284908110612d6257612d62613564565b905f5260205f200154905080600a8381548110612d8157612d81613564565b5f918252602080832090910192909255828152600b9091526040808220849055858252812055600a805480612db857612db8613672565b600190038181905f5260205f20015f9055905550505050565b5f6001612ddd84611440565b612de791906135a6565b6001600160a01b039093165f908152600860209081526040808320868452825280832085905593825260099052919091209190915550565b6001600160a01b038216612e4857604051633250574960e11b81525f6004820152602401610a13565b5f612e5483835f612521565b90506001600160a01b03811615610acc576040516339e3563760e11b81525f6004820152602401610a13565b612e8b8383836123c8565b610acc576001600160a01b038316612eb957604051637e27328960e01b815260048101829052602401610a13565b60405163177e802f60e01b81526001600160a01b038316600482015260248101829052604401610a13565b6001600160e01b0319811681146113b1575f80fd5b5f60208284031215612f09575f80fd5b8135612f1481612ee4565b9392505050565b5f5b83811015612f35578181015183820152602001612f1d565b50505f910152565b5f8151808452612f54816020860160208601612f1b565b601f01601f19169290920160200192915050565b602081525f612f146020830184612f3d565b5f60208284031215612f8a575f80fd5b5035919050565b6001600160a01b03811681146113b1575f80fd5b5f8060408385031215612fb6575f80fd5b8235612fc181612f91565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f6001600160401b0380841115612ffc57612ffc612fcf565b604051601f8501601f19908116603f0116810190828211818310171561302457613024612fcf565b8160405280935085815286868601111561303c575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112613064575f80fd5b612f1483833560208501612fe3565b5f8060408385031215613084575f80fd5b8235915060208301356001600160401b038111156130a0575f80fd5b6130ac85828601613055565b9150509250929050565b5f805f606084860312156130c8575f80fd5b83356130d381612f91565b925060208401356130e381612f91565b929592945050506040919091013590565b5f8060408385031215613105575f80fd5b50508035926020909101359150565b5f60208284031215613124575f80fd5b8135612f1481612f91565b5f6020828403121561313f575f80fd5b81356001600160401b03811115613154575f80fd5b61202384828501613055565b80151581146113b1575f80fd5b5f805f6060848603121561317f575f80fd5b8335925060208401356130e381613160565b80356001600160401b0381168114612077575f80fd5b5f80604083850312156131b8575f80fd5b823591506131c860208401613191565b90509250929050565b5f80604083850312156131e2575f80fd5b82356131ed81612f91565b915060208301356131fd81613160565b809150509250929050565b5f805f806080858703121561321b575f80fd5b843561322681612f91565b9350602085013561323681612f91565b92506040850135915060608501356001600160401b03811115613257575f80fd5b8501601f81018713613267575f80fd5b61327687823560208401612fe3565b91505092959194509250565b5f805f60608486031215613294575f80fd5b8335925060208401356132a681612f91565b91506132b460408501613191565b90509250925092565b5f80604083850312156132ce575f80fd5b82356132d981612f91565b915060208301356131fd81612f91565b600181811c908216806132fd57607f821691505b60208210810361331b57634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215613331575f80fd5b8151612f1481613160565b6020808252601a908201527f457465726e756d506173733a20556e617574686f72697a656421000000000000604082015260600190565b601f821115610acc57805f5260205f20601f840160051c810160208510156133985750805b601f840160051c820191505b818110156127dc575f81556001016133a4565b81516001600160401b038111156133d0576133d0612fcf565b6133e4816133de84546132e9565b84613373565b602080601f831160018114613417575f84156134005750858301515b5f19600386901b1c1916600185901b17855561346e565b5f85815260208120601f198616915b8281101561344557888601518255948401946001909101908401613426565b508582101561346257878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60208082526025908201527f457465726e756d706173733a20537562736372697074696f6e20697320696e61604082015264637469766560d81b606082015260800190565b60208082526027908201527f457465726e756d506173733a2043616e63656c6c6174696f6e20697320696e2060408201526670726f6365737360c81b606082015260800190565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176108b3576108b3613502565b5f8261354757634e487b7160e01b5f52601260045260245ffd5b500490565b5f6001820161355d5761355d613502565b5060010190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215613588575f80fd5b8151612f1481612f91565b808201808211156108b3576108b3613502565b818103818111156108b3576108b3613502565b5f83516135ca818460208801612f1b565b602f60f81b90830190815283516135e8816001840160208801612f1b565b01600101949350505050565b6001600160401b0381811683821601908082111561361457613614613502565b5092915050565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f9061364d90830184612f3d565b9695505050505050565b5f60208284031215613667575f80fd5b8151612f1481612ee4565b634e487b7160e01b5f52603160045260245ffdfea26469706673582212202eef4aa74f2f4ff484019c2411a9aa879bd766cbb0edf9e03a8a4fe3014a355364736f6c63430008180033"; type EternumPassConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/FlowSubscription__factory.ts b/typechain-types/factories/FlowSubscription__factory.ts index d32c510..4730042 100644 --- a/typechain-types/factories/FlowSubscription__factory.ts +++ b/typechain-types/factories/FlowSubscription__factory.ts @@ -853,7 +853,7 @@ const _abi = [ ]; const _bytecode = - "0x6080604052600c805461ffff19166101001790553480156200002057600080fd5b50604051620035cb380380620035cb8339810160408190526200004391620002a0565b8686600262000053838262000409565b50600362000062828262000409565b5060109150620000759050868262000409565b50600d849055600e8390556200008c3383620000b9565b601580546001600160a01b0319166001600160a01b039290921691909117905550620004d5945050505050565b6127106001600160601b03821611156200012d5760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646044820152692073616c65507269636560b01b60648201526084015b60405180910390fd5b6001600160a01b038216620001855760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c696420726563656976657200000000000000604482015260640162000124565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600055565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001e657600080fd5b81516001600160401b0380821115620002035762000203620001be565b604051601f8301601f19908116603f011681019082821181831017156200022e576200022e620001be565b816040528381526020925086838588010111156200024b57600080fd5b600091505b838210156200026f578582018301518183018401529082019062000250565b600093810190920192909252949350505050565b80516001600160a01b03811681146200029b57600080fd5b919050565b600080600080600080600060e0888a031215620002bc57600080fd5b87516001600160401b0380821115620002d457600080fd5b620002e28b838c01620001d4565b985060208a0151915080821115620002f957600080fd5b620003078b838c01620001d4565b975060408a01519150808211156200031e57600080fd5b506200032d8a828b01620001d4565b60608a015160808b015160a08c0151929850909650945090506001600160601b03811681146200035c57600080fd5b91506200036c60c0890162000283565b905092959891949750929550565b600181811c908216806200038f57607f821691505b602082108103620003b057634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200040457600081815260208120601f850160051c81016020861015620003df5750805b601f850160051c820191505b818110156200040057828155600101620003eb565b5050505b505050565b81516001600160401b03811115620004255762000425620001be565b6200043d816200043684546200037a565b84620003b6565b602080601f8311600181146200047557600084156200045c5750858301515b600019600386901b1c1916600185901b17855562000400565b600085815260208120601f198616915b82811015620004a65788860151825594840194600190910190840162000485565b5085821015620004c55787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6130e680620004e56000396000f3fe6080604052600436106102305760003560e01c806355f804b31161012e57806391b7f5ed116100ab578063c87b56dd1161006f578063c87b56dd146106a8578063cde317af146106c8578063d5999a5c146106e8578063e985e9c5146106ff578063f5b541a61461074857600080fd5b806391b7f5ed1461061d57806395d89b411461063d5780639b6860c814610652578063a22cb46514610668578063b88d4fde1461068857600080fd5b806375b238fc116100f257806375b238fc1461059f578063776ce868146105d35780637e4831d3146105e65780638456cb59146106005780638f449a051461061557600080fd5b806355f804b31461050a5780636352211e1461052a578063659e2aef1461054a5780636c0360eb1461056a57806370a082311461057f57600080fd5b806321235083116101bc5780633ccfd60b116101805780633ccfd60b1461046f5780633f4ba83a1461048457806342842e0e146104995780634f6ccce7146104b957806354fd4d50146104d957600080fd5b806321235083146103bd57806323b872dd146103d05780632a55205a146103f05780632f745c591461042f5780633171f5b01461044f57600080fd5b8063095ea7b311610203578063095ea7b3146102e8578063162094c41461030a57806317c957091461032a57806318160ddd14610378578063210542c71461038d57600080fd5b806301ffc9a714610235578063022b50c01461026a57806306fdde031461028e578063081812fc146102b0575b600080fd5b34801561024157600080fd5b50610255610250366004612899565b61077c565b60405190151581526020015b60405180910390f35b34801561027657600080fd5b50610280600e5481565b604051908152602001610261565b34801561029a57600080fd5b506102a36107cd565b604051610261919061290d565b3480156102bc57600080fd5b506102d06102cb366004612920565b61085f565b6040516001600160a01b039091168152602001610261565b3480156102f457600080fd5b50610308610303366004612950565b610886565b005b34801561031657600080fd5b50610308610325366004612a25565b6109a0565b34801561033657600080fd5b50610360610345366004612920565b6000908152601260205260409020546001600160401b031690565b6040516001600160401b039091168152602001610261565b34801561038457600080fd5b50600a54610280565b34801561039957600080fd5b506102556103a8366004612920565b60136020526000908152604090205460ff1681565b6103086103cb366004612920565b610a55565b3480156103dc57600080fd5b506103086103eb366004612a6b565b610c95565b3480156103fc57600080fd5b5061041061040b366004612aa7565b610cc6565b604080516001600160a01b039093168352602083019190915201610261565b34801561043b57600080fd5b5061028061044a366004612950565b610d72565b34801561045b57600080fd5b5061028061046a366004612ac9565b610e08565b34801561047b57600080fd5b50610308610eff565b34801561049057600080fd5b5061030861106c565b3480156104a557600080fd5b506103086104b4366004612a6b565b61110e565b3480156104c557600080fd5b506102806104d4366004612920565b611129565b3480156104e557600080fd5b50600c546104f890610100900460ff1681565b60405160ff9091168152602001610261565b34801561051657600080fd5b50610308610525366004612ae4565b6111bc565b34801561053657600080fd5b506102d0610545366004612920565b611262565b34801561055657600080fd5b50610308610565366004612920565b6112c2565b34801561057657600080fd5b506102a361139f565b34801561058b57600080fd5b5061028061059a366004612ac9565b61142d565b3480156105ab57600080fd5b506102807fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177581565b6103086105e1366004612b18565b6114b3565b3480156105f257600080fd5b50600c546102559060ff1681565b34801561060c57600080fd5b5061030861188c565b610280611931565b34801561062957600080fd5b50610308610638366004612920565b611a51565b34801561064957600080fd5b506102a3611aec565b34801561065e57600080fd5b50610280600d5481565b34801561067457600080fd5b50610308610683366004612b62565b611afb565b34801561069457600080fd5b506103086106a3366004612b8e565b611b06565b3480156106b457600080fd5b506102a36106c3366004612920565b611b3d565b3480156106d457600080fd5b506102556106e3366004612920565b611c44565b3480156106f457600080fd5b5061028062278d0081565b34801561070b57600080fd5b5061025561071a366004612c09565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b34801561075457600080fd5b506102807f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92981565b6000636ad56fd360e11b6001600160e01b031983160161079e57506001919050565b63739a07b360e01b6001600160e01b03198316016107be57506001919050565b6107c782611c74565b92915050565b6060600280546107dc90612c3c565b80601f016020809104026020016040519081016040528092919081815260200182805461080890612c3c565b80156108555780601f1061082a57610100808354040283529160200191610855565b820191906000526020600020905b81548152906001019060200180831161083857829003601f168201915b5050505050905090565b600061086a82611c99565b506000908152600660205260409020546001600160a01b031690565b600061089182611262565b9050806001600160a01b0316836001600160a01b0316036109035760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061091f575061091f813361071a565b6109915760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016108fa565b61099b8383611ce9565b505050565b336109aa83611262565b6001600160a01b03161480610a3457506015546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610a10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a349190612c76565b610a3d57600080fd5b600082815260146020526040902061099b8282612ce1565b80610a5f81611d57565b610a7b5760405162461bcd60e51b81526004016108fa90612da0565b6015546000906001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610ad4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af89190612c76565b9050610b0383611c44565b15610b205760405162461bcd60e51b81526004016108fa90612de5565b80610c395760008381526013602052604090205460ff1615610b545760405162461bcd60e51b81526004016108fa90612de5565b610b5e3384611d74565b610bc55760405162461bcd60e51b815260206004820152603260248201527f466c6f77537562736372697074696f6e3a2043616c6c6572206973206e6f74206044820152711bdddb995c881b9bdc88185c1c1c9bdd995960721b60648201526084016108fa565b60008381526013602090815260408083208054600160ff199091161790556012909152808220805467ffffffffffffffff1916426001600160401b038116919091179091559051909185917f59019954c1cf4fce9b3bea5af48057bbfcfe96716860eb3e2b8ced18cc805f479190a3505050565b610c4283611262565b6001600160a01b03166108fc349081150290604051600060405180830381858888f19350505050158015610c7a573d6000803e3d6000fd5b5050506000908152601360205260409020805460ff19169055565b610c9f3382611d74565b610cbb5760405162461bcd60e51b81526004016108fa90612e38565b61099b838383611df3565b60008281526001602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b0316928201929092528291610d3b5750604080518082019091526000546001600160a01b0381168252600160a01b90046001600160601b031660208201525b602081015160009061271090610d5a906001600160601b031687612e9b565b610d649190612eb2565b915196919550909350505050565b6000610d7d8361142d565b8210610ddf5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b60648201526084016108fa565b506001600160a01b03919091166000908152600860209081526040808320938352929052205490565b6015546000906001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610e61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e859190612c76565b610ea15760405162461bcd60e51b81526004016108fa90612ed4565b600f8054906000610eb183612f18565b9190505550600f549050610ec58282611f64565b60405181815233907fe0c7a574c27509120ebe3cdaa5048236ebd7d58e553021eef7b9e5090a1b8ef59060200160405180910390a2919050565b6015546001600160a01b03166324d7806c336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610f55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f799190612c76565b610fc55760405162461bcd60e51b815260206004820181905260248201527f496e73746147656e3a2055736572206973206e6f7420617574686f72697a656460448201526064016108fa565b604051600090339047908381818185875af1925050503d8060008114611007576040519150601f19603f3d011682016040523d82523d6000602084013e61100c565b606091505b50509050806110695760405162461bcd60e51b815260206004820152602360248201527f466c6f77537562736372697074696f6e3a205769746864726177616c206661696044820152621b195960ea1b60648201526084016108fa565b50565b6015546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156110c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e69190612c76565b6111025760405162461bcd60e51b81526004016108fa90612ed4565b600c805460ff19169055565b61099b83838360405180602001604052806000815250611b06565b6000611134600a5490565b82106111975760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b60648201526084016108fa565b600a82815481106111aa576111aa612f31565b90600052602060002001549050919050565b6015546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611212573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112369190612c76565b6112525760405162461bcd60e51b81526004016108fa90612ed4565b601061125e8282612ce1565b5050565b6000818152600460205260408120546001600160a01b0316806107c75760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016108fa565b806112cc81611d57565b6112e85760405162461bcd60e51b81526004016108fa90612da0565b6112f3335b83611d74565b61134f5760405162461bcd60e51b815260206004820152602760248201527f466c6f77537562736372697074696f6e3a204e6f74204f776e6572204f7220416044820152661c1c1c9bdd995960ca1b60648201526084016108fa565b61135882611f7e565b60405182815233907f35d33492e57db62bbca25dc09ec8f2becf2079f985d313c9e69957d7861454539060200160405180910390a250600090815260016020526040812055565b601080546113ac90612c3c565b80601f01602080910402602001604051908101604052809291908181526020018280546113d890612c3c565b80156114255780601f106113fa57610100808354040283529160200191611425565b820191906000526020600020905b81548152906001019060200180831161140857829003601f168201915b505050505081565b60006001600160a01b0382166114975760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016108fa565b506001600160a01b031660009081526005602052604090205490565b816114bd81611d57565b6114d95760405162461bcd60e51b81526004016108fa90612da0565b6015546000906001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611532573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115569190612c76565b90506115623385611d74565b8061156a5750805b6115e85760405162461bcd60e51b815260206004820152604360248201527f466c6f77537562736372697074696f6e3a2043616c6c6572206973206e6f742060448201527f6f776e6572206e6f7220617070726f766564206e6f7220746865204f706572616064820152623a37b960e91b608482015260a4016108fa565b60008481526013602052604090205460ff16156116875760405162461bcd60e51b815260206004820152605160248201527f466c6f77537562736372697074696f6e3a2052656e6577616c2063616e6e6f7460448201527f2062652070726f6365656465642c20746f6b656e2020697320696e2063616e63606482015270656c6c6174696f6e2070726f636573732160781b608482015260a4016108fa565b6000836001600160401b03161180156116aa5750600c836001600160401b031611155b61171c5760405162461bcd60e51b815260206004820152603a60248201527f466c6f77537562736372697074696f6e3a204475726174696f6e206d7573742060448201527f6265206265747765656e203120746f203132206d6f6e7468732100000000000060648201526084016108fa565b600061173462278d006001600160401b038616612e9b565b9050816117af57600e54611751906001600160401b038616612e9b565b3410156117af5760405162461bcd60e51b815260206004820152602660248201527f466c6f77537562736372697074696f6e3a20496e73756666696369656e742050604482015265185e5b595b9d60d21b60648201526084016108fa565b60006117ba86611c44565b156117f8576117c98242612f47565b6000878152601260205260409020805467ffffffffffffffff19166001600160401b0383161790559050611846565b60008681526012602052604090205461181b9083906001600160401b0316612f47565b6000878152601260205260409020805467ffffffffffffffff19166001600160401b03831617905590505b6040516001600160401b038216815286907f2ec2be2c4b90c2cf13ecb6751a24daed6bb741ae5ed3f7371aabf9402f6d62e89060200160405180910390a2505050505050565b6015546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156118e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119069190612c76565b6119225760405162461bcd60e51b81526004016108fa90612ed4565b600c805460ff19166001179055565b600c5460009060ff16156119935760405162461bcd60e51b8152602060048201526024808201527f466c6f77537562736372697074696f6e3a204e4654204d696e74696e672050616044820152631d5cd95960e21b60648201526084016108fa565b600f80549060006119a383612f18565b9091555050600f54600d54341115611a0d5760405162461bcd60e51b815260206004820152602760248201527f466c6f77537562736372697074696f6e3a20496e7375666669656369656e7420604482015266616d6f756e742160c81b60648201526084016108fa565b611a173382611f64565b60405181815233907fe0c7a574c27509120ebe3cdaa5048236ebd7d58e553021eef7b9e5090a1b8ef59060200160405180910390a2905090565b6015546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611aa7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611acb9190612c76565b611ae75760405162461bcd60e51b81526004016108fa90612ed4565b600d55565b6060600380546107dc90612c3c565b61125e338383612021565b611b0f336112ed565b611b2b5760405162461bcd60e51b81526004016108fa90612e38565b611b37848484846120ef565b50505050565b6000818152601460205260409020805460609190611b5a90612c3c565b9050600003611ba1576000611b6d612122565b905080611b7984612131565b604051602001611b8a929190612f5a565b604051602081830303815290604052915050919050565b60008281526014602052604090208054611bba90612c3c565b80601f0160208091040260200160405190810160405280929190818152602001828054611be690612c3c565b8015611c335780601f10611c0857610100808354040283529160200191611c33565b820191906000526020600020905b815481529060010190602001808311611c1657829003601f168201915b50505050509050919050565b919050565b600081815260126020526040812054426001600160401b0390911611611c6c57506001919050565b506000919050565b60006001600160e01b0319821663780e9d6360e01b14806107c757506107c7826121c3565b611ca281611d57565b6110695760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016108fa565b600081815260066020526040902080546001600160a01b0319166001600160a01b0384169081179091558190611d1e82611262565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000908152600460205260409020546001600160a01b0316151590565b600080611d8083611262565b9050806001600160a01b0316846001600160a01b03161480611dc757506001600160a01b0380821660009081526007602090815260408083209388168352929052205460ff165b80611deb5750836001600160a01b0316611de08461085f565b6001600160a01b0316145b949350505050565b826001600160a01b0316611e0682611262565b6001600160a01b031614611e2c5760405162461bcd60e51b81526004016108fa90612f96565b6001600160a01b038216611e8e5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016108fa565b611e9b8383836001612203565b826001600160a01b0316611eae82611262565b6001600160a01b031614611ed45760405162461bcd60e51b81526004016108fa90612f96565b600081815260066020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260058552838620805460001901905590871680865283862080546001019055868652600490945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b61125e828260405180602001604052806000815250612337565b6000611f8982611262565b9050611f99816000846001612203565b611fa282611262565b600083815260066020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526005845282852080546000190190558785526004909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b816001600160a01b0316836001600160a01b0316036120825760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016108fa565b6001600160a01b03838116600081815260076020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6120fa848484611df3565b6121068484848461236a565b611b375760405162461bcd60e51b81526004016108fa90612fdb565b6060601080546107dc90612c3c565b6060600061213e8361246b565b60010190506000816001600160401b0381111561215d5761215d61297a565b6040519080825280601f01601f191660200182016040528015612187576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461219157509392505050565b60006001600160e01b031982166380ac58cd60e01b14806121f457506001600160e01b03198216635b5e139f60e01b145b806107c757506107c782612543565b60018111156122725760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b60648201526084016108fa565b816001600160a01b0385166122ce576122c981600a80546000838152600b60205260408120829055600182018355919091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80155565b6122f1565b836001600160a01b0316856001600160a01b0316146122f1576122f18582612578565b6001600160a01b03841661230d5761230881612615565b612330565b846001600160a01b0316846001600160a01b0316146123305761233084826126c4565b5050505050565b6123418383612708565b61234e600084848461236a565b61099b5760405162461bcd60e51b81526004016108fa90612fdb565b60006001600160a01b0384163b1561246057604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906123ae90339089908890889060040161302d565b6020604051808303816000875af19250505080156123e9575060408051601f3d908101601f191682019092526123e69181019061306a565b60015b612446573d808015612417576040519150601f19603f3d011682016040523d82523d6000602084013e61241c565b606091505b50805160000361243e5760405162461bcd60e51b81526004016108fa90612fdb565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611deb565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106124aa5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106124d6576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106124f457662386f26fc10000830492506010015b6305f5e100831061250c576305f5e100830492506008015b612710831061252057612710830492506004015b60648310612532576064830492506002015b600a83106107c75760010192915050565b60006001600160e01b0319821663152a902d60e11b14806107c757506301ffc9a760e01b6001600160e01b03198316146107c7565b600060016125858461142d565b61258f9190613087565b6000838152600960205260409020549091508082146125e2576001600160a01b03841660009081526008602090815260408083208584528252808320548484528184208190558352600990915290208190555b5060009182526009602090815260408084208490556001600160a01b039094168352600881528383209183525290812055565b600a5460009061262790600190613087565b6000838152600b6020526040812054600a805493945090928490811061264f5761264f612f31565b9060005260206000200154905080600a838154811061267057612670612f31565b6000918252602080832090910192909255828152600b9091526040808220849055858252812055600a8054806126a8576126a861309a565b6001900381819060005260206000200160009055905550505050565b60006126cf8361142d565b6001600160a01b039093166000908152600860209081526040808320868452825280832085905593825260099052919091209190915550565b6001600160a01b03821661275e5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016108fa565b61276781611d57565b156127b45760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016108fa565b6127c2600083836001612203565b6127cb81611d57565b156128185760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016108fa565b6001600160a01b038216600081815260056020908152604080832080546001019055848352600490915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6001600160e01b03198116811461106957600080fd5b6000602082840312156128ab57600080fd5b81356128b681612883565b9392505050565b60005b838110156128d85781810151838201526020016128c0565b50506000910152565b600081518084526128f98160208601602086016128bd565b601f01601f19169290920160200192915050565b6020815260006128b660208301846128e1565b60006020828403121561293257600080fd5b5035919050565b80356001600160a01b0381168114611c3f57600080fd5b6000806040838503121561296357600080fd5b61296c83612939565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b03808411156129aa576129aa61297a565b604051601f8501601f19908116603f011681019082821181831017156129d2576129d261297a565b816040528093508581528686860111156129eb57600080fd5b858560208301376000602087830101525050509392505050565b600082601f830112612a1657600080fd5b6128b683833560208501612990565b60008060408385031215612a3857600080fd5b8235915060208301356001600160401b03811115612a5557600080fd5b612a6185828601612a05565b9150509250929050565b600080600060608486031215612a8057600080fd5b612a8984612939565b9250612a9760208501612939565b9150604084013590509250925092565b60008060408385031215612aba57600080fd5b50508035926020909101359150565b600060208284031215612adb57600080fd5b6128b682612939565b600060208284031215612af657600080fd5b81356001600160401b03811115612b0c57600080fd5b611deb84828501612a05565b60008060408385031215612b2b57600080fd5b8235915060208301356001600160401b0381168114612b4957600080fd5b809150509250929050565b801515811461106957600080fd5b60008060408385031215612b7557600080fd5b612b7e83612939565b91506020830135612b4981612b54565b60008060008060808587031215612ba457600080fd5b612bad85612939565b9350612bbb60208601612939565b92506040850135915060608501356001600160401b03811115612bdd57600080fd5b8501601f81018713612bee57600080fd5b612bfd87823560208401612990565b91505092959194509250565b60008060408385031215612c1c57600080fd5b612c2583612939565b9150612c3360208401612939565b90509250929050565b600181811c90821680612c5057607f821691505b602082108103612c7057634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215612c8857600080fd5b81516128b681612b54565b601f82111561099b57600081815260208120601f850160051c81016020861015612cba5750805b601f850160051c820191505b81811015612cd957828155600101612cc6565b505050505050565b81516001600160401b03811115612cfa57612cfa61297a565b612d0e81612d088454612c3c565b84612c93565b602080601f831160018114612d435760008415612d2b5750858301515b600019600386901b1c1916600185901b178555612cd9565b600085815260208120601f198616915b82811015612d7257888601518255948401946001909101908401612d53565b5085821015612d905787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208082526025908201527f466c6f77537562736372697074696f6e3a204e6f7420612076616c696420746f6040820152641ad95b925960da1b606082015260800190565b60208082526033908201527f466c6f77537562736372697074696f6e3a2043616e63656c6c6174696f6e2063604082015272616e6e6f742062652070726f6365656465642160681b606082015260800190565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176107c7576107c7612e85565b600082612ecf57634e487b7160e01b600052601260045260246000fd5b500490565b60208082526024908201527f457465726e616c536f756c3a2055736572206973206e6f7420617574686f726960408201526303d32b2160e51b606082015260800190565b600060018201612f2a57612f2a612e85565b5060010190565b634e487b7160e01b600052603260045260246000fd5b808201808211156107c7576107c7612e85565b60008351612f6c8184602088016128bd565b602f60f81b9083019081528351612f8a8160018401602088016128bd565b01600101949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090613060908301846128e1565b9695505050505050565b60006020828403121561307c57600080fd5b81516128b681612883565b818103818111156107c7576107c7612e85565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220f16ed37937f1522293cd2915c6fd1bc0971b9e9c50d933821f5445af336e66d164736f6c63430008110033"; + "0x6080604052600c805461ffff19166101001790553480156200002057600080fd5b50604051620035cb380380620035cb8339810160408190526200004391620002a0565b8686600262000053838262000409565b50600362000062828262000409565b5060109150620000759050868262000409565b50600d849055600e8390556200008c3383620000b9565b601580546001600160a01b0319166001600160a01b039290921691909117905550620004d5945050505050565b6127106001600160601b03821611156200012d5760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646044820152692073616c65507269636560b01b60648201526084015b60405180910390fd5b6001600160a01b038216620001855760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c696420726563656976657200000000000000604482015260640162000124565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600055565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001e657600080fd5b81516001600160401b0380821115620002035762000203620001be565b604051601f8301601f19908116603f011681019082821181831017156200022e576200022e620001be565b816040528381526020925086838588010111156200024b57600080fd5b600091505b838210156200026f578582018301518183018401529082019062000250565b600093810190920192909252949350505050565b80516001600160a01b03811681146200029b57600080fd5b919050565b600080600080600080600060e0888a031215620002bc57600080fd5b87516001600160401b0380821115620002d457600080fd5b620002e28b838c01620001d4565b985060208a0151915080821115620002f957600080fd5b620003078b838c01620001d4565b975060408a01519150808211156200031e57600080fd5b506200032d8a828b01620001d4565b60608a015160808b015160a08c0151929850909650945090506001600160601b03811681146200035c57600080fd5b91506200036c60c0890162000283565b905092959891949750929550565b600181811c908216806200038f57607f821691505b602082108103620003b057634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200040457600081815260208120601f850160051c81016020861015620003df5750805b601f850160051c820191505b818110156200040057828155600101620003eb565b5050505b505050565b81516001600160401b03811115620004255762000425620001be565b6200043d816200043684546200037a565b84620003b6565b602080601f8311600181146200047557600084156200045c5750858301515b600019600386901b1c1916600185901b17855562000400565b600085815260208120601f198616915b82811015620004a65788860151825594840194600190910190840162000485565b5085821015620004c55787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6130e680620004e56000396000f3fe6080604052600436106102305760003560e01c806355f804b31161012e57806391b7f5ed116100ab578063c87b56dd1161006f578063c87b56dd146106a8578063cde317af146106c8578063d5999a5c146106e8578063e985e9c5146106ff578063f5b541a61461074857600080fd5b806391b7f5ed1461061d57806395d89b411461063d5780639b6860c814610652578063a22cb46514610668578063b88d4fde1461068857600080fd5b806375b238fc116100f257806375b238fc1461059f578063776ce868146105d35780637e4831d3146105e65780638456cb59146106005780638f449a051461061557600080fd5b806355f804b31461050a5780636352211e1461052a578063659e2aef1461054a5780636c0360eb1461056a57806370a082311461057f57600080fd5b806321235083116101bc5780633ccfd60b116101805780633ccfd60b1461046f5780633f4ba83a1461048457806342842e0e146104995780634f6ccce7146104b957806354fd4d50146104d957600080fd5b806321235083146103bd57806323b872dd146103d05780632a55205a146103f05780632f745c591461042f5780633171f5b01461044f57600080fd5b8063095ea7b311610203578063095ea7b3146102e8578063162094c41461030a57806317c957091461032a57806318160ddd14610378578063210542c71461038d57600080fd5b806301ffc9a714610235578063022b50c01461026a57806306fdde031461028e578063081812fc146102b0575b600080fd5b34801561024157600080fd5b50610255610250366004612899565b61077c565b60405190151581526020015b60405180910390f35b34801561027657600080fd5b50610280600e5481565b604051908152602001610261565b34801561029a57600080fd5b506102a36107cd565b604051610261919061290d565b3480156102bc57600080fd5b506102d06102cb366004612920565b61085f565b6040516001600160a01b039091168152602001610261565b3480156102f457600080fd5b50610308610303366004612950565b610886565b005b34801561031657600080fd5b50610308610325366004612a25565b6109a0565b34801561033657600080fd5b50610360610345366004612920565b6000908152601260205260409020546001600160401b031690565b6040516001600160401b039091168152602001610261565b34801561038457600080fd5b50600a54610280565b34801561039957600080fd5b506102556103a8366004612920565b60136020526000908152604090205460ff1681565b6103086103cb366004612920565b610a55565b3480156103dc57600080fd5b506103086103eb366004612a6b565b610c95565b3480156103fc57600080fd5b5061041061040b366004612aa7565b610cc6565b604080516001600160a01b039093168352602083019190915201610261565b34801561043b57600080fd5b5061028061044a366004612950565b610d72565b34801561045b57600080fd5b5061028061046a366004612ac9565b610e08565b34801561047b57600080fd5b50610308610eff565b34801561049057600080fd5b5061030861106c565b3480156104a557600080fd5b506103086104b4366004612a6b565b61110e565b3480156104c557600080fd5b506102806104d4366004612920565b611129565b3480156104e557600080fd5b50600c546104f890610100900460ff1681565b60405160ff9091168152602001610261565b34801561051657600080fd5b50610308610525366004612ae4565b6111bc565b34801561053657600080fd5b506102d0610545366004612920565b611262565b34801561055657600080fd5b50610308610565366004612920565b6112c2565b34801561057657600080fd5b506102a361139f565b34801561058b57600080fd5b5061028061059a366004612ac9565b61142d565b3480156105ab57600080fd5b506102807fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177581565b6103086105e1366004612b18565b6114b3565b3480156105f257600080fd5b50600c546102559060ff1681565b34801561060c57600080fd5b5061030861188c565b610280611931565b34801561062957600080fd5b50610308610638366004612920565b611a51565b34801561064957600080fd5b506102a3611aec565b34801561065e57600080fd5b50610280600d5481565b34801561067457600080fd5b50610308610683366004612b62565b611afb565b34801561069457600080fd5b506103086106a3366004612b8e565b611b06565b3480156106b457600080fd5b506102a36106c3366004612920565b611b3d565b3480156106d457600080fd5b506102556106e3366004612920565b611c44565b3480156106f457600080fd5b5061028062278d0081565b34801561070b57600080fd5b5061025561071a366004612c09565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b34801561075457600080fd5b506102807f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92981565b6000636ad56fd360e11b6001600160e01b031983160161079e57506001919050565b63739a07b360e01b6001600160e01b03198316016107be57506001919050565b6107c782611c74565b92915050565b6060600280546107dc90612c3c565b80601f016020809104026020016040519081016040528092919081815260200182805461080890612c3c565b80156108555780601f1061082a57610100808354040283529160200191610855565b820191906000526020600020905b81548152906001019060200180831161083857829003601f168201915b5050505050905090565b600061086a82611c99565b506000908152600660205260409020546001600160a01b031690565b600061089182611262565b9050806001600160a01b0316836001600160a01b0316036109035760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061091f575061091f813361071a565b6109915760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016108fa565b61099b8383611ce9565b505050565b336109aa83611262565b6001600160a01b03161480610a3457506015546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610a10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a349190612c76565b610a3d57600080fd5b600082815260146020526040902061099b8282612ce1565b80610a5f81611d57565b610a7b5760405162461bcd60e51b81526004016108fa90612da0565b6015546000906001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610ad4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af89190612c76565b9050610b0383611c44565b15610b205760405162461bcd60e51b81526004016108fa90612de5565b80610c395760008381526013602052604090205460ff1615610b545760405162461bcd60e51b81526004016108fa90612de5565b610b5e3384611d74565b610bc55760405162461bcd60e51b815260206004820152603260248201527f466c6f77537562736372697074696f6e3a2043616c6c6572206973206e6f74206044820152711bdddb995c881b9bdc88185c1c1c9bdd995960721b60648201526084016108fa565b60008381526013602090815260408083208054600160ff199091161790556012909152808220805467ffffffffffffffff1916426001600160401b038116919091179091559051909185917f59019954c1cf4fce9b3bea5af48057bbfcfe96716860eb3e2b8ced18cc805f479190a3505050565b610c4283611262565b6001600160a01b03166108fc349081150290604051600060405180830381858888f19350505050158015610c7a573d6000803e3d6000fd5b5050506000908152601360205260409020805460ff19169055565b610c9f3382611d74565b610cbb5760405162461bcd60e51b81526004016108fa90612e38565b61099b838383611df3565b60008281526001602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b0316928201929092528291610d3b5750604080518082019091526000546001600160a01b0381168252600160a01b90046001600160601b031660208201525b602081015160009061271090610d5a906001600160601b031687612e9b565b610d649190612eb2565b915196919550909350505050565b6000610d7d8361142d565b8210610ddf5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b60648201526084016108fa565b506001600160a01b03919091166000908152600860209081526040808320938352929052205490565b6015546000906001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610e61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e859190612c76565b610ea15760405162461bcd60e51b81526004016108fa90612ed4565b600f8054906000610eb183612f18565b9190505550600f549050610ec58282611f64565b60405181815233907fe0c7a574c27509120ebe3cdaa5048236ebd7d58e553021eef7b9e5090a1b8ef59060200160405180910390a2919050565b6015546001600160a01b03166324d7806c336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610f55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f799190612c76565b610fc55760405162461bcd60e51b815260206004820181905260248201527f496e73746147656e3a2055736572206973206e6f7420617574686f72697a656460448201526064016108fa565b604051600090339047908381818185875af1925050503d8060008114611007576040519150601f19603f3d011682016040523d82523d6000602084013e61100c565b606091505b50509050806110695760405162461bcd60e51b815260206004820152602360248201527f466c6f77537562736372697074696f6e3a205769746864726177616c206661696044820152621b195960ea1b60648201526084016108fa565b50565b6015546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156110c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e69190612c76565b6111025760405162461bcd60e51b81526004016108fa90612ed4565b600c805460ff19169055565b61099b83838360405180602001604052806000815250611b06565b6000611134600a5490565b82106111975760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b60648201526084016108fa565b600a82815481106111aa576111aa612f31565b90600052602060002001549050919050565b6015546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611212573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112369190612c76565b6112525760405162461bcd60e51b81526004016108fa90612ed4565b601061125e8282612ce1565b5050565b6000818152600460205260408120546001600160a01b0316806107c75760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016108fa565b806112cc81611d57565b6112e85760405162461bcd60e51b81526004016108fa90612da0565b6112f3335b83611d74565b61134f5760405162461bcd60e51b815260206004820152602760248201527f466c6f77537562736372697074696f6e3a204e6f74204f776e6572204f7220416044820152661c1c1c9bdd995960ca1b60648201526084016108fa565b61135882611f7e565b60405182815233907f35d33492e57db62bbca25dc09ec8f2becf2079f985d313c9e69957d7861454539060200160405180910390a250600090815260016020526040812055565b601080546113ac90612c3c565b80601f01602080910402602001604051908101604052809291908181526020018280546113d890612c3c565b80156114255780601f106113fa57610100808354040283529160200191611425565b820191906000526020600020905b81548152906001019060200180831161140857829003601f168201915b505050505081565b60006001600160a01b0382166114975760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016108fa565b506001600160a01b031660009081526005602052604090205490565b816114bd81611d57565b6114d95760405162461bcd60e51b81526004016108fa90612da0565b6015546000906001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611532573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115569190612c76565b90506115623385611d74565b8061156a5750805b6115e85760405162461bcd60e51b815260206004820152604360248201527f466c6f77537562736372697074696f6e3a2043616c6c6572206973206e6f742060448201527f6f776e6572206e6f7220617070726f766564206e6f7220746865204f706572616064820152623a37b960e91b608482015260a4016108fa565b60008481526013602052604090205460ff16156116875760405162461bcd60e51b815260206004820152605160248201527f466c6f77537562736372697074696f6e3a2052656e6577616c2063616e6e6f7460448201527f2062652070726f6365656465642c20746f6b656e2020697320696e2063616e63606482015270656c6c6174696f6e2070726f636573732160781b608482015260a4016108fa565b6000836001600160401b03161180156116aa5750600c836001600160401b031611155b61171c5760405162461bcd60e51b815260206004820152603a60248201527f466c6f77537562736372697074696f6e3a204475726174696f6e206d7573742060448201527f6265206265747765656e203120746f203132206d6f6e7468732100000000000060648201526084016108fa565b600061173462278d006001600160401b038616612e9b565b9050816117af57600e54611751906001600160401b038616612e9b565b3410156117af5760405162461bcd60e51b815260206004820152602660248201527f466c6f77537562736372697074696f6e3a20496e73756666696369656e742050604482015265185e5b595b9d60d21b60648201526084016108fa565b60006117ba86611c44565b156117f8576117c98242612f47565b6000878152601260205260409020805467ffffffffffffffff19166001600160401b0383161790559050611846565b60008681526012602052604090205461181b9083906001600160401b0316612f47565b6000878152601260205260409020805467ffffffffffffffff19166001600160401b03831617905590505b6040516001600160401b038216815286907f2ec2be2c4b90c2cf13ecb6751a24daed6bb741ae5ed3f7371aabf9402f6d62e89060200160405180910390a2505050505050565b6015546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156118e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119069190612c76565b6119225760405162461bcd60e51b81526004016108fa90612ed4565b600c805460ff19166001179055565b600c5460009060ff16156119935760405162461bcd60e51b8152602060048201526024808201527f466c6f77537562736372697074696f6e3a204e4654204d696e74696e672050616044820152631d5cd95960e21b60648201526084016108fa565b600f80549060006119a383612f18565b9091555050600f54600d54341115611a0d5760405162461bcd60e51b815260206004820152602760248201527f466c6f77537562736372697074696f6e3a20496e7375666669656369656e7420604482015266616d6f756e742160c81b60648201526084016108fa565b611a173382611f64565b60405181815233907fe0c7a574c27509120ebe3cdaa5048236ebd7d58e553021eef7b9e5090a1b8ef59060200160405180910390a2905090565b6015546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611aa7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611acb9190612c76565b611ae75760405162461bcd60e51b81526004016108fa90612ed4565b600d55565b6060600380546107dc90612c3c565b61125e338383612021565b611b0f336112ed565b611b2b5760405162461bcd60e51b81526004016108fa90612e38565b611b37848484846120ef565b50505050565b6000818152601460205260409020805460609190611b5a90612c3c565b9050600003611ba1576000611b6d612122565b905080611b7984612131565b604051602001611b8a929190612f5a565b604051602081830303815290604052915050919050565b60008281526014602052604090208054611bba90612c3c565b80601f0160208091040260200160405190810160405280929190818152602001828054611be690612c3c565b8015611c335780601f10611c0857610100808354040283529160200191611c33565b820191906000526020600020905b815481529060010190602001808311611c1657829003601f168201915b50505050509050919050565b919050565b600081815260126020526040812054426001600160401b0390911611611c6c57506001919050565b506000919050565b60006001600160e01b0319821663780e9d6360e01b14806107c757506107c7826121c3565b611ca281611d57565b6110695760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016108fa565b600081815260066020526040902080546001600160a01b0319166001600160a01b0384169081179091558190611d1e82611262565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000908152600460205260409020546001600160a01b0316151590565b600080611d8083611262565b9050806001600160a01b0316846001600160a01b03161480611dc757506001600160a01b0380821660009081526007602090815260408083209388168352929052205460ff165b80611deb5750836001600160a01b0316611de08461085f565b6001600160a01b0316145b949350505050565b826001600160a01b0316611e0682611262565b6001600160a01b031614611e2c5760405162461bcd60e51b81526004016108fa90612f96565b6001600160a01b038216611e8e5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016108fa565b611e9b8383836001612203565b826001600160a01b0316611eae82611262565b6001600160a01b031614611ed45760405162461bcd60e51b81526004016108fa90612f96565b600081815260066020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260058552838620805460001901905590871680865283862080546001019055868652600490945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b61125e828260405180602001604052806000815250612337565b6000611f8982611262565b9050611f99816000846001612203565b611fa282611262565b600083815260066020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526005845282852080546000190190558785526004909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b816001600160a01b0316836001600160a01b0316036120825760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016108fa565b6001600160a01b03838116600081815260076020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6120fa848484611df3565b6121068484848461236a565b611b375760405162461bcd60e51b81526004016108fa90612fdb565b6060601080546107dc90612c3c565b6060600061213e8361246b565b60010190506000816001600160401b0381111561215d5761215d61297a565b6040519080825280601f01601f191660200182016040528015612187576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461219157509392505050565b60006001600160e01b031982166380ac58cd60e01b14806121f457506001600160e01b03198216635b5e139f60e01b145b806107c757506107c782612543565b60018111156122725760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b60648201526084016108fa565b816001600160a01b0385166122ce576122c981600a80546000838152600b60205260408120829055600182018355919091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80155565b6122f1565b836001600160a01b0316856001600160a01b0316146122f1576122f18582612578565b6001600160a01b03841661230d5761230881612615565b612330565b846001600160a01b0316846001600160a01b0316146123305761233084826126c4565b5050505050565b6123418383612708565b61234e600084848461236a565b61099b5760405162461bcd60e51b81526004016108fa90612fdb565b60006001600160a01b0384163b1561246057604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906123ae90339089908890889060040161302d565b6020604051808303816000875af19250505080156123e9575060408051601f3d908101601f191682019092526123e69181019061306a565b60015b612446573d808015612417576040519150601f19603f3d011682016040523d82523d6000602084013e61241c565b606091505b50805160000361243e5760405162461bcd60e51b81526004016108fa90612fdb565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611deb565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106124aa5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106124d6576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106124f457662386f26fc10000830492506010015b6305f5e100831061250c576305f5e100830492506008015b612710831061252057612710830492506004015b60648310612532576064830492506002015b600a83106107c75760010192915050565b60006001600160e01b0319821663152a902d60e11b14806107c757506301ffc9a760e01b6001600160e01b03198316146107c7565b600060016125858461142d565b61258f9190613087565b6000838152600960205260409020549091508082146125e2576001600160a01b03841660009081526008602090815260408083208584528252808320548484528184208190558352600990915290208190555b5060009182526009602090815260408084208490556001600160a01b039094168352600881528383209183525290812055565b600a5460009061262790600190613087565b6000838152600b6020526040812054600a805493945090928490811061264f5761264f612f31565b9060005260206000200154905080600a838154811061267057612670612f31565b6000918252602080832090910192909255828152600b9091526040808220849055858252812055600a8054806126a8576126a861309a565b6001900381819060005260206000200160009055905550505050565b60006126cf8361142d565b6001600160a01b039093166000908152600860209081526040808320868452825280832085905593825260099052919091209190915550565b6001600160a01b03821661275e5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016108fa565b61276781611d57565b156127b45760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016108fa565b6127c2600083836001612203565b6127cb81611d57565b156128185760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016108fa565b6001600160a01b038216600081815260056020908152604080832080546001019055848352600490915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6001600160e01b03198116811461106957600080fd5b6000602082840312156128ab57600080fd5b81356128b681612883565b9392505050565b60005b838110156128d85781810151838201526020016128c0565b50506000910152565b600081518084526128f98160208601602086016128bd565b601f01601f19169290920160200192915050565b6020815260006128b660208301846128e1565b60006020828403121561293257600080fd5b5035919050565b80356001600160a01b0381168114611c3f57600080fd5b6000806040838503121561296357600080fd5b61296c83612939565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b03808411156129aa576129aa61297a565b604051601f8501601f19908116603f011681019082821181831017156129d2576129d261297a565b816040528093508581528686860111156129eb57600080fd5b858560208301376000602087830101525050509392505050565b600082601f830112612a1657600080fd5b6128b683833560208501612990565b60008060408385031215612a3857600080fd5b8235915060208301356001600160401b03811115612a5557600080fd5b612a6185828601612a05565b9150509250929050565b600080600060608486031215612a8057600080fd5b612a8984612939565b9250612a9760208501612939565b9150604084013590509250925092565b60008060408385031215612aba57600080fd5b50508035926020909101359150565b600060208284031215612adb57600080fd5b6128b682612939565b600060208284031215612af657600080fd5b81356001600160401b03811115612b0c57600080fd5b611deb84828501612a05565b60008060408385031215612b2b57600080fd5b8235915060208301356001600160401b0381168114612b4957600080fd5b809150509250929050565b801515811461106957600080fd5b60008060408385031215612b7557600080fd5b612b7e83612939565b91506020830135612b4981612b54565b60008060008060808587031215612ba457600080fd5b612bad85612939565b9350612bbb60208601612939565b92506040850135915060608501356001600160401b03811115612bdd57600080fd5b8501601f81018713612bee57600080fd5b612bfd87823560208401612990565b91505092959194509250565b60008060408385031215612c1c57600080fd5b612c2583612939565b9150612c3360208401612939565b90509250929050565b600181811c90821680612c5057607f821691505b602082108103612c7057634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215612c8857600080fd5b81516128b681612b54565b601f82111561099b57600081815260208120601f850160051c81016020861015612cba5750805b601f850160051c820191505b81811015612cd957828155600101612cc6565b505050505050565b81516001600160401b03811115612cfa57612cfa61297a565b612d0e81612d088454612c3c565b84612c93565b602080601f831160018114612d435760008415612d2b5750858301515b600019600386901b1c1916600185901b178555612cd9565b600085815260208120601f198616915b82811015612d7257888601518255948401946001909101908401612d53565b5085821015612d905787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208082526025908201527f466c6f77537562736372697074696f6e3a204e6f7420612076616c696420746f6040820152641ad95b925960da1b606082015260800190565b60208082526033908201527f466c6f77537562736372697074696f6e3a2043616e63656c6c6174696f6e2063604082015272616e6e6f742062652070726f6365656465642160681b606082015260800190565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176107c7576107c7612e85565b600082612ecf57634e487b7160e01b600052601260045260246000fd5b500490565b60208082526024908201527f457465726e616c536f756c3a2055736572206973206e6f7420617574686f726960408201526303d32b2160e51b606082015260800190565b600060018201612f2a57612f2a612e85565b5060010190565b634e487b7160e01b600052603260045260246000fd5b808201808211156107c7576107c7612e85565b60008351612f6c8184602088016128bd565b602f60f81b9083019081528351612f8a8160018401602088016128bd565b01600101949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090613060908301846128e1565b9695505050505050565b60006020828403121561307c57600080fd5b81516128b681612883565b818103818111156107c7576107c7612e85565b634e487b7160e01b600052603160045260246000fdfea26469706673582212207df404687b9ee597a8a55822c5566858350784696ddffb253d928ceb6692990464736f6c63430008110033"; type FlowSubscriptionConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/FusionSeries__factory.ts b/typechain-types/factories/FusionSeries__factory.ts index 6fb97cc..577c485 100644 --- a/typechain-types/factories/FusionSeries__factory.ts +++ b/typechain-types/factories/FusionSeries__factory.ts @@ -37,6 +37,108 @@ const _abi = [ stateMutability: "nonpayable", type: "constructor", }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "ERC1155InsufficientBalance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address", + }, + ], + name: "ERC1155InvalidApprover", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "idsLength", + type: "uint256", + }, + { + internalType: "uint256", + name: "valuesLength", + type: "uint256", + }, + ], + name: "ERC1155InvalidArrayLength", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + ], + name: "ERC1155InvalidOperator", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC1155InvalidReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ERC1155InvalidSender", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "ERC1155MissingApprovalForAll", + type: "error", + }, { anonymous: false, inputs: [ @@ -435,7 +537,7 @@ const _abi = [ }, { internalType: "uint256[]", - name: "amounts", + name: "values", type: "uint256[]", }, { @@ -468,7 +570,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, { @@ -545,6 +647,19 @@ const _abi = [ stateMutability: "view", type: "function", }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, { inputs: [ { @@ -612,7 +727,7 @@ const _abi = [ ]; const _bytecode = - "0x60806040523480156200001157600080fd5b506040516200246838038062002468833981016040819052620000349162000196565b846200004081620000a2565b5060046200004f8582620002dc565b5060056200005e8482620002dc565b50600680546001600160a01b039384166001600160a01b031991821617909155600a80549290931691811682179092556007805490921617905550620003a8915050565b6002620000b08282620002dc565b5050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620000dc57600080fd5b81516001600160401b0380821115620000f957620000f9620000b4565b604051601f8301601f19908116603f01168101908282118183101715620001245762000124620000b4565b816040528381526020925086838588010111156200014157600080fd5b600091505b8382101562000165578582018301518183018401529082019062000146565b600093810190920192909252949350505050565b80516001600160a01b03811681146200019157600080fd5b919050565b600080600080600060a08688031215620001af57600080fd5b85516001600160401b0380821115620001c757600080fd5b620001d589838a01620000ca565b96506020880151915080821115620001ec57600080fd5b620001fa89838a01620000ca565b955060408801519150808211156200021157600080fd5b506200022088828901620000ca565b935050620002316060870162000179565b9150620002416080870162000179565b90509295509295909350565b600181811c908216806200026257607f821691505b6020821081036200028357634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002d757600081815260208120601f850160051c81016020861015620002b25750805b601f850160051c820191505b81811015620002d357828155600101620002be565b5050505b505050565b81516001600160401b03811115620002f857620002f8620000b4565b62000310816200030984546200024d565b8462000289565b602080601f8311600181146200034857600084156200032f5750858301515b600019600386901b1c1916600185901b178555620002d3565b600085815260208120601f198616915b82811015620003795788860151825594840194600190910190840162000358565b5085821015620003985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6120b080620003b86000396000f3fe608060405234801561001057600080fd5b506004361061012b5760003560e01c80634f558e79116100ad578063a22cb46511610071578063a22cb4651461029a578063a4b11052146102ad578063bd85b039146102c0578063e985e9c5146102e0578063f242432a1461031c57600080fd5b80634f558e791461023057806354fd4d501461025257806378aa2b381461026c5780637ab007151461027f57806395d89b411461029257600080fd5b80630e89341c116100f45780630e89341c146101ce57806321988227146101e15780632eb2c2d6146101f45780634e1273f4146102075780634eeca0761461022757600080fd5b8062fdd58e1461013057806301ffc9a71461015657806302fe53051461017957806306fdde031461018e5780630aa7c854146101a3575b600080fd5b61014361013e3660046115c4565b61032f565b6040519081526020015b60405180910390f35b610169610164366004611604565b6103c8565b604051901515815260200161014d565b61018c6101873660046116df565b6103d3565b005b610196610475565b60405161014d9190611762565b6007546101b6906001600160a01b031681565b6040516001600160a01b03909116815260200161014d565b6101966101dc366004611775565b610503565b6101436101ef36600461178e565b6105a5565b61018c610202366004611890565b6106dd565b61021a61021536600461193a565b610729565b60405161014d9190611a40565b61014360085481565b61016961023e366004611775565b600090815260036020526040902054151590565b61025a600181565b60405160ff909116815260200161014d565b61014361027a366004611a53565b610853565b61018c61028d366004611ad1565b61098c565b610196610a4d565b61018c6102a8366004611b01565b610a5a565b6006546101b6906001600160a01b031681565b6101436102ce366004611775565b60009081526003602052604090205490565b6101696102ee366004611b38565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b61018c61032a366004611b6b565b610a69565b60006001600160a01b03831661039f5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b506000818152602081815260408083206001600160a01b03861684529091529020545b92915050565b60006103c282610aae565b600a546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610429573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044d9190611bd0565b6104695760405162461bcd60e51b815260040161039690611bed565b61047281610afe565b50565b6004805461048290611c24565b80601f01602080910402602001604051908101604052809291908181526020018280546104ae90611c24565b80156104fb5780601f106104d0576101008083540402835291602001916104fb565b820191906000526020600020905b8154815290600101906020018083116104de57829003601f168201915b505050505081565b600081815260096020526040902080546060919061052090611c24565b80601f016020809104026020016040519081016040528092919081815260200182805461054c90611c24565b80156105995780601f1061056e57610100808354040283529160200191610599565b820191906000526020600020905b81548152906001019060200180831161057c57829003601f168201915b50505050509050919050565b600a546000906001600160a01b031663efd46065336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156105fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106229190611bd0565b61063e5760405162461bcd60e51b815260040161039690611bed565b6008805490600061064e83611c74565b909155505060085461066233828787610b0a565b600081815260096020526040902061067a8482611cd8565b50600654610692906001600160a01b03166001610a5a565b84336001600160a01b0316827fe4811c382d53d91e396ee6180074ce1480324060a9949aef9a8452ef91c65e2e866040516106cd9190611762565b60405180910390a4949350505050565b6001600160a01b0385163314806106f957506106f985336102ee565b6107155760405162461bcd60e51b815260040161039690611d98565b6107228585858585610c2d565b5050505050565b6060815183511461078e5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b6064820152608401610396565b6000835167ffffffffffffffff8111156107aa576107aa611628565b6040519080825280602002602001820160405280156107d3578160200160208202803683370190505b50905060005b845181101561084b5761081e8582815181106107f7576107f7611de6565b602002602001015185838151811061081157610811611de6565b602002602001015161032f565b82828151811061083057610830611de6565b602090810291909101015261084481611c74565b90506107d9565b509392505050565b600a546000906001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156108ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d09190611bd0565b6108ec5760405162461bcd60e51b815260040161039690611bed565b600880549060006108fc83611c74565b909155505060085461091086828787610b0a565b60008181526009602052604090206109288482611cd8565b50600654610940906001600160a01b03166001610a5a565b84336001600160a01b0316827fe4811c382d53d91e396ee6180074ce1480324060a9949aef9a8452ef91c65e2e8660405161097b9190611762565b60405180910390a495945050505050565b80610997338461032f565b14610a005760405162461bcd60e51b815260206004820152603360248201527f467573696f6e5365726965733a2043616c6c6572206973206e6f7420746f6b656044820152721b881bdddb995c881bdc88185c1c1c9bdd9959606a1b6064820152608401610396565b610a0b338383610e18565b817fbc6f06e8b7e09db53951fb0ae62c2bb8ac33d7ec0a02d81c36c0877f80020d46336040516001600160a01b03909116815260200160405180910390a25050565b6005805461048290611c24565b610a65338383610fa8565b5050565b6001600160a01b038516331480610a855750610a8585336102ee565b610aa15760405162461bcd60e51b815260040161039690611d98565b6107228585858585611088565b60006001600160e01b03198216636cdb3d1360e11b1480610adf57506001600160e01b031982166303a24d0760e21b145b806103c257506301ffc9a760e01b6001600160e01b03198316146103c2565b6002610a658282611cd8565b6001600160a01b038416610b6a5760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b6064820152608401610396565b336000610b76856111c0565b90506000610b83856111c0565b9050610b948360008985858961120b565b6000868152602081815260408083206001600160a01b038b16845290915281208054879290610bc4908490611dfc565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4610c2483600089898989611219565b50505050505050565b8151835114610c8f5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206044820152670dad2e6dac2e8c6d60c31b6064820152608401610396565b6001600160a01b038416610cb55760405162461bcd60e51b815260040161039690611e0f565b33610cc481878787878761120b565b60005b8451811015610daa576000858281518110610ce457610ce4611de6565b602002602001015190506000858381518110610d0257610d02611de6565b602090810291909101810151600084815280835260408082206001600160a01b038e168352909352919091205490915081811015610d525760405162461bcd60e51b815260040161039690611e54565b6000838152602081815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290610d8f908490611dfc565b9250508190555050505080610da390611c74565b9050610cc7565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051610dfa929190611e9e565b60405180910390a4610e10818787878787611374565b505050505050565b6001600160a01b038316610e7a5760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201526265737360e81b6064820152608401610396565b336000610e86846111c0565b90506000610e93846111c0565b9050610eb38387600085856040518060200160405280600081525061120b565b6000858152602081815260408083206001600160a01b038a16845290915290205484811015610f305760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604482015263616e636560e01b6064820152608401610396565b6000868152602081815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4604080516020810190915260009052610c24565b816001600160a01b0316836001600160a01b03160361101b5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b6064820152608401610396565b6001600160a01b03838116600081815260016020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0384166110ae5760405162461bcd60e51b815260040161039690611e0f565b3360006110ba856111c0565b905060006110c7856111c0565b90506110d783898985858961120b565b6000868152602081815260408083206001600160a01b038c168452909152902054858110156111185760405162461bcd60e51b815260040161039690611e54565b6000878152602081815260408083206001600160a01b038d8116855292528083208985039055908a16825281208054889290611155908490611dfc565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46111b5848a8a8a8a8a611219565b505050505050505050565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106111fa576111fa611de6565b602090810291909101015292915050565b610e1086868686868661142f565b6001600160a01b0384163b15610e105760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e619061125d9089908990889088908890600401611ecc565b6020604051808303816000875af1925050508015611298575060408051601f3d908101601f1916820190925261129591810190611f11565b60015b611344576112a4611f2e565b806308c379a0036112dd57506112b8611f4a565b806112c357506112df565b8060405162461bcd60e51b81526004016103969190611762565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b6064820152608401610396565b6001600160e01b0319811663f23a6e6160e01b14610c245760405162461bcd60e51b815260040161039690611fd4565b6001600160a01b0384163b15610e105760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906113b8908990899088908890889060040161201c565b6020604051808303816000875af19250505080156113f3575060408051601f3d908101601f191682019092526113f091810190611f11565b60015b6113ff576112a4611f2e565b6001600160e01b0319811663bc197c8160e01b14610c245760405162461bcd60e51b815260040161039690611fd4565b6001600160a01b0385166114b65760005b83518110156114b45782818151811061145b5761145b611de6565b60200260200101516003600086848151811061147957611479611de6565b60200260200101518152602001908152602001600020600082825461149e9190611dfc565b909155506114ad905081611c74565b9050611440565b505b6001600160a01b038416610e105760005b8351811015610c245760008482815181106114e4576114e4611de6565b60200260200101519050600084838151811061150257611502611de6565b60200260200101519050600060036000848152602001908152602001600020549050818110156115855760405162461bcd60e51b815260206004820152602860248201527f455243313135353a206275726e20616d6f756e74206578636565647320746f74604482015267616c537570706c7960c01b6064820152608401610396565b600092835260036020526040909220910390556115a181611c74565b90506114c7565b80356001600160a01b03811681146115bf57600080fd5b919050565b600080604083850312156115d757600080fd5b6115e0836115a8565b946020939093013593505050565b6001600160e01b03198116811461047257600080fd5b60006020828403121561161657600080fd5b8135611621816115ee565b9392505050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff8111828210171561166457611664611628565b6040525050565b600082601f83011261167c57600080fd5b813567ffffffffffffffff81111561169657611696611628565b6040516116ad601f8301601f19166020018261163e565b8181528460208386010111156116c257600080fd5b816020850160208301376000918101602001919091529392505050565b6000602082840312156116f157600080fd5b813567ffffffffffffffff81111561170857600080fd5b6117148482850161166b565b949350505050565b6000815180845260005b8181101561174257602081850181015186830182015201611726565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000611621602083018461171c565b60006020828403121561178757600080fd5b5035919050565b6000806000606084860312156117a357600080fd5b83359250602084013567ffffffffffffffff808211156117c257600080fd5b6117ce8783880161166b565b935060408601359150808211156117e457600080fd5b506117f18682870161166b565b9150509250925092565b600067ffffffffffffffff82111561181557611815611628565b5060051b60200190565b600082601f83011261183057600080fd5b8135602061183d826117fb565b60405161184a828261163e565b83815260059390931b850182019282810191508684111561186a57600080fd5b8286015b84811015611885578035835291830191830161186e565b509695505050505050565b600080600080600060a086880312156118a857600080fd5b6118b1866115a8565b94506118bf602087016115a8565b9350604086013567ffffffffffffffff808211156118dc57600080fd5b6118e889838a0161181f565b945060608801359150808211156118fe57600080fd5b61190a89838a0161181f565b9350608088013591508082111561192057600080fd5b5061192d8882890161166b565b9150509295509295909350565b6000806040838503121561194d57600080fd5b823567ffffffffffffffff8082111561196557600080fd5b818501915085601f83011261197957600080fd5b81356020611986826117fb565b604051611993828261163e565b83815260059390931b85018201928281019150898411156119b357600080fd5b948201945b838610156119d8576119c9866115a8565b825294820194908201906119b8565b965050860135925050808211156119ee57600080fd5b506119fb8582860161181f565b9150509250929050565b600081518084526020808501945080840160005b83811015611a3557815187529582019590820190600101611a19565b509495945050505050565b6020815260006116216020830184611a05565b60008060008060808587031215611a6957600080fd5b611a72856115a8565b935060208501359250604085013567ffffffffffffffff80821115611a9657600080fd5b611aa28883890161166b565b93506060870135915080821115611ab857600080fd5b50611ac58782880161166b565b91505092959194509250565b60008060408385031215611ae457600080fd5b50508035926020909101359150565b801515811461047257600080fd5b60008060408385031215611b1457600080fd5b611b1d836115a8565b91506020830135611b2d81611af3565b809150509250929050565b60008060408385031215611b4b57600080fd5b611b54836115a8565b9150611b62602084016115a8565b90509250929050565b600080600080600060a08688031215611b8357600080fd5b611b8c866115a8565b9450611b9a602087016115a8565b93506040860135925060608601359150608086013567ffffffffffffffff811115611bc457600080fd5b61192d8882890161166b565b600060208284031215611be257600080fd5b815161162181611af3565b6020808252601b908201527f467573696f6e5365726965733a20556e617574686f72697a6564210000000000604082015260600190565b600181811c90821680611c3857607f821691505b602082108103611c5857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600060018201611c8657611c86611c5e565b5060010190565b601f821115611cd357600081815260208120601f850160051c81016020861015611cb45750805b601f850160051c820191505b81811015610e1057828155600101611cc0565b505050565b815167ffffffffffffffff811115611cf257611cf2611628565b611d0681611d008454611c24565b84611c8d565b602080601f831160018114611d3b5760008415611d235750858301515b600019600386901b1c1916600185901b178555610e10565b600085815260208120601f198616915b82811015611d6a57888601518255948401946001909101908401611d4b565b5085821015611d885787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b808201808211156103c2576103c2611c5e565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b604081526000611eb16040830185611a05565b8281036020840152611ec38185611a05565b95945050505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a060808201819052600090611f069083018461171c565b979650505050505050565b600060208284031215611f2357600080fd5b8151611621816115ee565b600060033d1115611f475760046000803e5060005160e01c5b90565b600060443d1015611f585790565b6040516003193d81016004833e81513d67ffffffffffffffff8160248401118184111715611f8857505050505090565b8285019150815181811115611fa05750505050505090565b843d8701016020828501011115611fba5750505050505090565b611fc96020828601018761163e565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6001600160a01b0386811682528516602082015260a06040820181905260009061204890830186611a05565b828103606084015261205a8186611a05565b9050828103608084015261206e818561171c565b9897505050505050505056fea26469706673582212208d788a6ae08f8529c8bde3422728e48ca4d8dcf87759af00d323ab2801a65cb264736f6c63430008110033"; + "0x608060405234801562000010575f80fd5b5060405162001ee238038062001ee2833981016040819052620000339162000190565b846200003f81620000a1565b5060056200004e8582620002ca565b5060066200005d8482620002ca565b50600780546001600160a01b039384166001600160a01b031991821617909155600b8054929093169181168217909255600880549092161790555062000396915050565b6002620000af8282620002ca565b5050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112620000d7575f80fd5b81516001600160401b0380821115620000f457620000f4620000b3565b604051601f8301601f19908116603f011681019082821181831017156200011f576200011f620000b3565b81604052838152602092508660208588010111156200013c575f80fd5b5f91505b838210156200015f578582018301518183018401529082019062000140565b5f602085830101528094505050505092915050565b80516001600160a01b03811681146200018b575f80fd5b919050565b5f805f805f60a08688031215620001a5575f80fd5b85516001600160401b0380821115620001bc575f80fd5b620001ca89838a01620000c7565b96506020880151915080821115620001e0575f80fd5b620001ee89838a01620000c7565b9550604088015191508082111562000204575f80fd5b506200021388828901620000c7565b935050620002246060870162000174565b9150620002346080870162000174565b90509295509295909350565b600181811c908216806200025557607f821691505b6020821081036200027457634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002c557805f5260205f20601f840160051c81016020851015620002a15750805b601f840160051c820191505b81811015620002c2575f8155600101620002ad565b50505b505050565b81516001600160401b03811115620002e657620002e6620000b3565b620002fe81620002f7845462000240565b846200027a565b602080601f83116001811462000334575f84156200031c5750858301515b5f19600386901b1c1916600185901b1785556200038e565b5f85815260208120601f198616915b82811015620003645788860151825594840194600190910190840162000343565b50858210156200038257878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b611b3e80620003a45f395ff3fe608060405234801561000f575f80fd5b5060043610610131575f3560e01c80634eeca076116100b457806395d89b411161007957806395d89b411461029e578063a22cb465146102a6578063a4b11052146102b9578063bd85b039146102cc578063e985e9c5146102eb578063f242432a146102fe575f80fd5b80634eeca076146102345780634f558e791461023d57806354fd4d501461025e57806378aa2b38146102785780637ab007151461028b575f80fd5b80630e89341c116100fa5780630e89341c146101d357806318160ddd146101e657806321988227146101ee5780632eb2c2d6146102015780634e1273f414610214575f80fd5b8062fdd58e1461013557806301ffc9a71461015b57806302fe53051461017e57806306fdde03146101935780630aa7c854146101a8575b5f80fd5b61014861014336600461127b565b610311565b6040519081526020015b60405180910390f35b61016e6101693660046112b8565b610338565b6040519015158152602001610152565b61019161018c36600461138b565b610342565b005b61019b6103eb565b6040516101529190611408565b6008546101bb906001600160a01b031681565b6040516001600160a01b039091168152602001610152565b61019b6101e136600461141a565b610477565b600454610148565b6101486101fc366004611431565b610516565b61019161020f366004611528565b610649565b6102276102223660046115cb565b6106b0565b60405161015291906116bf565b61014860095481565b61016e61024b36600461141a565b5f90815260036020526040902054151590565b610266600181565b60405160ff9091168152602001610152565b6101486102863660046116d1565b61077b565b61019161029936600461174a565b6108af565b61019b610970565b6101916102b4366004611777565b61097d565b6007546101bb906001600160a01b031681565b6101486102da36600461141a565b5f9081526003602052604090205490565b61016e6102f93660046117ac565b61098c565b61019161030c3660046117dd565b6109b9565b5f818152602081815260408083206001600160a01b03861684529091529020545b92915050565b5f61033282610a18565b600b546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610396573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103ba919061183d565b6103df5760405162461bcd60e51b81526004016103d690611858565b60405180910390fd5b6103e881610a67565b50565b600580546103f89061188f565b80601f01602080910402602001604051908101604052809291908181526020018280546104249061188f565b801561046f5780601f106104465761010080835404028352916020019161046f565b820191905f5260205f20905b81548152906001019060200180831161045257829003601f168201915b505050505081565b5f818152600a602052604090208054606091906104939061188f565b80601f01602080910402602001604051908101604052809291908181526020018280546104bf9061188f565b801561050a5780601f106104e15761010080835404028352916020019161050a565b820191905f5260205f20905b8154815290600101906020018083116104ed57829003601f168201915b50505050509050919050565b600b545f906001600160a01b031663efd46065336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa15801561056c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610590919061183d565b6105ac5760405162461bcd60e51b81526004016103d690611858565b60098054905f6105bb836118db565b90915550506009546105cf33828787610a73565b5f818152600a602052604090206105e6848261193c565b506007546105fe906001600160a01b0316600161097d565b84336001600160a01b0316827fe4811c382d53d91e396ee6180074ce1480324060a9949aef9a8452ef91c65e2e866040516106399190611408565b60405180910390a4949350505050565b336001600160a01b038616811480159061066a5750610668868261098c565b155b1561069b5760405163711bec9160e11b81526001600160a01b038083166004830152871660248201526044016103d6565b6106a88686868686610ace565b505050505050565b606081518351146106e15781518351604051635b05999160e01b8152600481019290925260248201526044016103d6565b5f835167ffffffffffffffff8111156106fc576106fc6112da565b604051908082528060200260200182016040528015610725578160200160208202803683370190505b5090505f5b84518110156107735760208082028601015161074e90602080840287010151610311565b828281518110610760576107606119f8565b602090810291909101015260010161072a565b509392505050565b600b545f906001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156107d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107f5919061183d565b6108115760405162461bcd60e51b81526004016103d690611858565b60098054905f610820836118db565b909155505060095461083486828787610a73565b5f818152600a6020526040902061084b848261193c565b50600754610863906001600160a01b0316600161097d565b84336001600160a01b0316827fe4811c382d53d91e396ee6180074ce1480324060a9949aef9a8452ef91c65e2e8660405161089e9190611408565b60405180910390a495945050505050565b806108ba3384610311565b146109235760405162461bcd60e51b815260206004820152603360248201527f467573696f6e5365726965733a2043616c6c6572206973206e6f7420746f6b656044820152721b881bdddb995c881bdc88185c1c1c9bdd9959606a1b60648201526084016103d6565b61092e338383610b33565b817fbc6f06e8b7e09db53951fb0ae62c2bb8ac33d7ec0a02d81c36c0877f80020d46336040516001600160a01b03909116815260200160405180910390a25050565b600680546103f89061188f565b610988338383610b99565b5050565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205460ff1690565b336001600160a01b03861681148015906109da57506109d8868261098c565b155b15610a0b5760405163711bec9160e11b81526001600160a01b038083166004830152871660248201526044016103d6565b6106a88686868686610c2d565b5f6001600160e01b03198216636cdb3d1360e11b1480610a4857506001600160e01b031982166303a24d0760e21b145b8061033257506301ffc9a760e01b6001600160e01b0319831614610332565b6002610988828261193c565b6001600160a01b038416610a9c57604051632bfa23e760e11b81525f60048201526024016103d6565b604080516001808252602082018690528183019081526060820185905260808201909252906106a85f87848487610cb9565b6001600160a01b038416610af757604051632bfa23e760e11b81525f60048201526024016103d6565b6001600160a01b038516610b1f57604051626a0d4560e21b81525f60048201526024016103d6565b610b2c8585858585610cb9565b5050505050565b6001600160a01b038316610b5b57604051626a0d4560e21b81525f60048201526024016103d6565b604080516001808252602082018590528183019081526060820184905260a082019092525f60808201818152919291610b2c91879185908590610cb9565b6001600160a01b038216610bc15760405162ced3e160e81b81525f60048201526024016103d6565b6001600160a01b038381165f81815260016020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b038416610c5657604051632bfa23e760e11b81525f60048201526024016103d6565b6001600160a01b038516610c7e57604051626a0d4560e21b81525f60048201526024016103d6565b60408051600180825260208201869052818301908152606082018590526080820190925290610cb08787848487610cb9565b50505050505050565b610cc585858585610d0c565b6001600160a01b03841615610b2c5782513390600103610cfe5760208481015190840151610cf7838989858589610e49565b50506106a8565b6106a8818787878787610f6a565b610d1884848484611051565b6001600160a01b038416610dbc575f805b8351811015610da3575f838281518110610d4557610d456119f8565b602002602001015190508060035f878581518110610d6557610d656119f8565b602002602001015181526020019081526020015f205f828254610d889190611a0c565b90915550610d9890508184611a0c565b925050600101610d29565b508060045f828254610db59190611a0c565b9091555050505b6001600160a01b038316610e43575f805b8351811015610e37575f838281518110610de957610de96119f8565b602002602001015190508060035f878581518110610e0957610e096119f8565b60209081029190910181015182528101919091526040015f2080549190910390559190910190600101610dcd565b50600480549190910390555b50505050565b6001600160a01b0384163b156106a85760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190610e8d9089908990889088908890600401611a1f565b6020604051808303815f875af1925050508015610ec7575060408051601f3d908101601f19168201909252610ec491810190611a63565b60015b610f2e573d808015610ef4576040519150601f19603f3d011682016040523d82523d5f602084013e610ef9565b606091505b5080515f03610f2657604051632bfa23e760e11b81526001600160a01b03861660048201526024016103d6565b805181602001fd5b6001600160e01b0319811663f23a6e6160e01b14610cb057604051632bfa23e760e11b81526001600160a01b03861660048201526024016103d6565b6001600160a01b0384163b156106a85760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190610fae9089908990889088908890600401611a7e565b6020604051808303815f875af1925050508015610fe8575060408051601f3d908101601f19168201909252610fe591810190611a63565b60015b611015573d808015610ef4576040519150601f19603f3d011682016040523d82523d5f602084013e610ef9565b6001600160e01b0319811663bc197c8160e01b14610cb057604051632bfa23e760e11b81526001600160a01b03861660048201526024016103d6565b80518251146110805781518151604051635b05999160e01b8152600481019290925260248201526044016103d6565b335f5b8351811015611182576020818102858101820151908501909101516001600160a01b03881615611134575f828152602081815260408083206001600160a01b038c1684529091529020548181101561110e576040516303dee4c560e01b81526001600160a01b038a1660048201526024810182905260448101839052606481018490526084016103d6565b5f838152602081815260408083206001600160a01b038d16845290915290209082900390555b6001600160a01b03871615611178575f828152602081815260408083206001600160a01b038b16845290915281208054839290611172908490611a0c565b90915550505b5050600101611083565b5082516001036112025760208301515f906020840151909150856001600160a01b0316876001600160a01b0316846001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6285856040516111f3929190918252602082015260400190565b60405180910390a45050610b2c565b836001600160a01b0316856001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051611251929190611adb565b60405180910390a45050505050565b80356001600160a01b0381168114611276575f80fd5b919050565b5f806040838503121561128c575f80fd5b61129583611260565b946020939093013593505050565b6001600160e01b0319811681146103e8575f80fd5b5f602082840312156112c8575f80fd5b81356112d3816112a3565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611317576113176112da565b604052919050565b5f82601f83011261132e575f80fd5b813567ffffffffffffffff811115611348576113486112da565b61135b601f8201601f19166020016112ee565b81815284602083860101111561136f575f80fd5b816020850160208301375f918101602001919091529392505050565b5f6020828403121561139b575f80fd5b813567ffffffffffffffff8111156113b1575f80fd5b6113bd8482850161131f565b949350505050565b5f81518084525f5b818110156113e9576020818501810151868301820152016113cd565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f6112d360208301846113c5565b5f6020828403121561142a575f80fd5b5035919050565b5f805f60608486031215611443575f80fd5b83359250602084013567ffffffffffffffff80821115611461575f80fd5b61146d8783880161131f565b93506040860135915080821115611482575f80fd5b5061148f8682870161131f565b9150509250925092565b5f67ffffffffffffffff8211156114b2576114b26112da565b5060051b60200190565b5f82601f8301126114cb575f80fd5b813560206114e06114db83611499565b6112ee565b8083825260208201915060208460051b870101935086841115611501575f80fd5b602086015b8481101561151d5780358352918301918301611506565b509695505050505050565b5f805f805f60a0868803121561153c575f80fd5b61154586611260565b945061155360208701611260565b9350604086013567ffffffffffffffff8082111561156f575f80fd5b61157b89838a016114bc565b94506060880135915080821115611590575f80fd5b61159c89838a016114bc565b935060808801359150808211156115b1575f80fd5b506115be8882890161131f565b9150509295509295909350565b5f80604083850312156115dc575f80fd5b823567ffffffffffffffff808211156115f3575f80fd5b818501915085601f830112611606575f80fd5b813560206116166114db83611499565b82815260059290921b84018101918181019089841115611634575f80fd5b948201945b838610156116595761164a86611260565b82529482019490820190611639565b9650508601359250508082111561166e575f80fd5b5061167b858286016114bc565b9150509250929050565b5f815180845260208085019450602084015f5b838110156116b457815187529582019590820190600101611698565b509495945050505050565b602081525f6112d36020830184611685565b5f805f80608085870312156116e4575f80fd5b6116ed85611260565b935060208501359250604085013567ffffffffffffffff80821115611710575f80fd5b61171c8883890161131f565b93506060870135915080821115611731575f80fd5b5061173e8782880161131f565b91505092959194509250565b5f806040838503121561175b575f80fd5b50508035926020909101359150565b80151581146103e8575f80fd5b5f8060408385031215611788575f80fd5b61179183611260565b915060208301356117a18161176a565b809150509250929050565b5f80604083850312156117bd575f80fd5b6117c683611260565b91506117d460208401611260565b90509250929050565b5f805f805f60a086880312156117f1575f80fd5b6117fa86611260565b945061180860208701611260565b93506040860135925060608601359150608086013567ffffffffffffffff811115611831575f80fd5b6115be8882890161131f565b5f6020828403121561184d575f80fd5b81516112d38161176a565b6020808252601b908201527f467573696f6e5365726965733a20556e617574686f72697a6564210000000000604082015260600190565b600181811c908216806118a357607f821691505b6020821081036118c157634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b5f600182016118ec576118ec6118c7565b5060010190565b601f82111561193757805f5260205f20601f840160051c810160208510156119185750805b601f840160051c820191505b81811015610b2c575f8155600101611924565b505050565b815167ffffffffffffffff811115611956576119566112da565b61196a81611964845461188f565b846118f3565b602080601f83116001811461199d575f84156119865750858301515b5f19600386901b1c1916600185901b1785556106a8565b5f85815260208120601f198616915b828110156119cb578886015182559484019460019091019084016119ac565b50858210156119e857878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b80820180821115610332576103326118c7565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190525f90611a58908301846113c5565b979650505050505050565b5f60208284031215611a73575f80fd5b81516112d3816112a3565b6001600160a01b0386811682528516602082015260a0604082018190525f90611aa990830186611685565b8281036060840152611abb8186611685565b90508281036080840152611acf81856113c5565b98975050505050505050565b604081525f611aed6040830185611685565b8281036020840152611aff8185611685565b9594505050505056fea2646970667358221220c69f26fbc57d05756e0f203386dbd703fa4ea22978ade7847386c03b6676a7a164736f6c63430008180033"; type FusionSeriesConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/IAccessControlEnumerable__factory.ts b/typechain-types/factories/IAccessControlEnumerable__factory.ts index 37ab35d..a6bb1e4 100644 --- a/typechain-types/factories/IAccessControlEnumerable__factory.ts +++ b/typechain-types/factories/IAccessControlEnumerable__factory.ts @@ -10,6 +10,27 @@ import type { } from "../IAccessControlEnumerable"; const _abi = [ + { + inputs: [], + name: "AccessControlBadConfirmation", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "bytes32", + name: "neededRole", + type: "bytes32", + }, + ], + name: "AccessControlUnauthorizedAccount", + type: "error", + }, { anonymous: false, inputs: [ @@ -198,7 +219,7 @@ const _abi = [ }, { internalType: "address", - name: "account", + name: "callerConfirmation", type: "address", }, ], diff --git a/typechain-types/factories/IAccessControl__factory.ts b/typechain-types/factories/IAccessControl__factory.ts index 8c5e4c0..3dd43ff 100644 --- a/typechain-types/factories/IAccessControl__factory.ts +++ b/typechain-types/factories/IAccessControl__factory.ts @@ -10,6 +10,27 @@ import type { } from "../IAccessControl"; const _abi = [ + { + inputs: [], + name: "AccessControlBadConfirmation", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "bytes32", + name: "neededRole", + type: "bytes32", + }, + ], + name: "AccessControlUnauthorizedAccount", + type: "error", + }, { anonymous: false, inputs: [ @@ -155,7 +176,7 @@ const _abi = [ }, { internalType: "address", - name: "account", + name: "callerConfirmation", type: "address", }, ], diff --git a/typechain-types/factories/IERC1155Errors__factory.ts b/typechain-types/factories/IERC1155Errors__factory.ts new file mode 100644 index 0000000..3b09f8f --- /dev/null +++ b/typechain-types/factories/IERC1155Errors__factory.ts @@ -0,0 +1,128 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import { Provider } from "@ethersproject/providers"; +import type { + IERC1155Errors, + IERC1155ErrorsInterface, +} from "../IERC1155Errors"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "ERC1155InsufficientBalance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address", + }, + ], + name: "ERC1155InvalidApprover", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "idsLength", + type: "uint256", + }, + { + internalType: "uint256", + name: "valuesLength", + type: "uint256", + }, + ], + name: "ERC1155InvalidArrayLength", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + ], + name: "ERC1155InvalidOperator", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC1155InvalidReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ERC1155InvalidSender", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "ERC1155MissingApprovalForAll", + type: "error", + }, +]; + +export class IERC1155Errors__factory { + static readonly abi = _abi; + static createInterface(): IERC1155ErrorsInterface { + return new utils.Interface(_abi) as IERC1155ErrorsInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IERC1155Errors { + return new Contract(address, _abi, signerOrProvider) as IERC1155Errors; + } +} diff --git a/typechain-types/factories/IERC1155MetadataURI__factory.ts b/typechain-types/factories/IERC1155MetadataURI__factory.ts index f9129a0..9777930 100644 --- a/typechain-types/factories/IERC1155MetadataURI__factory.ts +++ b/typechain-types/factories/IERC1155MetadataURI__factory.ts @@ -219,7 +219,7 @@ const _abi = [ }, { internalType: "uint256[]", - name: "amounts", + name: "values", type: "uint256[]", }, { @@ -252,7 +252,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, { diff --git a/typechain-types/factories/IERC1155__factory.ts b/typechain-types/factories/IERC1155__factory.ts index ffa8e54..7db5c6d 100644 --- a/typechain-types/factories/IERC1155__factory.ts +++ b/typechain-types/factories/IERC1155__factory.ts @@ -216,7 +216,7 @@ const _abi = [ }, { internalType: "uint256[]", - name: "amounts", + name: "values", type: "uint256[]", }, { @@ -249,7 +249,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, { diff --git a/typechain-types/factories/IERC20Errors__factory.ts b/typechain-types/factories/IERC20Errors__factory.ts new file mode 100644 index 0000000..b3e5cd6 --- /dev/null +++ b/typechain-types/factories/IERC20Errors__factory.ts @@ -0,0 +1,109 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import { Provider } from "@ethersproject/providers"; +import type { IERC20Errors, IERC20ErrorsInterface } from "../IERC20Errors"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "allowance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + ], + name: "ERC20InsufficientAllowance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + ], + name: "ERC20InsufficientBalance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address", + }, + ], + name: "ERC20InvalidApprover", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC20InvalidReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ERC20InvalidSender", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "ERC20InvalidSpender", + type: "error", + }, +]; + +export class IERC20Errors__factory { + static readonly abi = _abi; + static createInterface(): IERC20ErrorsInterface { + return new utils.Interface(_abi) as IERC20ErrorsInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IERC20Errors { + return new Contract(address, _abi, signerOrProvider) as IERC20Errors; + } +} diff --git a/typechain-types/factories/IERC20Metadata__factory.ts b/typechain-types/factories/IERC20Metadata__factory.ts index f955c5c..50b1ef1 100644 --- a/typechain-types/factories/IERC20Metadata__factory.ts +++ b/typechain-types/factories/IERC20Metadata__factory.ts @@ -93,7 +93,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, ], @@ -188,7 +188,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, ], @@ -217,7 +217,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, ], diff --git a/typechain-types/factories/IERC20__factory.ts b/typechain-types/factories/IERC20__factory.ts index e660df2..267a1b5 100644 --- a/typechain-types/factories/IERC20__factory.ts +++ b/typechain-types/factories/IERC20__factory.ts @@ -90,7 +90,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, ], @@ -146,7 +146,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, ], @@ -175,7 +175,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, ], diff --git a/typechain-types/factories/IERC5267__factory.ts b/typechain-types/factories/IERC5267__factory.ts new file mode 100644 index 0000000..2c73c5a --- /dev/null +++ b/typechain-types/factories/IERC5267__factory.ts @@ -0,0 +1,72 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import { Provider } from "@ethersproject/providers"; +import type { IERC5267, IERC5267Interface } from "../IERC5267"; + +const _abi = [ + { + anonymous: false, + inputs: [], + name: "EIP712DomainChanged", + type: "event", + }, + { + inputs: [], + name: "eip712Domain", + outputs: [ + { + internalType: "bytes1", + name: "fields", + type: "bytes1", + }, + { + internalType: "string", + name: "name", + type: "string", + }, + { + internalType: "string", + name: "version", + type: "string", + }, + { + internalType: "uint256", + name: "chainId", + type: "uint256", + }, + { + internalType: "address", + name: "verifyingContract", + type: "address", + }, + { + internalType: "bytes32", + name: "salt", + type: "bytes32", + }, + { + internalType: "uint256[]", + name: "extensions", + type: "uint256[]", + }, + ], + stateMutability: "view", + type: "function", + }, +]; + +export class IERC5267__factory { + static readonly abi = _abi; + static createInterface(): IERC5267Interface { + return new utils.Interface(_abi) as IERC5267Interface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IERC5267 { + return new Contract(address, _abi, signerOrProvider) as IERC5267; + } +} diff --git a/typechain-types/factories/IERC721Enumerable__factory.ts b/typechain-types/factories/IERC721Enumerable__factory.ts index feb8b8d..6c6bda5 100644 --- a/typechain-types/factories/IERC721Enumerable__factory.ts +++ b/typechain-types/factories/IERC721Enumerable__factory.ts @@ -244,7 +244,7 @@ const _abi = [ }, { internalType: "bool", - name: "_approved", + name: "approved", type: "bool", }, ], diff --git a/typechain-types/factories/IERC721Errors__factory.ts b/typechain-types/factories/IERC721Errors__factory.ts new file mode 100644 index 0000000..5df0279 --- /dev/null +++ b/typechain-types/factories/IERC721Errors__factory.ts @@ -0,0 +1,126 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import { Provider } from "@ethersproject/providers"; +import type { IERC721Errors, IERC721ErrorsInterface } from "../IERC721Errors"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "ERC721IncorrectOwner", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "ERC721InsufficientApproval", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address", + }, + ], + name: "ERC721InvalidApprover", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + ], + name: "ERC721InvalidOperator", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "ERC721InvalidOwner", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC721InvalidReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ERC721InvalidSender", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "ERC721NonexistentToken", + type: "error", + }, +]; + +export class IERC721Errors__factory { + static readonly abi = _abi; + static createInterface(): IERC721ErrorsInterface { + return new utils.Interface(_abi) as IERC721ErrorsInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IERC721Errors { + return new Contract(address, _abi, signerOrProvider) as IERC721Errors; + } +} diff --git a/typechain-types/factories/IERC721Metadata__factory.ts b/typechain-types/factories/IERC721Metadata__factory.ts index 0ef9458..2be6d4a 100644 --- a/typechain-types/factories/IERC721Metadata__factory.ts +++ b/typechain-types/factories/IERC721Metadata__factory.ts @@ -257,7 +257,7 @@ const _abi = [ }, { internalType: "bool", - name: "_approved", + name: "approved", type: "bool", }, ], diff --git a/typechain-types/factories/IERC721__factory.ts b/typechain-types/factories/IERC721__factory.ts index 04aa7ce..1674421 100644 --- a/typechain-types/factories/IERC721__factory.ts +++ b/typechain-types/factories/IERC721__factory.ts @@ -241,7 +241,7 @@ const _abi = [ }, { internalType: "bool", - name: "_approved", + name: "approved", type: "bool", }, ], diff --git a/typechain-types/factories/InstaGen__factory.ts b/typechain-types/factories/InstaGen__factory.ts index eaddc5d..f2a3b01 100644 --- a/typechain-types/factories/InstaGen__factory.ts +++ b/typechain-types/factories/InstaGen__factory.ts @@ -84,6 +84,70 @@ const _abi = [ name: "BalanceQueryForZeroAddress", type: "error", }, + { + inputs: [ + { + internalType: "uint256", + name: "numerator", + type: "uint256", + }, + { + internalType: "uint256", + name: "denominator", + type: "uint256", + }, + ], + name: "ERC2981InvalidDefaultRoyalty", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC2981InvalidDefaultRoyaltyReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "uint256", + name: "numerator", + type: "uint256", + }, + { + internalType: "uint256", + name: "denominator", + type: "uint256", + }, + ], + name: "ERC2981InvalidTokenRoyalty", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC2981InvalidTokenRoyaltyReceiver", + type: "error", + }, { inputs: [], name: "MintERC2309QuantityExceedsLimit", @@ -665,12 +729,12 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "_tokenId", + name: "tokenId", type: "uint256", }, { internalType: "uint256", - name: "_salePrice", + name: "salePrice", type: "uint256", }, ], @@ -985,7 +1049,7 @@ const _abi = [ ]; const _bytecode = - "0x60e06040523480156200001157600080fd5b506040516200276a3803806200276a8339810160408190526200003491620002dc565b8989600462000044838262000454565b50600562000053828262000454565b5060016002555050600f80546001600160a01b03808a166001600160a01b031992831617909255600b8054928b1692909116919091179055600d8690556080859052620000a1844262000520565b60a05260c0839052600a620000b7828262000454565b50620000c43383620000f5565b5050600c80546001600160a01b0319166001600160a01b039690961695909517909455506200054895505050505050565b6127106001600160601b0382161115620001695760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646044820152692073616c65507269636560b01b60648201526084015b60405180910390fd5b6001600160a01b038216620001c15760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c696420726563656976657200000000000000604482015260640162000160565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600055565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200022257600080fd5b81516001600160401b03808211156200023f576200023f620001fa565b604051601f8301601f19908116603f011681019082821181831017156200026a576200026a620001fa565b816040528381526020925086838588010111156200028757600080fd5b600091505b83821015620002ab57858201830151818301840152908201906200028c565b600093810190920192909252949350505050565b80516001600160a01b0381168114620002d757600080fd5b919050565b6000806000806000806000806000806101408b8d031215620002fd57600080fd5b8a516001600160401b03808211156200031557600080fd5b620003238e838f0162000210565b9b5060208d01519150808211156200033a57600080fd5b620003488e838f0162000210565b9a506200035860408e01620002bf565b99506200036860608e01620002bf565b985060808d0151975060a08d0151965060c08d0151955060e08d015194506101008d015193506101208d0151915080821115620003a457600080fd5b50620003b38d828e0162000210565b9150509295989b9194979a5092959850565b600181811c90821680620003da57607f821691505b602082108103620003fb57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200044f57600081815260208120601f850160051c810160208610156200042a5750805b601f850160051c820191505b818110156200044b5782815560010162000436565b5050505b505050565b81516001600160401b03811115620004705762000470620001fa565b6200048881620004818454620003c5565b8462000401565b602080601f831160018114620004c05760008415620004a75750858301515b600019600386901b1c1916600185901b1785556200044b565b600085815260208120601f198616915b82811015620004f157888601518255948401946001909101908401620004d0565b5085821015620005105787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200054257634e487b7160e01b600052601160045260246000fd5b92915050565b60805160a05160c0516121dd6200058d60003960008181610645015261105201526000818161038201526110e8015260008181610699015261111201526121dd6000f3fe6080604052600436106101ee5760003560e01c806370a082311161010d578063b88d4fde116100a0578063d5abeb011161006f578063d5abeb0114610633578063e030565e14610667578063e757c17d14610687578063e985e9c5146106bb578063f51f96dd146106db57600080fd5b8063b88d4fde146105c0578063ba91caae146105d3578063c2f1f14a146105f3578063c87b56dd1461061357600080fd5b80639874cd97116100dc5780639874cd97146104c4578063a0712d6814610558578063a22cb46514610580578063a4b11052146105a057600080fd5b806370a082311461043e578063783a112b1461045e5780638fc88c481461047157806395d89b41146104af57600080fd5b80632890e0d71161018557806342966c681161015457806342966c68146103b757806354fd4d50146103d75780636352211e146103fe578063655bc8db1461041e57600080fd5b80632890e0d7146103115780632a55205a146103315780633692d1181461037057806342842e0e146103a457600080fd5b80630aa7c854116101c15780630aa7c8541461029757806318160ddd146102b75780631919fed7146102de57806323b872dd146102fe57600080fd5b806301ffc9a7146101f357806306fdde0314610228578063081812fc1461024a578063095ea7b314610282575b600080fd5b3480156101ff57600080fd5b5061021361020e366004611cb2565b6106f1565b60405190151581526020015b60405180910390f35b34801561023457600080fd5b5061023d610742565b60405161021f9190611d1f565b34801561025657600080fd5b5061026a610265366004611d32565b6107d4565b6040516001600160a01b03909116815260200161021f565b610295610290366004611d60565b61080f565b005b3480156102a357600080fd5b50600c5461026a906001600160a01b031681565b3480156102c357600080fd5b5060035460025403600019015b60405190815260200161021f565b3480156102ea57600080fd5b506102956102f9366004611d32565b61081f565b61029561030c366004611d8c565b6108ef565b34801561031d57600080fd5b5061029561032c366004611d32565b610a5e565b34801561033d57600080fd5b5061035161034c366004611dcd565b610b37565b604080516001600160a01b03909316835260208301919091520161021f565b34801561037c57600080fd5b506102d07f000000000000000000000000000000000000000000000000000000000000000081565b6102956103b2366004611d8c565b610be3565b3480156103c357600080fd5b506102956103d2366004611d32565b610c03565b3480156103e357600080fd5b506103ec600181565b60405160ff909116815260200161021f565b34801561040a57600080fd5b5061026a610419366004611d32565b610c11565b34801561042a57600080fd5b50610295610439366004611dfd565b610c1c565b34801561044a57600080fd5b506102d0610459366004611e24565b610ccd565b61029561046c366004611dcd565b610d13565b34801561047d57600080fd5b506102d061048c366004611d32565b6000908152600e6020526040902054600160a81b900467ffffffffffffffff1690565b3480156104bb57600080fd5b5061023d61102d565b3480156104d057600080fd5b5061051f6104df366004611d32565b600e602052600090815260409020805460019091015460ff82169161010081046001600160a01b031691600160a81b90910467ffffffffffffffff169084565b6040805194151585526001600160a01b03909316602085015267ffffffffffffffff90911691830191909152606082015260800161021f565b61056b610566366004611d32565b61103c565b6040805192835260208301919091520161021f565b34801561058c57600080fd5b5061029561059b366004611e41565b6112d1565b3480156105ac57600080fd5b50600b5461026a906001600160a01b031681565b6102956105ce366004611e90565b61133d565b3480156105df57600080fd5b506102d06105ee366004611dcd565b61137e565b3480156105ff57600080fd5b5061026a61060e366004611d32565b6113a2565b34801561061f57600080fd5b5061023d61062e366004611d32565b6113f7565b34801561063f57600080fd5b506102d07f000000000000000000000000000000000000000000000000000000000000000081565b34801561067357600080fd5b50610295610682366004611f70565b611471565b34801561069357600080fd5b506102d07f000000000000000000000000000000000000000000000000000000000000000081565b3480156106c757600080fd5b506102136106d6366004611fbf565b6115d1565b3480156106e757600080fd5b506102d0600d5481565b6000636ad56fd360e11b6001600160e01b031983160161071357506001919050565b6314bdb52960e21b6001600160e01b031983160161073357506001919050565b61073c826115ff565b92915050565b60606004805461075190611fed565b80601f016020809104026020016040519081016040528092919081815260200182805461077d90611fed565b80156107ca5780601f1061079f576101008083540402835291602001916107ca565b820191906000526020600020905b8154815290600101906020018083116107ad57829003601f168201915b5050505050905090565b60006107df8261164d565b6107f3576107f36333d1c03960e21b611699565b506000908152600860205260409020546001600160a01b031690565b61081b828260016116a3565b5050565b600f546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108999190612027565b6108ea5760405162461bcd60e51b815260206004820152601a60248201527f457465726e756d506173733a20556e617574686f72697a65642100000000000060448201526064015b60405180910390fd5b600d55565b60006108fa82611746565b6001600160a01b0394851694909150811684146109205761092062a1148160e81b611699565b6000828152600860205260409020805461094c8187335b6001600160a01b039081169116811491141790565b61096e5761095a86336115d1565b61096e5761096e632ce44b5f60e11b611699565b801561097957600082555b6001600160a01b038681166000908152600760205260408082208054600019019055918716808252919020805460010190554260a01b17600160e11b17600085815260066020526040812091909155600160e11b84169003610a0b57600184016000818152600660205260408120549003610a09576002548114610a095760008181526006602052604090208490555b505b6001600160a01b0385168481887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a480600003610a5557610a55633a954ecd60e21b611699565b50505050505050565b6000610a6982610c11565b905033610a7583610c11565b6001600160a01b03161480610a8f5750610a8f81336115d1565b610adb5760405162461bcd60e51b815260206004820152601f60248201527f496e73746147656e3a204e6f74204f776e6572204f7220417070726f7665640060448201526064016108e1565b610ae68260016117e7565b600082815260016020526040812055817fe715391d83233974191d27f6e0720d3a2af339eb706a6623233e1d12483f23e2336040516001600160a01b03909116815260200160405180910390a25050565b60008281526001602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b0316928201929092528291610bac5750604080518082019091526000546001600160a01b0381168252600160a01b90046001600160601b031660208201525b602081015160009061271090610bcb906001600160601b03168761205a565b610bd59190612071565b915196919550909350505050565b610bfe8383836040518060200160405280600081525061133d565b505050565b610c0e8160016117e7565b50565b600061073c82611746565b6000610c2784610c11565b90506001600160a01b038116331480610c455750610c4581336115d1565b610c615760405162461bcd60e51b81526004016108e190612093565b6000848152600e6020908152604091829020805460ff19168615159081178255600190910185905582518781529182015290810183905233907fa9dcc06084f66afbdc1841a28e84400fcbf607131220fdcf404c8502f3c032039060600160405180910390a250505050565b60006001600160a01b038216610ced57610ced6323d3ad8160e21b611699565b506001600160a01b031660009081526007602052604090205467ffffffffffffffff1690565b610d1c8261164d565b610d735760405162461bcd60e51b815260206004820152602260248201527f5369676e61747572655365726965733a20496e76616c69646520546f6b656e20604482015261125960f21b60648201526084016108e1565b6000828152600e602052604090205460ff16610dd15760405162461bcd60e51b815260206004820181905260248201527f496e73746147656e3a204e6f7420617661696c61626c6520666f722072656e7460448201526064016108e1565b6000610ddc836113a2565b6001600160a01b031614610e325760405162461bcd60e51b815260206004820181905260248201527f496e73746147656e3a204e465420416c7265616479205375627363726962656460448201526064016108e1565b60008111610e935760405162461bcd60e51b815260206004820152602860248201527f496e73746147656e3a2054696d652063616e2774206265206c65737320746861604482015267371018903437bab960c11b60648201526084016108e1565b6110e0811115610ef85760405162461bcd60e51b815260206004820152602a60248201527f496e73746147656e3a2054696d652063616e2774206265206d6f7265207468616044820152696e2036206d6f6e74687360b01b60648201526084016108e1565b6000610f04838361137e565b905080341015610f565760405162461bcd60e51b815260206004820152601c60248201527f496e73746147656e3a20496e73756666696369656e742046756e64730000000060448201526064016108e1565b610f6a33610f6385610c11565b8534611929565b6000838152600e602052604090208054610100600160a81b0319166101003302178155610f9983610e1061205a565b610fa390426120d7565b815467ffffffffffffffff91909116600160a81b0267ffffffffffffffff60a81b19909116178155610fd23390565b8154604051600160a81b90910467ffffffffffffffff1681526001600160a01b03919091169085907f4e06b4e7000e659094299b3533b47b6aa8ad048e95e872d23d1f4ee55af89cfe9060200160405180910390a350505050565b60606005805461075190611fed565b600080600061104e6002546000190190565b90507f00000000000000000000000000000000000000000000000000000000000000008461107f6002546000190190565b61108991906120d7565b11156110e55760405162461bcd60e51b815260206004820152602560248201527f496e73746147656e3a20457863656564696e67206d617820746f6b656e20737560448201526470706c792160d81b60648201526084016108e1565b427f0000000000000000000000000000000000000000000000000000000000000000111561118b576111377f00000000000000000000000000000000000000000000000000000000000000008561205a565b3410156111865760405162461bcd60e51b815260206004820152601b60248201527f496e73746147656e3a204e6f7420656e6f7567682066756e647321000000000060448201526064016108e1565b6111e7565b600d54611198908561205a565b3410156111e75760405162461bcd60e51b815260206004820152601b60248201527f496e73746147656e3a204e6f7420656e6f7567682066756e647321000000000060448201526064016108e1565b6111f13385611a25565b600b54611208906001600160a01b031660016112d1565b600f5460408051633955348d60e21b815290516000926001600160a01b03169163e554d2349160048083019260209291908290030181865afa158015611252573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127691906120ea565b905061128433828734611929565b337f3ceab21c69bd3653901c74482a947fba53a7948df20d3ede336baf2687aea6e26112b36002546000190190565b60408051918252602082018990520160405180910390a25093915050565b3360008181526009602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6113488484846108ef565b6001600160a01b0383163b156113785761136484848484611a3f565b611378576113786368d2bf6b60e11b611699565b50505050565b6000828152600e602052604081206001015461139b90839061205a565b9392505050565b6000818152600e602052604081205442600160a81b90910467ffffffffffffffff16106113ea57506000908152600e602052604090205461010090046001600160a01b031690565b506000919050565b919050565b60606114028261164d565b61141657611416630a14c4b560e41b611699565b6000611420611b21565b90508051600003611440576040518060200160405280600081525061139b565b8061144a84611b30565b60405160200161145b929190612107565b6040516020818303038152906040529392505050565b600061147c84610c11565b90506001600160a01b03811633148061149a575061149a81336115d1565b6114b65760405162461bcd60e51b81526004016108e190612093565b60006114c1856113a2565b6001600160a01b0316146115235760405162461bcd60e51b8152602060048201526024808201527f496e73746147656e3a204974656d20697320616c7265616479207375627363726044820152631a58995960e21b60648201526084016108e1565b6000848152600e602052604090208054610100600160a81b0319166101006001600160a01b0386160217815561156367ffffffffffffffff8416426120d7565b815467ffffffffffffffff60a81b1916600160a81b67ffffffffffffffff9283160217825560405190841681526001600160a01b0385169086907f4e06b4e7000e659094299b3533b47b6aa8ad048e95e872d23d1f4ee55af89cfe9060200160405180910390a35050505050565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205460ff1690565b60006301ffc9a760e01b6001600160e01b03198316148061163057506380ac58cd60e01b6001600160e01b03198316145b8061073c5750506001600160e01b031916635b5e139f60e01b1490565b6000816001116113f2576002548210156113f25760005b506000828152600660205260408120549081900361168c5761168583612136565b9250611664565b600160e01b161592915050565b8060005260046000fd5b60006116ae83610c11565b90508180156116c65750336001600160a01b03821614155b156116e9576116d581336115d1565b6116e9576116e96367d9dca160e11b611699565b60008381526008602052604080822080546001600160a01b0319166001600160a01b0388811691821790925591518693918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a450505050565b6000816001116117d75750600081815260066020526040812054908190036117c457600254821061178157611781636f96cda160e11b611699565b5b5060001901600081815260066020526040902054801561178257600160e01b81166000036117af57919050565b6117bf636f96cda160e11b611699565b611782565b600160e01b81166000036117d757919050565b6113f2636f96cda160e11b611699565b60006117f283611746565b90508060008061181086600090815260086020526040902080549091565b91509150841561184757611825818433610937565b6118475761183383336115d1565b61184757611847632ce44b5f60e11b611699565b801561185257600082555b6001600160a01b038316600081815260076020526040902080546fffffffffffffffffffffffffffffffff0190554260a01b17600360e01b17600087815260066020526040812091909155600160e11b851690036118e0576001860160008181526006602052604081205490036118de5760025481146118de5760008181526006602052604090208590555b505b60405186906000906001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a4505060038054600101905550505050565b6000836001600160a01b03168260405160006040518083038185875af1925050503d8060008114611976576040519150601f19603f3d011682016040523d82523d6000602084013e61197b565b606091505b50509050806119cc5760405162461bcd60e51b815260206004820152601960248201527f496e73746147656e3a205472616e73666572206661696c65640000000000000060448201526064016108e1565b604080516001600160a01b03808816825286166020820152908101849052606081018390527faeadc2c673108f922a1042ef404b73ae1af992c9ae54249a4a7d13ef21ef2c189060800160405180910390a15050505050565b61081b828260405180602001604052806000815250611b74565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a0290611a7490339089908890889060040161214d565b6020604051808303816000875af1925050508015611aaf575060408051601f3d908101601f19168201909252611aac9181019061218a565b60015b611b04573d808015611add576040519150601f19603f3d011682016040523d82523d6000602084013e611ae2565b606091505b508051600003611afc57611afc6368d2bf6b60e11b611699565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b6060600a805461075190611fed565b606060a06040510180604052602081039150506000815280825b600183039250600a81066030018353600a900480611b4a5750819003601f19909101908152919050565b611b7e8383611bdd565b6001600160a01b0383163b15610bfe576002548281035b611ba86000868380600101945086611a3f565b611bbc57611bbc6368d2bf6b60e11b611699565b818110611b95578160025414611bd657611bd66000611699565b5050505050565b6002546000829003611bf957611bf963b562e8dd60e01b611699565b60008181526006602090815260408083206001600160a01b0387164260a01b6001881460e11b17811790915580845260079092528220805468010000000000000001860201905590819003611c5757611c57622e076360e81b611699565b818301825b808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4818160010191508103611c5c575060025550505050565b6001600160e01b031981168114610c0e57600080fd5b600060208284031215611cc457600080fd5b813561139b81611c9c565b60005b83811015611cea578181015183820152602001611cd2565b50506000910152565b60008151808452611d0b816020860160208601611ccf565b601f01601f19169290920160200192915050565b60208152600061139b6020830184611cf3565b600060208284031215611d4457600080fd5b5035919050565b6001600160a01b0381168114610c0e57600080fd5b60008060408385031215611d7357600080fd5b8235611d7e81611d4b565b946020939093013593505050565b600080600060608486031215611da157600080fd5b8335611dac81611d4b565b92506020840135611dbc81611d4b565b929592945050506040919091013590565b60008060408385031215611de057600080fd5b50508035926020909101359150565b8015158114610c0e57600080fd5b600080600060608486031215611e1257600080fd5b833592506020840135611dbc81611def565b600060208284031215611e3657600080fd5b813561139b81611d4b565b60008060408385031215611e5457600080fd5b8235611e5f81611d4b565b91506020830135611e6f81611def565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215611ea657600080fd5b8435611eb181611d4b565b93506020850135611ec181611d4b565b925060408501359150606085013567ffffffffffffffff80821115611ee557600080fd5b818701915087601f830112611ef957600080fd5b813581811115611f0b57611f0b611e7a565b604051601f8201601f19908116603f01168101908382118183101715611f3357611f33611e7a565b816040528281528a6020848701011115611f4c57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b600080600060608486031215611f8557600080fd5b833592506020840135611f9781611d4b565b9150604084013567ffffffffffffffff81168114611fb457600080fd5b809150509250925092565b60008060408385031215611fd257600080fd5b8235611fdd81611d4b565b91506020830135611e6f81611d4b565b600181811c9082168061200157607f821691505b60208210810361202157634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561203957600080fd5b815161139b81611def565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761073c5761073c612044565b60008261208e57634e487b7160e01b600052601260045260246000fd5b500490565b60208082526024908201527f496e73746147656e3a2043616c6c6572206973206e6f7420746f6b656e206f7760408201526303732b9160e51b606082015260800190565b8082018082111561073c5761073c612044565b6000602082840312156120fc57600080fd5b815161139b81611d4b565b60008351612119818460208801611ccf565b83519083019061212d818360208801611ccf565b01949350505050565b60008161214557612145612044565b506000190190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061218090830184611cf3565b9695505050505050565b60006020828403121561219c57600080fd5b815161139b81611c9c56fea264697066735822122015788b2df9cf8d3b26dc3bd1a41fb4024aa047920b81a577e44dd36d28bf03d964736f6c63430008110033"; + "0x60e060405234801562000010575f80fd5b50604051620026373803806200263783398101604081905262000033916200027a565b89896004620000438382620003e4565b506005620000528282620003e4565b5060016002555050600f80546001600160a01b03808a166001600160a01b031992831617909255600b8054928b1692909116919091179055600d8690556080859052620000a08442620004b0565b60a05260c0839052600a620000b68282620003e4565b50620000c33383620000f4565b5050600c80546001600160a01b0319166001600160a01b03969096169590951790945550620004d695505050505050565b6127106001600160601b0382168110156200013957604051636f483d0960e01b81526001600160601b0383166004820152602481018290526044015b60405180910390fd5b6001600160a01b0383166200016457604051635b6cc80560e11b81525f600482015260240162000130565b50604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b909102175f55565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112620001c1575f80fd5b81516001600160401b0380821115620001de57620001de6200019d565b604051601f8301601f19908116603f011681019082821181831017156200020957620002096200019d565b816040528381526020925086602085880101111562000226575f80fd5b5f91505b838210156200024957858201830151818301840152908201906200022a565b5f602085830101528094505050505092915050565b80516001600160a01b038116811462000275575f80fd5b919050565b5f805f805f805f805f806101408b8d03121562000295575f80fd5b8a516001600160401b0380821115620002ac575f80fd5b620002ba8e838f01620001b1565b9b5060208d0151915080821115620002d0575f80fd5b620002de8e838f01620001b1565b9a50620002ee60408e016200025e565b9950620002fe60608e016200025e565b985060808d0151975060a08d0151965060c08d0151955060e08d015194506101008d015193506101208d015191508082111562000339575f80fd5b50620003488d828e01620001b1565b9150509295989b9194979a5092959850565b600181811c908216806200036f57607f821691505b6020821081036200038e57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620003df57805f5260205f20601f840160051c81016020851015620003bb5750805b601f840160051c820191505b81811015620003dc575f8155600101620003c7565b50505b505050565b81516001600160401b038111156200040057620004006200019d565b62000418816200041184546200035a565b8462000394565b602080601f8311600181146200044e575f8415620004365750858301515b5f19600386901b1c1916600185901b178555620004a8565b5f85815260208120601f198616915b828110156200047e578886015182559484019460019091019084016200045d565b50858210156200049c57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b80820180821115620004d057634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a05160c051612121620005165f395f8181610622015261100701525f818161036f015261109c01525f818161067401526110c601526121215ff3fe6080604052600436106101e6575f3560e01c806370a0823111610108578063b88d4fde1161009d578063d5abeb011161006d578063d5abeb0114610611578063e030565e14610644578063e757c17d14610663578063e985e9c514610696578063f51f96dd146106b5575f80fd5b8063b88d4fde146105a1578063ba91caae146105b4578063c2f1f14a146105d3578063c87b56dd146105f2575f80fd5b80639874cd97116100d85780639874cd97146104a9578063a0712d681461053b578063a22cb46514610563578063a4b1105214610582575f80fd5b806370a0823114610427578063783a112b146104465780638fc88c481461045957806395d89b4114610495575f80fd5b80632890e0d71161017e57806342966c681161014e57806342966c68146103a457806354fd4d50146103c35780636352211e146103e9578063655bc8db14610408575f80fd5b80632890e0d7146103015780632a55205a146103205780633692d1181461035e57806342842e0e14610391575f80fd5b80630aa7c854116101b95780630aa7c8541461028b57806318160ddd146102aa5780631919fed7146102cf57806323b872dd146102ee575f80fd5b806301ffc9a7146101ea57806306fdde031461021e578063081812fc1461023f578063095ea7b314610276575b5f80fd5b3480156101f5575f80fd5b50610209610204366004611c2e565b6106ca565b60405190151581526020015b60405180910390f35b348015610229575f80fd5b5061023261071a565b6040516102159190611c96565b34801561024a575f80fd5b5061025e610259366004611ca8565b6107aa565b6040516001600160a01b039091168152602001610215565b610289610284366004611cd3565b6107e3565b005b348015610296575f80fd5b50600c5461025e906001600160a01b031681565b3480156102b5575f80fd5b50600354600254035f19015b604051908152602001610215565b3480156102da575f80fd5b506102896102e9366004611ca8565b6107f3565b6102896102fc366004611cfd565b6108c1565b34801561030c575f80fd5b5061028961031b366004611ca8565b610a26565b34801561032b575f80fd5b5061033f61033a366004611d3b565b610afd565b604080516001600160a01b039093168352602083019190915201610215565b348015610369575f80fd5b506102c17f000000000000000000000000000000000000000000000000000000000000000081565b61028961039f366004611cfd565b610ba6565b3480156103af575f80fd5b506102896103be366004611ca8565b610bc5565b3480156103ce575f80fd5b506103d7600181565b60405160ff9091168152602001610215565b3480156103f4575f80fd5b5061025e610403366004611ca8565b610bd3565b348015610413575f80fd5b50610289610422366004611d68565b610bdd565b348015610432575f80fd5b506102c1610441366004611d8c565b610c8c565b610289610454366004611d3b565b610cd0565b348015610464575f80fd5b506102c1610473366004611ca8565b5f908152600e6020526040902054600160a81b900467ffffffffffffffff1690565b3480156104a0575f80fd5b50610232610fe5565b3480156104b4575f80fd5b506105026104c3366004611ca8565b600e6020525f90815260409020805460019091015460ff82169161010081046001600160a01b031691600160a81b90910467ffffffffffffffff169084565b6040805194151585526001600160a01b03909316602085015267ffffffffffffffff909116918301919091526060820152608001610215565b61054e610549366004611ca8565b610ff4565b60408051928352602083019190915201610215565b34801561056e575f80fd5b5061028961057d366004611da7565b611281565b34801561058d575f80fd5b50600b5461025e906001600160a01b031681565b6102896105af366004611df2565b6112ec565b3480156105bf575f80fd5b506102c16105ce366004611d3b565b61132d565b3480156105de575f80fd5b5061025e6105ed366004611ca8565b611350565b3480156105fd575f80fd5b5061023261060c366004611ca8565b6113a2565b34801561061c575f80fd5b506102c17f000000000000000000000000000000000000000000000000000000000000000081565b34801561064f575f80fd5b5061028961065e366004611ecb565b611419565b34801561066e575f80fd5b506102c17f000000000000000000000000000000000000000000000000000000000000000081565b3480156106a1575f80fd5b506102096106b0366004611f16565b611576565b3480156106c0575f80fd5b506102c1600d5481565b5f636ad56fd360e11b6001600160e01b03198316016106eb57506001919050565b6314bdb52960e21b6001600160e01b031983160161070b57506001919050565b610714826115a3565b92915050565b60606004805461072990611f42565b80601f016020809104026020016040519081016040528092919081815260200182805461075590611f42565b80156107a05780601f10610777576101008083540402835291602001916107a0565b820191905f5260205f20905b81548152906001019060200180831161078357829003601f168201915b5050505050905090565b5f6107b4826115f0565b6107c8576107c86333d1c03960e21b611639565b505f908152600860205260409020546001600160a01b031690565b6107ef82826001611641565b5050565b600f546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610847573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061086b9190611f7a565b6108bc5760405162461bcd60e51b815260206004820152601a60248201527f457465726e756d506173733a20556e617574686f72697a65642100000000000060448201526064015b60405180910390fd5b600d55565b5f6108cb826116e2565b6001600160a01b0394851694909150811684146108f1576108f162a1148160e81b611639565b5f828152600860205260409020805461091c8187335b6001600160a01b039081169116811491141790565b61093e5761092a8633611576565b61093e5761093e632ce44b5f60e11b611639565b8015610948575f82555b6001600160a01b038681165f9081526007602052604080822080545f19019055918716808252919020805460010190554260a01b17600160e11b175f85815260066020526040812091909155600160e11b841690036109d557600184015f8181526006602052604081205490036109d35760025481146109d3575f8181526006602052604090208490555b505b6001600160a01b0385168481887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a4805f03610a1d57610a1d633a954ecd60e21b611639565b50505050505050565b5f610a3082610bd3565b905033610a3c83610bd3565b6001600160a01b03161480610a565750610a568133611576565b610aa25760405162461bcd60e51b815260206004820152601f60248201527f496e73746147656e3a204e6f74204f776e6572204f7220417070726f7665640060448201526064016108b3565b610aad82600161177d565b5f82815260016020526040812055817fe715391d83233974191d27f6e0720d3a2af339eb706a6623233e1d12483f23e2336040516001600160a01b03909116815260200160405180910390a25050565b5f8281526001602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b0316928201929092528291610b705750604080518082019091525f546001600160a01b0381168252600160a01b90046001600160601b031660208201525b60208101515f9061271090610b8e906001600160601b031687611fa9565b610b989190611fc0565b915196919550909350505050565b610bc083838360405180602001604052805f8152506112ec565b505050565b610bd081600161177d565b50565b5f610714826116e2565b5f610be784610bd3565b90506001600160a01b038116331480610c055750610c058133611576565b610c215760405162461bcd60e51b81526004016108b390611fdf565b5f848152600e6020908152604091829020805460ff19168615159081178255600190910185905582518781529182015290810183905233907fa9dcc06084f66afbdc1841a28e84400fcbf607131220fdcf404c8502f3c032039060600160405180910390a250505050565b5f6001600160a01b038216610cab57610cab6323d3ad8160e21b611639565b506001600160a01b03165f9081526007602052604090205467ffffffffffffffff1690565b610cd9826115f0565b610d305760405162461bcd60e51b815260206004820152602260248201527f5369676e61747572655365726965733a20496e76616c69646520546f6b656e20604482015261125960f21b60648201526084016108b3565b5f828152600e602052604090205460ff16610d8d5760405162461bcd60e51b815260206004820181905260248201527f496e73746147656e3a204e6f7420617661696c61626c6520666f722072656e7460448201526064016108b3565b5f610d9783611350565b6001600160a01b031614610ded5760405162461bcd60e51b815260206004820181905260248201527f496e73746147656e3a204e465420416c7265616479205375627363726962656460448201526064016108b3565b5f8111610e4d5760405162461bcd60e51b815260206004820152602860248201527f496e73746147656e3a2054696d652063616e2774206265206c65737320746861604482015267371018903437bab960c11b60648201526084016108b3565b6110e0811115610eb25760405162461bcd60e51b815260206004820152602a60248201527f496e73746147656e3a2054696d652063616e2774206265206d6f7265207468616044820152696e2036206d6f6e74687360b01b60648201526084016108b3565b5f610ebd838361132d565b905080341015610f0f5760405162461bcd60e51b815260206004820152601c60248201527f496e73746147656e3a20496e73756666696369656e742046756e64730000000060448201526064016108b3565b610f2333610f1c85610bd3565b85346118b6565b5f838152600e602052604090208054610100600160a81b0319166101003302178155610f5183610e10611fa9565b610f5b9042612023565b815467ffffffffffffffff91909116600160a81b0267ffffffffffffffff60a81b19909116178155610f8a3390565b8154604051600160a81b90910467ffffffffffffffff1681526001600160a01b03919091169085907f4e06b4e7000e659094299b3533b47b6aa8ad048e95e872d23d1f4ee55af89cfe9060200160405180910390a350505050565b60606005805461072990611f42565b5f805f6110036002545f190190565b90507f0000000000000000000000000000000000000000000000000000000000000000846110336002545f190190565b61103d9190612023565b11156110995760405162461bcd60e51b815260206004820152602560248201527f496e73746147656e3a20457863656564696e67206d617820746f6b656e20737560448201526470706c792160d81b60648201526084016108b3565b427f0000000000000000000000000000000000000000000000000000000000000000111561113f576110eb7f000000000000000000000000000000000000000000000000000000000000000085611fa9565b34101561113a5760405162461bcd60e51b815260206004820152601b60248201527f496e73746147656e3a204e6f7420656e6f7567682066756e647321000000000060448201526064016108b3565b61119b565b600d5461114c9085611fa9565b34101561119b5760405162461bcd60e51b815260206004820152601b60248201527f496e73746147656e3a204e6f7420656e6f7567682066756e647321000000000060448201526064016108b3565b6111a533856119ae565b600b546111bc906001600160a01b03166001611281565b600f5460408051633955348d60e21b815290515f926001600160a01b03169163e554d2349160048083019260209291908290030181865afa158015611203573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112279190612036565b9050611235338287346118b6565b337f3ceab21c69bd3653901c74482a947fba53a7948df20d3ede336baf2687aea6e26112636002545f190190565b60408051918252602082018990520160405180910390a25093915050565b335f8181526009602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6112f78484846108c1565b6001600160a01b0383163b1561132757611313848484846119c7565b611327576113276368d2bf6b60e11b611639565b50505050565b5f828152600e6020526040812060010154611349908390611fa9565b9392505050565b5f818152600e602052604081205442600160a81b90910467ffffffffffffffff161061139657505f908152600e602052604090205461010090046001600160a01b031690565b505f919050565b919050565b60606113ad826115f0565b6113c1576113c1630a14c4b560e41b611639565b5f6113ca611aa5565b905080515f036113e85760405180602001604052805f815250611349565b806113f284611ab4565b604051602001611403929190612051565b6040516020818303038152906040529392505050565b5f61142384610bd3565b90506001600160a01b03811633148061144157506114418133611576565b61145d5760405162461bcd60e51b81526004016108b390611fdf565b5f61146785611350565b6001600160a01b0316146114c95760405162461bcd60e51b8152602060048201526024808201527f496e73746147656e3a204974656d20697320616c7265616479207375627363726044820152631a58995960e21b60648201526084016108b3565b5f848152600e602052604090208054610100600160a81b0319166101006001600160a01b0386160217815561150867ffffffffffffffff841642612023565b815467ffffffffffffffff60a81b1916600160a81b67ffffffffffffffff9283160217825560405190841681526001600160a01b0385169086907f4e06b4e7000e659094299b3533b47b6aa8ad048e95e872d23d1f4ee55af89cfe9060200160405180910390a35050505050565b6001600160a01b039182165f90815260096020908152604080832093909416825291909152205460ff1690565b5f6301ffc9a760e01b6001600160e01b0319831614806115d357506380ac58cd60e01b6001600160e01b03198316145b806107145750506001600160e01b031916635b5e139f60e01b1490565b5f8160011161139d5760025482101561139d575f5b505f828152600660205260408120549081900361162c576116258361207f565b9250611605565b600160e01b161592915050565b805f5260045ffd5b5f61164b83610bd3565b90508180156116635750336001600160a01b03821614155b15611686576116728133611576565b611686576116866367d9dca160e11b611639565b5f8381526008602052604080822080546001600160a01b0319166001600160a01b0388811691821790925591518693918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a450505050565b5f8160011161176d57505f818152600660205260408120549081900361175b57600254821061171b5761171b636f96cda160e11b611639565b5b505f19015f81815260066020526040902054801561171c57600160e01b81165f0361174657919050565b611756636f96cda160e11b611639565b61171c565b600160e01b81165f0361176d57919050565b61139d636f96cda160e11b611639565b5f611787836116e2565b9050805f806117a3865f90815260086020526040902080549091565b9150915084156117da576117b8818433610907565b6117da576117c68333611576565b6117da576117da632ce44b5f60e11b611639565b80156117e4575f82555b6001600160a01b0383165f81815260076020526040902080546fffffffffffffffffffffffffffffffff0190554260a01b17600360e01b175f87815260066020526040812091909155600160e11b8516900361186e57600186015f81815260066020526040812054900361186c57600254811461186c575f8181526006602052604090208590555b505b60405186905f906001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a4505060038054600101905550505050565b5f836001600160a01b0316826040515f6040518083038185875af1925050503d805f81146118ff576040519150601f19603f3d011682016040523d82523d5f602084013e611904565b606091505b50509050806119555760405162461bcd60e51b815260206004820152601960248201527f496e73746147656e3a205472616e73666572206661696c65640000000000000060448201526064016108b3565b604080516001600160a01b03808816825286166020820152908101849052606081018390527faeadc2c673108f922a1042ef404b73ae1af992c9ae54249a4a7d13ef21ef2c189060800160405180910390a15050505050565b6107ef828260405180602001604052805f815250611af7565b604051630a85bd0160e11b81525f906001600160a01b0385169063150b7a02906119fb903390899088908890600401612094565b6020604051808303815f875af1925050508015611a35575060408051601f3d908101601f19168201909252611a32918101906120d0565b60015b611a88573d808015611a62576040519150601f19603f3d011682016040523d82523d5f602084013e611a67565b606091505b5080515f03611a8057611a806368d2bf6b60e11b611639565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b6060600a805461072990611f42565b606060a06040510180604052602081039150505f815280825b600183039250600a81066030018353600a900480611acd5750819003601f19909101908152919050565b611b018383611b5e565b6001600160a01b0383163b15610bc0576002548281035b611b2a5f8683806001019450866119c7565b611b3e57611b3e6368d2bf6b60e11b611639565b818110611b18578160025414611b5757611b575f611639565b5050505050565b6002545f829003611b7957611b7963b562e8dd60e01b611639565b5f8181526006602090815260408083206001600160a01b0387164260a01b6001881460e11b17811790915580845260079092528220805468010000000000000001860201905590819003611bd657611bd6622e076360e81b611639565b818301825b80835f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a4818160010191508103611bdb575060025550505050565b6001600160e01b031981168114610bd0575f80fd5b5f60208284031215611c3e575f80fd5b813561134981611c19565b5f5b83811015611c63578181015183820152602001611c4b565b50505f910152565b5f8151808452611c82816020860160208601611c49565b601f01601f19169290920160200192915050565b602081525f6113496020830184611c6b565b5f60208284031215611cb8575f80fd5b5035919050565b6001600160a01b0381168114610bd0575f80fd5b5f8060408385031215611ce4575f80fd5b8235611cef81611cbf565b946020939093013593505050565b5f805f60608486031215611d0f575f80fd5b8335611d1a81611cbf565b92506020840135611d2a81611cbf565b929592945050506040919091013590565b5f8060408385031215611d4c575f80fd5b50508035926020909101359150565b8015158114610bd0575f80fd5b5f805f60608486031215611d7a575f80fd5b833592506020840135611d2a81611d5b565b5f60208284031215611d9c575f80fd5b813561134981611cbf565b5f8060408385031215611db8575f80fd5b8235611dc381611cbf565b91506020830135611dd381611d5b565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215611e05575f80fd5b8435611e1081611cbf565b93506020850135611e2081611cbf565b925060408501359150606085013567ffffffffffffffff80821115611e43575f80fd5b818701915087601f830112611e56575f80fd5b813581811115611e6857611e68611dde565b604051601f8201601f19908116603f01168101908382118183101715611e9057611e90611dde565b816040528281528a6020848701011115611ea8575f80fd5b826020860160208301375f60208483010152809550505050505092959194509250565b5f805f60608486031215611edd575f80fd5b833592506020840135611eef81611cbf565b9150604084013567ffffffffffffffff81168114611f0b575f80fd5b809150509250925092565b5f8060408385031215611f27575f80fd5b8235611f3281611cbf565b91506020830135611dd381611cbf565b600181811c90821680611f5657607f821691505b602082108103611f7457634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215611f8a575f80fd5b815161134981611d5b565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761071457610714611f95565b5f82611fda57634e487b7160e01b5f52601260045260245ffd5b500490565b60208082526024908201527f496e73746147656e3a2043616c6c6572206973206e6f7420746f6b656e206f7760408201526303732b9160e51b606082015260800190565b8082018082111561071457610714611f95565b5f60208284031215612046575f80fd5b815161134981611cbf565b5f8351612062818460208801611c49565b835190830190612076818360208801611c49565b01949350505050565b5f8161208d5761208d611f95565b505f190190565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f906120c690830184611c6b565b9695505050505050565b5f602082840312156120e0575f80fd5b815161134981611c1956fea2646970667358221220c01cbad4279b25c88cb229e7080efdee84f838fa5f9cc604f55fc7e103f98a0764736f6c63430008180033"; type InstaGenConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/Math__factory.ts b/typechain-types/factories/Math__factory.ts new file mode 100644 index 0000000..ac0e083 --- /dev/null +++ b/typechain-types/factories/Math__factory.ts @@ -0,0 +1,63 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { Math, MathInterface } from "../Math"; + +const _abi = [ + { + inputs: [], + name: "MathOverflowedMulDiv", + type: "error", + }, +]; + +const _bytecode = + "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212200e5c5f8e782acf3a91d0c2e50dd08225fc7d98efe12ce9b6efc9da9c3b81380564736f6c63430008180033"; + +type MathConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: MathConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class Math__factory extends ContractFactory { + constructor(...args: MathConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + this.contractName = "Math"; + } + + deploy( + overrides?: Overrides & { from?: string | Promise } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + getDeployTransaction( + overrides?: Overrides & { from?: string | Promise } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + attach(address: string): Math { + return super.attach(address) as Math; + } + connect(signer: Signer): Math__factory { + return super.connect(signer) as Math__factory; + } + static readonly contractName: "Math"; + public readonly contractName: "Math"; + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): MathInterface { + return new utils.Interface(_abi) as MathInterface; + } + static connect(address: string, signerOrProvider: Signer | Provider): Math { + return new Contract(address, _abi, signerOrProvider) as Math; + } +} diff --git a/typechain-types/factories/MyriadFlowOfferStation__factory.ts b/typechain-types/factories/MyriadFlowOfferStation__factory.ts index 999db93..e14525f 100644 --- a/typechain-types/factories/MyriadFlowOfferStation__factory.ts +++ b/typechain-types/factories/MyriadFlowOfferStation__factory.ts @@ -37,6 +37,75 @@ const _abi = [ stateMutability: "nonpayable", type: "constructor", }, + { + inputs: [ + { + internalType: "uint256", + name: "numerator", + type: "uint256", + }, + { + internalType: "uint256", + name: "denominator", + type: "uint256", + }, + ], + name: "ERC2981InvalidDefaultRoyalty", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC2981InvalidDefaultRoyaltyReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "uint256", + name: "numerator", + type: "uint256", + }, + { + internalType: "uint256", + name: "denominator", + type: "uint256", + }, + ], + name: "ERC2981InvalidTokenRoyalty", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC2981InvalidTokenRoyaltyReceiver", + type: "error", + }, + { + inputs: [], + name: "ReentrancyGuardReentrantCall", + type: "error", + }, { anonymous: false, inputs: [ @@ -293,12 +362,12 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "_tokenId", + name: "tokenId", type: "uint256", }, { internalType: "uint256", - name: "_salePrice", + name: "salePrice", type: "uint256", }, ], @@ -392,7 +461,7 @@ const _abi = [ ]; const _bytecode = - "0x60806040526003805461ff001916610100179055600060045534801561002457600080fd5b50604051611417380380611417833981016040819052610043916100c1565b6001600055600780546001600160a01b0319166001600160a01b038381169190911790915560058054909116600160a01b6001600160601b038616021790556100893390565b600580546001600160a01b0319166001600160a01b0392909216919091179055506003805460ff19169115159190911790555061012b565b6000806000606084860312156100d657600080fd5b83516001600160601b03811681146100ed57600080fd5b6020850151909350801515811461010357600080fd5b60408501519092506001600160a01b038116811461012057600080fd5b809150509250925092565b6112dd8061013a6000396000f3fe6080604052600436106100c25760003560e01c80635a9cd0331161007f5780638610f045116100595780638610f04514610231578063c815729d14610251578063d431b1ac14610271578063d98352911461028657600080fd5b80635a9cd033146101c55780635c975abb14610204578063746538d91461021e57600080fd5b806301ffc9a7146100c75780630c0512e9146100fc5780632a17f4bb146101205780632a55205a14610135578063317b8c5b1461017457806354fd4d5014610194575b600080fd5b3480156100d357600080fd5b506100e76100e2366004610de0565b6102f0565b60405190151581526020015b60405180910390f35b34801561010857600080fd5b5061011260045481565b6040519081526020016100f3565b61013361012e366004610e11565b610301565b005b34801561014157600080fd5b50610155610150366004610e2a565b61046e565b604080516001600160a01b0390931683526020830191909152016100f3565b34801561018057600080fd5b5061013361018f366004610e4c565b61051a565b3480156101a057600080fd5b506003546101b390610100900460ff1681565b60405160ff90911681526020016100f3565b3480156101d157600080fd5b506005546101ec90600160a01b90046001600160601b031681565b6040516001600160601b0390911681526020016100f3565b34801561021057600080fd5b506003546100e79060ff1681565b61011261022c366004610e8a565b6105d8565b34801561023d57600080fd5b5061011261024c366004610e11565b6107ac565b34801561025d57600080fd5b5061013361026c366004610e11565b6108e6565b34801561027d57600080fd5b50610133610c97565b34801561029257600080fd5b506102df6102a1366004610e11565b600660205260009081526040902080546001820154600283015460038401546004909401546001600160a01b03938416949293909116919060ff1685565b6040516100f3959493929190610ecc565b60006102fb82610d52565b92915050565b80600160008281526006602052604090206004015460ff16600381111561032a5761032a610eb6565b146103505760405162461bcd60e51b815260040161034790610f20565b60405180910390fd5b60008281526006602052604090206002015482906001600160a01b0316331461038b5760405162461bcd60e51b815260040161034790610f72565b60035460ff16156103ae5760405162461bcd60e51b815260040161034790610fcf565b6000341161040e5760405162461bcd60e51b815260206004820152602760248201527f4d7972696164466c6f774f6666657253746174696f6e3a2043616e27742062656044820152660102d32b93790960cd1b6064820152608401610347565b60008381526006602052604090206003015461042a348261104c565b60008581526006602052604080822060030183905551839187917fb37d56408bbd568656f3b1432db39f663e302ad350a685c04f225020b75dd5419190a450505050565b60008281526002602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b03169282019290925282916104e35750604080518082019091526001546001600160a01b0381168252600160a01b90046001600160601b031660208201525b602081015160009061271090610502906001600160601b03168761105f565b61050c9190611076565b915196919550909350505050565b6007546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610570573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105949190611098565b6105b05760405162461bcd60e51b8152600401610347906110ba565b600580546001600160601b03909216600160a01b026001600160a01b03909216919091179055565b60035460009060ff16156105fe5760405162461bcd60e51b815260040161034790610fcf565b6004805490600061060e836110fe565b91905055506040518060a00160405280846001600160a01b0316815260200183815260200161063a3390565b6001600160a01b031681523460208201526040016001905260048054600090815260066020908152604091829020845181546001600160a01b03199081166001600160a01b039283161783559286015160018084019190915593860151600283018054909416911617909155606084015160038083019190915560808501519382018054929493909260ff19169184908111156106d9576106d9610eb6565b02179055505060405163c87b56dd60e01b815260048101849052600091506001600160a01b0385169063c87b56dd90602401600060405180830381865afa158015610728573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107509190810190611151565b90503483856001600160a01b03167f54dac5242a0f595e5b3294ddd2e7f34f99167961169fe0bb2e04fcd04cbeada16004548561078a3390565b604051610799939291906111fe565b60405180910390a4505060045492915050565b60006107b6610d87565b81600160008281526006602052604090206004015460ff1660038111156107df576107df610eb6565b146107fc5760405162461bcd60e51b815260040161034790610f20565b60008381526006602052604090206002015483906001600160a01b031633146108375760405162461bcd60e51b815260040161034790610f72565b60035460ff161561085a5760405162461bcd60e51b815260040161034790610fcf565b600084815260066020526040808220600301549051339282156108fc02929190818181858888f19350505050158015610897573d6000803e3d6000fd5b50600084815260066020526040808220600401805460ff191660021790555185917f5ca6c0bba519c857c8713fba9f5f1b582abe00c95dcccedccea41ad683bad26d91a2505060016000555090565b6108ee610d87565b80600160008281526006602052604090206004015460ff16600381111561091757610917610eb6565b146109345760405162461bcd60e51b815260040161034790610f20565b6000828152600660205260409020805460018201546002909201546001600160a01b03918216929116336040516331a9108f60e11b8152600481018490526001600160a01b0391821691851690636352211e90602401602060405180830381865afa1580156109a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cb9190611249565b6001600160a01b031614610a3b5760405162461bcd60e51b815260206004820152603160248201527f4d7972696164466c6f774f6666657253746174696f6e3a2043616c6c6572206960448201527073206e6f7420746865206f776e6572202160781b6064820152608401610347565b6001600160a01b0383166323b872dd336040516001600160e01b031960e084901b1681526001600160a01b039182166004820152908416602482015260448101859052606401600060405180830381600087803b158015610a9b57600080fd5b505af1158015610aaf573d6000803e3d6000fd5b5050506000868152600660205260408120600301546005549092506103e890610ae890600160a01b90046001600160601b03168461105f565b610af29190611076565b90506000610b008284611266565b60405163152a902d60e11b8152600481018790526024810182905290915060009081906001600160a01b03891690632a55205a906044016040805180830381865afa158015610b53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b779190611279565b90925090506000610b888285611266565b6005546040519192506001600160a01b03169086156108fc029087906000818181858888f19350505050158015610bc3573d6000803e3d6000fd5b506040516001600160a01b0384169083156108fc029084906000818181858888f19350505050158015610bfa573d6000803e3d6000fd5b50604051339082156108fc029083906000818181858888f19350505050158015610c28573d6000803e3d6000fd5b508a886001600160a01b038b167f64c9e7665b2fc264027f3550925eaab82f4aec88eb68a013708c83772cf7743e33604080516001600160a01b039283168152918d16602083015281018b905260600160405180910390a450505050505050505050610c946001600055565b50565b6007546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610ced573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d119190611098565b610d2d5760405162461bcd60e51b8152600401610347906110ba565b60035460ff16610d46576003805460ff19166001179055565b6003805460ff19169055565b60006001600160e01b0319821663152a902d60e11b14806102fb57506301ffc9a760e01b6001600160e01b03198316146102fb565b600260005403610dd95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610347565b6002600055565b600060208284031215610df257600080fd5b81356001600160e01b031981168114610e0a57600080fd5b9392505050565b600060208284031215610e2357600080fd5b5035919050565b60008060408385031215610e3d57600080fd5b50508035926020909101359150565b600060208284031215610e5e57600080fd5b81356001600160601b0381168114610e0a57600080fd5b6001600160a01b0381168114610c9457600080fd5b60008060408385031215610e9d57600080fd5b8235610ea881610e75565b946020939093013593505050565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b03868116825260208201869052841660408201526060810183905260a0810160048310610f1057634e487b7160e01b600052602160045260246000fd5b8260808301529695505050505050565b60208082526032908201527f4d7972696164466c6f774f6666657253746174696f6e3a2050726f706f73616c604082015271081a5cc8185b1c9958591e4810db1bdcd95960721b606082015260800190565b60208082526038908201527f4d7972696164466c6f774f6666657253746174696f6e3a20557365722064696460408201527f206e6f7420696e74696174656420746865206f66666572210000000000000000606082015260800190565b60208082526041908201527f4d79726961644f6666657253746174696f6e3a20596f752063616e6e6f74206f60408201527f66666572202c2069742069732070617573656420666f7220736f6d6574696d656060820152602160f81b608082015260a00190565b634e487b7160e01b600052601160045260246000fd5b808201808211156102fb576102fb611036565b80820281158282048414176102fb576102fb611036565b60008261109357634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156110aa57600080fd5b81518015158114610e0a57600080fd5b60208082526024908201527f457465726e616c536f756c3a2055736572206973206e6f7420617574686f726960408201526303d32b2160e51b606082015260800190565b60006001820161111057611110611036565b5060010190565b634e487b7160e01b600052604160045260246000fd5b60005b83811015611148578181015183820152602001611130565b50506000910152565b60006020828403121561116357600080fd5b815167ffffffffffffffff8082111561117b57600080fd5b818401915084601f83011261118f57600080fd5b8151818111156111a1576111a1611117565b604051601f8201601f19908116603f011681019083821181831017156111c9576111c9611117565b816040528281528760208487010111156111e257600080fd5b6111f383602083016020880161112d565b979650505050505050565b838152606060208201526000835180606084015261122381608085016020880161112d565b6001600160a01b0393909316604083015250601f91909101601f19160160800192915050565b60006020828403121561125b57600080fd5b8151610e0a81610e75565b818103818111156102fb576102fb611036565b6000806040838503121561128c57600080fd5b825161129781610e75565b602093909301519294929350505056fea26469706673582212204ef532089576aef1d975f4031351a51a464420f3ce96c4b8f28261471281034164736f6c63430008110033"; + "0x60806040526003805461ff0019166101001790555f600455348015610022575f80fd5b5060405161136d38038061136d833981016040819052610041916100be565b60015f55600780546001600160a01b0319166001600160a01b038381169190911790915560058054909116600160a01b6001600160601b038616021790556100863390565b600580546001600160a01b0319166001600160a01b0392909216919091179055506003805460ff191691151591909117905550610122565b5f805f606084860312156100d0575f80fd5b83516001600160601b03811681146100e6575f80fd5b602085015190935080151581146100fb575f80fd5b60408501519092506001600160a01b0381168114610117575f80fd5b809150509250925092565b61123e8061012f5f395ff3fe6080604052600436106100bf575f3560e01c80635a9cd0331161007c5780638610f045116100575780638610f04514610226578063c815729d14610245578063d431b1ac14610264578063d983529114610278575f80fd5b80635a9cd033146101bc5780635c975abb146101fa578063746538d914610213575f80fd5b806301ffc9a7146100c35780630c0512e9146100f75780632a17f4bb1461011a5780632a55205a1461012f578063317b8c5b1461016d57806354fd4d501461018c575b5f80fd5b3480156100ce575f80fd5b506100e26100dd366004610d69565b6102e0565b60405190151581526020015b60405180910390f35b348015610102575f80fd5b5061010c60045481565b6040519081526020016100ee565b61012d610128366004610d97565b6102f0565b005b34801561013a575f80fd5b5061014e610149366004610dae565b610458565b604080516001600160a01b0390931683526020830191909152016100ee565b348015610178575f80fd5b5061012d610187366004610dce565b610502565b348015610197575f80fd5b506003546101aa90610100900460ff1681565b60405160ff90911681526020016100ee565b3480156101c7575f80fd5b506005546101e290600160a01b90046001600160601b031681565b6040516001600160601b0390911681526020016100ee565b348015610205575f80fd5b506003546100e29060ff1681565b61010c610221366004610e08565b6105be565b348015610231575f80fd5b5061010c610240366004610d97565b61078a565b348015610250575f80fd5b5061012d61025f366004610d97565b6108bc565b34801561026f575f80fd5b5061012d610c54565b348015610283575f80fd5b506102cf610292366004610d97565b60066020525f9081526040902080546001820154600283015460038401546004909401546001600160a01b03938416949293909116919060ff1685565b6040516100ee959493929190610e46565b5f6102ea82610d0d565b92915050565b8060015f8281526006602052604090206004015460ff16600381111561031857610318610e32565b1461033e5760405162461bcd60e51b815260040161033590610e98565b60405180910390fd5b5f8281526006602052604090206002015482906001600160a01b031633146103785760405162461bcd60e51b815260040161033590610eea565b60035460ff161561039b5760405162461bcd60e51b815260040161033590610f47565b5f34116103fa5760405162461bcd60e51b815260206004820152602760248201527f4d7972696164466c6f774f6666657253746174696f6e3a2043616e27742062656044820152660102d32b93790960cd1b6064820152608401610335565b5f838152600660205260409020600301546104153482610fc2565b5f8581526006602052604080822060030183905551839187917fb37d56408bbd568656f3b1432db39f663e302ad350a685c04f225020b75dd5419190a450505050565b5f8281526002602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b03169282019290925282916104cc5750604080518082019091526001546001600160a01b0381168252600160a01b90046001600160601b031660208201525b60208101515f90612710906104ea906001600160601b031687610fd5565b6104f49190610fec565b915196919550909350505050565b6007546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610556573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061057a919061100b565b6105965760405162461bcd60e51b81526004016103359061102a565b600580546001600160601b03909216600160a01b026001600160a01b03909216919091179055565b6003545f9060ff16156105e35760405162461bcd60e51b815260040161033590610f47565b60048054905f6105f28361106e565b91905055506040518060a00160405280846001600160a01b0316815260200183815260200161061e3390565b6001600160a01b0316815234602082015260400160019052600480545f90815260066020908152604091829020845181546001600160a01b03199081166001600160a01b039283161783559286015160018084019190915593860151600283018054909416911617909155606084015160038083019190915560808501519382018054929493909260ff19169184908111156106bc576106bc610e32565b02179055505060405163c87b56dd60e01b8152600481018490525f91506001600160a01b0385169063c87b56dd906024015f60405180830381865afa158015610707573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261072e91908101906110bc565b90503483856001600160a01b03167f54dac5242a0f595e5b3294ddd2e7f34f99167961169fe0bb2e04fcd04cbeada1600454856107683390565b60405161077793929190611164565b60405180910390a4505060045492915050565b5f610793610d41565b8160015f8281526006602052604090206004015460ff1660038111156107bb576107bb610e32565b146107d85760405162461bcd60e51b815260040161033590610e98565b5f8381526006602052604090206002015483906001600160a01b031633146108125760405162461bcd60e51b815260040161033590610eea565b60035460ff16156108355760405162461bcd60e51b815260040161033590610f47565b5f84815260066020526040808220600301549051339282156108fc02929190818181858888f1935050505015801561086f573d5f803e3d5ffd5b505f84815260066020526040808220600401805460ff191660021790555185917f5ca6c0bba519c857c8713fba9f5f1b582abe00c95dcccedccea41ad683bad26d91a2505060015f555090565b6108c4610d41565b8060015f8281526006602052604090206004015460ff1660038111156108ec576108ec610e32565b146109095760405162461bcd60e51b815260040161033590610e98565b5f828152600660205260409020805460018201546002909201546001600160a01b03918216929116336040516331a9108f60e11b8152600481018490526001600160a01b0391821691851690636352211e90602401602060405180830381865afa158015610979573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099d91906111ae565b6001600160a01b031614610a0d5760405162461bcd60e51b815260206004820152603160248201527f4d7972696164466c6f774f6666657253746174696f6e3a2043616c6c6572206960448201527073206e6f7420746865206f776e6572202160781b6064820152608401610335565b6001600160a01b0383166323b872dd336040516001600160e01b031960e084901b1681526001600160a01b0391821660048201529084166024820152604481018590526064015f604051808303815f87803b158015610a6a575f80fd5b505af1158015610a7c573d5f803e3d5ffd5b5050505f868152600660205260408120600301546005549092506103e890610ab490600160a01b90046001600160601b031684610fd5565b610abe9190610fec565b90505f610acb82846111c9565b60405163152a902d60e11b815260048101879052602481018290529091505f9081906001600160a01b03891690632a55205a906044016040805180830381865afa158015610b1b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b3f91906111dc565b90925090505f610b4f82856111c9565b6005546040519192506001600160a01b03169086156108fc029087905f818181858888f19350505050158015610b87573d5f803e3d5ffd5b506040516001600160a01b0384169083156108fc029084905f818181858888f19350505050158015610bbb573d5f803e3d5ffd5b50604051339082156108fc029083905f818181858888f19350505050158015610be6573d5f803e3d5ffd5b508a886001600160a01b038b167f64c9e7665b2fc264027f3550925eaab82f4aec88eb68a013708c83772cf7743e33604080516001600160a01b039283168152918d16602083015281018b905260600160405180910390a450505050505050505050610c5160015f55565b50565b6007546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610ca8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ccc919061100b565b610ce85760405162461bcd60e51b81526004016103359061102a565b60035460ff16610d01576003805460ff19166001179055565b6003805460ff19169055565b5f6001600160e01b0319821663152a902d60e11b14806102ea57506301ffc9a760e01b6001600160e01b03198316146102ea565b60025f5403610d6357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f60208284031215610d79575f80fd5b81356001600160e01b031981168114610d90575f80fd5b9392505050565b5f60208284031215610da7575f80fd5b5035919050565b5f8060408385031215610dbf575f80fd5b50508035926020909101359150565b5f60208284031215610dde575f80fd5b81356001600160601b0381168114610d90575f80fd5b6001600160a01b0381168114610c51575f80fd5b5f8060408385031215610e19575f80fd5b8235610e2481610df4565b946020939093013593505050565b634e487b7160e01b5f52602160045260245ffd5b6001600160a01b03868116825260208201869052841660408201526060810183905260a0810160048310610e8857634e487b7160e01b5f52602160045260245ffd5b8260808301529695505050505050565b60208082526032908201527f4d7972696164466c6f774f6666657253746174696f6e3a2050726f706f73616c604082015271081a5cc8185b1c9958591e4810db1bdcd95960721b606082015260800190565b60208082526038908201527f4d7972696164466c6f774f6666657253746174696f6e3a20557365722064696460408201527f206e6f7420696e74696174656420746865206f66666572210000000000000000606082015260800190565b60208082526041908201527f4d79726961644f6666657253746174696f6e3a20596f752063616e6e6f74206f60408201527f66666572202c2069742069732070617573656420666f7220736f6d6574696d656060820152602160f81b608082015260a00190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156102ea576102ea610fae565b80820281158282048414176102ea576102ea610fae565b5f8261100657634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121561101b575f80fd5b81518015158114610d90575f80fd5b60208082526024908201527f457465726e616c536f756c3a2055736572206973206e6f7420617574686f726960408201526303d32b2160e51b606082015260800190565b5f6001820161107f5761107f610fae565b5060010190565b634e487b7160e01b5f52604160045260245ffd5b5f5b838110156110b457818101518382015260200161109c565b50505f910152565b5f602082840312156110cc575f80fd5b815167ffffffffffffffff808211156110e3575f80fd5b818401915084601f8301126110f6575f80fd5b81518181111561110857611108611086565b604051601f8201601f19908116603f0116810190838211818310171561113057611130611086565b81604052828152876020848701011115611148575f80fd5b61115983602083016020880161109a565b979650505050505050565b838152606060208201525f835180606084015261118881608085016020880161109a565b6001600160a01b0393909316604083015250601f91909101601f19160160800192915050565b5f602082840312156111be575f80fd5b8151610d9081610df4565b818103818111156102ea576102ea610fae565b5f80604083850312156111ed575f80fd5b82516111f881610df4565b602093909301519294929350505056fea2646970667358221220a1ac7656cc2be29e0222fc1a31f991d55a9eec398a6c9ed7bb9be6f4c3324e8664736f6c63430008180033"; type MyriadFlowOfferStationConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/NFT__factory.ts b/typechain-types/factories/NFT__factory.ts index 03eb8b7..ab0fdcd 100644 --- a/typechain-types/factories/NFT__factory.ts +++ b/typechain-types/factories/NFT__factory.ts @@ -11,6 +11,130 @@ const _abi = [ stateMutability: "nonpayable", type: "constructor", }, + { + inputs: [], + name: "ERC721EnumerableForbiddenBatchMint", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "ERC721IncorrectOwner", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "ERC721InsufficientApproval", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address", + }, + ], + name: "ERC721InvalidApprover", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + ], + name: "ERC721InvalidOperator", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "ERC721InvalidOwner", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC721InvalidReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ERC721InvalidSender", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "ERC721NonexistentToken", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "uint256", + name: "index", + type: "uint256", + }, + ], + name: "ERC721OutOfBoundsIndex", + type: "error", + }, { anonymous: false, inputs: [ @@ -455,7 +579,7 @@ const _abi = [ ]; const _bytecode = - "0x60806040526000600a553480156200001657600080fd5b506040518060400160405280600881526020016726ac902a27a5a2a760c11b815250604051806040016040528060038152602001624d544b60e81b815250816000908162000065919062000122565b50600162000074828262000122565b505050620001ee565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000a857607f821691505b602082108103620000c957634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200011d57600081815260208120601f850160051c81016020861015620000f85750805b601f850160051c820191505b81811015620001195782815560010162000104565b5050505b505050565b81516001600160401b038111156200013e576200013e6200007d565b62000156816200014f845462000093565b84620000cf565b602080601f8311600181146200018e5760008415620001755750858301515b600019600386901b1c1916600185901b17855562000119565b600085815260208120601f198616915b82811015620001bf578886015182559484019460019091019084016200019e565b5085821015620001de5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61184a80620001fe6000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80634f6ccce7116100ad57806395d89b411161007157806395d89b4114610256578063a22cb4651461025e578063b88d4fde14610271578063c87b56dd14610284578063e985e9c51461029757600080fd5b80634f6ccce71461020157806354ba0f271461021457806361bc221a146102275780636352211e1461023057806370a082311461024357600080fd5b806318160ddd116100f457806318160ddd146101a357806323b872dd146101b55780632f745c59146101c857806342842e0e146101db578063439e2e45146101ee57600080fd5b806301ffc9a71461012657806306fdde031461014e578063081812fc14610163578063095ea7b31461018e575b600080fd5b610139610134366004611368565b6102d3565b60405190151581526020015b60405180910390f35b6101566102fe565b60405161014591906113d5565b6101766101713660046113e8565b610390565b6040516001600160a01b039091168152602001610145565b6101a161019c36600461141d565b6103b7565b005b6008545b604051908152602001610145565b6101a16101c3366004611447565b6104d1565b6101a76101d636600461141d565b610502565b6101a16101e9366004611447565b610598565b6101a16101fc366004611447565b6105b3565b6101a761020f3660046113e8565b6105be565b6101a7610222366004611483565b610651565b6101a7600a5481565b61017661023e3660046113e8565b61067b565b6101a7610251366004611483565b6106db565b610156610761565b6101a161026c36600461149e565b610770565b6101a161027f3660046114f0565b61077f565b6101566102923660046113e8565b6107b7565b6101396102a53660046115cc565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60006001600160e01b0319821663780e9d6360e01b14806102f857506102f88261082b565b92915050565b60606000805461030d906115ff565b80601f0160208091040260200160405190810160405280929190818152602001828054610339906115ff565b80156103865780601f1061035b57610100808354040283529160200191610386565b820191906000526020600020905b81548152906001019060200180831161036957829003601f168201915b5050505050905090565b600061039b8261087b565b506000908152600460205260409020546001600160a01b031690565b60006103c28261067b565b9050806001600160a01b0316836001600160a01b0316036104345760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b0382161480610450575061045081336102a5565b6104c25760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161042b565b6104cc83836108dd565b505050565b6104db338261094b565b6104f75760405162461bcd60e51b815260040161042b90611639565b6104cc8383836109ca565b600061050d836106db565b821061056f5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b606482015260840161042b565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b6104cc8383836040518060200160405280600081525061077f565b6104cc838383610598565b60006105c960085490565b821061062c5760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b606482015260840161042b565b6008828154811061063f5761063f611686565b90600052602060002001549050919050565b600a805460009182610662836116b2565b919050555061067382600a54610b3b565b5050600a5490565b6000818152600260205260408120546001600160a01b0316806102f85760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161042b565b60006001600160a01b0382166107455760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161042b565b506001600160a01b031660009081526003602052604090205490565b60606001805461030d906115ff565b61077b338383610b55565b5050565b610789338361094b565b6107a55760405162461bcd60e51b815260040161042b90611639565b6107b184848484610c23565b50505050565b60606107c28261087b565b60006107d960408051602081019091526000815290565b905060008151116107f95760405180602001604052806000815250610824565b8061080384610c56565b6040516020016108149291906116cb565b6040516020818303038152906040525b9392505050565b60006001600160e01b031982166380ac58cd60e01b148061085c57506001600160e01b03198216635b5e139f60e01b145b806102f857506301ffc9a760e01b6001600160e01b03198316146102f8565b6000818152600260205260409020546001600160a01b03166108da5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161042b565b50565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906109128261067b565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806109578361067b565b9050806001600160a01b0316846001600160a01b0316148061099e57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806109c25750836001600160a01b03166109b784610390565b6001600160a01b0316145b949350505050565b826001600160a01b03166109dd8261067b565b6001600160a01b031614610a035760405162461bcd60e51b815260040161042b906116fa565b6001600160a01b038216610a655760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161042b565b610a728383836001610ce9565b826001600160a01b0316610a858261067b565b6001600160a01b031614610aab5760405162461bcd60e51b815260040161042b906116fa565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b61077b828260405180602001604052806000815250610e1d565b816001600160a01b0316836001600160a01b031603610bb65760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161042b565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610c2e8484846109ca565b610c3a84848484610e50565b6107b15760405162461bcd60e51b815260040161042b9061173f565b60606000610c6383610f51565b600101905060008167ffffffffffffffff811115610c8357610c836114da565b6040519080825280601f01601f191660200182016040528015610cad576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610cb757509392505050565b6001811115610d585760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b606482015260840161042b565b816001600160a01b038516610db457610daf81600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b610dd7565b836001600160a01b0316856001600160a01b031614610dd757610dd78582611029565b6001600160a01b038416610df357610dee816110c6565b610e16565b846001600160a01b0316846001600160a01b031614610e1657610e168482611175565b5050505050565b610e2783836111b9565b610e346000848484610e50565b6104cc5760405162461bcd60e51b815260040161042b9061173f565b60006001600160a01b0384163b15610f4657604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610e94903390899088908890600401611791565b6020604051808303816000875af1925050508015610ecf575060408051601f3d908101601f19168201909252610ecc918101906117ce565b60015b610f2c573d808015610efd576040519150601f19603f3d011682016040523d82523d6000602084013e610f02565b606091505b508051600003610f245760405162461bcd60e51b815260040161042b9061173f565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506109c2565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610f905772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610fbc576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610fda57662386f26fc10000830492506010015b6305f5e1008310610ff2576305f5e100830492506008015b612710831061100657612710830492506004015b60648310611018576064830492506002015b600a83106102f85760010192915050565b60006001611036846106db565b61104091906117eb565b600083815260076020526040902054909150808214611093576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b6008546000906110d8906001906117eb565b6000838152600960205260408120546008805493945090928490811061110057611100611686565b90600052602060002001549050806008838154811061112157611121611686565b6000918252602080832090910192909255828152600990915260408082208490558582528120556008805480611159576111596117fe565b6001900381819060005260206000200160009055905550505050565b6000611180836106db565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b6001600160a01b03821661120f5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161042b565b6000818152600260205260409020546001600160a01b0316156112745760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161042b565b611282600083836001610ce9565b6000818152600260205260409020546001600160a01b0316156112e75760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161042b565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6001600160e01b0319811681146108da57600080fd5b60006020828403121561137a57600080fd5b813561082481611352565b60005b838110156113a0578181015183820152602001611388565b50506000910152565b600081518084526113c1816020860160208601611385565b601f01601f19169290920160200192915050565b60208152600061082460208301846113a9565b6000602082840312156113fa57600080fd5b5035919050565b80356001600160a01b038116811461141857600080fd5b919050565b6000806040838503121561143057600080fd5b61143983611401565b946020939093013593505050565b60008060006060848603121561145c57600080fd5b61146584611401565b925061147360208501611401565b9150604084013590509250925092565b60006020828403121561149557600080fd5b61082482611401565b600080604083850312156114b157600080fd5b6114ba83611401565b9150602083013580151581146114cf57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6000806000806080858703121561150657600080fd5b61150f85611401565b935061151d60208601611401565b925060408501359150606085013567ffffffffffffffff8082111561154157600080fd5b818701915087601f83011261155557600080fd5b813581811115611567576115676114da565b604051601f8201601f19908116603f0116810190838211818310171561158f5761158f6114da565b816040528281528a60208487010111156115a857600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b600080604083850312156115df57600080fd5b6115e883611401565b91506115f660208401611401565b90509250929050565b600181811c9082168061161357607f821691505b60208210810361163357634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016116c4576116c461169c565b5060010190565b600083516116dd818460208801611385565b8351908301906116f1818360208801611385565b01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906117c4908301846113a9565b9695505050505050565b6000602082840312156117e057600080fd5b815161082481611352565b818103818111156102f8576102f861169c565b634e487b7160e01b600052603160045260246000fdfea26469706673582212203e6e7ae4239f8e13bd53d9ab706bbc30927a6951b4767899af59499e33d3bba764736f6c63430008110033"; + "0x60806040525f600a5534801562000014575f80fd5b506040518060400160405280600881526020016726ac902a27a5a2a760c11b815250604051806040016040528060038152602001624d544b60e81b815250815f908162000062919062000118565b50600162000071828262000118565b505050620001e4565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620000a357607f821691505b602082108103620000c257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200011357805f5260205f20601f840160051c81016020851015620000ef5750805b601f840160051c820191505b8181101562000110575f8155600101620000fb565b50505b505050565b81516001600160401b038111156200013457620001346200007a565b6200014c816200014584546200008e565b84620000c8565b602080601f83116001811462000182575f84156200016a5750858301515b5f19600386901b1c1916600185901b178555620001dc565b5f85815260208120601f198616915b82811015620001b25788860151825594840194600190910190840162000191565b5085821015620001d057878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b61139480620001f25f395ff3fe608060405234801561000f575f80fd5b506004361061011c575f3560e01c80634f6ccce7116100a957806395d89b411161006e57806395d89b4114610250578063a22cb46514610258578063b88d4fde1461026b578063c87b56dd1461027e578063e985e9c514610291575f80fd5b80634f6ccce7146101fb57806354ba0f271461020e57806361bc221a146102215780636352211e1461022a57806370a082311461023d575f80fd5b806318160ddd116100ef57806318160ddd1461019d57806323b872dd146101af5780632f745c59146101c257806342842e0e146101d5578063439e2e45146101e8575f80fd5b806301ffc9a71461012057806306fdde0314610148578063081812fc1461015d578063095ea7b314610188575b5f80fd5b61013361012e366004610fc1565b6102a4565b60405190151581526020015b60405180910390f35b6101506102ce565b60405161013f9190611029565b61017061016b36600461103b565b61035d565b6040516001600160a01b03909116815260200161013f565b61019b61019636600461106d565b610384565b005b6008545b60405190815260200161013f565b61019b6101bd366004611095565b610393565b6101a16101d036600461106d565b610421565b61019b6101e3366004611095565b610484565b61019b6101f6366004611095565b6104a3565b6101a161020936600461103b565b6104ae565b6101a161021c3660046110ce565b610503565b6101a1600a5481565b61017061023836600461103b565b61052c565b6101a161024b3660046110ce565b610536565b61015061057b565b61019b6102663660046110e7565b61058a565b61019b610279366004611134565b610595565b61015061028c36600461103b565b6105ac565b61013361029f366004611209565b61061d565b5f6001600160e01b0319821663780e9d6360e01b14806102c857506102c88261064a565b92915050565b60605f80546102dc9061123a565b80601f01602080910402602001604051908101604052809291908181526020018280546103089061123a565b80156103535780601f1061032a57610100808354040283529160200191610353565b820191905f5260205f20905b81548152906001019060200180831161033657829003601f168201915b5050505050905090565b5f61036782610699565b505f828152600460205260409020546001600160a01b03166102c8565b61038f8282336106d1565b5050565b6001600160a01b0382166103c157604051633250574960e11b81525f60048201526024015b60405180910390fd5b5f6103cd8383336106de565b9050836001600160a01b0316816001600160a01b03161461041b576040516364283d7b60e01b81526001600160a01b03808616600483015260248201849052821660448201526064016103b8565b50505050565b5f61042b83610536565b821061045c5760405163295f44f760e21b81526001600160a01b0384166004820152602481018390526044016103b8565b506001600160a01b03919091165f908152600660209081526040808320938352929052205490565b61049e83838360405180602001604052805f815250610595565b505050565b61049e838383610484565b5f6104b860085490565b82106104e05760405163295f44f760e21b81525f6004820152602481018390526044016103b8565b600882815481106104f3576104f3611272565b905f5260205f2001549050919050565b600a80545f91826105138361129a565b919050555061052482600a546107b1565b5050600a5490565b5f6102c882610699565b5f6001600160a01b038216610560576040516322718ad960e21b81525f60048201526024016103b8565b506001600160a01b03165f9081526003602052604090205490565b6060600180546102dc9061123a565b61038f3383836107ca565b6105a0848484610393565b61041b84848484610868565b60606105b782610699565b505f6105cd60408051602081019091525f815290565b90505f8151116105eb5760405180602001604052805f815250610616565b806105f58461098e565b6040516020016106069291906112b2565b6040516020818303038152906040525b9392505050565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205460ff1690565b5f6001600160e01b031982166380ac58cd60e01b148061067a57506001600160e01b03198216635b5e139f60e01b145b806102c857506301ffc9a760e01b6001600160e01b03198316146102c8565b5f818152600260205260408120546001600160a01b0316806102c857604051637e27328960e01b8152600481018490526024016103b8565b61049e8383836001610a1e565b5f806106eb858585610b22565b90506001600160a01b0381166107475761074284600880545f838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b61076a565b846001600160a01b0316816001600160a01b03161461076a5761076a8185610c14565b6001600160a01b0385166107865761078184610ca1565b6107a9565b846001600160a01b0316816001600160a01b0316146107a9576107a98585610d48565b949350505050565b61038f828260405180602001604052805f815250610d96565b6001600160a01b0382166107fc57604051630b61174360e31b81526001600160a01b03831660048201526024016103b8565b6001600160a01b038381165f81815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0383163b1561041b57604051630a85bd0160e11b81526001600160a01b0384169063150b7a02906108aa9033908890879087906004016112e0565b6020604051808303815f875af19250505080156108e4575060408051601f3d908101601f191682019092526108e19181019061131c565b60015b61094b573d808015610911576040519150601f19603f3d011682016040523d82523d5f602084013e610916565b606091505b5080515f0361094357604051633250574960e11b81526001600160a01b03851660048201526024016103b8565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b1461098757604051633250574960e11b81526001600160a01b03851660048201526024016103b8565b5050505050565b60605f61099a83610dac565b60010190505f8167ffffffffffffffff8111156109b9576109b9611120565b6040519080825280601f01601f1916602001820160405280156109e3576020820181803683370190505b5090508181016020015b5f19016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846109ed57509392505050565b8080610a3257506001600160a01b03821615155b15610af3575f610a4184610699565b90506001600160a01b03831615801590610a6d5750826001600160a01b0316816001600160a01b031614155b8015610a805750610a7e818461061d565b155b15610aa95760405163a9fbf51f60e01b81526001600160a01b03841660048201526024016103b8565b8115610af15783856001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b50505f90815260046020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b5f828152600260205260408120546001600160a01b0390811690831615610b4e57610b4e818486610e83565b6001600160a01b03811615610b8857610b695f855f80610a1e565b6001600160a01b0381165f90815260036020526040902080545f190190555b6001600160a01b03851615610bb6576001600160a01b0385165f908152600360205260409020805460010190555b5f8481526002602052604080822080546001600160a01b0319166001600160a01b0389811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b5f610c1e83610536565b5f83815260076020526040902054909150808214610c6f576001600160a01b0384165f9081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b505f9182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b6008545f90610cb290600190611337565b5f8381526009602052604081205460088054939450909284908110610cd957610cd9611272565b905f5260205f20015490508060088381548110610cf857610cf8611272565b5f918252602080832090910192909255828152600990915260408082208490558582528120556008805480610d2f57610d2f61134a565b600190038181905f5260205f20015f9055905550505050565b5f6001610d5484610536565b610d5e9190611337565b6001600160a01b039093165f908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b610da08383610ee7565b61049e5f848484610868565b5f8072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610dea5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610e16576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610e3457662386f26fc10000830492506010015b6305f5e1008310610e4c576305f5e100830492506008015b6127108310610e6057612710830492506004015b60648310610e72576064830492506002015b600a83106102c85760010192915050565b610e8e838383610f48565b61049e576001600160a01b038316610ebc57604051637e27328960e01b8152600481018290526024016103b8565b60405163177e802f60e01b81526001600160a01b0383166004820152602481018290526044016103b8565b6001600160a01b038216610f1057604051633250574960e11b81525f60048201526024016103b8565b5f610f1c83835f6106de565b90506001600160a01b0381161561049e576040516339e3563760e11b81525f60048201526024016103b8565b5f6001600160a01b038316158015906107a95750826001600160a01b0316846001600160a01b03161480610f815750610f81848461061d565b806107a95750505f908152600460205260409020546001600160a01b03908116911614919050565b6001600160e01b031981168114610fbe575f80fd5b50565b5f60208284031215610fd1575f80fd5b813561061681610fa9565b5f5b83811015610ff6578181015183820152602001610fde565b50505f910152565b5f8151808452611015816020860160208601610fdc565b601f01601f19169290920160200192915050565b602081525f6106166020830184610ffe565b5f6020828403121561104b575f80fd5b5035919050565b80356001600160a01b0381168114611068575f80fd5b919050565b5f806040838503121561107e575f80fd5b61108783611052565b946020939093013593505050565b5f805f606084860312156110a7575f80fd5b6110b084611052565b92506110be60208501611052565b9150604084013590509250925092565b5f602082840312156110de575f80fd5b61061682611052565b5f80604083850312156110f8575f80fd5b61110183611052565b915060208301358015158114611115575f80fd5b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215611147575f80fd5b61115085611052565b935061115e60208601611052565b925060408501359150606085013567ffffffffffffffff80821115611181575f80fd5b818701915087601f830112611194575f80fd5b8135818111156111a6576111a6611120565b604051601f8201601f19908116603f011681019083821181831017156111ce576111ce611120565b816040528281528a60208487010111156111e6575f80fd5b826020860160208301375f60208483010152809550505050505092959194509250565b5f806040838503121561121a575f80fd5b61122383611052565b915061123160208401611052565b90509250929050565b600181811c9082168061124e57607f821691505b60208210810361126c57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f600182016112ab576112ab611286565b5060010190565b5f83516112c3818460208801610fdc565b8351908301906112d7818360208801610fdc565b01949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f9061131290830184610ffe565b9695505050505050565b5f6020828403121561132c575f80fd5b815161061681610fa9565b818103818111156102c8576102c8611286565b634e487b7160e01b5f52603160045260245ffdfea2646970667358221220da7619409d96795b2668c113726cf0e1501226ddd2f3f8ecca197d565e282d4c64736f6c63430008180033"; type NFTConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/PhygitalA__factory.ts b/typechain-types/factories/PhygitalA__factory.ts index 01cbe28..9b150d1 100644 --- a/typechain-types/factories/PhygitalA__factory.ts +++ b/typechain-types/factories/PhygitalA__factory.ts @@ -69,6 +69,70 @@ const _abi = [ name: "BalanceQueryForZeroAddress", type: "error", }, + { + inputs: [ + { + internalType: "uint256", + name: "numerator", + type: "uint256", + }, + { + internalType: "uint256", + name: "denominator", + type: "uint256", + }, + ], + name: "ERC2981InvalidDefaultRoyalty", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC2981InvalidDefaultRoyaltyReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "uint256", + name: "numerator", + type: "uint256", + }, + { + internalType: "uint256", + name: "denominator", + type: "uint256", + }, + ], + name: "ERC2981InvalidTokenRoyalty", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC2981InvalidTokenRoyaltyReceiver", + type: "error", + }, { inputs: [], name: "MintERC2309QuantityExceedsLimit", @@ -760,12 +824,12 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "_tokenId", + name: "tokenId", type: "uint256", }, { internalType: "uint256", - name: "_salePrice", + name: "salePrice", type: "uint256", }, ], @@ -1033,7 +1097,7 @@ const _abi = [ ]; const _bytecode = - "0x60a06040523480156200001157600080fd5b5060405162002f0138038062002f01833981016040819052620000349162000465565b86866004620000448382620005e5565b506005620000538282620005e5565b5060016002555050601380546001600160a01b038087166001600160a01b031992831617909255600c8054888416620100000262010000600160b01b031990911617905560148054928616929091169190911790558151600414620000ff5760405162461bcd60e51b815260206004820152601860248201527f506879676974616c3a20496e76616c696420496e70757421000000000000000060448201526064015b60405180910390fd5b81600081518110620001155762000115620006b1565b6020026020010151600b8190555081600181518110620001395762000139620006b1565b6020908102919091010151608052620001763383600281518110620001625762000162620006b1565b6020026020010151620001e960201b60201c565b816003815181106200018c576200018c620006b1565b6020908102919091010151600c805461ffff191661ffff909216919091179055600a620001ba8282620005e5565b5050600d80546001600160a01b0319166001600160a01b03949094169390931790925550620006c79350505050565b6127106001600160601b0382161115620002595760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646044820152692073616c65507269636560b01b6064820152608401620000f6565b6001600160a01b038216620002b15760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c6964207265636569766572000000000000006044820152606401620000f6565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600055565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156200032b576200032b620002ea565b604052919050565b600082601f8301126200034557600080fd5b81516001600160401b03811115620003615762000361620002ea565b602062000377601f8301601f1916820162000300565b82815285828487010111156200038c57600080fd5b60005b83811015620003ac5785810183015182820184015282016200038f565b506000928101909101919091529392505050565b80516001600160a01b0381168114620003d857600080fd5b919050565b600082601f830112620003ef57600080fd5b815160206001600160401b038211156200040d576200040d620002ea565b8160051b6200041e82820162000300565b92835284810182019282810190878511156200043957600080fd5b83870192505b848310156200045a578251825291830191908301906200043f565b979650505050505050565b600080600080600080600060e0888a0312156200048157600080fd5b87516001600160401b03808211156200049957600080fd5b620004a78b838c0162000333565b985060208a0151915080821115620004be57600080fd5b620004cc8b838c0162000333565b9750620004dc60408b01620003c0565b9650620004ec60608b01620003c0565b9550620004fc60808b01620003c0565b945060a08a01519150808211156200051357600080fd5b620005218b838c01620003dd565b935060c08a01519150808211156200053857600080fd5b50620005478a828b0162000333565b91505092959891949750929550565b600181811c908216806200056b57607f821691505b6020821081036200058c57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620005e057600081815260208120601f850160051c81016020861015620005bb5750805b601f850160051c820191505b81811015620005dc57828155600101620005c7565b5050505b505050565b81516001600160401b03811115620006015762000601620002ea565b620006198162000612845462000556565b8462000592565b602080601f831160018114620006515760008415620006385750858301515b600019600386901b1c1916600185901b178555620005dc565b600085815260208120601f198616915b82811015620006825788860151825594840194600190910190840162000661565b5085821015620006a15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b608051612810620006f1600039600081816106bd015281816108a5015261119a01526128106000f3fe6080604052600436106101f95760003560e01c80637db794271161010d578063a22cb465116100a0578063c87b56dd1161006f578063c87b56dd1461068b578063d5abeb01146106ab578063e461c9b6146106df578063e985e9c5146106ff578063f0f7d05d1461071f57600080fd5b8063a22cb46514610612578063a4b1105214610632578063b88d4fde14610658578063c2962bc71461066b57600080fd5b80638f08d44d116100dc5780638f08d44d1461052957806395d89b41146105495780639874cd971461055e578063a0712d68146105f257600080fd5b80637db794271461047f57806381530b68146104ae578063882f08f3146104ce5780638c38431e1461050957600080fd5b806318160ddd1161019057806342966c681161015f57806342966c68146103ca57806354fd4d50146103ea5780636352211e1461041157806370a08231146104315780637501f7411461045157600080fd5b806318160ddd1461034857806323b872dd146103655780632a55205a1461037857806342842e0e146103b757600080fd5b8063081812fc116101cc578063081812fc146102c5578063095ea7b3146102fd5780630aa7c854146103125780630d39fc811461033257600080fd5b80630103c92b146101fe57806301ffc9a71461023e578063049d01531461026e57806306fdde03146102a3575b600080fd5b34801561020a57600080fd5b5061022b610219366004611fe0565b60126020526000908152604090205481565b6040519081526020015b60405180910390f35b34801561024a57600080fd5b5061025e610259366004612013565b61073f565b6040519015158152602001610235565b34801561027a57600080fd5b5061028e610289366004612030565b610770565b60408051928352602083019190915201610235565b3480156102af57600080fd5b506102b861096f565b60405161023591906120ac565b3480156102d157600080fd5b506102e56102e03660046120bf565b610a01565b6040516001600160a01b039091168152602001610235565b61031061030b366004612030565b610a3c565b005b34801561031e57600080fd5b50600d546102e5906001600160a01b031681565b34801561033e57600080fd5b5061022b600b5481565b34801561035457600080fd5b50600354600254036000190161022b565b6103106103733660046120d8565b610a4c565b34801561038457600080fd5b50610398610393366004612119565b610bbb565b604080516001600160a01b039093168352602083019190915201610235565b6103106103c53660046120d8565b610c67565b3480156103d657600080fd5b506103106103e53660046120bf565b610c87565b3480156103f657600080fd5b506103ff600181565b60405160ff9091168152602001610235565b34801561041d57600080fd5b506102e561042c3660046120bf565b610c95565b34801561043d57600080fd5b5061022b61044c366004611fe0565b610ca0565b34801561045d57600080fd5b50600c5461046c9061ffff1681565b60405161ffff9091168152602001610235565b34801561048b57600080fd5b5061049f61049a3660046120bf565b610ce6565b60405161023593929190612173565b3480156104ba57600080fd5b506103106104c93660046120bf565b610d94565b3480156104da57600080fd5b5061025e6104e936600461223e565b805160208183018101805160118252928201919093012091525460ff1681565b34801561051557600080fd5b50610310610524366004612273565b610e6c565b34801561053557600080fd5b506103106105443660046120bf565b610f92565b34801561055557600080fd5b506102b86110da565b34801561056a57600080fd5b506105b96105793660046120bf565b600e602052600090815260409020805460019091015460ff82169161010081046001600160a01b031691600160a81b90910467ffffffffffffffff169084565b6040805194151585526001600160a01b03909316602085015267ffffffffffffffff909116918301919091526060820152608001610235565b3480156105fe57600080fd5b5061028e61060d3660046120bf565b6110e9565b34801561061e57600080fd5b5061031061062d3660046122b5565b6113e0565b34801561063e57600080fd5b50600c546102e5906201000090046001600160a01b031681565b6103106106663660046122e3565b61144c565b34801561067757600080fd5b5061031061068636600461234f565b61148d565b34801561069757600080fd5b506102b86106a63660046120bf565b611577565b3480156106b757600080fd5b5061022b7f000000000000000000000000000000000000000000000000000000000000000081565b3480156106eb57600080fd5b506103106106fa366004612373565b6115f2565b34801561070b57600080fd5b5061025e61071a3660046123ba565b611867565b34801561072b57600080fd5b5061022b61073a3660046120bf565b611895565b6000636ad56fd360e11b6001600160e01b031983160161076157506001919050565b61076a826118a5565b92915050565b60135460009081906001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156107cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ef91906123e8565b6108145760405162461bcd60e51b815260040161080b90612405565b60405180910390fd5b60006108236002546000190190565b600c5490915061ffff168411158061083f5750600c5461ffff16155b6108a35760405162461bcd60e51b815260206004820152602f60248201527f506879676974616c3a205175616e746974792073686f756c64206265206c657360448201526e1cc81d1a185b881b585e081b5a5b9d608a1b606482015260840161080b565b7f0000000000000000000000000000000000000000000000000000000000000000846108d26002546000190190565b6108dc919061245c565b11156108fa5760405162461bcd60e51b815260040161080b9061246f565b61090485856118f3565b600c54610921906201000090046001600160a01b031660016113e0565b337f328ff68d0e66694e405c9f8fc906a346b345aa1f87ec216eaa82f2c654d0d34a6109506002546000190190565b60408051918252602082018890520160405180910390a2949293505050565b60606004805461097e906124b5565b80601f01602080910402602001604051908101604052809291908181526020018280546109aa906124b5565b80156109f75780601f106109cc576101008083540402835291602001916109f7565b820191906000526020600020905b8154815290600101906020018083116109da57829003601f168201915b5050505050905090565b6000610a0c8261190d565b610a2057610a206333d1c03960e21b61195b565b506000908152600860205260409020546001600160a01b031690565b610a4882826001611965565b5050565b6000610a5782611a08565b6001600160a01b039485169490915081168414610a7d57610a7d62a1148160e81b61195b565b60008281526008602052604090208054610aa98187335b6001600160a01b039081169116811491141790565b610acb57610ab78633611867565b610acb57610acb632ce44b5f60e11b61195b565b8015610ad657600082555b6001600160a01b038681166000908152600760205260408082208054600019019055918716808252919020805460010190554260a01b17600160e11b17600085815260066020526040812091909155600160e11b84169003610b6857600184016000818152600660205260408120549003610b66576002548114610b665760008181526006602052604090208490555b505b6001600160a01b0385168481887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a480600003610bb257610bb2633a954ecd60e21b61195b565b50505050505050565b60008281526001602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b0316928201929092528291610c305750604080518082019091526000546001600160a01b0381168252600160a01b90046001600160601b031660208201525b602081015160009061271090610c4f906001600160601b0316876124ef565b610c599190612506565b915196919550909350505050565b610c828383836040518060200160405280600081525061144c565b505050565b610c92816001611aa9565b50565b600061076a82611a08565b60006001600160a01b038216610cc057610cc06323d3ad8160e21b61195b565b506001600160a01b031660009081526007602052604090205467ffffffffffffffff1690565b60106020526000908152604090208054600182018054919291610d08906124b5565b80601f0160208091040260200160405190810160405280929190818152602001828054610d34906124b5565b8015610d815780601f10610d5657610100808354040283529160200191610d81565b820191906000526020600020905b815481529060010190602001808311610d6457829003601f168201915b5050506002909301549192505060ff1683565b6013546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610dea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0e91906123e8565b610e2a5760405162461bcd60e51b815260040161080b90612405565b600b81905560408051338152602081018390527fe4fe79a855bb953d57c217fb96867cc30beed4bf0ce6c2b1e7d2731ce74982ec91015b60405180910390a150565b8133610e7782610c95565b6001600160a01b03161480610f0157506013546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610edd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0191906123e8565b610f1d5760405162461bcd60e51b815260040161080b90612528565b6000838152601060205260409020600201805483919060ff19166001836004811115610f4b57610f4b61213b565b02179055507f07c2cea5a1fbb990e885b52e8c51ce865a718fb8676e7169289a1c137d3d8b3733848442604051610f85949392919061256f565b60405180910390a1505050565b33610f9c82610c95565b6001600160a01b031614610ffe5760405162461bcd60e51b815260206004820152602360248201527f506879676974616c413a2055736572206973206e6f74206173736574206f776e60448201526265722160e81b606482015260840161080b565b60008181526010602052604081206002015460ff1660048111156110245761102461213b565b1461107f5760405162461bcd60e51b815260206004820152602560248201527f506879676974616c413a2041737365742063616e6e6f742062652064657374726044820152646f7965642160d81b606482015260840161080b565b61108a816001611aa9565b600081815260016020526040812055807f2a5fd0bc4df8bf54012cb36761df3287ea7e3380367b791f6f6ad0506b500a0a336040516001600160a01b03909116815260200160405180910390a250565b60606005805461097e906124b5565b60008060006110fb6002546000190190565b336000908152601260205260408120549192509061111a90869061245c565b600c5490915061ffff161561119857600c5461ffff168111156111985760405162461bcd60e51b815260206004820152603060248201527f506879676974616c413a205175616e746974792073686f756c64206265206c6560448201526f1cdcc81d1a185b881b585e081b5a5b9d60821b606482015260840161080b565b7f0000000000000000000000000000000000000000000000000000000000000000856111c76002546000190190565b6111d1919061245c565b11156111ef5760405162461bcd60e51b815260040161080b9061246f565b6111f885611895565b6014546001600160a01b03166370a08231336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa15801561124e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127291906125a2565b10156112c05760405162461bcd60e51b815260206004820152601c60248201527f506879676974616c413a204e6f7420656e6f7567682066756e64732100000000604482015260640161080b565b60135460408051633955348d60e21b815290516000926001600160a01b03169163e554d2349160048083019260209291908290030181865afa15801561130a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132e91906125bb565b9050611345338261133e89611895565b6000611beb565b336000908152601260205260408120805488929061136490849061245c565b90915550611374905033876118f3565b600c54611391906201000090046001600160a01b031660016113e0565b337f328ff68d0e66694e405c9f8fc906a346b345aa1f87ec216eaa82f2c654d0d34a6113c06002546000190190565b60408051918252602082018a90520160405180910390a250909492505050565b3360008181526009602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b611457848484610a4c565b6001600160a01b0383163b156114875761147384848484611d6d565b611487576114876368d2bf6b60e11b61195b565b50505050565b6013546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156114e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150791906123e8565b6115235760405162461bcd60e51b815260040161080b90612405565b600c805461ffff191661ffff83161790557f681fea8fe1457e6e31ea5cec63ed1685758afb352bc523a85590601a4b3382f833604080516001600160a01b03909216825261ffff8416602083015201610e61565b60606115828261190d565b61159657611596630a14c4b560e41b61195b565b60006115a0611e50565b905080516000036115c057604051806020016040528060008152506115eb565b806115ca84611e5f565b6040516020016115db9291906125d8565b6040516020818303038152906040525b9392505050565b81336115fd82610c95565b6001600160a01b0316148061168757506013546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611663573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061168791906123e8565b6116a35760405162461bcd60e51b815260040161080b90612528565b6116ac8361190d565b6116f85760405162461bcd60e51b815260206004820181905260248201527f506879676974616c413a20546f6b656e20646f6573206e6f7420657869737473604482015260640161080b565b6011826040516117089190612607565b9081526040519081900360200190205460ff161580156117345750600083815260106020526040902054155b61178e5760405162461bcd60e51b815260206004820152602560248201527f506879676974616c413a204e46432054616720697320616c72656164792073746044820152646f7265642160d81b606482015260840161080b565b6040805160608101825242815260208082018581526004838501526000878152601090925292902081518155915190919060018201906117ce9082612671565b50604082015160028201805460ff191660018360048111156117f2576117f261213b565b0217905550905050600160118360405161180c9190612607565b908152604051908190036020019020805491151560ff199092169190911790557f35fbbba3856c29d63b934b93a99ab192c3c6b71eacad55451212d003f94eeaad6118543390565b848442604051610f859493929190612731565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205460ff1690565b6000600b548261076a91906124ef565b60006301ffc9a760e01b6001600160e01b0319831614806118d657506380ac58cd60e01b6001600160e01b03198316145b8061076a5750506001600160e01b031916635b5e139f60e01b1490565b610a48828260405180602001604052806000815250611ea3565b600081600111611956576002548210156119565760005b506000828152600660205260408120549081900361194c5761194583612769565b9250611924565b600160e01b161590505b919050565b8060005260046000fd5b600061197083610c95565b90508180156119885750336001600160a01b03821614155b156119ab576119978133611867565b6119ab576119ab6367d9dca160e11b61195b565b60008381526008602052604080822080546001600160a01b0319166001600160a01b0388811691821790925591518693918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a450505050565b600081600111611a99575060008181526006602052604081205490819003611a86576002548210611a4357611a43636f96cda160e11b61195b565b5b50600019016000818152600660205260409020548015611a4457600160e01b8116600003611a7157919050565b611a81636f96cda160e11b61195b565b611a44565b600160e01b8116600003611a9957919050565b611956636f96cda160e11b61195b565b6000611ab483611a08565b905080600080611ad286600090815260086020526040902080549091565b915091508415611b0957611ae7818433610a94565b611b0957611af58333611867565b611b0957611b09632ce44b5f60e11b61195b565b8015611b1457600082555b6001600160a01b038316600081815260076020526040902080546fffffffffffffffffffffffffffffffff0190554260a01b17600360e01b17600087815260066020526040812091909155600160e11b85169003611ba257600186016000818152600660205260408120549003611ba0576002548114611ba05760008181526006602052604090208590555b505b60405186906000906001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a4505060038054600101905550505050565b60008115611c4c576040516001600160a01b038516908490600081818185875af1925050503d8060008114611c3c576040519150601f19603f3d011682016040523d82523d6000602084013e611c41565b606091505b505080915050611cce565b6014546040516323b872dd60e01b81526001600160a01b038781166004830152868116602483015260448201869052909116906323b872dd906064016020604051808303816000875af1158015611ca7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ccb91906123e8565b90505b80611d1b5760405162461bcd60e51b815260206004820152601a60248201527f506879676974616c413a205472616e73666572206661696c6564000000000000604482015260640161080b565b604080516001600160a01b038088168252861660208201529081018490527f4ed2986a2cde8f90dd7d10ce44efb8d683b5e58ff9a6ffdc2d83dbbacee764379060600160405180910390a15050505050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a0290611da2903390899088908890600401612780565b6020604051808303816000875af1925050508015611ddd575060408051601f3d908101601f19168201909252611dda918101906127bd565b60015b611e32573d808015611e0b576040519150601f19603f3d011682016040523d82523d6000602084013e611e10565b606091505b508051600003611e2a57611e2a6368d2bf6b60e11b61195b565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490505b949350505050565b6060600a805461097e906124b5565b606060a06040510180604052602081039150506000815280825b600183039250600a81066030018353600a900480611e795750819003601f19909101908152919050565b611ead8383611f0c565b6001600160a01b0383163b15610c82576002548281035b611ed76000868380600101945086611d6d565b611eeb57611eeb6368d2bf6b60e11b61195b565b818110611ec4578160025414611f0557611f05600061195b565b5050505050565b6002546000829003611f2857611f2863b562e8dd60e01b61195b565b60008181526006602090815260408083206001600160a01b0387164260a01b6001881460e11b17811790915580845260079092528220805468010000000000000001860201905590819003611f8657611f86622e076360e81b61195b565b818301825b808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4818160010191508103611f8b575060025550505050565b6001600160a01b0381168114610c9257600080fd5b600060208284031215611ff257600080fd5b81356115eb81611fcb565b6001600160e01b031981168114610c9257600080fd5b60006020828403121561202557600080fd5b81356115eb81611ffd565b6000806040838503121561204357600080fd5b823561204e81611fcb565b946020939093013593505050565b60005b8381101561207757818101518382015260200161205f565b50506000910152565b6000815180845261209881602086016020860161205c565b601f01601f19169290920160200192915050565b6020815260006115eb6020830184612080565b6000602082840312156120d157600080fd5b5035919050565b6000806000606084860312156120ed57600080fd5b83356120f881611fcb565b9250602084013561210881611fcb565b929592945050506040919091013590565b6000806040838503121561212c57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6005811061216f57634e487b7160e01b600052602160045260246000fd5b9052565b83815260606020820152600061218c6060830185612080565b9050611e486040830184612151565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126121c257600080fd5b813567ffffffffffffffff808211156121dd576121dd61219b565b604051601f8301601f19908116603f011681019082821181831017156122055761220561219b565b8160405283815286602085880101111561221e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561225057600080fd5b813567ffffffffffffffff81111561226757600080fd5b611e48848285016121b1565b6000806040838503121561228657600080fd5b8235915060208301356005811061229c57600080fd5b809150509250929050565b8015158114610c9257600080fd5b600080604083850312156122c857600080fd5b82356122d381611fcb565b9150602083013561229c816122a7565b600080600080608085870312156122f957600080fd5b843561230481611fcb565b9350602085013561231481611fcb565b925060408501359150606085013567ffffffffffffffff81111561233757600080fd5b612343878288016121b1565b91505092959194509250565b60006020828403121561236157600080fd5b813561ffff811681146115eb57600080fd5b6000806040838503121561238657600080fd5b82359150602083013567ffffffffffffffff8111156123a457600080fd5b6123b0858286016121b1565b9150509250929050565b600080604083850312156123cd57600080fd5b82356123d881611fcb565b9150602083013561229c81611fcb565b6000602082840312156123fa57600080fd5b81516115eb816122a7565b60208082526021908201527f506879676974616c413a2055736572206973206e6f7420617574686f72697a656040820152601960fa1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b8082018082111561076a5761076a612446565b60208082526026908201527f506879676974616c413a20457863656564696e67206d617820746f6b656e20736040820152657570706c792160d01b606082015260800190565b600181811c908216806124c957607f821691505b6020821081036124e957634e487b7160e01b600052602260045260246000fd5b50919050565b808202811582820484141761076a5761076a612446565b60008261252357634e487b7160e01b600052601260045260246000fd5b500490565b60208082526027908201527f506879676974616c413a55736572206973206e6f74206f776e6572206f72206f6040820152663832b930ba37b960c91b606082015260800190565b6001600160a01b038516815260208101849052608081016125936040830185612151565b82606083015295945050505050565b6000602082840312156125b457600080fd5b5051919050565b6000602082840312156125cd57600080fd5b81516115eb81611fcb565b600083516125ea81846020880161205c565b8351908301906125fe81836020880161205c565b01949350505050565b6000825161261981846020870161205c565b9190910192915050565b601f821115610c8257600081815260208120601f850160051c8101602086101561264a5750805b601f850160051c820191505b8181101561266957828155600101612656565b505050505050565b815167ffffffffffffffff81111561268b5761268b61219b565b61269f8161269984546124b5565b84612623565b602080601f8311600181146126d457600084156126bc5750858301515b600019600386901b1c1916600185901b178555612669565b600085815260208120601f198616915b82811015612703578886015182559484019460019091019084016126e4565b50858210156127215787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60018060a01b03851681528360208201526080604082015260006127586080830185612080565b905082606083015295945050505050565b60008161277857612778612446565b506000190190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906127b390830184612080565b9695505050505050565b6000602082840312156127cf57600080fd5b81516115eb81611ffd56fea264697066735822122032ef2a865b4a0768993c3339ebb65cda96c195f24c249514a686493b6f81a45964736f6c63430008110033"; + "0x60a060405234801562000010575f80fd5b5060405162002d9f38038062002d9f8339810160408190526200003391620003fc565b868660046200004383826200056e565b5060056200005282826200056e565b5060016002555050601380546001600160a01b038087166001600160a01b031992831617909255600c8054888416620100000262010000600160b01b031990911617905560148054928616929091169190911790558151600414620000fe5760405162461bcd60e51b815260206004820152601860248201527f506879676974616c3a20496e76616c696420496e70757421000000000000000060448201526064015b60405180910390fd5b815f815181106200011357620001136200063a565b6020026020010151600b81905550816001815181106200013757620001376200063a565b60209081029190910101516080526200017433836002815181106200016057620001606200063a565b6020026020010151620001e760201b60201c565b816003815181106200018a576200018a6200063a565b6020908102919091010151600c805461ffff191661ffff909216919091179055600a620001b882826200056e565b5050600d80546001600160a01b0319166001600160a01b039490941693909317909255506200064e9350505050565b6127106001600160601b0382168110156200022857604051636f483d0960e01b81526001600160601b038316600482015260248101829052604401620000f5565b6001600160a01b0383166200025357604051635b6cc80560e11b81525f6004820152602401620000f5565b50604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b909102175f55565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715620002cb57620002cb6200028c565b604052919050565b5f82601f830112620002e3575f80fd5b81516001600160401b03811115620002ff57620002ff6200028c565b602062000315601f8301601f19168201620002a0565b828152858284870101111562000329575f80fd5b5f5b83811015620003485785810183015182820184015282016200032b565b505f928101909101919091529392505050565b80516001600160a01b038116811462000372575f80fd5b919050565b5f82601f83011262000387575f80fd5b815160206001600160401b03821115620003a557620003a56200028c565b8160051b620003b6828201620002a0565b9283528481018201928281019087851115620003d0575f80fd5b83870192505b84831015620003f157825182529183019190830190620003d6565b979650505050505050565b5f805f805f805f60e0888a03121562000413575f80fd5b87516001600160401b03808211156200042a575f80fd5b620004388b838c01620002d3565b985060208a01519150808211156200044e575f80fd5b6200045c8b838c01620002d3565b97506200046c60408b016200035b565b96506200047c60608b016200035b565b95506200048c60808b016200035b565b945060a08a0151915080821115620004a2575f80fd5b620004b08b838c0162000377565b935060c08a0151915080821115620004c6575f80fd5b50620004d58a828b01620002d3565b91505092959891949750929550565b600181811c90821680620004f957607f821691505b6020821081036200051857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200056957805f5260205f20601f840160051c81016020851015620005455750805b601f840160051c820191505b8181101562000566575f815560010162000551565b50505b505050565b81516001600160401b038111156200058a576200058a6200028c565b620005a2816200059b8454620004e4565b846200051e565b602080601f831160018114620005d8575f8415620005c05750858301515b5f19600386901b1c1916600185901b17855562000632565b5f85815260208120601f198616915b828110156200060857888601518255948401946001909101908401620005e7565b50858210156200062657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b634e487b7160e01b5f52603260045260245ffd5b60805161272a620006755f395f8181610696015281816108750152611145015261272a5ff3fe6080604052600436106101f1575f3560e01c80637db7942711610108578063a22cb4651161009d578063c87b56dd1161006d578063c87b56dd14610666578063d5abeb0114610685578063e461c9b6146106b8578063e985e9c5146106d7578063f0f7d05d146106f6575f80fd5b8063a22cb465146105f0578063a4b110521461060f578063b88d4fde14610634578063c2962bc714610647575f80fd5b80638f08d44d116100d85780638f08d44d1461050c57806395d89b411461052b5780639874cd971461053f578063a0712d68146105d1575f80fd5b80637db794271461046657806381530b6814610494578063882f08f3146104b35780638c38431e146104ed575f80fd5b806318160ddd1161018957806342966c681161015957806342966c68146103b657806354fd4d50146103d55780636352211e146103fb57806370a082311461041a5780637501f74114610439575f80fd5b806318160ddd1461033757806323b872dd146103525780632a55205a1461036557806342842e0e146103a3575f80fd5b8063081812fc116101c4578063081812fc146102b7578063095ea7b3146102ee5780630aa7c854146103035780630d39fc8114610322575f80fd5b80630103c92b146101f557806301ffc9a714610233578063049d01531461026257806306fdde0314610296575b5f80fd5b348015610200575f80fd5b5061022061020f366004611f4b565b60126020525f908152604090205481565b6040519081526020015b60405180910390f35b34801561023e575f80fd5b5061025261024d366004611f7b565b610715565b604051901515815260200161022a565b34801561026d575f80fd5b5061028161027c366004611f96565b610745565b6040805192835260208301919091520161022a565b3480156102a1575f80fd5b506102aa61093d565b60405161022a919061200d565b3480156102c2575f80fd5b506102d66102d136600461201f565b6109cd565b6040516001600160a01b03909116815260200161022a565b6103016102fc366004611f96565b610a06565b005b34801561030e575f80fd5b50600d546102d6906001600160a01b031681565b34801561032d575f80fd5b50610220600b5481565b348015610342575f80fd5b50600354600254035f1901610220565b610301610360366004612036565b610a16565b348015610370575f80fd5b5061038461037f366004612074565b610b7b565b604080516001600160a01b03909316835260208301919091520161022a565b6103016103b1366004612036565b610c24565b3480156103c1575f80fd5b506103016103d036600461201f565b610c43565b3480156103e0575f80fd5b506103e9600181565b60405160ff909116815260200161022a565b348015610406575f80fd5b506102d661041536600461201f565b610c51565b348015610425575f80fd5b50610220610434366004611f4b565b610c5b565b348015610444575f80fd5b50600c546104539061ffff1681565b60405161ffff909116815260200161022a565b348015610471575f80fd5b5061048561048036600461201f565b610c9f565b60405161022a939291906120c8565b34801561049f575f80fd5b506103016104ae36600461201f565b610d4a565b3480156104be575f80fd5b506102526104cd36600461218c565b805160208183018101805160118252928201919093012091525460ff1681565b3480156104f8575f80fd5b506103016105073660046121be565b610e20565b348015610517575f80fd5b5061030161052636600461201f565b610f43565b348015610536575f80fd5b506102aa611089565b34801561054a575f80fd5b5061059861055936600461201f565b600e6020525f90815260409020805460019091015460ff82169161010081046001600160a01b031691600160a81b90910467ffffffffffffffff169084565b6040805194151585526001600160a01b03909316602085015267ffffffffffffffff90911691830191909152606082015260800161022a565b3480156105dc575f80fd5b506102816105eb36600461201f565b611098565b3480156105fb575f80fd5b5061030161060a3660046121fc565b611382565b34801561061a575f80fd5b50600c546102d6906201000090046001600160a01b031681565b610301610642366004612228565b6113ed565b348015610652575f80fd5b50610301610661366004612290565b61142e565b348015610671575f80fd5b506102aa61068036600461201f565b611516565b348015610690575f80fd5b506102207f000000000000000000000000000000000000000000000000000000000000000081565b3480156106c3575f80fd5b506103016106d23660046122b1565b61158e565b3480156106e2575f80fd5b506102526106f13660046122f5565b6117ff565b348015610701575f80fd5b5061022061071036600461201f565b61182c565b5f636ad56fd360e11b6001600160e01b031983160161073657506001919050565b61073f8261183b565b92915050565b6013545f9081906001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa15801561079d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c19190612321565b6107e65760405162461bcd60e51b81526004016107dd9061233c565b60405180910390fd5b5f6107f36002545f190190565b600c5490915061ffff168411158061080f5750600c5461ffff16155b6108735760405162461bcd60e51b815260206004820152602f60248201527f506879676974616c3a205175616e746974792073686f756c64206265206c657360448201526e1cc81d1a185b881b585e081b5a5b9d608a1b60648201526084016107dd565b7f0000000000000000000000000000000000000000000000000000000000000000846108a16002545f190190565b6108ab9190612391565b11156108c95760405162461bcd60e51b81526004016107dd906123a4565b6108d38585611888565b600c546108f0906201000090046001600160a01b03166001611382565b337f328ff68d0e66694e405c9f8fc906a346b345aa1f87ec216eaa82f2c654d0d34a61091e6002545f190190565b60408051918252602082018890520160405180910390a2949293505050565b60606004805461094c906123ea565b80601f0160208091040260200160405190810160405280929190818152602001828054610978906123ea565b80156109c35780601f1061099a576101008083540402835291602001916109c3565b820191905f5260205f20905b8154815290600101906020018083116109a657829003601f168201915b5050505050905090565b5f6109d7826118a1565b6109eb576109eb6333d1c03960e21b6118ec565b505f908152600860205260409020546001600160a01b031690565b610a12828260016118f4565b5050565b5f610a2082611995565b6001600160a01b039485169490915081168414610a4657610a4662a1148160e81b6118ec565b5f8281526008602052604090208054610a718187335b6001600160a01b039081169116811491141790565b610a9357610a7f86336117ff565b610a9357610a93632ce44b5f60e11b6118ec565b8015610a9d575f82555b6001600160a01b038681165f9081526007602052604080822080545f19019055918716808252919020805460010190554260a01b17600160e11b175f85815260066020526040812091909155600160e11b84169003610b2a57600184015f818152600660205260408120549003610b28576002548114610b28575f8181526006602052604090208490555b505b6001600160a01b0385168481887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a4805f03610b7257610b72633a954ecd60e21b6118ec565b50505050505050565b5f8281526001602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b0316928201929092528291610bee5750604080518082019091525f546001600160a01b0381168252600160a01b90046001600160601b031660208201525b60208101515f9061271090610c0c906001600160601b031687612422565b610c169190612439565b915196919550909350505050565b610c3e83838360405180602001604052805f8152506113ed565b505050565b610c4e816001611a30565b50565b5f61073f82611995565b5f6001600160a01b038216610c7a57610c7a6323d3ad8160e21b6118ec565b506001600160a01b03165f9081526007602052604090205467ffffffffffffffff1690565b60106020525f908152604090208054600182018054919291610cc0906123ea565b80601f0160208091040260200160405190810160405280929190818152602001828054610cec906123ea565b8015610d375780601f10610d0e57610100808354040283529160200191610d37565b820191905f5260205f20905b815481529060010190602001808311610d1a57829003601f168201915b5050506002909301549192505060ff1683565b6013546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610d9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc29190612321565b610dde5760405162461bcd60e51b81526004016107dd9061233c565b600b81905560408051338152602081018390527fe4fe79a855bb953d57c217fb96867cc30beed4bf0ce6c2b1e7d2731ce74982ec91015b60405180910390a150565b8133610e2b82610c51565b6001600160a01b03161480610eb357506013546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610e8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb39190612321565b610ecf5760405162461bcd60e51b81526004016107dd90612458565b5f838152601060205260409020600201805483919060ff19166001836004811115610efc57610efc612094565b02179055507f07c2cea5a1fbb990e885b52e8c51ce865a718fb8676e7169289a1c137d3d8b3733848442604051610f36949392919061249f565b60405180910390a1505050565b33610f4d82610c51565b6001600160a01b031614610faf5760405162461bcd60e51b815260206004820152602360248201527f506879676974616c413a2055736572206973206e6f74206173736574206f776e60448201526265722160e81b60648201526084016107dd565b5f8181526010602052604081206002015460ff166004811115610fd457610fd4612094565b1461102f5760405162461bcd60e51b815260206004820152602560248201527f506879676974616c413a2041737365742063616e6e6f742062652064657374726044820152646f7965642160d81b60648201526084016107dd565b61103a816001611a30565b5f81815260016020526040812055807f2a5fd0bc4df8bf54012cb36761df3287ea7e3380367b791f6f6ad0506b500a0a336040516001600160a01b03909116815260200160405180910390a250565b60606005805461094c906123ea565b5f805f6110a76002545f190190565b335f90815260126020526040812054919250906110c5908690612391565b600c5490915061ffff161561114357600c5461ffff168111156111435760405162461bcd60e51b815260206004820152603060248201527f506879676974616c413a205175616e746974792073686f756c64206265206c6560448201526f1cdcc81d1a185b881b585e081b5a5b9d60821b60648201526084016107dd565b7f0000000000000000000000000000000000000000000000000000000000000000856111716002545f190190565b61117b9190612391565b11156111995760405162461bcd60e51b81526004016107dd906123a4565b6111a28561182c565b6014546001600160a01b03166370a08231336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156111f6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061121a91906124d2565b10156112685760405162461bcd60e51b815260206004820152601c60248201527f506879676974616c413a204e6f7420656e6f7567682066756e6473210000000060448201526064016107dd565b60135460408051633955348d60e21b815290515f926001600160a01b03169163e554d2349160048083019260209291908290030181865afa1580156112af573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112d391906124e9565b90506112e933826112e38961182c565b5f611b69565b335f9081526012602052604081208054889290611307908490612391565b9091555061131790503387611888565b600c54611334906201000090046001600160a01b03166001611382565b337f328ff68d0e66694e405c9f8fc906a346b345aa1f87ec216eaa82f2c654d0d34a6113626002545f190190565b60408051918252602082018a90520160405180910390a250909492505050565b335f8181526009602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6113f8848484610a16565b6001600160a01b0383163b156114285761141484848484611ce4565b611428576114286368d2bf6b60e11b6118ec565b50505050565b6013546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611482573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114a69190612321565b6114c25760405162461bcd60e51b81526004016107dd9061233c565b600c805461ffff191661ffff83161790557f681fea8fe1457e6e31ea5cec63ed1685758afb352bc523a85590601a4b3382f833604080516001600160a01b03909216825261ffff8416602083015201610e15565b6060611521826118a1565b61153557611535630a14c4b560e41b6118ec565b5f61153e611dc3565b905080515f0361155c5760405180602001604052805f815250611587565b8061156684611dd2565b604051602001611577929190612504565b6040516020818303038152906040525b9392505050565b813361159982610c51565b6001600160a01b0316148061162157506013546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156115fd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116219190612321565b61163d5760405162461bcd60e51b81526004016107dd90612458565b611646836118a1565b6116925760405162461bcd60e51b815260206004820181905260248201527f506879676974616c413a20546f6b656e20646f6573206e6f742065786973747360448201526064016107dd565b6011826040516116a29190612532565b9081526040519081900360200190205460ff161580156116cd57505f83815260106020526040902054155b6117275760405162461bcd60e51b815260206004820152602560248201527f506879676974616c413a204e46432054616720697320616c72656164792073746044820152646f7265642160d81b60648201526084016107dd565b6040805160608101825242815260208082018581526004838501525f878152601090925292902081518155915190919060018201906117669082612591565b50604082015160028201805460ff1916600183600481111561178a5761178a612094565b021790555090505060016011836040516117a49190612532565b908152604051908190036020019020805491151560ff199092169190911790557f35fbbba3856c29d63b934b93a99ab192c3c6b71eacad55451212d003f94eeaad6117ec3390565b848442604051610f369493929190612651565b6001600160a01b039182165f90815260096020908152604080832093909416825291909152205460ff1690565b5f600b548261073f9190612422565b5f6301ffc9a760e01b6001600160e01b03198316148061186b57506380ac58cd60e01b6001600160e01b03198316145b8061073f5750506001600160e01b031916635b5e139f60e01b1490565b610a12828260405180602001604052805f815250611e15565b5f816001116118e7576002548210156118e7575f5b505f82815260066020526040812054908190036118dd576118d683612688565b92506118b6565b600160e01b161590505b919050565b805f5260045ffd5b5f6118fe83610c51565b90508180156119165750336001600160a01b03821614155b156119395761192581336117ff565b611939576119396367d9dca160e11b6118ec565b5f8381526008602052604080822080546001600160a01b0319166001600160a01b0388811691821790925591518693918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a450505050565b5f81600111611a2057505f8181526006602052604081205490819003611a0e5760025482106119ce576119ce636f96cda160e11b6118ec565b5b505f19015f8181526006602052604090205480156119cf57600160e01b81165f036119f957919050565b611a09636f96cda160e11b6118ec565b6119cf565b600160e01b81165f03611a2057919050565b6118e7636f96cda160e11b6118ec565b5f611a3a83611995565b9050805f80611a56865f90815260086020526040902080549091565b915091508415611a8d57611a6b818433610a5c565b611a8d57611a7983336117ff565b611a8d57611a8d632ce44b5f60e11b6118ec565b8015611a97575f82555b6001600160a01b0383165f81815260076020526040902080546fffffffffffffffffffffffffffffffff0190554260a01b17600360e01b175f87815260066020526040812091909155600160e11b85169003611b2157600186015f818152600660205260408120549003611b1f576002548114611b1f575f8181526006602052604090208590555b505b60405186905f906001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a4505060038054600101905550505050565b5f8115611bc6576040516001600160a01b0385169084905f81818185875af1925050503d805f8114611bb6576040519150601f19603f3d011682016040523d82523d5f602084013e611bbb565b606091505b505080915050611c45565b6014546040516323b872dd60e01b81526001600160a01b038781166004830152868116602483015260448201869052909116906323b872dd906064016020604051808303815f875af1158015611c1e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c429190612321565b90505b80611c925760405162461bcd60e51b815260206004820152601a60248201527f506879676974616c413a205472616e73666572206661696c656400000000000060448201526064016107dd565b604080516001600160a01b038088168252861660208201529081018490527f4ed2986a2cde8f90dd7d10ce44efb8d683b5e58ff9a6ffdc2d83dbbacee764379060600160405180910390a15050505050565b604051630a85bd0160e11b81525f906001600160a01b0385169063150b7a0290611d1890339089908890889060040161269d565b6020604051808303815f875af1925050508015611d52575060408051601f3d908101601f19168201909252611d4f918101906126d9565b60015b611da5573d808015611d7f576040519150601f19603f3d011682016040523d82523d5f602084013e611d84565b606091505b5080515f03611d9d57611d9d6368d2bf6b60e11b6118ec565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490505b949350505050565b6060600a805461094c906123ea565b606060a06040510180604052602081039150505f815280825b600183039250600a81066030018353600a900480611deb5750819003601f19909101908152919050565b611e1f8383611e7c565b6001600160a01b0383163b15610c3e576002548281035b611e485f868380600101945086611ce4565b611e5c57611e5c6368d2bf6b60e11b6118ec565b818110611e36578160025414611e7557611e755f6118ec565b5050505050565b6002545f829003611e9757611e9763b562e8dd60e01b6118ec565b5f8181526006602090815260408083206001600160a01b0387164260a01b6001881460e11b17811790915580845260079092528220805468010000000000000001860201905590819003611ef457611ef4622e076360e81b6118ec565b818301825b80835f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a4818160010191508103611ef9575060025550505050565b6001600160a01b0381168114610c4e575f80fd5b5f60208284031215611f5b575f80fd5b813561158781611f37565b6001600160e01b031981168114610c4e575f80fd5b5f60208284031215611f8b575f80fd5b813561158781611f66565b5f8060408385031215611fa7575f80fd5b8235611fb281611f37565b946020939093013593505050565b5f5b83811015611fda578181015183820152602001611fc2565b50505f910152565b5f8151808452611ff9816020860160208601611fc0565b601f01601f19169290920160200192915050565b602081525f6115876020830184611fe2565b5f6020828403121561202f575f80fd5b5035919050565b5f805f60608486031215612048575f80fd5b833561205381611f37565b9250602084013561206381611f37565b929592945050506040919091013590565b5f8060408385031215612085575f80fd5b50508035926020909101359150565b634e487b7160e01b5f52602160045260245ffd5b600581106120c457634e487b7160e01b5f52602160045260245ffd5b9052565b838152606060208201525f6120e06060830185611fe2565b9050611dbb60408301846120a8565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612112575f80fd5b813567ffffffffffffffff8082111561212d5761212d6120ef565b604051601f8301601f19908116603f01168101908282118183101715612155576121556120ef565b8160405283815286602085880101111561216d575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f6020828403121561219c575f80fd5b813567ffffffffffffffff8111156121b2575f80fd5b611dbb84828501612103565b5f80604083850312156121cf575f80fd5b823591506020830135600581106121e4575f80fd5b809150509250929050565b8015158114610c4e575f80fd5b5f806040838503121561220d575f80fd5b823561221881611f37565b915060208301356121e4816121ef565b5f805f806080858703121561223b575f80fd5b843561224681611f37565b9350602085013561225681611f37565b925060408501359150606085013567ffffffffffffffff811115612278575f80fd5b61228487828801612103565b91505092959194509250565b5f602082840312156122a0575f80fd5b813561ffff81168114611587575f80fd5b5f80604083850312156122c2575f80fd5b82359150602083013567ffffffffffffffff8111156122df575f80fd5b6122eb85828601612103565b9150509250929050565b5f8060408385031215612306575f80fd5b823561231181611f37565b915060208301356121e481611f37565b5f60208284031215612331575f80fd5b8151611587816121ef565b60208082526021908201527f506879676974616c413a2055736572206973206e6f7420617574686f72697a656040820152601960fa1b606082015260800190565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561073f5761073f61237d565b60208082526026908201527f506879676974616c413a20457863656564696e67206d617820746f6b656e20736040820152657570706c792160d01b606082015260800190565b600181811c908216806123fe57607f821691505b60208210810361241c57634e487b7160e01b5f52602260045260245ffd5b50919050565b808202811582820484141761073f5761073f61237d565b5f8261245357634e487b7160e01b5f52601260045260245ffd5b500490565b60208082526027908201527f506879676974616c413a55736572206973206e6f74206f776e6572206f72206f6040820152663832b930ba37b960c91b606082015260800190565b6001600160a01b038516815260208101849052608081016124c360408301856120a8565b82606083015295945050505050565b5f602082840312156124e2575f80fd5b5051919050565b5f602082840312156124f9575f80fd5b815161158781611f37565b5f8351612515818460208801611fc0565b835190830190612529818360208801611fc0565b01949350505050565b5f8251612543818460208701611fc0565b9190910192915050565b601f821115610c3e57805f5260205f20601f840160051c810160208510156125725750805b601f840160051c820191505b81811015611e75575f815560010161257e565b815167ffffffffffffffff8111156125ab576125ab6120ef565b6125bf816125b984546123ea565b8461254d565b602080601f8311600181146125f2575f84156125db5750858301515b5f19600386901b1c1916600185901b178555612649565b5f85815260208120601f198616915b8281101561262057888601518255948401946001909101908401612601565b508582101561263d57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60018060a01b0385168152836020820152608060408201525f6126776080830185611fe2565b905082606083015295945050505050565b5f816126965761269661237d565b505f190190565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f906126cf90830184611fe2565b9695505050505050565b5f602082840312156126e9575f80fd5b815161158781611f6656fea26469706673582212207838ded33867b7d436fffcb3bacc6d853b8b4b0b2656dbba9e0f9c2f86edb00764736f6c63430008180033"; type PhygitalAConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/Phygital__factory.ts b/typechain-types/factories/Phygital__factory.ts index fe70177..fa95490 100644 --- a/typechain-types/factories/Phygital__factory.ts +++ b/typechain-types/factories/Phygital__factory.ts @@ -32,6 +32,194 @@ const _abi = [ stateMutability: "nonpayable", type: "constructor", }, + { + inputs: [ + { + internalType: "uint256", + name: "numerator", + type: "uint256", + }, + { + internalType: "uint256", + name: "denominator", + type: "uint256", + }, + ], + name: "ERC2981InvalidDefaultRoyalty", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC2981InvalidDefaultRoyaltyReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "uint256", + name: "numerator", + type: "uint256", + }, + { + internalType: "uint256", + name: "denominator", + type: "uint256", + }, + ], + name: "ERC2981InvalidTokenRoyalty", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC2981InvalidTokenRoyaltyReceiver", + type: "error", + }, + { + inputs: [], + name: "ERC721EnumerableForbiddenBatchMint", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "ERC721IncorrectOwner", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "ERC721InsufficientApproval", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address", + }, + ], + name: "ERC721InvalidApprover", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + ], + name: "ERC721InvalidOperator", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "ERC721InvalidOwner", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC721InvalidReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ERC721InvalidSender", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "ERC721NonexistentToken", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "uint256", + name: "index", + type: "uint256", + }, + ], + name: "ERC721OutOfBoundsIndex", + type: "error", + }, { anonymous: false, inputs: [ @@ -238,31 +426,6 @@ const _abi = [ name: "UpdateAssetStatus", type: "event", }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "uint256", - name: "tokenId", - type: "uint256", - }, - { - indexed: true, - internalType: "address", - name: "user", - type: "address", - }, - { - indexed: false, - internalType: "uint64", - name: "expires", - type: "uint64", - }, - ], - name: "UpdateUser", - type: "event", - }, { inputs: [], name: "Counter", @@ -289,30 +452,6 @@ const _abi = [ stateMutability: "view", type: "function", }, - { - inputs: [ - { - internalType: "uint256", - name: "tokenId", - type: "uint256", - }, - { - internalType: "uint256", - name: "time", - type: "uint256", - }, - ], - name: "amountRequired", - outputs: [ - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, { inputs: [ { @@ -562,24 +701,6 @@ const _abi = [ stateMutability: "view", type: "function", }, - { - inputs: [ - { - internalType: "uint256", - name: "_tokenId", - type: "uint256", - }, - { - internalType: "uint256", - name: "_timeInHours", - type: "uint256", - }, - ], - name: "rent", - outputs: [], - stateMutability: "payable", - type: "function", - }, { inputs: [ { @@ -618,12 +739,12 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "_tokenId", + name: "tokenId", type: "uint256", }, { internalType: "uint256", - name: "_salePrice", + name: "salePrice", type: "uint256", }, ], @@ -730,52 +851,6 @@ const _abi = [ stateMutability: "nonpayable", type: "function", }, - { - inputs: [ - { - internalType: "uint256", - name: "tokenId", - type: "uint256", - }, - { - internalType: "bool", - name: "isRentable", - type: "bool", - }, - { - internalType: "uint256", - name: "pricePerHour", - type: "uint256", - }, - ], - name: "setRentInfo", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "tokenId", - type: "uint256", - }, - { - internalType: "address", - name: "user", - type: "address", - }, - { - internalType: "uint64", - name: "expires", - type: "uint64", - }, - ], - name: "setUser", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, { inputs: [ { @@ -919,44 +994,6 @@ const _abi = [ stateMutability: "nonpayable", type: "function", }, - { - inputs: [ - { - internalType: "uint256", - name: "tokenId", - type: "uint256", - }, - ], - name: "userExpires", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "tokenId", - type: "uint256", - }, - ], - name: "userOf", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, { inputs: [], name: "version", @@ -973,7 +1010,7 @@ const _abi = [ ]; const _bytecode = - "0x60806040523480156200001157600080fd5b50604051620036a3380380620036a383398101604081905262000034916200017d565b838360006200004483826200029b565b5060016200005382826200029b565b5050601480546001600160a01b039384166001600160a01b03199182168117909255600c8054959094169481169490941790925550600d805490921617905550620003679050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620000c357600080fd5b81516001600160401b0380821115620000e057620000e06200009b565b604051601f8301601f19908116603f011681019082821181831017156200010b576200010b6200009b565b816040528381526020925086838588010111156200012857600080fd5b600091505b838210156200014c57858201830151818301840152908201906200012d565b600093810190920192909252949350505050565b80516001600160a01b03811681146200017857600080fd5b919050565b600080600080608085870312156200019457600080fd5b84516001600160401b0380821115620001ac57600080fd5b620001ba88838901620000b1565b95506020870151915080821115620001d157600080fd5b50620001e087828801620000b1565b935050620001f16040860162000160565b9150620002016060860162000160565b905092959194509250565b600181811c908216806200022157607f821691505b6020821081036200024257634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200029657600081815260208120601f850160051c81016020861015620002715750805b601f850160051c820191505b8181101562000292578281556001016200027d565b5050505b505050565b81516001600160401b03811115620002b757620002b76200009b565b620002cf81620002c884546200020c565b8462000248565b602080601f831160018114620003075760008415620002ee5750858301515b600019600386901b1c1916600185901b17855562000292565b600085815260208120601f198616915b82811015620003385788860151825594840194600190910190840162000317565b5085821015620003575787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61332c80620003776000396000f3fe6080604052600436106102045760003560e01c806370a08231116101185780639874cd97116100a0578063ba91caae1161006f578063ba91caae146106b0578063c2f1f14a146106d0578063c87b56dd146106f0578063e030565e14610710578063e985e9c51461073057600080fd5b80639874cd97146105be578063a22cb46514610650578063a4b1105214610670578063b88d4fde1461069057600080fd5b8063882f08f3116100e7578063882f08f3146104f15780638b485d2d1461052c5780638c38431e1461054c5780638fc88c481461056c57806395d89b41146105a957600080fd5b806370a082311461046f578063783a112b1461048f5780637db79427146104a257806388030eb9146104d157600080fd5b80632a55205a1161019b5780634eeca0761161016a5780634eeca076146103d25780634f6ccce7146103e857806354fd4d50146104085780636352211e1461042f578063655bc8db1461044f57600080fd5b80632a55205a146103335780632f745c591461037257806342842e0e14610392578063474c1520146103b257600080fd5b80630aa7c854116101d75780630aa7c854146102ba5780630d39fc81146102da57806318160ddd146102fe57806323b872dd1461031357600080fd5b806301ffc9a71461020957806306fdde031461023e578063081812fc14610260578063095ea7b314610298575b600080fd5b34801561021557600080fd5b50610229610224366004612965565b610779565b60405190151581526020015b60405180910390f35b34801561024a57600080fd5b506102536107ca565b60405161023591906129d2565b34801561026c57600080fd5b5061028061027b3660046129e5565b61085c565b6040516001600160a01b039091168152602001610235565b3480156102a457600080fd5b506102b86102b3366004612a15565b610883565b005b3480156102c657600080fd5b50600d54610280906001600160a01b031681565b3480156102e657600080fd5b506102f0600e5481565b604051908152602001610235565b34801561030a57600080fd5b506008546102f0565b34801561031f57600080fd5b506102b861032e366004612a3f565b61099d565b34801561033f57600080fd5b5061035361034e366004612a7b565b6109ce565b604080516001600160a01b039093168352602083019190915201610235565b34801561037e57600080fd5b506102f061038d366004612a15565b610a7a565b34801561039e57600080fd5b506102b86103ad366004612a3f565b610b10565b3480156103be57600080fd5b506102b86103cd3660046129e5565b610b2b565b3480156103de57600080fd5b506102f0600f5481565b3480156103f457600080fd5b506102f06104033660046129e5565b610ca9565b34801561041457600080fd5b5061041d600181565b60405160ff9091168152602001610235565b34801561043b57600080fd5b5061028061044a3660046129e5565b610d3c565b34801561045b57600080fd5b506102b861046a366004612aab565b610d9c565b34801561047b57600080fd5b506102f061048a366004612ae3565b610e3e565b6102b861049d366004612a7b565b610ec4565b3480156104ae57600080fd5b506104c26104bd3660046129e5565b611200565b60405161023593929190612b36565b3480156104dd57600080fd5b506102f06104ec366004612c17565b6112ae565b3480156104fd57600080fd5b5061022961050c366004612c8a565b805160208183018101805160138252928201919093012091525460ff1681565b34801561053857600080fd5b506102f0610547366004612cbe565b61154f565b34801561055857600080fd5b506102b8610567366004612d42565b611803565b34801561057857600080fd5b506102f06105873660046129e5565b600090815260106020526040902054600160a81b90046001600160401b031690565b3480156105b557600080fd5b50610253611960565b3480156105ca57600080fd5b506106186105d93660046129e5565b6010602052600090815260409020805460019091015460ff82169161010081046001600160a01b031691600160a81b9091046001600160401b03169084565b6040805194151585526001600160a01b0390931660208501526001600160401b03909116918301919091526060820152608001610235565b34801561065c57600080fd5b506102b861066b366004612d76565b61196f565b34801561067c57600080fd5b50600c54610280906001600160a01b031681565b34801561069c57600080fd5b506102b86106ab366004612da2565b61197e565b3480156106bc57600080fd5b506102f06106cb366004612a7b565b6119b6565b3480156106dc57600080fd5b506102806106eb3660046129e5565b6119da565b3480156106fc57600080fd5b5061025361070b3660046129e5565b611a2e565b34801561071c57600080fd5b506102b861072b366004612dfd565b611b30565b34801561073c57600080fd5b5061022961074b366004612e49565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6000636ad56fd360e11b6001600160e01b031983160161079b57506001919050565b6314bdb52960e21b6001600160e01b03198316016107bb57506001919050565b6107c482611ca1565b92915050565b6060600080546107d990612e7c565b80601f016020809104026020016040519081016040528092919081815260200182805461080590612e7c565b80156108525780601f1061082757610100808354040283529160200191610852565b820191906000526020600020905b81548152906001019060200180831161083557829003601f168201915b5050505050905090565b600061086782611cc6565b506000908152600460205260409020546001600160a01b031690565b600061088e82610d3c565b9050806001600160a01b0316836001600160a01b0316036109005760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061091c575061091c813361074b565b61098e5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016108f7565b6109988383611d16565b505050565b6109a73382611d84565b6109c35760405162461bcd60e51b81526004016108f790612eb6565b610998838383611e02565b6000828152600b602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b0316928201929092528291610a43575060408051808201909152600a546001600160a01b0381168252600160a01b90046001600160601b031660208201525b602081015160009061271090610a62906001600160601b031687612f19565b610a6c9190612f30565b915196919550909350505050565b6000610a8583610e3e565b8210610ae75760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b60648201526084016108f7565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b6109988383836040518060200160405280600081525061197e565b33610b3582610d3c565b6001600160a01b03161480610bbf57506014546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610b9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bbf9190612f52565b610bdb5760405162461bcd60e51b81526004016108f790612f6f565b60008181526012602052604081206002015460ff166005811115610c0157610c01612afe565b14610c4e5760405162461bcd60e51b815260206004820152601a60248201527f506879676974616c3a2043616e6e6f74206265206275726e656400000000000060448201526064016108f7565b610c5781611f73565b807f0adc791222843a140d53786c349cfe25882232ec03fe4250d96d021abfff6a03336040516001600160a01b03909116815260200160405180910390a26000908152600b6020526040812055565b50565b6000610cb460085490565b8210610d175760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b60648201526084016108f7565b60088281548110610d2a57610d2a612fbe565b90600052602060002001549050919050565b6000818152600260205260408120546001600160a01b0316806107c45760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016108f7565b610da7335b84611d84565b610dc35760405162461bcd60e51b81526004016108f790612f6f565b6000838152601060205260409020805460ff1916831515178155600101819055336001600160a01b03167fa9dcc06084f66afbdc1841a28e84400fcbf607131220fdcf404c8502f3c03203848484604051610e31939291909283529015156020830152604082015260600190565b60405180910390a2505050565b60006001600160a01b038216610ea85760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016108f7565b506001600160a01b031660009081526003602052604090205490565b610ecd82612016565b610f195760405162461bcd60e51b815260206004820152601b60248201527f506879676974616c3a20496e76616c69646520546f6b656e204964000000000060448201526064016108f7565b60008281526010602052604090205460ff16610f775760405162461bcd60e51b815260206004820181905260248201527f506879676974616c3a204e6f7420617661696c61626c6520666f722072656e7460448201526064016108f7565b6000610f82836119da565b6001600160a01b031614610fd85760405162461bcd60e51b815260206004820181905260248201527f506879676974616c3a204e465420416c7265616479205375627363726962656460448201526064016108f7565b600081116110395760405162461bcd60e51b815260206004820152602860248201527f506879676974616c3a2054696d652063616e2774206265206c65737320746861604482015267371018903437bab960c11b60648201526084016108f7565b6110e081111561109e5760405162461bcd60e51b815260206004820152602a60248201527f506879676974616c3a2054696d652063616e2774206265206d6f7265207468616044820152696e2036206d6f6e74687360b01b60648201526084016108f7565b60006110aa83836119b6565b9050803410156110fc5760405162461bcd60e51b815260206004820152601c60248201527f506879676974616c3a20496e73756666696369656e742046756e64730000000060448201526064016108f7565b61110583610d3c565b6001600160a01b03166108fc349081150290604051600060405180830381858888f1935050505015801561113d573d6000803e3d6000fd5b5060008381526010602052604090208054610100600160a81b031916610100330217815561116d83610e10612f19565b6111779042612fd4565b81546001600160401b0391909116600160a81b0267ffffffffffffffff60a81b199091161781556111a53390565b8154604051600160a81b9091046001600160401b031681526001600160a01b03919091169085907f4e06b4e7000e659094299b3533b47b6aa8ad048e95e872d23d1f4ee55af89cfe906020015b60405180910390a350505050565b6012602052600090815260409020805460018201805491929161122290612e7c565b80601f016020809104026020016040519081016040528092919081815260200182805461124e90612e7c565b801561129b5780601f106112705761010080835404028352916020019161129b565b820191906000526020600020905b81548152906001019060200180831161127e57829003601f168201915b5050506002909301549192505060ff1683565b6014546000906001600160a01b031663efd46065336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611307573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132b9190612f52565b6113775760405162461bcd60e51b815260206004820181905260248201527f506879676974616c3a2055736572206973206e6f7420617574686f72697a656460448201526064016108f7565b6013826040516113879190612fe7565b9081526040519081900360200190205460ff16156113e75760405162461bcd60e51b815260206004820181905260248201527f506879676974616c3a2054616720697320616c72656164792073746f7265642160448201526064016108f7565b600f80549060006113f783613003565b9091555050600f5460408051606081018252428152602080820186815260058385015260008581526012909252929020815181559151909190600182019061143f908261306a565b50604082015160028201805460ff1916600183600581111561146357611463612afe565b0217905550905050600160138460405161147d9190612fe7565b908152604051908190036020019020805491151560ff199092169190911790556114ad6114a73390565b82612033565b6114b7818661204d565b6103e8846001600160601b031611156114e25760405162461bcd60e51b81526004016108f790613129565b6114ed8133866120ba565b600c54611504906001600160a01b0316600161196f565b336001600160a01b03167fb3892a92dea2c514f2bb56dbca6f8784b48e8b0a15938028e69a62c105a8f1c2828760405161153f929190613171565b60405180910390a2949350505050565b6014546000906001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156115a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115cc9190612f52565b6116225760405162461bcd60e51b815260206004820152602160248201527f506879676974616c3a2055736572206973206e6f7420617574686f72697a65646044820152600160fd1b60648201526084016108f7565b6013826040516116329190612fe7565b9081526040519081900360200190205460ff161561169e5760405162461bcd60e51b8152602060048201526024808201527f506879676974616c3a204e46432054616720697320616c72656164792073746f6044820152637265642160e01b60648201526084016108f7565b600f80549060006116ae83613003565b9091555050600f546040805160608101825242815260208082018681526005838501526000858152601290925292902081518155915190919060018201906116f6908261306a565b50604082015160028201805460ff1916600183600581111561171a5761171a612afe565b021790555090505060016013846040516117349190612fe7565b908152604051908190036020019020805491151560ff1990921691909117905561175e8682612033565b611768818661204d565b6103e8846001600160601b031611156117935760405162461bcd60e51b81526004016108f790613129565b61179e8187866120ba565b600c546117b5906001600160a01b0316600161196f565b856001600160a01b03167fb3892a92dea2c514f2bb56dbca6f8784b48e8b0a15938028e69a62c105a8f1c282876040516117f0929190613171565b60405180910390a290505b949350505050565b6014546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611859573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187d9190612f52565b8061189857503361188d83610d3c565b6001600160a01b0316145b6118ee5760405162461bcd60e51b815260206004820152602160248201527f506879676974616c3a2055736572206973206e6f7420617574686f72697365646044820152602160f81b60648201526084016108f7565b6000828152601260205260409020600201805482919060ff1916600183600581111561191c5761191c612afe565b02179055507fc29397feff3891f2950ea3d79b1cd08a1cd2c8ec558e84e01320791b74fc8c153382426040516119549392919061318a565b60405180910390a15050565b6060600180546107d990612e7c565b61197a3383836121c8565b5050565b6119883383611d84565b6119a45760405162461bcd60e51b81526004016108f790612eb6565b6119b084848484612296565b50505050565b6000828152601060205260408120600101546119d3908390612f19565b9392505050565b6000818152601060205260408120544290600160a81b90046001600160401b031610611a21575060009081526010602052604090205461010090046001600160a01b031690565b506000919050565b919050565b6060611a3982612016565b611a915760405162461bcd60e51b815260206004820152602360248201527f5369676e61747572655365726965733a204e6f6e2d4578697374656e742041736044820152621cd95d60ea1b60648201526084016108f7565b60008281526011602052604081208054611aaa90612e7c565b80601f0160208091040260200160405190810160405280929190818152602001828054611ad690612e7c565b8015611b235780601f10611af857610100808354040283529160200191611b23565b820191906000526020600020905b815481529060010190602001808311611b0657829003601f168201915b5093979650505050505050565b611b3933610da1565b611b935760405162461bcd60e51b815260206004820152602560248201527f506879676974616c3a204e6f7420746f6b656e206f776e6572204f72206170706044820152641c9bdd995960da1b60648201526084016108f7565b6000611b9e846119da565b6001600160a01b031614611c005760405162461bcd60e51b8152602060048201526024808201527f506879676974616c3a206974656d20697320616c7265616479207375627363726044820152631a58995960e21b60648201526084016108f7565b60008381526010602052604090208054610100600160a81b0319166101006001600160a01b03851602178155611c3642836131b5565b815467ffffffffffffffff60a81b1916600160a81b6001600160401b0392831681029190911780845560405191900490911681526001600160a01b0384169085907f4e06b4e7000e659094299b3533b47b6aa8ad048e95e872d23d1f4ee55af89cfe906020016111f2565b60006001600160e01b0319821663152a902d60e11b14806107c457506107c4826122c9565b611ccf81612016565b610ca65760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016108f7565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190611d4b82610d3c565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080611d9083610d3c565b9050806001600160a01b0316846001600160a01b03161480611dd757506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806117fb5750836001600160a01b0316611df08461085c565b6001600160a01b031614949350505050565b826001600160a01b0316611e1582610d3c565b6001600160a01b031614611e3b5760405162461bcd60e51b81526004016108f7906131dc565b6001600160a01b038216611e9d5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016108f7565b611eaa83838360016122ee565b826001600160a01b0316611ebd82610d3c565b6001600160a01b031614611ee35760405162461bcd60e51b81526004016108f7906131dc565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000611f7e82610d3c565b9050611f8e8160008460016122ee565b611f9782610d3c565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6000908152600260205260409020546001600160a01b0316151590565b61197a82826040518060200160405280600081525061238f565b61205682612016565b6120a25760405162461bcd60e51b815260206004820152601c60248201527f506879676974616c3a204e6f6e2d4578697374656e742041737365740000000060448201526064016108f7565b6000828152601160205260409020610998828261306a565b6127106001600160601b03821611156121285760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646044820152692073616c65507269636560b01b60648201526084016108f7565b6001600160a01b03821661217e5760405162461bcd60e51b815260206004820152601b60248201527f455243323938313a20496e76616c696420706172616d6574657273000000000060448201526064016108f7565b6040805180820182526001600160a01b0393841681526001600160601b0392831660208083019182526000968752600b90529190942093519051909116600160a01b029116179055565b816001600160a01b0316836001600160a01b0316036122295760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016108f7565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6122a1848484611e02565b6122ad848484846123c2565b6119b05760405162461bcd60e51b81526004016108f790613221565b60006001600160e01b0319821663780e9d6360e01b14806107c457506107c4826124c0565b6122fa84848484612510565b826001600160a01b0316846001600160a01b031614158015612337575060008281526010602052604090205461010090046001600160a01b031615155b156119b057600082815260106020908152604080832080546001600160e81b03191681556001018390555182815284917f4e06b4e7000e659094299b3533b47b6aa8ad048e95e872d23d1f4ee55af89cfe91016111f2565b6123998383612644565b6123a660008484846123c2565b6109985760405162461bcd60e51b81526004016108f790613221565b60006001600160a01b0384163b156124b857604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290612406903390899088908890600401613273565b6020604051808303816000875af1925050508015612441575060408051601f3d908101601f1916820190925261243e918101906132b0565b60015b61249e573d80801561246f576040519150601f19603f3d011682016040523d82523d6000602084013e612474565b606091505b5080516000036124965760405162461bcd60e51b81526004016108f790613221565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506117fb565b5060016117fb565b60006001600160e01b031982166380ac58cd60e01b14806124f157506001600160e01b03198216635b5e139f60e01b145b806107c457506301ffc9a760e01b6001600160e01b03198316146107c4565b600181111561257f5760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b60648201526084016108f7565b816001600160a01b0385166125db576125d681600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b6125fe565b836001600160a01b0316856001600160a01b0316146125fe576125fe85826127bf565b6001600160a01b03841661261a576126158161285c565b61263d565b846001600160a01b0316846001600160a01b03161461263d5761263d848261290b565b5050505050565b6001600160a01b03821661269a5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016108f7565b6126a381612016565b156126f05760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016108f7565b6126fe6000838360016122ee565b61270781612016565b156127545760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016108f7565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600060016127cc84610e3e565b6127d691906132cd565b600083815260076020526040902054909150808214612829576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b60085460009061286e906001906132cd565b6000838152600960205260408120546008805493945090928490811061289657612896612fbe565b9060005260206000200154905080600883815481106128b7576128b7612fbe565b60009182526020808320909101929092558281526009909152604080822084905585825281205560088054806128ef576128ef6132e0565b6001900381819060005260206000200160009055905550505050565b600061291683610e3e565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b6001600160e01b031981168114610ca657600080fd5b60006020828403121561297757600080fd5b81356119d38161294f565b60005b8381101561299d578181015183820152602001612985565b50506000910152565b600081518084526129be816020860160208601612982565b601f01601f19169290920160200192915050565b6020815260006119d360208301846129a6565b6000602082840312156129f757600080fd5b5035919050565b80356001600160a01b0381168114611a2957600080fd5b60008060408385031215612a2857600080fd5b612a31836129fe565b946020939093013593505050565b600080600060608486031215612a5457600080fd5b612a5d846129fe565b9250612a6b602085016129fe565b9150604084013590509250925092565b60008060408385031215612a8e57600080fd5b50508035926020909101359150565b8015158114610ca657600080fd5b600080600060608486031215612ac057600080fd5b833592506020840135612ad281612a9d565b929592945050506040919091013590565b600060208284031215612af557600080fd5b6119d3826129fe565b634e487b7160e01b600052602160045260246000fd5b60068110612b3257634e487b7160e01b600052602160045260246000fd5b9052565b838152606060208201526000612b4f60608301856129a6565b90506117fb6040830184612b14565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612b8557600080fd5b81356001600160401b0380821115612b9f57612b9f612b5e565b604051601f8301601f19908116603f01168101908282118183101715612bc757612bc7612b5e565b81604052838152866020858801011115612be057600080fd5b836020870160208301376000602085830101528094505050505092915050565b80356001600160601b0381168114611a2957600080fd5b600080600060608486031215612c2c57600080fd5b83356001600160401b0380821115612c4357600080fd5b612c4f87838801612b74565b9450612c5d60208701612c00565b93506040860135915080821115612c7357600080fd5b50612c8086828701612b74565b9150509250925092565b600060208284031215612c9c57600080fd5b81356001600160401b03811115612cb257600080fd5b6117fb84828501612b74565b60008060008060808587031215612cd457600080fd5b612cdd856129fe565b935060208501356001600160401b0380821115612cf957600080fd5b612d0588838901612b74565b9450612d1360408801612c00565b93506060870135915080821115612d2957600080fd5b50612d3687828801612b74565b91505092959194509250565b60008060408385031215612d5557600080fd5b82359150602083013560068110612d6b57600080fd5b809150509250929050565b60008060408385031215612d8957600080fd5b612d92836129fe565b91506020830135612d6b81612a9d565b60008060008060808587031215612db857600080fd5b612dc1856129fe565b9350612dcf602086016129fe565b92506040850135915060608501356001600160401b03811115612df157600080fd5b612d3687828801612b74565b600080600060608486031215612e1257600080fd5b83359250612e22602085016129fe565b915060408401356001600160401b0381168114612e3e57600080fd5b809150509250925092565b60008060408385031215612e5c57600080fd5b612e65836129fe565b9150612e73602084016129fe565b90509250929050565b600181811c90821680612e9057607f821691505b602082108103612eb057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176107c4576107c4612f03565b600082612f4d57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215612f6457600080fd5b81516119d381612a9d565b6020808252602f908201527f506879676974616c3a2043616c6c6572206973206e6f7420746f6b656e206f7760408201526e1b995c881bdc88185c1c1c9bdd9959608a1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b808201808211156107c4576107c4612f03565b60008251612ff9818460208701612982565b9190910192915050565b60006001820161301557613015612f03565b5060010190565b601f82111561099857600081815260208120601f850160051c810160208610156130435750805b601f850160051c820191505b818110156130625782815560010161304f565b505050505050565b81516001600160401b0381111561308357613083612b5e565b613097816130918454612e7c565b8461301c565b602080601f8311600181146130cc57600084156130b45750858301515b600019600386901b1c1916600185901b178555613062565b600085815260208120601f198616915b828110156130fb578886015182559484019460019091019084016130dc565b50858210156131195787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208082526028908201527f506879676974616c3a20526f79616c74792063616e2774206265206d6f7265206040820152677468616e2031302560c01b606082015260800190565b8281526040602082015260006117fb60408301846129a6565b6001600160a01b0384168152606081016131a76020830185612b14565b826040830152949350505050565b6001600160401b038181168382160190808211156131d5576131d5612f03565b5092915050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906132a6908301846129a6565b9695505050505050565b6000602082840312156132c257600080fd5b81516119d38161294f565b818103818111156107c4576107c4612f03565b634e487b7160e01b600052603160045260246000fdfea26469706673582212203acdd53ca2aefa31b0442bf948da7a8e5c63ce6b5af4755518808a836a5cb90064736f6c63430008110033"; + "0x608060405234801562000010575f80fd5b506040516200274a3803806200274a833981016040819052620000339162000176565b83835f6200004283826200028a565b5060016200005182826200028a565b5050601480546001600160a01b039384166001600160a01b03199182168117909255600c8054959094169481169490941790925550600d805490921617905550620003569050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112620000bd575f80fd5b81516001600160401b0380821115620000da57620000da62000099565b604051601f8301601f19908116603f0116810190828211818310171562000105576200010562000099565b816040528381526020925086602085880101111562000122575f80fd5b5f91505b8382101562000145578582018301518183018401529082019062000126565b5f602085830101528094505050505092915050565b80516001600160a01b038116811462000171575f80fd5b919050565b5f805f80608085870312156200018a575f80fd5b84516001600160401b0380821115620001a1575f80fd5b620001af88838901620000ad565b95506020870151915080821115620001c5575f80fd5b50620001d487828801620000ad565b935050620001e5604086016200015a565b9150620001f5606086016200015a565b905092959194509250565b600181811c908216806200021557607f821691505b6020821081036200023457634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200028557805f5260205f20601f840160051c81016020851015620002615750805b601f840160051c820191505b8181101562000282575f81556001016200026d565b50505b505050565b81516001600160401b03811115620002a657620002a662000099565b620002be81620002b7845462000200565b846200023a565b602080601f831160018114620002f4575f8415620002dc5750858301515b5f19600386901b1c1916600185901b1785556200034e565b5f85815260208120601f198616915b82811015620003245788860151825594840194600190910190840162000303565b50858210156200034257878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b6123e680620003645f395ff3fe608060405234801561000f575f80fd5b50600436106101c6575f3560e01c806354fd4d50116100fe5780638c38431e1161009e578063a4b110521161006e578063a4b110521461047d578063b88d4fde14610490578063c87b56dd146104a3578063e985e9c5146104b6575f80fd5b80638c38431e146103c957806395d89b41146103dc5780639874cd97146103e4578063a22cb4651461046a575f80fd5b80637db79427116100d95780637db794271461035357806388030eb914610375578063882f08f3146103885780638b485d2d146103b6575f80fd5b806354fd4d50146103135780636352211e1461032d57806370a0823114610340575f80fd5b806323b872dd1161016957806342842e0e1161014457806342842e0e146102d1578063474c1520146102e45780634eeca076146102f75780634f6ccce714610300575f80fd5b806323b872dd146102795780632a55205a1461028c5780632f745c59146102be575f80fd5b8063095ea7b3116101a4578063095ea7b3146102325780630aa7c854146102475780630d39fc811461025a57806318160ddd14610271575f80fd5b806301ffc9a7146101ca57806306fdde03146101f2578063081812fc14610207575b5f80fd5b6101dd6101d8366004611c52565b6104c9565b60405190151581526020015b60405180910390f35b6101fa6104f9565b6040516101e99190611cc1565b61021a610215366004611cd3565b610588565b6040516001600160a01b0390911681526020016101e9565b610245610240366004611d05565b6105af565b005b600d5461021a906001600160a01b031681565b610263600e5481565b6040519081526020016101e9565b600854610263565b610245610287366004611d2d565b6105be565b61029f61029a366004611d66565b61064c565b604080516001600160a01b0390931683526020830191909152016101e9565b6102636102cc366004611d05565b6106f6565b6102456102df366004611d2d565b610759565b6102456102f2366004611cd3565b610778565b610263600f5481565b61026361030e366004611cd3565b61093a565b61031b600181565b60405160ff90911681526020016101e9565b61021a61033b366004611cd3565b61098f565b61026361034e366004611d86565b610999565b610366610361366004611cd3565b6109de565b6040516101e993929190611dd3565b610263610383366004611ead565b610a89565b6101dd610396366004611f1c565b805160208183018101805160138252928201919093012091525460ff1681565b6102636103c4366004611f4e565b610d25565b6102456103d7366004611fce565b610fd4565b6101fa61112e565b6104316103f2366004611cd3565b60106020525f90815260409020805460019091015460ff82169161010081046001600160a01b031691600160a81b90910467ffffffffffffffff169084565b6040805194151585526001600160a01b03909316602085015267ffffffffffffffff9091169183019190915260608201526080016101e9565b61024561047836600461200c565b61113d565b600c5461021a906001600160a01b031681565b61024561049e366004612036565b611148565b6101fa6104b1366004611cd3565b61115f565b6101dd6104c436600461208e565b611269565b5f636ad56fd360e11b6001600160e01b03198316016104ea57506001919050565b6104f382611296565b92915050565b60605f8054610507906120bf565b80601f0160208091040260200160405190810160405280929190818152602001828054610533906120bf565b801561057e5780601f106105555761010080835404028352916020019161057e565b820191905f5260205f20905b81548152906001019060200180831161056157829003601f168201915b5050505050905090565b5f610592826112ba565b505f828152600460205260409020546001600160a01b03166104f3565b6105ba8282336112f2565b5050565b6001600160a01b0382166105ec57604051633250574960e11b81525f60048201526024015b60405180910390fd5b5f6105f88383336112ff565b9050836001600160a01b0316816001600160a01b031614610646576040516364283d7b60e01b81526001600160a01b03808616600483015260248201849052821660448201526064016105e3565b50505050565b5f828152600b602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b03169282019290925282916106c0575060408051808201909152600a546001600160a01b0381168252600160a01b90046001600160601b031660208201525b60208101515f90612710906106de906001600160601b03168761210b565b6106e89190612122565b915196919550909350505050565b5f61070083610999565b82106107315760405163295f44f760e21b81526001600160a01b0384166004820152602481018390526044016105e3565b506001600160a01b03919091165f908152600660209081526040808320938352929052205490565b61077383838360405180602001604052805f815250611148565b505050565b336107828261098f565b6001600160a01b0316148061080a57506014546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156107e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061080a9190612141565b61086e5760405162461bcd60e51b815260206004820152602f60248201527f506879676974616c3a2043616c6c6572206973206e6f7420746f6b656e206f7760448201526e1b995c881bdc88185c1c1c9bdd9959608a1b60648201526084016105e3565b5f8181526012602052604081206002015460ff16600581111561089357610893611d9f565b146108e05760405162461bcd60e51b815260206004820152601a60248201527f506879676974616c3a2043616e6e6f74206265206275726e656400000000000060448201526064016105e3565b6108e9816113ca565b807f0adc791222843a140d53786c349cfe25882232ec03fe4250d96d021abfff6a03336040516001600160a01b03909116815260200160405180910390a25f908152600b6020526040812055565b50565b5f61094460085490565b821061096c5760405163295f44f760e21b81525f6004820152602481018390526044016105e3565b6008828154811061097f5761097f61215c565b905f5260205f2001549050919050565b5f6104f3826112ba565b5f6001600160a01b0382166109c3576040516322718ad960e21b81525f60048201526024016105e3565b506001600160a01b03165f9081526003602052604090205490565b60126020525f9081526040902080546001820180549192916109ff906120bf565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2b906120bf565b8015610a765780601f10610a4d57610100808354040283529160200191610a76565b820191905f5260205f20905b815481529060010190602001808311610a5957829003601f168201915b5050506002909301549192505060ff1683565b6014545f906001600160a01b031663efd46065336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610adf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b039190612141565b610b4f5760405162461bcd60e51b815260206004820181905260248201527f506879676974616c3a2055736572206973206e6f7420617574686f72697a656460448201526064016105e3565b601382604051610b5f9190612170565b9081526040519081900360200190205460ff1615610bbf5760405162461bcd60e51b815260206004820181905260248201527f506879676974616c3a2054616720697320616c72656164792073746f7265642160448201526064016105e3565b600f8054905f610bce8361218b565b9091555050600f546040805160608101825242815260208082018681526005838501525f85815260129092529290208151815591519091906001820190610c1590826121e7565b50604082015160028201805460ff19166001836005811115610c3957610c39611d9f565b02179055509050506001601384604051610c539190612170565b908152604051908190036020019020805491151560ff19909216919091179055610c83610c7d3390565b82611402565b610c8d818661141b565b6103e8846001600160601b03161115610cb85760405162461bcd60e51b81526004016105e3906122a7565b610cc3813386611492565b600c54610cda906001600160a01b0316600161113d565b336001600160a01b03167fb3892a92dea2c514f2bb56dbca6f8784b48e8b0a15938028e69a62c105a8f1c28287604051610d159291906122ef565b60405180910390a2949350505050565b6014545f906001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610d7b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d9f9190612141565b610df55760405162461bcd60e51b815260206004820152602160248201527f506879676974616c3a2055736572206973206e6f7420617574686f72697a65646044820152600160fd1b60648201526084016105e3565b601382604051610e059190612170565b9081526040519081900360200190205460ff1615610e715760405162461bcd60e51b8152602060048201526024808201527f506879676974616c3a204e46432054616720697320616c72656164792073746f6044820152637265642160e01b60648201526084016105e3565b600f8054905f610e808361218b565b9091555050600f546040805160608101825242815260208082018681526005838501525f85815260129092529290208151815591519091906001820190610ec790826121e7565b50604082015160028201805460ff19166001836005811115610eeb57610eeb611d9f565b02179055509050506001601384604051610f059190612170565b908152604051908190036020019020805491151560ff19909216919091179055610f2f8682611402565b610f39818661141b565b6103e8846001600160601b03161115610f645760405162461bcd60e51b81526004016105e3906122a7565b610f6f818786611492565b600c54610f86906001600160a01b0316600161113d565b856001600160a01b03167fb3892a92dea2c514f2bb56dbca6f8784b48e8b0a15938028e69a62c105a8f1c28287604051610fc19291906122ef565b60405180910390a290505b949350505050565b6014546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611028573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061104c9190612141565b8061106757503361105c8361098f565b6001600160a01b0316145b6110bd5760405162461bcd60e51b815260206004820152602160248201527f506879676974616c3a2055736572206973206e6f7420617574686f72697365646044820152602160f81b60648201526084016105e3565b5f828152601260205260409020600201805482919060ff191660018360058111156110ea576110ea611d9f565b02179055507fc29397feff3891f2950ea3d79b1cd08a1cd2c8ec558e84e01320791b74fc8c1533824260405161112293929190612307565b60405180910390a15050565b606060018054610507906120bf565b6105ba338383611552565b6111538484846105be565b610646848484846115f0565b60603361116b836112ba565b6001600160a01b0316146111cd5760405162461bcd60e51b815260206004820152602360248201527f5369676e61747572655365726965733a204e6f6e2d4578697374656e742041736044820152621cd95d60ea1b60648201526084016105e3565b5f82815260116020526040812080546111e5906120bf565b80601f0160208091040260200160405190810160405280929190818152602001828054611211906120bf565b801561125c5780601f106112335761010080835404028352916020019161125c565b820191905f5260205f20905b81548152906001019060200180831161123f57829003601f168201915b5093979650505050505050565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205460ff1690565b5f6001600160e01b0319821663152a902d60e11b14806104f357506104f382611716565b5f818152600260205260408120546001600160a01b0316806104f357604051637e27328960e01b8152600481018490526024016105e3565b610773838383600161173a565b5f8061130c85858561183e565b90506001600160a01b0381166113685761136384600880545f838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b61138b565b846001600160a01b0316816001600160a01b03161461138b5761138b8185611930565b6001600160a01b0385166113a7576113a2846119bd565b610fcc565b846001600160a01b0316816001600160a01b031614610fcc57610fcc8585611a64565b5f6113d65f835f6112ff565b90506001600160a01b0381166105ba57604051637e27328960e01b8152600481018390526024016105e3565b6105ba828260405180602001604052805f815250611ab2565b33611425836112ba565b6001600160a01b03161461147b5760405162461bcd60e51b815260206004820152601c60248201527f506879676974616c3a204e6f6e2d4578697374656e742041737365740000000060448201526064016105e3565b5f82815260116020526040902061077382826121e7565b6127106001600160601b0382168110156114d85760405163dfd1fc1b60e01b8152600481018590526001600160601b0383166024820152604481018290526064016105e3565b6001600160a01b03831661150857604051634b4f842960e11b8152600481018590525f60248201526044016105e3565b506040805180820182526001600160a01b0393841681526001600160601b0392831660208083019182525f968752600b90529190942093519051909116600160a01b029116179055565b6001600160a01b03821661158457604051630b61174360e31b81526001600160a01b03831660048201526024016105e3565b6001600160a01b038381165f81815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0383163b1561064657604051630a85bd0160e11b81526001600160a01b0384169063150b7a0290611632903390889087908790600401612332565b6020604051808303815f875af192505050801561166c575060408051601f3d908101601f191682019092526116699181019061236e565b60015b6116d3573d808015611699576040519150601f19603f3d011682016040523d82523d5f602084013e61169e565b606091505b5080515f036116cb57604051633250574960e11b81526001600160a01b03851660048201526024016105e3565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b1461170f57604051633250574960e11b81526001600160a01b03851660048201526024016105e3565b5050505050565b5f6001600160e01b0319821663780e9d6360e01b14806104f357506104f382611ac8565b808061174e57506001600160a01b03821615155b1561180f575f61175d846112ba565b90506001600160a01b038316158015906117895750826001600160a01b0316816001600160a01b031614155b801561179c575061179a8184611269565b155b156117c55760405163a9fbf51f60e01b81526001600160a01b03841660048201526024016105e3565b811561180d5783856001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b50505f90815260046020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b5f828152600260205260408120546001600160a01b039081169083161561186a5761186a818486611b17565b6001600160a01b038116156118a4576118855f855f8061173a565b6001600160a01b0381165f90815260036020526040902080545f190190555b6001600160a01b038516156118d2576001600160a01b0385165f908152600360205260409020805460010190555b5f8481526002602052604080822080546001600160a01b0319166001600160a01b0389811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b5f61193a83610999565b5f8381526007602052604090205490915080821461198b576001600160a01b0384165f9081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b505f9182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b6008545f906119ce90600190612389565b5f83815260096020526040812054600880549394509092849081106119f5576119f561215c565b905f5260205f20015490508060088381548110611a1457611a1461215c565b5f918252602080832090910192909255828152600990915260408082208490558582528120556008805480611a4b57611a4b61239c565b600190038181905f5260205f20015f9055905550505050565b5f6001611a7084610999565b611a7a9190612389565b6001600160a01b039093165f908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b611abc8383611b7b565b6107735f8484846115f0565b5f6001600160e01b031982166380ac58cd60e01b1480611af857506001600160e01b03198216635b5e139f60e01b145b806104f357506301ffc9a760e01b6001600160e01b03198316146104f3565b611b22838383611bdc565b610773576001600160a01b038316611b5057604051637e27328960e01b8152600481018290526024016105e3565b60405163177e802f60e01b81526001600160a01b0383166004820152602481018290526044016105e3565b6001600160a01b038216611ba457604051633250574960e11b81525f60048201526024016105e3565b5f611bb083835f6112ff565b90506001600160a01b03811615610773576040516339e3563760e11b81525f60048201526024016105e3565b5f6001600160a01b03831615801590610fcc5750826001600160a01b0316846001600160a01b03161480611c155750611c158484611269565b80610fcc5750505f908152600460205260409020546001600160a01b03908116911614919050565b6001600160e01b031981168114610937575f80fd5b5f60208284031215611c62575f80fd5b8135611c6d81611c3d565b9392505050565b5f5b83811015611c8e578181015183820152602001611c76565b50505f910152565b5f8151808452611cad816020860160208601611c74565b601f01601f19169290920160200192915050565b602081525f611c6d6020830184611c96565b5f60208284031215611ce3575f80fd5b5035919050565b80356001600160a01b0381168114611d00575f80fd5b919050565b5f8060408385031215611d16575f80fd5b611d1f83611cea565b946020939093013593505050565b5f805f60608486031215611d3f575f80fd5b611d4884611cea565b9250611d5660208501611cea565b9150604084013590509250925092565b5f8060408385031215611d77575f80fd5b50508035926020909101359150565b5f60208284031215611d96575f80fd5b611c6d82611cea565b634e487b7160e01b5f52602160045260245ffd5b60068110611dcf57634e487b7160e01b5f52602160045260245ffd5b9052565b838152606060208201525f611deb6060830185611c96565b9050610fcc6040830184611db3565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112611e1d575f80fd5b813567ffffffffffffffff80821115611e3857611e38611dfa565b604051601f8301601f19908116603f01168101908282118183101715611e6057611e60611dfa565b81604052838152866020858801011115611e78575f80fd5b836020870160208301375f602085830101528094505050505092915050565b80356001600160601b0381168114611d00575f80fd5b5f805f60608486031215611ebf575f80fd5b833567ffffffffffffffff80821115611ed6575f80fd5b611ee287838801611e0e565b9450611ef060208701611e97565b93506040860135915080821115611f05575f80fd5b50611f1286828701611e0e565b9150509250925092565b5f60208284031215611f2c575f80fd5b813567ffffffffffffffff811115611f42575f80fd5b610fcc84828501611e0e565b5f805f8060808587031215611f61575f80fd5b611f6a85611cea565b9350602085013567ffffffffffffffff80821115611f86575f80fd5b611f9288838901611e0e565b9450611fa060408801611e97565b93506060870135915080821115611fb5575f80fd5b50611fc287828801611e0e565b91505092959194509250565b5f8060408385031215611fdf575f80fd5b82359150602083013560068110611ff4575f80fd5b809150509250929050565b8015158114610937575f80fd5b5f806040838503121561201d575f80fd5b61202683611cea565b91506020830135611ff481611fff565b5f805f8060808587031215612049575f80fd5b61205285611cea565b935061206060208601611cea565b925060408501359150606085013567ffffffffffffffff811115612082575f80fd5b611fc287828801611e0e565b5f806040838503121561209f575f80fd5b6120a883611cea565b91506120b660208401611cea565b90509250929050565b600181811c908216806120d357607f821691505b6020821081036120f157634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176104f3576104f36120f7565b5f8261213c57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215612151575f80fd5b8151611c6d81611fff565b634e487b7160e01b5f52603260045260245ffd5b5f8251612181818460208701611c74565b9190910192915050565b5f6001820161219c5761219c6120f7565b5060010190565b601f82111561077357805f5260205f20601f840160051c810160208510156121c85750805b601f840160051c820191505b8181101561170f575f81556001016121d4565b815167ffffffffffffffff81111561220157612201611dfa565b6122158161220f84546120bf565b846121a3565b602080601f831160018114612248575f84156122315750858301515b5f19600386901b1c1916600185901b17855561229f565b5f85815260208120601f198616915b8281101561227657888601518255948401946001909101908401612257565b508582101561229357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60208082526028908201527f506879676974616c3a20526f79616c74792063616e2774206265206d6f7265206040820152677468616e2031302560c01b606082015260800190565b828152604060208201525f610fcc6040830184611c96565b6001600160a01b0384168152606081016123246020830185611db3565b826040830152949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f9061236490830184611c96565b9695505050505050565b5f6020828403121561237e575f80fd5b8151611c6d81611c3d565b818103818111156104f3576104f36120f7565b634e487b7160e01b5f52603160045260245ffdfea26469706673582212206fa3b77964e3528c410059fda1d2dfb99001556083f90f99aa222399972151d764736f6c63430008180033"; type PhygitalConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/ReentrancyGuard__factory.ts b/typechain-types/factories/ReentrancyGuard__factory.ts new file mode 100644 index 0000000..c4e783e --- /dev/null +++ b/typechain-types/factories/ReentrancyGuard__factory.ts @@ -0,0 +1,31 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import { Provider } from "@ethersproject/providers"; +import type { + ReentrancyGuard, + ReentrancyGuardInterface, +} from "../ReentrancyGuard"; + +const _abi = [ + { + inputs: [], + name: "ReentrancyGuardReentrantCall", + type: "error", + }, +]; + +export class ReentrancyGuard__factory { + static readonly abi = _abi; + static createInterface(): ReentrancyGuardInterface { + return new utils.Interface(_abi) as ReentrancyGuardInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): ReentrancyGuard { + return new Contract(address, _abi, signerOrProvider) as ReentrancyGuard; + } +} diff --git a/typechain-types/factories/SFT__factory.ts b/typechain-types/factories/SFT__factory.ts index abbc0de..7eb32b4 100644 --- a/typechain-types/factories/SFT__factory.ts +++ b/typechain-types/factories/SFT__factory.ts @@ -11,6 +11,108 @@ const _abi = [ stateMutability: "nonpayable", type: "constructor", }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "ERC1155InsufficientBalance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address", + }, + ], + name: "ERC1155InvalidApprover", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "idsLength", + type: "uint256", + }, + { + internalType: "uint256", + name: "valuesLength", + type: "uint256", + }, + ], + name: "ERC1155InvalidArrayLength", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + ], + name: "ERC1155InvalidOperator", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC1155InvalidReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ERC1155InvalidSender", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "ERC1155MissingApprovalForAll", + type: "error", + }, { anonymous: false, inputs: [ @@ -251,7 +353,7 @@ const _abi = [ }, { internalType: "uint256[]", - name: "amounts", + name: "values", type: "uint256[]", }, { @@ -284,7 +386,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, { @@ -357,7 +459,7 @@ const _abi = [ ]; const _bytecode = - "0x608060405260006003553480156200001657600080fd5b5060408051808201909152600b81526a7777772e78797a2e636f6d60a81b602082015262000044816200004b565b50620001ce565b600262000059828262000102565b5050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200008857607f821691505b602082108103620000a957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620000fd57600081815260208120601f850160051c81016020861015620000d85750805b601f850160051c820191505b81811015620000f957828155600101620000e4565b5050505b505050565b81516001600160401b038111156200011e576200011e6200005d565b62000136816200012f845462000073565b84620000af565b602080601f8311600181146200016e5760008415620001555750858301515b600019600386901b1c1916600185901b178555620000f9565b600085815260208120601f198616915b828110156200019f578886015182559484019460019091019084016200017e565b5085821015620001be5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6114ec80620001de6000396000f3fe608060405234801561001057600080fd5b506004361061009d5760003560e01c806361bc221a1161006657806361bc221a14610140578063a22cb46514610149578063b86de1091461015c578063e985e9c51461016f578063f242432a146101ab57600080fd5b8062fdd58e146100a257806301ffc9a7146100c85780630e89341c146100eb5780632eb2c2d61461010b5780634e1273f414610120575b600080fd5b6100b56100b0366004610caf565b6101be565b6040519081526020015b60405180910390f35b6100db6100d6366004610cf2565b610257565b60405190151581526020016100bf565b6100fe6100f9366004610d16565b6102a7565b6040516100bf9190610d75565b61011e610119366004610ed4565b61033b565b005b61013361012e366004610f7e565b610387565b6040516100bf9190611084565b6100b560035481565b61011e610157366004611097565b6104b1565b61011e61016a366004610caf565b6104c0565b6100db61017d3660046110d3565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b61011e6101b9366004611106565b6104f2565b60006001600160a01b03831661022e5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b506000818152602081815260408083206001600160a01b03861684529091529020545b92915050565b60006001600160e01b03198216636cdb3d1360e11b148061028857506001600160e01b031982166303a24d0760e21b145b8061025157506301ffc9a760e01b6001600160e01b0319831614610251565b6060600280546102b69061116b565b80601f01602080910402602001604051908101604052809291908181526020018280546102e29061116b565b801561032f5780601f106103045761010080835404028352916020019161032f565b820191906000526020600020905b81548152906001019060200180831161031257829003601f168201915b50505050509050919050565b6001600160a01b0385163314806103575750610357853361017d565b6103735760405162461bcd60e51b8152600401610225906111a5565b6103808585858585610537565b5050505050565b606081518351146103ec5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b6064820152608401610225565b6000835167ffffffffffffffff81111561040857610408610d88565b604051908082528060200260200182016040528015610431578160200160208202803683370190505b50905060005b84518110156104a95761047c858281518110610455576104556111f3565b602002602001015185838151811061046f5761046f6111f3565b60200260200101516101be565b82828151811061048e5761048e6111f3565b60209081029190910101526104a28161121f565b9050610437565b509392505050565b6104bc338383610714565b5050565b600380549060006104d08361121f565b91905055506104bc8260035483604051806020016040528060008152506107f4565b6001600160a01b03851633148061050e575061050e853361017d565b61052a5760405162461bcd60e51b8152600401610225906111a5565b6103808585858585610908565b81518351146105995760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206044820152670dad2e6dac2e8c6d60c31b6064820152608401610225565b6001600160a01b0384166105bf5760405162461bcd60e51b815260040161022590611238565b3360005b84518110156106a65760008582815181106105e0576105e06111f3565b6020026020010151905060008583815181106105fe576105fe6111f3565b602090810291909101810151600084815280835260408082206001600160a01b038e16835290935291909120549091508181101561064e5760405162461bcd60e51b81526004016102259061127d565b6000838152602081815260408083206001600160a01b038e8116855292528083208585039055908b1682528120805484929061068b9084906112c7565b925050819055505050508061069f9061121f565b90506105c3565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516106f69291906112da565b60405180910390a461070c818787878787610a32565b505050505050565b816001600160a01b0316836001600160a01b0316036107875760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b6064820152608401610225565b6001600160a01b03838116600081815260016020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0384166108545760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b6064820152608401610225565b33600061086085610b8d565b9050600061086d85610b8d565b90506000868152602081815260408083206001600160a01b038b1684529091528120805487929061089f9084906112c7565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46108ff83600089898989610bd8565b50505050505050565b6001600160a01b03841661092e5760405162461bcd60e51b815260040161022590611238565b33600061093a85610b8d565b9050600061094785610b8d565b90506000868152602081815260408083206001600160a01b038c1684529091529020548581101561098a5760405162461bcd60e51b81526004016102259061127d565b6000878152602081815260408083206001600160a01b038d8116855292528083208985039055908a168252812080548892906109c79084906112c7565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4610a27848a8a8a8a8a610bd8565b505050505050505050565b6001600160a01b0384163b1561070c5760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190610a769089908990889088908890600401611308565b6020604051808303816000875af1925050508015610ab1575060408051601f3d908101601f19168201909252610aae91810190611366565b60015b610b5d57610abd611383565b806308c379a003610af65750610ad161139f565b80610adc5750610af8565b8060405162461bcd60e51b81526004016102259190610d75565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b6064820152608401610225565b6001600160e01b0319811663bc197c8160e01b146108ff5760405162461bcd60e51b815260040161022590611429565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110610bc757610bc76111f3565b602090810291909101015292915050565b6001600160a01b0384163b1561070c5760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190610c1c9089908990889088908890600401611471565b6020604051808303816000875af1925050508015610c57575060408051601f3d908101601f19168201909252610c5491810190611366565b60015b610c6357610abd611383565b6001600160e01b0319811663f23a6e6160e01b146108ff5760405162461bcd60e51b815260040161022590611429565b80356001600160a01b0381168114610caa57600080fd5b919050565b60008060408385031215610cc257600080fd5b610ccb83610c93565b946020939093013593505050565b6001600160e01b031981168114610cef57600080fd5b50565b600060208284031215610d0457600080fd5b8135610d0f81610cd9565b9392505050565b600060208284031215610d2857600080fd5b5035919050565b6000815180845260005b81811015610d5557602081850181015186830182015201610d39565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610d0f6020830184610d2f565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff81118282101715610dc457610dc4610d88565b6040525050565b600067ffffffffffffffff821115610de557610de5610d88565b5060051b60200190565b600082601f830112610e0057600080fd5b81356020610e0d82610dcb565b604051610e1a8282610d9e565b83815260059390931b8501820192828101915086841115610e3a57600080fd5b8286015b84811015610e555780358352918301918301610e3e565b509695505050505050565b600082601f830112610e7157600080fd5b813567ffffffffffffffff811115610e8b57610e8b610d88565b604051610ea2601f8301601f191660200182610d9e565b818152846020838601011115610eb757600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215610eec57600080fd5b610ef586610c93565b9450610f0360208701610c93565b9350604086013567ffffffffffffffff80821115610f2057600080fd5b610f2c89838a01610def565b94506060880135915080821115610f4257600080fd5b610f4e89838a01610def565b93506080880135915080821115610f6457600080fd5b50610f7188828901610e60565b9150509295509295909350565b60008060408385031215610f9157600080fd5b823567ffffffffffffffff80821115610fa957600080fd5b818501915085601f830112610fbd57600080fd5b81356020610fca82610dcb565b604051610fd78282610d9e565b83815260059390931b8501820192828101915089841115610ff757600080fd5b948201945b8386101561101c5761100d86610c93565b82529482019490820190610ffc565b9650508601359250508082111561103257600080fd5b5061103f85828601610def565b9150509250929050565b600081518084526020808501945080840160005b838110156110795781518752958201959082019060010161105d565b509495945050505050565b602081526000610d0f6020830184611049565b600080604083850312156110aa57600080fd5b6110b383610c93565b9150602083013580151581146110c857600080fd5b809150509250929050565b600080604083850312156110e657600080fd5b6110ef83610c93565b91506110fd60208401610c93565b90509250929050565b600080600080600060a0868803121561111e57600080fd5b61112786610c93565b945061113560208701610c93565b93506040860135925060608601359150608086013567ffffffffffffffff81111561115f57600080fd5b610f7188828901610e60565b600181811c9082168061117f57607f821691505b60208210810361119f57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161123157611231611209565b5060010190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b8082018082111561025157610251611209565b6040815260006112ed6040830185611049565b82810360208401526112ff8185611049565b95945050505050565b6001600160a01b0386811682528516602082015260a06040820181905260009061133490830186611049565b82810360608401526113468186611049565b9050828103608084015261135a8185610d2f565b98975050505050505050565b60006020828403121561137857600080fd5b8151610d0f81610cd9565b600060033d111561139c5760046000803e5060005160e01c5b90565b600060443d10156113ad5790565b6040516003193d81016004833e81513d67ffffffffffffffff81602484011181841117156113dd57505050505090565b82850191508151818111156113f55750505050505090565b843d870101602082850101111561140f5750505050505090565b61141e60208286010187610d9e565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190526000906114ab90830184610d2f565b97965050505050505056fea264697066735822122068cf7b851de8f4fadddb6adfebd438f7f3e987332cf7eb0440295d15eecceb0064736f6c63430008110033"; + "0x60806040525f60035534801562000014575f80fd5b5060408051808201909152600b81526a7777772e78797a2e636f6d60a81b6020820152620000428162000049565b50620001c5565b6002620000578282620000f9565b5050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200008457607f821691505b602082108103620000a357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620000f457805f5260205f20601f840160051c81016020851015620000d05750805b601f840160051c820191505b81811015620000f1575f8155600101620000dc565b50505b505050565b81516001600160401b038111156200011557620001156200005b565b6200012d816200012684546200006f565b84620000a9565b602080601f83116001811462000163575f84156200014b5750858301515b5f19600386901b1c1916600185901b178555620001bd565b5f85815260208120601f198616915b82811015620001935788860151825594840194600190910190840162000172565b5085821015620001b157878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b61112b80620001d35f395ff3fe608060405234801561000f575f80fd5b506004361061009a575f3560e01c806361bc221a1161006357806361bc221a1461013c578063a22cb46514610145578063b86de10914610158578063e985e9c51461016b578063f242432a1461017e575f80fd5b8062fdd58e1461009e57806301ffc9a7146100c45780630e89341c146100e75780632eb2c2d6146101075780634e1273f41461011c575b5f80fd5b6100b16100ac366004610b00565b610191565b6040519081526020015b60405180910390f35b6100d76100d2366004610b40565b6101b8565b60405190151581526020016100bb565b6100fa6100f5366004610b62565b610207565b6040516100bb9190610bbc565b61011a610115366004610d0e565b610299565b005b61012f61012a366004610db1565b610305565b6040516100bb9190610ea5565b6100b160035481565b61011a610153366004610eb7565b6103d0565b61011a610166366004610b00565b6103df565b6100d7610179366004610ef0565b61040f565b61011a61018c366004610f21565b61043c565b5f818152602081815260408083206001600160a01b03861684529091529020545b92915050565b5f6001600160e01b03198216636cdb3d1360e11b14806101e857506001600160e01b031982166303a24d0760e21b145b806101b257506301ffc9a760e01b6001600160e01b03198316146101b2565b60606002805461021690610f81565b80601f016020809104026020016040519081016040528092919081815260200182805461024290610f81565b801561028d5780601f106102645761010080835404028352916020019161028d565b820191905f5260205f20905b81548152906001019060200180831161027057829003601f168201915b50505050509050919050565b336001600160a01b03861681148015906102ba57506102b8868261040f565b155b156102f05760405163711bec9160e11b81526001600160a01b038083166004830152871660248201526044015b60405180910390fd5b6102fd868686868661049b565b505050505050565b606081518351146103365781518351604051635b05999160e01b8152600481019290925260248201526044016102e7565b5f835167ffffffffffffffff81111561035157610351610bce565b60405190808252806020026020018201604052801561037a578160200160208202803683370190505b5090505f5b84518110156103c8576020808202860101516103a390602080840287010151610191565b8282815181106103b5576103b5610fb9565b602090810291909101015260010161037f565b509392505050565b6103db338383610500565b5050565b60038054905f6103ee83610fe1565b91905055506103db826003548360405180602001604052805f815250610594565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205460ff1690565b336001600160a01b038616811480159061045d575061045b868261040f565b155b1561048e5760405163711bec9160e11b81526001600160a01b038083166004830152871660248201526044016102e7565b6102fd86868686866105ef565b6001600160a01b0384166104c457604051632bfa23e760e11b81525f60048201526024016102e7565b6001600160a01b0385166104ec57604051626a0d4560e21b81525f60048201526024016102e7565b6104f9858585858561067b565b5050505050565b6001600160a01b0382166105285760405162ced3e160e81b81525f60048201526024016102e7565b6001600160a01b038381165f81815260016020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0384166105bd57604051632bfa23e760e11b81525f60048201526024016102e7565b604080516001808252602082018690528183019081526060820185905260808201909252906102fd5f8784848761067b565b6001600160a01b03841661061857604051632bfa23e760e11b81525f60048201526024016102e7565b6001600160a01b03851661064057604051626a0d4560e21b81525f60048201526024016102e7565b60408051600180825260208201869052818301908152606082018590526080820190925290610672878784848761067b565b50505050505050565b610687858585856106ce565b6001600160a01b038416156104f957825133906001036106c057602084810151908401516106b98389898585896108dd565b50506102fd565b6102fd8187878787876109fe565b80518251146106fd5781518151604051635b05999160e01b8152600481019290925260248201526044016102e7565b335f5b83518110156107ff576020818102858101820151908501909101516001600160a01b038816156107b1575f828152602081815260408083206001600160a01b038c1684529091529020548181101561078b576040516303dee4c560e01b81526001600160a01b038a1660048201526024810182905260448101839052606481018490526084016102e7565b5f838152602081815260408083206001600160a01b038d16845290915290209082900390555b6001600160a01b038716156107f5575f828152602081815260408083206001600160a01b038b168452909152812080548392906107ef908490610ff9565b90915550505b5050600101610700565b50825160010361087f5760208301515f906020840151909150856001600160a01b0316876001600160a01b0316846001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628585604051610870929190918252602082015260400190565b60405180910390a450506104f9565b836001600160a01b0316856001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516108ce92919061100c565b60405180910390a45050505050565b6001600160a01b0384163b156102fd5760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e61906109219089908990889088908890600401611039565b6020604051808303815f875af192505050801561095b575060408051601f3d908101601f191682019092526109589181019061107d565b60015b6109c2573d808015610988576040519150601f19603f3d011682016040523d82523d5f602084013e61098d565b606091505b5080515f036109ba57604051632bfa23e760e11b81526001600160a01b03861660048201526024016102e7565b805181602001fd5b6001600160e01b0319811663f23a6e6160e01b1461067257604051632bfa23e760e11b81526001600160a01b03861660048201526024016102e7565b6001600160a01b0384163b156102fd5760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190610a429089908990889088908890600401611098565b6020604051808303815f875af1925050508015610a7c575060408051601f3d908101601f19168201909252610a799181019061107d565b60015b610aa9573d808015610988576040519150601f19603f3d011682016040523d82523d5f602084013e61098d565b6001600160e01b0319811663bc197c8160e01b1461067257604051632bfa23e760e11b81526001600160a01b03861660048201526024016102e7565b80356001600160a01b0381168114610afb575f80fd5b919050565b5f8060408385031215610b11575f80fd5b610b1a83610ae5565b946020939093013593505050565b6001600160e01b031981168114610b3d575f80fd5b50565b5f60208284031215610b50575f80fd5b8135610b5b81610b28565b9392505050565b5f60208284031215610b72575f80fd5b5035919050565b5f81518084525f5b81811015610b9d57602081850181015186830182015201610b81565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f610b5b6020830184610b79565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610c0b57610c0b610bce565b604052919050565b5f67ffffffffffffffff821115610c2c57610c2c610bce565b5060051b60200190565b5f82601f830112610c45575f80fd5b81356020610c5a610c5583610c13565b610be2565b8083825260208201915060208460051b870101935086841115610c7b575f80fd5b602086015b84811015610c975780358352918301918301610c80565b509695505050505050565b5f82601f830112610cb1575f80fd5b813567ffffffffffffffff811115610ccb57610ccb610bce565b610cde601f8201601f1916602001610be2565b818152846020838601011115610cf2575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f805f60a08688031215610d22575f80fd5b610d2b86610ae5565b9450610d3960208701610ae5565b9350604086013567ffffffffffffffff80821115610d55575f80fd5b610d6189838a01610c36565b94506060880135915080821115610d76575f80fd5b610d8289838a01610c36565b93506080880135915080821115610d97575f80fd5b50610da488828901610ca2565b9150509295509295909350565b5f8060408385031215610dc2575f80fd5b823567ffffffffffffffff80821115610dd9575f80fd5b818501915085601f830112610dec575f80fd5b81356020610dfc610c5583610c13565b82815260059290921b84018101918181019089841115610e1a575f80fd5b948201945b83861015610e3f57610e3086610ae5565b82529482019490820190610e1f565b96505086013592505080821115610e54575f80fd5b50610e6185828601610c36565b9150509250929050565b5f815180845260208085019450602084015f5b83811015610e9a57815187529582019590820190600101610e7e565b509495945050505050565b602081525f610b5b6020830184610e6b565b5f8060408385031215610ec8575f80fd5b610ed183610ae5565b915060208301358015158114610ee5575f80fd5b809150509250929050565b5f8060408385031215610f01575f80fd5b610f0a83610ae5565b9150610f1860208401610ae5565b90509250929050565b5f805f805f60a08688031215610f35575f80fd5b610f3e86610ae5565b9450610f4c60208701610ae5565b93506040860135925060608601359150608086013567ffffffffffffffff811115610f75575f80fd5b610da488828901610ca2565b600181811c90821680610f9557607f821691505b602082108103610fb357634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201610ff257610ff2610fcd565b5060010190565b808201808211156101b2576101b2610fcd565b604081525f61101e6040830185610e6b565b82810360208401526110308185610e6b565b95945050505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190525f9061107290830184610b79565b979650505050505050565b5f6020828403121561108d575f80fd5b8151610b5b81610b28565b6001600160a01b0386811682528516602082015260a0604082018190525f906110c390830186610e6b565b82810360608401526110d58186610e6b565b905082810360808401526110e98185610b79565b9897505050505050505056fea264697066735822122072efb491913244b7c8cb0340f7488afdac943b43ab2d2b5328536fb8b88e9d0564736f6c63430008180033"; type SFTConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/ShortStrings__factory.ts b/typechain-types/factories/ShortStrings__factory.ts new file mode 100644 index 0000000..1e22df0 --- /dev/null +++ b/typechain-types/factories/ShortStrings__factory.ts @@ -0,0 +1,77 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { ShortStrings, ShortStringsInterface } from "../ShortStrings"; + +const _abi = [ + { + inputs: [], + name: "InvalidShortString", + type: "error", + }, + { + inputs: [ + { + internalType: "string", + name: "str", + type: "string", + }, + ], + name: "StringTooLong", + type: "error", + }, +]; + +const _bytecode = + "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122034939e91a425ce1800412d66e249d2b5b153eabfbeeb3b56393b440fef3c2c6064736f6c63430008180033"; + +type ShortStringsConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: ShortStringsConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class ShortStrings__factory extends ContractFactory { + constructor(...args: ShortStringsConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + this.contractName = "ShortStrings"; + } + + deploy( + overrides?: Overrides & { from?: string | Promise } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + getDeployTransaction( + overrides?: Overrides & { from?: string | Promise } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + attach(address: string): ShortStrings { + return super.attach(address) as ShortStrings; + } + connect(signer: Signer): ShortStrings__factory { + return super.connect(signer) as ShortStrings__factory; + } + static readonly contractName: "ShortStrings"; + public readonly contractName: "ShortStrings"; + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): ShortStringsInterface { + return new utils.Interface(_abi) as ShortStringsInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): ShortStrings { + return new Contract(address, _abi, signerOrProvider) as ShortStrings; + } +} diff --git a/typechain-types/factories/SignatureSeries__factory.ts b/typechain-types/factories/SignatureSeries__factory.ts index 2dc5d7b..d91e1b7 100644 --- a/typechain-types/factories/SignatureSeries__factory.ts +++ b/typechain-types/factories/SignatureSeries__factory.ts @@ -57,6 +57,237 @@ const _abi = [ stateMutability: "nonpayable", type: "constructor", }, + { + inputs: [], + name: "ECDSAInvalidSignature", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "length", + type: "uint256", + }, + ], + name: "ECDSAInvalidSignatureLength", + type: "error", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "ECDSAInvalidSignatureS", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "numerator", + type: "uint256", + }, + { + internalType: "uint256", + name: "denominator", + type: "uint256", + }, + ], + name: "ERC2981InvalidDefaultRoyalty", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC2981InvalidDefaultRoyaltyReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "uint256", + name: "numerator", + type: "uint256", + }, + { + internalType: "uint256", + name: "denominator", + type: "uint256", + }, + ], + name: "ERC2981InvalidTokenRoyalty", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC2981InvalidTokenRoyaltyReceiver", + type: "error", + }, + { + inputs: [], + name: "ERC721EnumerableForbiddenBatchMint", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "ERC721IncorrectOwner", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "ERC721InsufficientApproval", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address", + }, + ], + name: "ERC721InvalidApprover", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + ], + name: "ERC721InvalidOperator", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "ERC721InvalidOwner", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC721InvalidReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ERC721InvalidSender", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "ERC721NonexistentToken", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "uint256", + name: "index", + type: "uint256", + }, + ], + name: "ERC721OutOfBoundsIndex", + type: "error", + }, + { + inputs: [], + name: "InvalidShortString", + type: "error", + }, + { + inputs: [ + { + internalType: "string", + name: "str", + type: "string", + }, + ], + name: "StringTooLong", + type: "error", + }, { anonymous: false, inputs: [ @@ -107,6 +338,12 @@ const _abi = [ name: "ApprovalForAll", type: "event", }, + { + anonymous: false, + inputs: [], + name: "EIP712DomainChanged", + type: "event", + }, { anonymous: false, inputs: [ @@ -442,6 +679,49 @@ const _abi = [ stateMutability: "nonpayable", type: "function", }, + { + inputs: [], + name: "eip712Domain", + outputs: [ + { + internalType: "bytes1", + name: "fields", + type: "bytes1", + }, + { + internalType: "string", + name: "name", + type: "string", + }, + { + internalType: "string", + name: "version", + type: "string", + }, + { + internalType: "uint256", + name: "chainId", + type: "uint256", + }, + { + internalType: "address", + name: "verifyingContract", + type: "address", + }, + { + internalType: "bytes32", + name: "salt", + type: "bytes32", + }, + { + internalType: "uint256[]", + name: "extensions", + type: "uint256[]", + }, + ], + stateMutability: "view", + type: "function", + }, { inputs: [ { @@ -663,12 +943,12 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "_tokenId", + name: "tokenId", type: "uint256", }, { internalType: "uint256", - name: "_salePrice", + name: "salePrice", type: "uint256", }, ], @@ -1013,7 +1293,7 @@ const _abi = [ ]; const _bytecode = - "0x6101406040523480156200001257600080fd5b5060405162003cd138038062003cd1833981016040819052620000359162000237565b848488886000620000478382620003ae565b506001620000568282620003ae565b5050825160208085019190912083518483012060e08290526101008190524660a0818152604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81880181905281830187905260608201869052608082019490945230818401528151808203909301835260c0019052805194019390932091935091906080523060c052610120525050601480546001600160a01b038581166001600160a01b03199283168117909355600c8054918816918316919091179055600d8054909116909117905550600e9050620001358682620003ae565b50600f620001448582620003ae565b505050601055506200047a92505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200017d57600080fd5b81516001600160401b03808211156200019a576200019a62000155565b604051601f8301601f19908116603f01168101908282118183101715620001c557620001c562000155565b81604052838152602092508683858801011115620001e257600080fd5b600091505b83821015620002065785820183015181830184015290820190620001e7565b600093810190920192909252949350505050565b80516001600160a01b03811681146200023257600080fd5b919050565b600080600080600080600060e0888a0312156200025357600080fd5b87516001600160401b03808211156200026b57600080fd5b620002798b838c016200016b565b985060208a01519150808211156200029057600080fd5b6200029e8b838c016200016b565b975060408a0151915080821115620002b557600080fd5b620002c38b838c016200016b565b965060608a0151915080821115620002da57600080fd5b50620002e98a828b016200016b565b945050608088015192506200030160a089016200021a565b91506200031160c089016200021a565b905092959891949750929550565b600181811c908216806200033457607f821691505b6020821081036200035557634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003a957600081815260208120601f850160051c81016020861015620003845750805b601f850160051c820191505b81811015620003a55782815560010162000390565b5050505b505050565b81516001600160401b03811115620003ca57620003ca62000155565b620003e281620003db84546200031f565b846200035b565b602080601f8311600181146200041a5760008415620004015750858301515b600019600386901b1c1916600185901b178555620003a5565b600085815260208120601f198616915b828110156200044b578886015182559484019460019091019084016200042a565b50858210156200046a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c05160e0516101005161012051613807620004ca60003960006124de0152600061252d01526000612508015260006124610152600061248b015260006124b501526138076000f3fe60806040526004361061021a5760003560e01c806370a0823111610123578063a4157296116100ab578063c87b56dd1161006f578063c87b56dd146106d1578063dae48e6b146106f1578063e030565e14610704578063e3faad9414610724578063e985e9c51461073957600080fd5b8063a41572961461063c578063a4b1105214610651578063b88d4fde14610671578063ba91caae14610691578063c2f1f14a146106b157600080fd5b80638c275eec116100f25780638c275eec146105185780638fc88c481461053857806395d89b41146105755780639874cd971461058a578063a22cb4651461061c57600080fd5b806370a08231146104a5578063783a112b146104c55780637d9a7a4c146104d857806383c6f9a9146104f857600080fd5b80632f745c59116101a65780634eeca076116101755780634eeca076146104085780634f6ccce71461041e57806354fd4d501461043e5780636352211e14610465578063655bc8db1461048557600080fd5b80632f745c59146103885780633a61d52c146103a857806342842e0e146103c8578063474c1520146103e857600080fd5b80630aa7c854116101ed5780630aa7c854146102d05780630d39fc81146102f057806318160ddd1461031457806323b872dd146103295780632a55205a1461034957600080fd5b806301ffc9a71461021f57806306fdde0314610254578063081812fc14610276578063095ea7b3146102ae575b600080fd5b34801561022b57600080fd5b5061023f61023a366004612da4565b610782565b60405190151581526020015b60405180910390f35b34801561026057600080fd5b506102696107d3565b60405161024b9190612e07565b34801561028257600080fd5b50610296610291366004612e1a565b610865565b6040516001600160a01b03909116815260200161024b565b3480156102ba57600080fd5b506102ce6102c9366004612e48565b61088c565b005b3480156102dc57600080fd5b50600d54610296906001600160a01b031681565b3480156102fc57600080fd5b5061030660105481565b60405190815260200161024b565b34801561032057600080fd5b50600854610306565b34801561033557600080fd5b506102ce610344366004612e74565b6109a6565b34801561035557600080fd5b50610369610364366004612eb5565b6109d8565b604080516001600160a01b03909316835260208301919091520161024b565b34801561039457600080fd5b506103066103a3366004612e48565b610a86565b3480156103b457600080fd5b506102966103c3366004612eef565b610b1c565b3480156103d457600080fd5b506102ce6103e3366004612e74565b610bfa565b3480156103f457600080fd5b506102ce610403366004612e1a565b610c15565b34801561041457600080fd5b5061030660115481565b34801561042a57600080fd5b50610306610439366004612e1a565b610c95565b34801561044a57600080fd5b50610453600181565b60405160ff909116815260200161024b565b34801561047157600080fd5b50610296610480366004612e1a565b610d28565b34801561049157600080fd5b506102ce6104a0366004612f31565b610d88565b3480156104b157600080fd5b506103066104c0366004612f58565b610e2a565b6102ce6104d3366004612eb5565b610eb0565b3480156104e457600080fd5b506102ce6104f3366004612e1a565b611231565b34801561050457600080fd5b50610306610513366004613037565b6112cc565b34801561052457600080fd5b50610306610533366004613084565b61146a565b34801561054457600080fd5b50610306610553366004612e1a565b600090815260126020526040902054600160a81b90046001600160401b031690565b34801561058157600080fd5b506102696115c7565b34801561059657600080fd5b506105e46105a5366004612e1a565b6012602052600090815260409020805460019091015460ff82169161010081046001600160a01b031691600160a81b9091046001600160401b03169084565b6040805194151585526001600160a01b0390931660208501526001600160401b0390911691830191909152606082015260800161024b565b34801561062857600080fd5b506102ce6106373660046130e3565b6115d6565b34801561064857600080fd5b506102696115e5565b34801561065d57600080fd5b50600c54610296906001600160a01b031681565b34801561067d57600080fd5b506102ce61068c36600461311c565b611673565b34801561069d57600080fd5b506103066106ac366004612eb5565b6116ab565b3480156106bd57600080fd5b506102966106cc366004612e1a565b6116cf565b3480156106dd57600080fd5b506102696106ec366004612e1a565b611723565b6103066106ff36600461319b565b6117e9565b34801561071057600080fd5b506102ce61071f3660046131d0565b611a9b565b34801561073057600080fd5b50610269611c1b565b34801561074557600080fd5b5061023f61075436600461321e565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6000636ad56fd360e11b6001600160e01b03198316016107a457506001919050565b6314bdb52960e21b6001600160e01b03198316016107c457506001919050565b6107cd82611c28565b92915050565b6060600080546107e29061324c565b80601f016020809104026020016040519081016040528092919081815260200182805461080e9061324c565b801561085b5780601f106108305761010080835404028352916020019161085b565b820191906000526020600020905b81548152906001019060200180831161083e57829003601f168201915b5050505050905090565b600061087082611c4d565b506000908152600460205260409020546001600160a01b031690565b600061089782610d28565b9050806001600160a01b0316836001600160a01b0316036109095760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061092557506109258133610754565b6109975760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610900565b6109a18383611c9d565b505050565b6109b1335b82611d0b565b6109cd5760405162461bcd60e51b815260040161090090613280565b6109a1838383611d89565b6000828152600b602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b0316928201929092528291610a4d575060408051808201909152600a546001600160a01b0381168252600160a01b90046001600160601b031660208201525b602081015160009061271090610a6c906001600160601b0316876132e3565b610a7691906132fa565b91519350909150505b9250929050565b6000610a9183610e2a565b8210610af35760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610900565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b600080610ba37f6a50cd13df4d49c839384eb15944b5713af5a276ddb78e79557d1798dbca09fa8435610b52602087018761331c565b604051610b60929190613362565b604051908190038120610b889392916020019283526020830191909152604082015260600190565b60405160208183030381529060405280519060200120611efa565b90506000610bf282610bb8604087018761331c565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611f4892505050565b949350505050565b6109a183838360405180602001604052806000815250611673565b610c1e336109ab565b610c3a5760405162461bcd60e51b815260040161090090613372565b610c4381611f6c565b807f70dfc397541721d0da674bb15688bca9a5fc5dfcf822c7e879e29197a6f73a29336040516001600160a01b03909116815260200160405180910390a26000908152600b6020526040812055565b50565b6000610ca060085490565b8210610d035760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608401610900565b60088281548110610d1657610d166133c8565b90600052602060002001549050919050565b6000818152600260205260408120546001600160a01b0316806107cd5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610900565b610d93335b84611d0b565b610daf5760405162461bcd60e51b815260040161090090613372565b6000838152601260205260409020805460ff1916831515178155600101819055336001600160a01b03167fa9dcc06084f66afbdc1841a28e84400fcbf607131220fdcf404c8502f3c03203848484604051610e1d939291909283529015156020830152604082015260600190565b60405180910390a2505050565b60006001600160a01b038216610e945760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610900565b506001600160a01b031660009081526003602052604090205490565b610eb98261200f565b610f105760405162461bcd60e51b815260206004820152602260248201527f5369676e61747572655365726965733a20496e76616c69646520546f6b656e20604482015261125960f21b6064820152608401610900565b60008281526012602052604090205460ff16610f7e5760405162461bcd60e51b815260206004820152602760248201527f5369676e61747572655365726965733a204e6f7420617661696c61626c6520666044820152661bdc881c995b9d60ca1b6064820152608401610900565b6000610f89836116cf565b6001600160a01b031614610fef5760405162461bcd60e51b815260206004820152602760248201527f5369676e61747572655365726965733a204e465420416c7265616479205375626044820152661cd8dc9a58995960ca1b6064820152608401610900565b600081116110575760405162461bcd60e51b815260206004820152602f60248201527f5369676e61747572655365726965733a2054696d652063616e2774206265206c60448201526e32b9b9903a3430b71018903437bab960891b6064820152608401610900565b6110e08111156110c35760405162461bcd60e51b815260206004820152603160248201527f5369676e61747572655365726965733a2054696d652063616e2774206265206d6044820152706f7265207468616e2036206d6f6e74687360781b6064820152608401610900565b60006110cf83836116ab565b90508034101561112d5760405162461bcd60e51b815260206004820152602360248201527f5369676e61747572655365726965733a20496e73756666696369656e742046756044820152626e647360e81b6064820152608401610900565b61113683610d28565b6001600160a01b03166108fc349081150290604051600060405180830381858888f1935050505015801561116e573d6000803e3d6000fd5b5060008381526012602052604090208054610100600160a81b031916610100330217815561119e83610e106132e3565b6111a890426133de565b81546001600160401b0391909116600160a81b0267ffffffffffffffff60a81b199091161781556111d63390565b8154604051600160a81b9091046001600160401b031681526001600160a01b03919091169085907f4e06b4e7000e659094299b3533b47b6aa8ad048e95e872d23d1f4ee55af89cfe906020015b60405180910390a350505050565b6014546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611287573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ab91906133f1565b6112c75760405162461bcd60e51b81526004016109009061340e565b601055565b6014546000906001600160a01b031663efd46065336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611325573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061134991906133f1565b6113a55760405162461bcd60e51b815260206004820152602760248201527f5369676e61747572655365726965733a2055736572206973206e6f74206175746044820152661a1bdc9a5e995960ca1b6064820152608401610900565b601180549060006113b583613456565b90915550506011546113c8335b8261202c565b6113d28185612046565b6103e8836001600160601b031611156113fd5760405162461bcd60e51b81526004016109009061346f565b61140981335b85612083565b600c54611420906001600160a01b031660016115d6565b336001600160a01b03167f07ac23775381c7e58d18cef592a12cb5ea8576f2034c691e2500aba9b51f9d7f828660405161145b9291906134be565b60405180910390a29392505050565b6014546000906001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156114c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e791906133f1565b6115035760405162461bcd60e51b81526004016109009061340e565b6011805490600061151383613456565b9091555050601154611525858261202c565b61152f8185612046565b6103e8836001600160601b0316111561155a5760405162461bcd60e51b81526004016109009061346f565b611565818685612083565b600c5461157c906001600160a01b031660016115d6565b846001600160a01b03167f07ac23775381c7e58d18cef592a12cb5ea8576f2034c691e2500aba9b51f9d7f82866040516115b79291906134be565b60405180910390a2949350505050565b6060600180546107e29061324c565b6115e1338383612191565b5050565b600f80546115f29061324c565b80601f016020809104026020016040519081016040528092919081815260200182805461161e9061324c565b801561166b5780601f106116405761010080835404028352916020019161166b565b820191906000526020600020905b81548152906001019060200180831161164e57829003601f168201915b505050505081565b61167d3383611d0b565b6116995760405162461bcd60e51b815260040161090090613280565b6116a58484848461225f565b50505050565b6000828152601260205260408120600101546116c89083906132e3565b9392505050565b6000818152601260205260408120544290600160a81b90046001600160401b031610611716575060009081526012602052604090205461010090046001600160a01b031690565b506000919050565b919050565b606061172e8261200f565b61174a5760405162461bcd60e51b8152600401610900906134d7565b600082815260136020526040812080546117639061324c565b80601f016020809104026020016040519081016040528092919081815260200182805461178f9061324c565b80156117dc5780601f106117b1576101008083540402835291602001916117dc565b820191906000526020600020905b8154815290600101906020018083116117bf57829003601f168201915b5093979650505050505050565b6014546000906001600160a01b0316636d70f7ae61180685610b1c565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa15801561184a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186e91906133f1565b6118c65760405162461bcd60e51b815260206004820152602360248201527f5369676e61747572655365726965733a20496e76616c6964205369676e61747560448201526272652160e81b6064820152608401610900565b601054156119185782353410156119185760405162461bcd60e51b81526020600482015260166024820152752737ba1022b737bab3b41032ba3432b91039b2b73a1760511b6044820152606401610900565b6011805490600061192883613456565b9091555050601154611939336113c2565b6119848161194a602087018761331c565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061204692505050565b6103e8836001600160601b031611156119af5760405162461bcd60e51b81526004016109009061346f565b6119b98133611403565b60145460408051633955348d60e21b815290516000926001600160a01b03169163e554d2349160048083019260209291908290030181865afa158015611a03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a27919061351a565b9050611a3533828434612292565b600c54611a4c906001600160a01b031660016115d6565b337f07ac23775381c7e58d18cef592a12cb5ea8576f2034c691e2500aba9b51f9d7f83611a7c602089018961331c565b604051611a8b93929190613537565b60405180910390a2509392505050565b611aa433610d8d565b611b055760405162461bcd60e51b815260206004820152602c60248201527f5369676e61747572655365726965733a204e6f7420746f6b656e206f776e657260448201526b0813dc88185c1c1c9bdd995960a21b6064820152608401610900565b6000611b10846116cf565b6001600160a01b031614611b7a5760405162461bcd60e51b815260206004820152602b60248201527f5369676e61747572655365726965733a206974656d20697320616c726561647960448201526a081cdd589cd8dc9a58995960aa1b6064820152608401610900565b60008381526012602052604090208054610100600160a81b0319166101006001600160a01b03851602178155611bb0428361356d565b815467ffffffffffffffff60a81b1916600160a81b6001600160401b0392831681029190911780845560405191900490911681526001600160a01b0384169085907f4e06b4e7000e659094299b3533b47b6aa8ad048e95e872d23d1f4ee55af89cfe90602001611223565b600e80546115f29061324c565b60006001600160e01b0319821663152a902d60e11b14806107cd57506107cd8261238e565b611c568161200f565b610c925760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610900565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190611cd282610d28565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080611d1783610d28565b9050806001600160a01b0316846001600160a01b03161480611d5e57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b80610bf25750836001600160a01b0316611d7784610865565b6001600160a01b031614949350505050565b826001600160a01b0316611d9c82610d28565b6001600160a01b031614611dc25760405162461bcd60e51b815260040161090090613594565b6001600160a01b038216611e245760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610900565b611e3183838360016123b3565b826001600160a01b0316611e4482610d28565b6001600160a01b031614611e6a5760405162461bcd60e51b815260040161090090613594565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60006107cd611f07612454565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000806000611f57858561257b565b91509150611f64816125bd565b509392505050565b6000611f7782610d28565b9050611f878160008460016123b3565b611f9082610d28565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6000908152600260205260409020546001600160a01b0316151590565b6115e1828260405180602001604052806000815250612707565b61204f8261200f565b61206b5760405162461bcd60e51b8152600401610900906134d7565b60008281526013602052604090206109a18282613627565b6127106001600160601b03821611156120f15760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646044820152692073616c65507269636560b01b6064820152608401610900565b6001600160a01b0382166121475760405162461bcd60e51b815260206004820152601b60248201527f455243323938313a20496e76616c696420706172616d657465727300000000006044820152606401610900565b6040805180820182526001600160a01b0393841681526001600160601b0392831660208083019182526000968752600b90529190942093519051909116600160a01b029116179055565b816001600160a01b0316836001600160a01b0316036121f25760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610900565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b61226a848484611d89565b6122768484848461273a565b6116a55760405162461bcd60e51b8152600401610900906136e6565b6000836001600160a01b03168260405160006040518083038185875af1925050503d80600081146122df576040519150601f19603f3d011682016040523d82523d6000602084013e6122e4565b606091505b50509050806123355760405162461bcd60e51b815260206004820181905260248201527f5369676e61747572655365726965733a205472616e73666572206661696c65646044820152606401610900565b604080516001600160a01b03808816825286166020820152908101849052606081018390527faeadc2c673108f922a1042ef404b73ae1af992c9ae54249a4a7d13ef21ef2c189060800160405180910390a15050505050565b60006001600160e01b0319821663780e9d6360e01b14806107cd57506107cd8261283b565b6123bf8484848461288b565b826001600160a01b0316846001600160a01b0316141580156123fc575060008281526012602052604090205461010090046001600160a01b031615155b156116a557600082815260126020908152604080832080546001600160e81b03191681556001018390555182815284917f4e06b4e7000e659094299b3533b47b6aa8ad048e95e872d23d1f4ee55af89cfe9101611223565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156124ad57507f000000000000000000000000000000000000000000000000000000000000000046145b156124d757507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b60008082516041036125b15760208301516040840151606085015160001a6125a5878285856129bf565b94509450505050610a7f565b50600090506002610a7f565b60008160048111156125d1576125d1613738565b036125d95750565b60018160048111156125ed576125ed613738565b0361263a5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610900565b600281600481111561264e5761264e613738565b0361269b5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610900565b60038160048111156126af576126af613738565b03610c925760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610900565b6127118383612a83565b61271e600084848461273a565b6109a15760405162461bcd60e51b8152600401610900906136e6565b60006001600160a01b0384163b1561283057604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061277e90339089908890889060040161374e565b6020604051808303816000875af19250505080156127b9575060408051601f3d908101601f191682019092526127b69181019061378b565b60015b612816573d8080156127e7576040519150601f19603f3d011682016040523d82523d6000602084013e6127ec565b606091505b50805160000361280e5760405162461bcd60e51b8152600401610900906136e6565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610bf2565b506001949350505050565b60006001600160e01b031982166380ac58cd60e01b148061286c57506001600160e01b03198216635b5e139f60e01b145b806107cd57506301ffc9a760e01b6001600160e01b03198316146107cd565b60018111156128fa5760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b6064820152608401610900565b816001600160a01b0385166129565761295181600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b612979565b836001600160a01b0316856001600160a01b031614612979576129798582612bfe565b6001600160a01b0384166129955761299081612c9b565b6129b8565b846001600160a01b0316846001600160a01b0316146129b8576129b88482612d4a565b5050505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156129f65750600090506003612a7a565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612a4a573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116612a7357600060019250925050612a7a565b9150600090505b94509492505050565b6001600160a01b038216612ad95760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610900565b612ae28161200f565b15612b2f5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610900565b612b3d6000838360016123b3565b612b468161200f565b15612b935760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610900565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60006001612c0b84610e2a565b612c1591906137a8565b600083815260076020526040902054909150808214612c68576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b600854600090612cad906001906137a8565b60008381526009602052604081205460088054939450909284908110612cd557612cd56133c8565b906000526020600020015490508060088381548110612cf657612cf66133c8565b6000918252602080832090910192909255828152600990915260408082208490558582528120556008805480612d2e57612d2e6137bb565b6001900381819060005260206000200160009055905550505050565b6000612d5583610e2a565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b6001600160e01b031981168114610c9257600080fd5b600060208284031215612db657600080fd5b81356116c881612d8e565b6000815180845260005b81811015612de757602081850181015186830182015201612dcb565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006116c86020830184612dc1565b600060208284031215612e2c57600080fd5b5035919050565b6001600160a01b0381168114610c9257600080fd5b60008060408385031215612e5b57600080fd5b8235612e6681612e33565b946020939093013593505050565b600080600060608486031215612e8957600080fd5b8335612e9481612e33565b92506020840135612ea481612e33565b929592945050506040919091013590565b60008060408385031215612ec857600080fd5b50508035926020909101359150565b600060608284031215612ee957600080fd5b50919050565b600060208284031215612f0157600080fd5b81356001600160401b03811115612f1757600080fd5b610bf284828501612ed7565b8015158114610c9257600080fd5b600080600060608486031215612f4657600080fd5b833592506020840135612ea481612f23565b600060208284031215612f6a57600080fd5b81356116c881612e33565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b0380841115612fa557612fa5612f75565b604051601f8501601f19908116603f01168101908282118183101715612fcd57612fcd612f75565b81604052809350858152868686011115612fe657600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261301157600080fd5b6116c883833560208501612f8b565b80356001600160601b038116811461171e57600080fd5b6000806040838503121561304a57600080fd5b82356001600160401b0381111561306057600080fd5b61306c85828601613000565b92505061307b60208401613020565b90509250929050565b60008060006060848603121561309957600080fd5b83356130a481612e33565b925060208401356001600160401b038111156130bf57600080fd5b6130cb86828701613000565b9250506130da60408501613020565b90509250925092565b600080604083850312156130f657600080fd5b823561310181612e33565b9150602083013561311181612f23565b809150509250929050565b6000806000806080858703121561313257600080fd5b843561313d81612e33565b9350602085013561314d81612e33565b92506040850135915060608501356001600160401b0381111561316f57600080fd5b8501601f8101871361318057600080fd5b61318f87823560208401612f8b565b91505092959194509250565b600080604083850312156131ae57600080fd5b82356001600160401b038111156131c457600080fd5b61306c85828601612ed7565b6000806000606084860312156131e557600080fd5b8335925060208401356131f781612e33565b915060408401356001600160401b038116811461321357600080fd5b809150509250925092565b6000806040838503121561323157600080fd5b823561323c81612e33565b9150602083013561311181612e33565b600181811c9082168061326057607f821691505b602082108103612ee957634e487b7160e01b600052602260045260246000fd5b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176107cd576107cd6132cd565b60008261331757634e487b7160e01b600052601260045260246000fd5b500490565b6000808335601e1984360301811261333357600080fd5b8301803591506001600160401b0382111561334d57600080fd5b602001915036819003821315610a7f57600080fd5b8183823760009101908152919050565b60208082526036908201527f5369676e61747572655365726965733a2043616c6c6572206973206e6f7420746040820152751bdad95b881bdddb995c881bdc88185c1c1c9bdd995960521b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b808201808211156107cd576107cd6132cd565b60006020828403121561340357600080fd5b81516116c881612f23565b60208082526028908201527f5369676e61747572655365726965733a2055736572206973206e6f742061757460408201526703437b934bd32b2160c51b606082015260800190565b600060018201613468576134686132cd565b5060010190565b6020808252602f908201527f5369676e61747572655365726965733a20526f79616c74792063616e2774206260408201526e65206d6f7265207468616e2031302560881b606082015260800190565b828152604060208201526000610bf26040830184612dc1565b60208082526023908201527f5369676e61747572655365726965733a204e6f6e2d4578697374656e742041736040820152621cd95d60ea1b606082015260800190565b60006020828403121561352c57600080fd5b81516116c881612e33565b83815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f1916010192915050565b6001600160401b0381811683821601908082111561358d5761358d6132cd565b5092915050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b601f8211156109a157600081815260208120601f850160051c810160208610156136005750805b601f850160051c820191505b8181101561361f5782815560010161360c565b505050505050565b81516001600160401b0381111561364057613640612f75565b6136548161364e845461324c565b846135d9565b602080601f83116001811461368957600084156136715750858301515b600019600386901b1c1916600185901b17855561361f565b600085815260208120601f198616915b828110156136b857888601518255948401946001909101908401613699565b50858210156136d65787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061378190830184612dc1565b9695505050505050565b60006020828403121561379d57600080fd5b81516116c881612d8e565b818103818111156107cd576107cd6132cd565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220803669a78a031eebc947b3a8cfec378b83e3a88f58e36b5430d7bcd89e2d465464736f6c63430008110033"; + "0x61016060405234801562000011575f80fd5b5060405162003a1c38038062003a1c8339810160408190526200003491620002dc565b848488885f62000045838262000445565b50600162000054828262000445565b50620000669150839050600c62000177565b610120526200007781600d62000177565b61014052815160208084019190912060e052815190820120610100524660a0526200010460e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c052601680546001600160a01b038381166001600160a01b03199283168117909355600e8054918616918316919091179055600f80549091169091179055601062000157868262000445565b50601162000166858262000445565b505050601255506200056992505050565b5f60208351101562000196576200018e83620001af565b9050620001a9565b81620001a3848262000445565b5060ff90505b92915050565b5f80829050601f81511115620001e5578260405163305a27a960e01b8152600401620001dc919062000511565b60405180910390fd5b8051620001f28262000545565b179392505050565b634e487b7160e01b5f52604160045260245ffd5b5f5b838110156200022a57818101518382015260200162000210565b50505f910152565b5f82601f83011262000242575f80fd5b81516001600160401b03808211156200025f576200025f620001fa565b604051601f8301601f19908116603f011681019082821181831017156200028a576200028a620001fa565b81604052838152866020858801011115620002a3575f80fd5b620002b68460208301602089016200020e565b9695505050505050565b80516001600160a01b0381168114620002d7575f80fd5b919050565b5f805f805f805f60e0888a031215620002f3575f80fd5b87516001600160401b03808211156200030a575f80fd5b620003188b838c0162000232565b985060208a01519150808211156200032e575f80fd5b6200033c8b838c0162000232565b975060408a015191508082111562000352575f80fd5b620003608b838c0162000232565b965060608a015191508082111562000376575f80fd5b50620003858a828b0162000232565b945050608088015192506200039d60a08901620002c0565b9150620003ad60c08901620002c0565b905092959891949750929550565b600181811c90821680620003d057607f821691505b602082108103620003ef57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200044057805f5260205f20601f840160051c810160208510156200041c5750805b601f840160051c820191505b818110156200043d575f815560010162000428565b50505b505050565b81516001600160401b03811115620004615762000461620001fa565b6200047981620004728454620003bb565b84620003f5565b602080601f831160018114620004af575f8415620004975750858301515b5f19600386901b1c1916600185901b17855562000509565b5f85815260208120601f198616915b82811015620004df57888601518255948401946001909101908401620004be565b5085821015620004fd57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b602081525f8251806020840152620005318160408501602087016200020e565b601f01601f19169190910160400192915050565b80516020808301519190811015620003ef575f1960209190910360031b1b16919050565b60805160a05160c05160e051610100516101205161014051613461620005bb5f395f611e2401525f611df201525f6123d201525f6123aa01525f61230501525f61232f01525f61235901526134615ff3fe60806040526004361061021d575f3560e01c8063783a112b1161011e578063a4157296116100a8578063c87b56dd1161006d578063c87b56dd146106d9578063dae48e6b146106f8578063e030565e1461070b578063e3faad941461072a578063e985e9c51461073e575f80fd5b8063a415729614610649578063a4b110521461065d578063b88d4fde1461067c578063ba91caae1461069b578063c2f1f14a146106ba575f80fd5b80638c275eec116100ee5780638c275eec1461052c5780638fc88c481461054b57806395d89b41146105865780639874cd971461059a578063a22cb4651461062a575f80fd5b8063783a112b146104b45780637d9a7a4c146104c757806383c6f9a9146104e657806384b0196e14610505575f80fd5b80632f745c59116101aa5780634f6ccce71161016f5780634f6ccce71461041257806354fd4d50146104315780636352211e14610457578063655bc8db1461047657806370a0823114610495575f80fd5b80632f745c59146103815780633a61d52c146103a057806342842e0e146103bf578063474c1520146103de5780634eeca076146103fd575f80fd5b80630aa7c854116101f05780630aa7c854146102ce5780630d39fc81146102ed57806318160ddd1461031057806323b872dd146103245780632a55205a14610343575f80fd5b806301ffc9a71461022157806306fdde0314610255578063081812fc14610276578063095ea7b3146102ad575b5f80fd5b34801561022c575f80fd5b5061024061023b366004612aab565b61075d565b60405190151581526020015b60405180910390f35b348015610260575f80fd5b506102696107ad565b60405161024c9190612b09565b348015610281575f80fd5b50610295610290366004612b1b565b61083c565b6040516001600160a01b03909116815260200161024c565b3480156102b8575f80fd5b506102cc6102c7366004612b46565b610863565b005b3480156102d9575f80fd5b50600f54610295906001600160a01b031681565b3480156102f8575f80fd5b5061030260125481565b60405190815260200161024c565b34801561031b575f80fd5b50600854610302565b34801561032f575f80fd5b506102cc61033e366004612b70565b610872565b34801561034e575f80fd5b5061036261035d366004612bae565b610900565b604080516001600160a01b03909316835260208301919091520161024c565b34801561038c575f80fd5b5061030261039b366004612b46565b6109ac565b3480156103ab575f80fd5b506102956103ba366004612be4565b610a0f565b3480156103ca575f80fd5b506102cc6103d9366004612b70565b610aea565b3480156103e9575f80fd5b506102cc6103f8366004612b1b565b610b09565b348015610408575f80fd5b5061030260135481565b34801561041d575f80fd5b5061030261042c366004612b1b565b610ba1565b34801561043c575f80fd5b50610445600181565b60405160ff909116815260200161024c565b348015610462575f80fd5b50610295610471366004612b1b565b610bf6565b348015610481575f80fd5b506102cc610490366004612c22565b610c00565b3480156104a0575f80fd5b506103026104af366004612c46565b610cb9565b6102cc6104c2366004612bae565b610cfe565b3480156104d2575f80fd5b506102cc6104e1366004612b1b565b611082565b3480156104f1575f80fd5b50610302610500366004612d1b565b61111b565b348015610510575f80fd5b506105196112b5565b60405161024c9796959493929190612d65565b348015610537575f80fd5b50610302610546366004612dfc565b6112f7565b348015610556575f80fd5b50610302610565366004612b1b565b5f90815260146020526040902054600160a81b90046001600160401b031690565b348015610591575f80fd5b50610269611450565b3480156105a5575f80fd5b506105f26105b4366004612b1b565b60146020525f90815260409020805460019091015460ff82169161010081046001600160a01b031691600160a81b9091046001600160401b03169084565b6040805194151585526001600160a01b0390931660208501526001600160401b0390911691830191909152606082015260800161024c565b348015610635575f80fd5b506102cc610644366004612e57565b61145f565b348015610654575f80fd5b5061026961146a565b348015610668575f80fd5b50600e54610295906001600160a01b031681565b348015610687575f80fd5b506102cc610696366004612e8e565b6114f6565b3480156106a6575f80fd5b506103026106b5366004612bae565b61150d565b3480156106c5575f80fd5b506102956106d4366004612b1b565b611530565b3480156106e4575f80fd5b506102696106f3366004612b1b565b611581565b610302610706366004612f08565b61164f565b348015610716575f80fd5b506102cc610725366004612f3a565b6118f9565b348015610735575f80fd5b50610269611a8e565b348015610749575f80fd5b50610240610758366004612f84565b611a9b565b5f636ad56fd360e11b6001600160e01b031983160161077e57506001919050565b6314bdb52960e21b6001600160e01b031983160161079e57506001919050565b6107a782611ac8565b92915050565b60605f80546107bb90612fb0565b80601f01602080910402602001604051908101604052809291908181526020018280546107e790612fb0565b80156108325780601f1061080957610100808354040283529160200191610832565b820191905f5260205f20905b81548152906001019060200180831161081557829003601f168201915b5050505050905090565b5f61084682611aec565b505f828152600460205260409020546001600160a01b03166107a7565b61086e828233611b24565b5050565b6001600160a01b0382166108a057604051633250574960e11b81525f60048201526024015b60405180910390fd5b5f6108ac838333611b31565b9050836001600160a01b0316816001600160a01b0316146108fa576040516364283d7b60e01b81526001600160a01b0380861660048301526024820184905282166044820152606401610897565b50505050565b5f828152600b602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b0316928201929092528291610974575060408051808201909152600a546001600160a01b0381168252600160a01b90046001600160601b031660208201525b60208101515f9061271090610992906001600160601b031687612ff6565b61099c919061300d565b91519350909150505b9250929050565b5f6109b683610cb9565b82106109e75760405163295f44f760e21b81526001600160a01b038416600482015260248101839052604401610897565b506001600160a01b03919091165f908152600660209081526040808320938352929052205490565b5f80610a957f6a50cd13df4d49c839384eb15944b5713af5a276ddb78e79557d1798dbca09fa8435610a44602087018761302c565b604051610a5292919061306e565b604051908190038120610a7a9392916020019283526020830191909152604082015260600190565b60405160208183030381529060405280519060200120611bde565b90505f610ae282610aa9604087018761302c565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611c0a92505050565b949350505050565b610b0483838360405180602001604052805f8152506114f6565b505050565b5f81815260026020526040902054610b2b906001600160a01b03163383611c32565b610b475760405162461bcd60e51b81526004016108979061307d565b610b5081611c93565b807f70dfc397541721d0da674bb15688bca9a5fc5dfcf822c7e879e29197a6f73a29336040516001600160a01b03909116815260200160405180910390a25f908152600b6020526040812055565b50565b5f610bab60085490565b8210610bd35760405163295f44f760e21b81525f600482015260248101839052604401610897565b60088281548110610be657610be66130d3565b905f5260205f2001549050919050565b5f6107a782611aec565b5f83815260026020526040902054610c23906001600160a01b03165b3385611c32565b610c3f5760405162461bcd60e51b81526004016108979061307d565b5f838152601460205260409020805460ff1916831515178155600101819055336001600160a01b03167fa9dcc06084f66afbdc1841a28e84400fcbf607131220fdcf404c8502f3c03203848484604051610cac939291909283529015156020830152604082015260600190565b60405180910390a2505050565b5f6001600160a01b038216610ce3576040516322718ad960e21b81525f6004820152602401610897565b506001600160a01b03165f9081526003602052604090205490565b33610d0883611aec565b6001600160a01b031614610d695760405162461bcd60e51b815260206004820152602260248201527f5369676e61747572655365726965733a20496e76616c69646520546f6b656e20604482015261125960f21b6064820152608401610897565b5f8281526014602052604090205460ff16610dd65760405162461bcd60e51b815260206004820152602760248201527f5369676e61747572655365726965733a204e6f7420617661696c61626c6520666044820152661bdc881c995b9d60ca1b6064820152608401610897565b5f610de083611530565b6001600160a01b031614610e465760405162461bcd60e51b815260206004820152602760248201527f5369676e61747572655365726965733a204e465420416c7265616479205375626044820152661cd8dc9a58995960ca1b6064820152608401610897565b5f8111610ead5760405162461bcd60e51b815260206004820152602f60248201527f5369676e61747572655365726965733a2054696d652063616e2774206265206c60448201526e32b9b9903a3430b71018903437bab960891b6064820152608401610897565b6110e0811115610f195760405162461bcd60e51b815260206004820152603160248201527f5369676e61747572655365726965733a2054696d652063616e2774206265206d6044820152706f7265207468616e2036206d6f6e74687360781b6064820152608401610897565b5f610f24838361150d565b905080341015610f825760405162461bcd60e51b815260206004820152602360248201527f5369676e61747572655365726965733a20496e73756666696369656e742046756044820152626e647360e81b6064820152608401610897565b610f8b83610bf6565b6001600160a01b03166108fc3490811502906040515f60405180830381858888f19350505050158015610fc0573d5f803e3d5ffd5b505f8381526014602052604090208054610100600160a81b0319166101003302178155610fef83610e10612ff6565b610ff990426130e7565b81546001600160401b0391909116600160a81b0267ffffffffffffffff60a81b199091161781556110273390565b8154604051600160a81b9091046001600160401b031681526001600160a01b03919091169085907f4e06b4e7000e659094299b3533b47b6aa8ad048e95e872d23d1f4ee55af89cfe906020015b60405180910390a350505050565b6016546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156110d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110fa91906130fa565b6111165760405162461bcd60e51b815260040161089790613115565b601255565b6016545f906001600160a01b031663efd46065336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611171573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061119591906130fa565b6111f15760405162461bcd60e51b815260206004820152602760248201527f5369676e61747572655365726965733a2055736572206973206e6f74206175746044820152661a1bdc9a5e995960ca1b6064820152608401610897565b60138054905f6112008361315d565b9091555050601354611213335b82611ccb565b61121d8185611ce4565b6103e8836001600160601b031611156112485760405162461bcd60e51b815260040161089790613175565b61125481335b85611d2b565b600e5461126b906001600160a01b0316600161145f565b336001600160a01b03167f07ac23775381c7e58d18cef592a12cb5ea8576f2034c691e2500aba9b51f9d7f82866040516112a69291906131c4565b60405180910390a29392505050565b5f6060805f805f60606112c6611deb565b6112ce611e1d565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6016545f906001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa15801561134d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061137191906130fa565b61138d5760405162461bcd60e51b815260040161089790613115565b60138054905f61139c8361315d565b90915550506013546113ae8582611ccb565b6113b88185611ce4565b6103e8836001600160601b031611156113e35760405162461bcd60e51b815260040161089790613175565b6113ee818685611d2b565b600e54611405906001600160a01b0316600161145f565b846001600160a01b03167f07ac23775381c7e58d18cef592a12cb5ea8576f2034c691e2500aba9b51f9d7f82866040516114409291906131c4565b60405180910390a2949350505050565b6060600180546107bb90612fb0565b61086e338383611e4a565b6011805461147790612fb0565b80601f01602080910402602001604051908101604052809291908181526020018280546114a390612fb0565b80156114ee5780601f106114c5576101008083540402835291602001916114ee565b820191905f5260205f20905b8154815290600101906020018083116114d157829003601f168201915b505050505081565b611501848484610872565b6108fa84848484611ee8565b5f82815260146020526040812060010154611529908390612ff6565b9392505050565b5f818152601460205260408120544290600160a81b90046001600160401b03161061157557505f9081526014602052604090205461010090046001600160a01b031690565b505f919050565b919050565b60603361158d83611aec565b6001600160a01b0316146115b35760405162461bcd60e51b8152600401610897906131dc565b5f82815260156020526040812080546115cb90612fb0565b80601f01602080910402602001604051908101604052809291908181526020018280546115f790612fb0565b80156116425780601f1061161957610100808354040283529160200191611642565b820191905f5260205f20905b81548152906001019060200180831161162557829003601f168201915b5093979650505050505050565b6016545f906001600160a01b0316636d70f7ae61166b85610a0f565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156116ad573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116d191906130fa565b6117295760405162461bcd60e51b815260206004820152602360248201527f5369676e61747572655365726965733a20496e76616c6964205369676e61747560448201526272652160e81b6064820152608401610897565b6012541561177b57823534101561177b5760405162461bcd60e51b81526020600482015260166024820152752737ba1022b737bab3b41032ba3432b91039b2b73a1760511b6044820152606401610897565b60138054905f61178a8361315d565b909155505060135461179b3361120d565b6117e5816117ac602087018761302c565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611ce492505050565b6103e8836001600160601b031611156118105760405162461bcd60e51b815260040161089790613175565b61181a813361124e565b60165460408051633955348d60e21b815290515f926001600160a01b03169163e554d2349160048083019260209291908290030181865afa158015611861573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611885919061321f565b90506118933382843461200e565b600e546118aa906001600160a01b0316600161145f565b337f07ac23775381c7e58d18cef592a12cb5ea8576f2034c691e2500aba9b51f9d7f836118da602089018961302c565b6040516118e99392919061323a565b60405180910390a2509392505050565b5f83815260026020526040902054611919906001600160a01b0316610c1c565b61197a5760405162461bcd60e51b815260206004820152602c60248201527f5369676e61747572655365726965733a204e6f7420746f6b656e206f776e657260448201526b0813dc88185c1c1c9bdd995960a21b6064820152608401610897565b5f61198484611530565b6001600160a01b0316146119ee5760405162461bcd60e51b815260206004820152602b60248201527f5369676e61747572655365726965733a206974656d20697320616c726561647960448201526a081cdd589cd8dc9a58995960aa1b6064820152608401610897565b5f8381526014602052604090208054610100600160a81b0319166101006001600160a01b03851602178155611a23428361326f565b815467ffffffffffffffff60a81b1916600160a81b6001600160401b0392831681029190911780845560405191900490911681526001600160a01b0384169085907f4e06b4e7000e659094299b3533b47b6aa8ad048e95e872d23d1f4ee55af89cfe90602001611074565b6010805461147790612fb0565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205460ff1690565b5f6001600160e01b0319821663152a902d60e11b14806107a757506107a782612106565b5f818152600260205260408120546001600160a01b0316806107a757604051637e27328960e01b815260048101849052602401610897565b610b04838383600161212a565b5f80611b3e85858561222e565b9050846001600160a01b0316816001600160a01b031614158015611b7c57505f8481526014602052604090205461010090046001600160a01b031615155b15610ae2575f84815260146020908152604080832080546001600160e81b03191681556001018390555182815286917f4e06b4e7000e659094299b3533b47b6aa8ad048e95e872d23d1f4ee55af89cfe910160405180910390a3949350505050565b5f6107a7611bea6122f9565b8360405161190160f01b8152600281019290925260228201526042902090565b5f805f80611c188686612422565b925092509250611c28828261246b565b5090949350505050565b5f6001600160a01b03831615801590610ae25750826001600160a01b0316846001600160a01b03161480611c6b5750611c6b8484611a9b565b80610ae25750505f908152600460205260409020546001600160a01b03908116911614919050565b5f611c9f5f835f611b31565b90506001600160a01b03811661086e57604051637e27328960e01b815260048101839052602401610897565b61086e828260405180602001604052805f815250612523565b33611cee83611aec565b6001600160a01b031614611d145760405162461bcd60e51b8152600401610897906131dc565b5f828152601560205260409020610b0482826132da565b6127106001600160601b038216811015611d715760405163dfd1fc1b60e01b8152600481018590526001600160601b038316602482015260448101829052606401610897565b6001600160a01b038316611da157604051634b4f842960e11b8152600481018590525f6024820152604401610897565b506040805180820182526001600160a01b0393841681526001600160601b0392831660208083019182525f968752600b90529190942093519051909116600160a01b029116179055565b6060611e187f0000000000000000000000000000000000000000000000000000000000000000600c612539565b905090565b6060611e187f0000000000000000000000000000000000000000000000000000000000000000600d612539565b6001600160a01b038216611e7c57604051630b61174360e31b81526001600160a01b0383166004820152602401610897565b6001600160a01b038381165f81815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0383163b156108fa57604051630a85bd0160e11b81526001600160a01b0384169063150b7a0290611f2a903390889087908790600401613399565b6020604051808303815f875af1925050508015611f64575060408051601f3d908101601f19168201909252611f61918101906133d5565b60015b611fcb573d808015611f91576040519150601f19603f3d011682016040523d82523d5f602084013e611f96565b606091505b5080515f03611fc357604051633250574960e11b81526001600160a01b0385166004820152602401610897565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b1461200757604051633250574960e11b81526001600160a01b0385166004820152602401610897565b5050505050565b5f836001600160a01b0316826040515f6040518083038185875af1925050503d805f8114612057576040519150601f19603f3d011682016040523d82523d5f602084013e61205c565b606091505b50509050806120ad5760405162461bcd60e51b815260206004820181905260248201527f5369676e61747572655365726965733a205472616e73666572206661696c65646044820152606401610897565b604080516001600160a01b03808816825286166020820152908101849052606081018390527faeadc2c673108f922a1042ef404b73ae1af992c9ae54249a4a7d13ef21ef2c189060800160405180910390a15050505050565b5f6001600160e01b0319821663780e9d6360e01b14806107a757506107a7826125e2565b808061213e57506001600160a01b03821615155b156121ff575f61214d84611aec565b90506001600160a01b038316158015906121795750826001600160a01b0316816001600160a01b031614155b801561218c575061218a8184611a9b565b155b156121b55760405163a9fbf51f60e01b81526001600160a01b0384166004820152602401610897565b81156121fd5783856001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b50505f90815260046020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b5f8061223b858585612631565b90506001600160a01b0381166122975761229284600880545f838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b6122ba565b846001600160a01b0316816001600160a01b0316146122ba576122ba8185612723565b6001600160a01b0385166122d6576122d1846127b0565b610ae2565b846001600160a01b0316816001600160a01b031614610ae257610ae28585612857565b5f306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561235157507f000000000000000000000000000000000000000000000000000000000000000046145b1561237b57507f000000000000000000000000000000000000000000000000000000000000000090565b611e18604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b5f805f8351604103612459576020840151604085015160608601515f1a61244b888285856128a5565b955095509550505050612464565b505081515f91506002905b9250925092565b5f82600381111561247e5761247e6133f0565b03612487575050565b600182600381111561249b5761249b6133f0565b036124b95760405163f645eedf60e01b815260040160405180910390fd5b60028260038111156124cd576124cd6133f0565b036124ee5760405163fce698f760e01b815260048101829052602401610897565b6003826003811115612502576125026133f0565b0361086e576040516335e2f38360e21b815260048101829052602401610897565b61252d838361296d565b610b045f848484611ee8565b606060ff83146125535761254c836129ce565b90506107a7565b81805461255f90612fb0565b80601f016020809104026020016040519081016040528092919081815260200182805461258b90612fb0565b80156125d65780601f106125ad576101008083540402835291602001916125d6565b820191905f5260205f20905b8154815290600101906020018083116125b957829003601f168201915b505050505090506107a7565b5f6001600160e01b031982166380ac58cd60e01b148061261257506001600160e01b03198216635b5e139f60e01b145b806107a757506301ffc9a760e01b6001600160e01b03198316146107a7565b5f828152600260205260408120546001600160a01b039081169083161561265d5761265d818486612a0b565b6001600160a01b03811615612697576126785f855f8061212a565b6001600160a01b0381165f90815260036020526040902080545f190190555b6001600160a01b038516156126c5576001600160a01b0385165f908152600360205260409020805460010190555b5f8481526002602052604080822080546001600160a01b0319166001600160a01b0389811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b5f61272d83610cb9565b5f8381526007602052604090205490915080821461277e576001600160a01b0384165f9081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b505f9182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b6008545f906127c190600190613404565b5f83815260096020526040812054600880549394509092849081106127e8576127e86130d3565b905f5260205f20015490508060088381548110612807576128076130d3565b5f91825260208083209091019290925582815260099091526040808220849055858252812055600880548061283e5761283e613417565b600190038181905f5260205f20015f9055905550505050565b5f600161286384610cb9565b61286d9190613404565b6001600160a01b039093165f908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411156128de57505f91506003905082612963565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561292f573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b03811661295a57505f925060019150829050612963565b92505f91508190505b9450945094915050565b6001600160a01b03821661299657604051633250574960e11b81525f6004820152602401610897565b5f6129a283835f611b31565b90506001600160a01b03811615610b04576040516339e3563760e11b81525f6004820152602401610897565b60605f6129da83612a6f565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b612a16838383611c32565b610b04576001600160a01b038316612a4457604051637e27328960e01b815260048101829052602401610897565b60405163177e802f60e01b81526001600160a01b038316600482015260248101829052604401610897565b5f60ff8216601f8111156107a757604051632cd44ac360e21b815260040160405180910390fd5b6001600160e01b031981168114610b9e575f80fd5b5f60208284031215612abb575f80fd5b813561152981612a96565b5f81518084525f5b81811015612aea57602081850181015186830182015201612ace565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f6115296020830184612ac6565b5f60208284031215612b2b575f80fd5b5035919050565b6001600160a01b0381168114610b9e575f80fd5b5f8060408385031215612b57575f80fd5b8235612b6281612b32565b946020939093013593505050565b5f805f60608486031215612b82575f80fd5b8335612b8d81612b32565b92506020840135612b9d81612b32565b929592945050506040919091013590565b5f8060408385031215612bbf575f80fd5b50508035926020909101359150565b5f60608284031215612bde575f80fd5b50919050565b5f60208284031215612bf4575f80fd5b81356001600160401b03811115612c09575f80fd5b610ae284828501612bce565b8015158114610b9e575f80fd5b5f805f60608486031215612c34575f80fd5b833592506020840135612b9d81612c15565b5f60208284031215612c56575f80fd5b813561152981612b32565b634e487b7160e01b5f52604160045260245ffd5b5f6001600160401b0380841115612c8e57612c8e612c61565b604051601f8501601f19908116603f01168101908282118183101715612cb657612cb6612c61565b81604052809350858152868686011115612cce575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112612cf6575f80fd5b61152983833560208501612c75565b80356001600160601b038116811461157c575f80fd5b5f8060408385031215612d2c575f80fd5b82356001600160401b03811115612d41575f80fd5b612d4d85828601612ce7565b925050612d5c60208401612d05565b90509250929050565b60ff60f81b881681525f602060e06020840152612d8560e084018a612ac6565b8381036040850152612d97818a612ac6565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825260208088019350909101905f5b81811015612dea57835183529284019291840191600101612dce565b50909c9b505050505050505050505050565b5f805f60608486031215612e0e575f80fd5b8335612e1981612b32565b925060208401356001600160401b03811115612e33575f80fd5b612e3f86828701612ce7565b925050612e4e60408501612d05565b90509250925092565b5f8060408385031215612e68575f80fd5b8235612e7381612b32565b91506020830135612e8381612c15565b809150509250929050565b5f805f8060808587031215612ea1575f80fd5b8435612eac81612b32565b93506020850135612ebc81612b32565b92506040850135915060608501356001600160401b03811115612edd575f80fd5b8501601f81018713612eed575f80fd5b612efc87823560208401612c75565b91505092959194509250565b5f8060408385031215612f19575f80fd5b82356001600160401b03811115612f2e575f80fd5b612d4d85828601612bce565b5f805f60608486031215612f4c575f80fd5b833592506020840135612f5e81612b32565b915060408401356001600160401b0381168114612f79575f80fd5b809150509250925092565b5f8060408385031215612f95575f80fd5b8235612fa081612b32565b91506020830135612e8381612b32565b600181811c90821680612fc457607f821691505b602082108103612bde57634e487b7160e01b5f52602260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176107a7576107a7612fe2565b5f8261302757634e487b7160e01b5f52601260045260245ffd5b500490565b5f808335601e19843603018112613041575f80fd5b8301803591506001600160401b0382111561305a575f80fd5b6020019150368190038213156109a5575f80fd5b818382375f9101908152919050565b60208082526036908201527f5369676e61747572655365726965733a2043616c6c6572206973206e6f7420746040820152751bdad95b881bdddb995c881bdc88185c1c1c9bdd995960521b606082015260800190565b634e487b7160e01b5f52603260045260245ffd5b808201808211156107a7576107a7612fe2565b5f6020828403121561310a575f80fd5b815161152981612c15565b60208082526028908201527f5369676e61747572655365726965733a2055736572206973206e6f742061757460408201526703437b934bd32b2160c51b606082015260800190565b5f6001820161316e5761316e612fe2565b5060010190565b6020808252602f908201527f5369676e61747572655365726965733a20526f79616c74792063616e2774206260408201526e65206d6f7265207468616e2031302560881b606082015260800190565b828152604060208201525f610ae26040830184612ac6565b60208082526023908201527f5369676e61747572655365726965733a204e6f6e2d4578697374656e742041736040820152621cd95d60ea1b606082015260800190565b5f6020828403121561322f575f80fd5b815161152981612b32565b83815260406020820152816040820152818360608301375f818301606090810191909152601f909201601f1916010192915050565b6001600160401b0381811683821601908082111561328f5761328f612fe2565b5092915050565b601f821115610b0457805f5260205f20601f840160051c810160208510156132bb5750805b601f840160051c820191505b81811015612007575f81556001016132c7565b81516001600160401b038111156132f3576132f3612c61565b613307816133018454612fb0565b84613296565b602080601f83116001811461333a575f84156133235750858301515b5f19600386901b1c1916600185901b178555613391565b5f85815260208120601f198616915b8281101561336857888601518255948401946001909101908401613349565b508582101561338557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f906133cb90830184612ac6565b9695505050505050565b5f602082840312156133e5575f80fd5b815161152981612a96565b634e487b7160e01b5f52602160045260245ffd5b818103818111156107a7576107a7612fe2565b634e487b7160e01b5f52603160045260245ffdfea2646970667358221220b5af43e50ab187cbf1f2a4c308ade66e14bdbdcd90fa3d075ea0f3e02ea708d064736f6c63430008180033"; type SignatureSeriesConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/Strings__factory.ts b/typechain-types/factories/Strings__factory.ts new file mode 100644 index 0000000..b2973cb --- /dev/null +++ b/typechain-types/factories/Strings__factory.ts @@ -0,0 +1,77 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { Strings, StringsInterface } from "../Strings"; + +const _abi = [ + { + inputs: [ + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "length", + type: "uint256", + }, + ], + name: "StringsInsufficientHexLength", + type: "error", + }, +]; + +const _bytecode = + "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220259d7e68bffbc4888354cff095e9700ca0e729a422f1e73d4bd1edda5be5eb4f64736f6c63430008180033"; + +type StringsConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: StringsConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class Strings__factory extends ContractFactory { + constructor(...args: StringsConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + this.contractName = "Strings"; + } + + deploy( + overrides?: Overrides & { from?: string | Promise } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + getDeployTransaction( + overrides?: Overrides & { from?: string | Promise } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + attach(address: string): Strings { + return super.attach(address) as Strings; + } + connect(signer: Signer): Strings__factory { + return super.connect(signer) as Strings__factory; + } + static readonly contractName: "Strings"; + public readonly contractName: "Strings"; + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): StringsInterface { + return new utils.Interface(_abi) as StringsInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): Strings { + return new Contract(address, _abi, signerOrProvider) as Strings; + } +} diff --git a/typechain-types/factories/Token__factory.ts b/typechain-types/factories/Token__factory.ts index 55afd06..95c4c12 100644 --- a/typechain-types/factories/Token__factory.ts +++ b/typechain-types/factories/Token__factory.ts @@ -11,6 +11,92 @@ const _abi = [ stateMutability: "nonpayable", type: "constructor", }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "allowance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + ], + name: "ERC20InsufficientAllowance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + ], + name: "ERC20InsufficientBalance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address", + }, + ], + name: "ERC20InvalidApprover", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC20InvalidReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ERC20InvalidSender", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "ERC20InvalidSpender", + type: "error", + }, { anonymous: false, inputs: [ @@ -94,7 +180,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, ], @@ -141,54 +227,6 @@ const _abi = [ stateMutability: "view", type: "function", }, - { - inputs: [ - { - internalType: "address", - name: "spender", - type: "address", - }, - { - internalType: "uint256", - name: "subtractedValue", - type: "uint256", - }, - ], - name: "decreaseAllowance", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "spender", - type: "address", - }, - { - internalType: "uint256", - name: "addedValue", - type: "uint256", - }, - ], - name: "increaseAllowance", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, { inputs: [ { @@ -255,7 +293,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, ], @@ -284,7 +322,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, ], @@ -302,7 +340,7 @@ const _abi = [ ]; const _bytecode = - "0x60806040523480156200001157600080fd5b506040518060400160405280600881526020016726ac902a27a5a2a760c11b815250604051806040016040528060038152602001624d544b60e81b815250816003908162000060919062000222565b5060046200006f828262000222565b505050620000a83362000087620000ae60201b60201c565b6200009490600a62000403565b620000a2906103e86200041b565b620000b3565b6200044b565b601290565b6001600160a01b0382166200010e5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b806002600082825462000122919062000435565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620001a957607f821691505b602082108103620001ca57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200017957600081815260208120601f850160051c81016020861015620001f95750805b601f850160051c820191505b818110156200021a5782815560010162000205565b505050505050565b81516001600160401b038111156200023e576200023e6200017e565b62000256816200024f845462000194565b84620001d0565b602080601f8311600181146200028e5760008415620002755750858301515b600019600386901b1c1916600185901b1785556200021a565b600085815260208120601f198616915b82811015620002bf578886015182559484019460019091019084016200029e565b5085821015620002de5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000345578160001904821115620003295762000329620002ee565b808516156200033757918102915b93841c939080029062000309565b509250929050565b6000826200035e57506001620003fd565b816200036d57506000620003fd565b81600181146200038657600281146200039157620003b1565b6001915050620003fd565b60ff841115620003a557620003a5620002ee565b50506001821b620003fd565b5060208310610133831016604e8410600b8410161715620003d6575081810a620003fd565b620003e2838362000304565b8060001904821115620003f957620003f9620002ee565b0290505b92915050565b60006200041460ff8416836200034d565b9392505050565b8082028115828204841417620003fd57620003fd620002ee565b80820180821115620003fd57620003fd620002ee565b610a66806200045b6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a082311461014157806379c650681461016a57806395d89b411461017f578063a457c2d714610187578063a9059cbb1461019a578063dd62ed3e146101ad57600080fd5b806306fdde03146100b9578063095ea7b3146100d757806318160ddd146100fa57806323b872dd1461010c578063313ce5671461011f578063395093511461012e575b600080fd5b6100c16101c0565b6040516100ce919061079e565b60405180910390f35b6100ea6100e5366004610808565b610252565b60405190151581526020016100ce565b6002545b6040519081526020016100ce565b6100ea61011a366004610832565b61026c565b604051601281526020016100ce565b6100ea61013c366004610808565b610290565b6100fe61014f36600461086e565b6001600160a01b031660009081526020819052604090205490565b61017d610178366004610808565b6102b2565b005b6100c16102d5565b6100ea610195366004610808565b6102e4565b6100ea6101a8366004610808565b610364565b6100fe6101bb366004610890565b610372565b6060600380546101cf906108c3565b80601f01602080910402602001604051908101604052809291908181526020018280546101fb906108c3565b80156102485780601f1061021d57610100808354040283529160200191610248565b820191906000526020600020905b81548152906001019060200180831161022b57829003601f168201915b5050505050905090565b60003361026081858561039d565b60019150505b92915050565b60003361027a8582856104c1565b61028585858561053b565b506001949350505050565b6000336102608185856102a38383610372565b6102ad9190610913565b61039d565b6102d1826102c26012600a610a0a565b6102cc9084610a19565b6106df565b5050565b6060600480546101cf906108c3565b600033816102f28286610372565b9050838110156103575760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b610285828686840361039d565b60003361026081858561053b565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103ff5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161034e565b6001600160a01b0382166104605760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161034e565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006104cd8484610372565b9050600019811461053557818110156105285760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161034e565b610535848484840361039d565b50505050565b6001600160a01b03831661059f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161034e565b6001600160a01b0382166106015760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161034e565b6001600160a01b038316600090815260208190526040902054818110156106795760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161034e565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610535565b6001600160a01b0382166107355760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161034e565b80600260008282546107479190610913565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b600060208083528351808285015260005b818110156107cb578581018301518582016040015282016107af565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461080357600080fd5b919050565b6000806040838503121561081b57600080fd5b610824836107ec565b946020939093013593505050565b60008060006060848603121561084757600080fd5b610850846107ec565b925061085e602085016107ec565b9150604084013590509250925092565b60006020828403121561088057600080fd5b610889826107ec565b9392505050565b600080604083850312156108a357600080fd5b6108ac836107ec565b91506108ba602084016107ec565b90509250929050565b600181811c908216806108d757607f821691505b6020821081036108f757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610266576102666108fd565b600181815b80851115610961578160001904821115610947576109476108fd565b8085161561095457918102915b93841c939080029061092b565b509250929050565b60008261097857506001610266565b8161098557506000610266565b816001811461099b57600281146109a5576109c1565b6001915050610266565b60ff8411156109b6576109b66108fd565b50506001821b610266565b5060208310610133831016604e8410600b84101617156109e4575081810a610266565b6109ee8383610926565b8060001904821115610a0257610a026108fd565b029392505050565b600061088960ff841683610969565b8082028115828204841417610266576102666108fd56fea26469706673582212200b51fc555437f5910d3ba192fc018c68429ad7359f7efe116dc289fa0755494464736f6c63430008110033"; + "0x608060405234801562000010575f80fd5b506040518060400160405280600881526020016726ac902a27a5a2a760c11b815250604051806040016040528060038152602001624d544b60e81b81525081600390816200005f9190620002bf565b5060046200006e8282620002bf565b505050620000a73362000086620000ad60201b60201c565b6200009390600a6200049a565b620000a1906103e8620004b1565b620000b2565b620004e1565b601290565b6001600160a01b038216620000e15760405163ec442f0560e01b81525f60048201526024015b60405180910390fd5b620000ee5f8383620000f2565b5050565b6001600160a01b03831662000120578060025f828254620001149190620004cb565b90915550620001929050565b6001600160a01b0383165f9081526020819052604090205481811015620001745760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401620000d8565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b038216620001b057600280548290039055620001ce565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200021491815260200190565b60405180910390a3505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200024a57607f821691505b6020821081036200026957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002ba57805f5260205f20601f840160051c81016020851015620002965750805b601f840160051c820191505b81811015620002b7575f8155600101620002a2565b50505b505050565b81516001600160401b03811115620002db57620002db62000221565b620002f381620002ec845462000235565b846200026f565b602080601f83116001811462000329575f8415620003115750858301515b5f19600386901b1c1916600185901b17855562000383565b5f85815260208120601f198616915b82811015620003595788860151825594840194600190910190840162000338565b50858210156200037757878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620003df57815f1904821115620003c357620003c36200038b565b80851615620003d157918102915b93841c9390800290620003a4565b509250929050565b5f82620003f75750600162000494565b816200040557505f62000494565b81600181146200041e5760028114620004295762000449565b600191505062000494565b60ff8411156200043d576200043d6200038b565b50506001821b62000494565b5060208310610133831016604e8410600b84101617156200046e575081810a62000494565b6200047a83836200039f565b805f19048211156200049057620004906200038b565b0290505b92915050565b5f620004aa60ff841683620003e7565b9392505050565b80820281158282048414176200049457620004946200038b565b808201808211156200049457620004946200038b565b61087d80620004ef5f395ff3fe608060405234801561000f575f80fd5b506004361061009b575f3560e01c806370a082311161006357806370a082311461011457806379c650681461013c57806395d89b4114610151578063a9059cbb14610159578063dd62ed3e1461016c575f80fd5b806306fdde031461009f578063095ea7b3146100bd57806318160ddd146100e057806323b872dd146100f2578063313ce56714610105575b5f80fd5b6100a76101a4565b6040516100b491906105ca565b60405180910390f35b6100d06100cb366004610631565b610234565b60405190151581526020016100b4565b6002545b6040519081526020016100b4565b6100d0610100366004610659565b61024d565b604051601281526020016100b4565b6100e4610122366004610692565b6001600160a01b03165f9081526020819052604090205490565b61014f61014a366004610631565b610270565b005b6100a7610293565b6100d0610167366004610631565b6102a2565b6100e461017a3660046106b2565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6060600380546101b3906106e3565b80601f01602080910402602001604051908101604052809291908181526020018280546101df906106e3565b801561022a5780601f106102015761010080835404028352916020019161022a565b820191905f5260205f20905b81548152906001019060200180831161020d57829003601f168201915b5050505050905090565b5f336102418185856102af565b60019150505b92915050565b5f3361025a8582856102c1565b610265858585610341565b506001949350505050565b61028f826102806012600a61080f565b61028a908461081d565b61039e565b5050565b6060600480546101b3906106e3565b5f33610241818585610341565b6102bc83838360016103d2565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f19811461033b578181101561032d57604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b61033b84848484035f6103d2565b50505050565b6001600160a01b03831661036a57604051634b637e8f60e11b81525f6004820152602401610324565b6001600160a01b0382166103935760405163ec442f0560e01b81525f6004820152602401610324565b6102bc8383836104a4565b6001600160a01b0382166103c75760405163ec442f0560e01b81525f6004820152602401610324565b61028f5f83836104a4565b6001600160a01b0384166103fb5760405163e602df0560e01b81525f6004820152602401610324565b6001600160a01b03831661042457604051634a1406b160e11b81525f6004820152602401610324565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561033b57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161049691815260200190565b60405180910390a350505050565b6001600160a01b0383166104ce578060025f8282546104c39190610834565b9091555061053e9050565b6001600160a01b0383165f90815260208190526040902054818110156105205760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610324565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b03821661055a57600280548290039055610578565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516105bd91815260200190565b60405180910390a3505050565b5f602080835283518060208501525f5b818110156105f6578581018301518582016040015282016105da565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461062c575f80fd5b919050565b5f8060408385031215610642575f80fd5b61064b83610616565b946020939093013593505050565b5f805f6060848603121561066b575f80fd5b61067484610616565b925061068260208501610616565b9150604084013590509250925092565b5f602082840312156106a2575f80fd5b6106ab82610616565b9392505050565b5f80604083850312156106c3575f80fd5b6106cc83610616565b91506106da60208401610616565b90509250929050565b600181811c908216806106f757607f821691505b60208210810361071557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561076957815f190482111561074f5761074f61071b565b8085161561075c57918102915b93841c9390800290610734565b509250929050565b5f8261077f57506001610247565b8161078b57505f610247565b81600181146107a157600281146107ab576107c7565b6001915050610247565b60ff8411156107bc576107bc61071b565b50506001821b610247565b5060208310610133831016604e8410600b84101617156107ea575081810a610247565b6107f4838361072f565b805f19048211156108075761080761071b565b029392505050565b5f6106ab60ff841683610771565b80820281158282048414176102475761024761071b565b808201808211156102475761024761071b56fea26469706673582212208afe5e3ea6aa5354a93091dd2066523b53c42786e5d659ecaa078f1c3cab935664736f6c63430008180033"; type TokenConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/TradeHub__factory.ts b/typechain-types/factories/TradeHub__factory.ts index 1642976..b883017 100644 --- a/typechain-types/factories/TradeHub__factory.ts +++ b/typechain-types/factories/TradeHub__factory.ts @@ -34,11 +34,80 @@ const _abi = [ stateMutability: "nonpayable", type: "constructor", }, + { + inputs: [ + { + internalType: "uint256", + name: "numerator", + type: "uint256", + }, + { + internalType: "uint256", + name: "denominator", + type: "uint256", + }, + ], + name: "ERC2981InvalidDefaultRoyalty", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC2981InvalidDefaultRoyaltyReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "uint256", + name: "numerator", + type: "uint256", + }, + { + internalType: "uint256", + name: "denominator", + type: "uint256", + }, + ], + name: "ERC2981InvalidTokenRoyalty", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC2981InvalidTokenRoyaltyReceiver", + type: "error", + }, { inputs: [], name: "ItemExist", type: "error", }, + { + inputs: [], + name: "ReentrancyGuardReentrantCall", + type: "error", + }, { anonymous: false, inputs: [ @@ -734,12 +803,12 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "_tokenId", + name: "tokenId", type: "uint256", }, { internalType: "uint256", - name: "_salePrice", + name: "salePrice", type: "uint256", }, ], @@ -860,7 +929,7 @@ const _abi = [ ]; const _bytecode = - "0x60806040523480156200001157600080fd5b50604051620031b4380380620031b48339810160408190526200003491620000de565b6001600055600980546001600160a01b0319166001600160a01b038381169190911790915560048054909116600160a01b6001600160601b03861602179055600562000081838262000275565b50600480546001600160a01b0319166001600160a01b039290921691909117905550620003419050565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b0381168114620000d957600080fd5b919050565b600080600060608486031215620000f457600080fd5b83516001600160601b03811681146200010c57600080fd5b602085810151919450906001600160401b03808211156200012c57600080fd5b818701915087601f8301126200014157600080fd5b815181811115620001565762000156620000ab565b604051601f8201601f19908116603f01168101908382118183101715620001815762000181620000ab565b816040528281528a868487010111156200019a57600080fd5b600093505b82841015620001be57848401860151818501870152928501926200019f565b6000868483010152809750505050505050620001dd60408501620000c1565b90509250925092565b600181811c90821680620001fb57607f821691505b6020821081036200021c57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200027057600081815260208120601f850160051c810160208610156200024b5750805b601f850160051c820191505b818110156200026c5782815560010162000257565b5050505b505050565b81516001600160401b03811115620002915762000291620000ab565b620002a981620002a28454620001e6565b8462000222565b602080601f831160018114620002e15760008415620002c85750858301515b600019600386901b1c1916600185901b1785556200026c565b600085815260208120601f198616915b828110156200031257888601518255948401946001909101908401620002f1565b5085821015620003315787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b612e6380620003516000396000f3fe6080604052600436106101355760003560e01c806371329171116100ab5780639b76a0d91161006f5780639b76a0d9146103c8578063b876130114610406578063bc197c8114610426578063e18ab47614610452578063e61a70c01461048a578063f23a6e611461052357600080fd5b806371329171146103425780637f47c1671461036257806382367b2d146103825780639979c009146103a25780639979ef45146103b557600080fd5b80631522a4a3116100fd5780631522a4a31461023b5780632a55205a1461025b5780634fee13fc1461029a57806354fd4d50146102bc5780635a9cd033146102e35780636b7a22001461032257600080fd5b806301ffc9a71461013a57806306fdde031461016f5780630aa7c85414610191578063129f8dca146101c9578063150b7a02146101f7575b600080fd5b34801561014657600080fd5b5061015a610155366004612514565b61054f565b60405190151581526020015b60405180910390f35b34801561017b57600080fd5b50610184610580565b604051610166919061258e565b34801561019d57600080fd5b506004546101b1906001600160a01b031681565b6040516001600160a01b039091168152602001610166565b3480156101d557600080fd5b506101e96101e43660046125a1565b61060e565b604051908152602001610166565b34801561020357600080fd5b5061022261021236600461269d565b630a85bd0160e11b949350505050565b6040516001600160e01b03199091168152602001610166565b34801561024757600080fd5b506101e9610256366004612717565b610754565b34801561026757600080fd5b5061027b6102763660046125a1565b610dfa565b604080516001600160a01b039093168352602083019190915201610166565b3480156102a657600080fd5b506102ba6102b53660046125a1565b610ea6565b005b3480156102c857600080fd5b506102d1600181565b60405160ff9091168152602001610166565b3480156102ef57600080fd5b5060045461030a90600160a01b90046001600160601b031681565b6040516001600160601b039091168152602001610166565b34801561032e57600080fd5b506102ba61033d366004612775565b61107d565b34801561034e57600080fd5b506102ba61035d36600461279e565b61116b565b34801561036e57600080fd5b506102ba61037d36600461279e565b6112b8565b34801561038e57600080fd5b506101e961039d3660046125a1565b61134e565b6102ba6103b03660046125a1565b61141a565b6102ba6103c336600461279e565b6116ef565b3480156103d457600080fd5b506101e96103e33660046127b7565b600860209081526000938452604080852082529284528284209052825290205481565b34801561041257600080fd5b506102ba61042136600461279e565b6118f0565b34801561043257600080fd5b50610222610441366004612878565b63bc197c8160e01b95945050505050565b34801561045e57600080fd5b506101e961046d366004612926565b600760209081526000928352604080842090915290825290205481565b34801561049657600080fd5b5061050d6104a536600461279e565b600660208190526000918252604090912080546001820154600283015460038401546004850154600586015496860154600787015460089097015495976001600160a01b0395861697949693861695929490939192909190811690600160a01b900460ff168a565b6040516101669a99989796959493929190612968565b34801561052f57600080fd5b5061022261053e3660046129e7565b63f23a6e6160e01b95945050505050565b6000636ad56fd360e11b6001600160e01b031983160161057157506001919050565b61057a826119b7565b92915050565b6005805461058d90612a50565b80601f01602080910402602001604051908101604052809291908181526020018280546105b990612a50565b80156106065780601f106105db57610100808354040283529160200191610606565b820191906000526020600020905b8154815290600101906020018083116105e957829003601f168201915b505050505081565b60008281526006602052604081206003015483906001600160a01b031633146106525760405162461bcd60e51b815260040161064990612a8a565b60405180910390fd5b836002600082815260066020526040902060080154600160a01b900460ff16600481111561068257610682612952565b1461069f5760405162461bcd60e51b815260040161064990612ad5565b60008581526006602052604090206008015485906001600160a01b0316156106d95760405162461bcd60e51b815260040161064990612b1e565b6106e38542612b77565b60008781526006602081905260409182902001829055517f57726d06d1daca46f05e5ae635548ca11afdbf89f3e1d07af30a7a89df075c6d9161073191899190918252602082015260400190565b60405180910390a150505060009283525050600660208190526040909120015490565b600086610760816119dc565b8061076f575061076f81611a4f565b6107d25760405162461bcd60e51b815260206004820152602e60248201527f54726164654875623a20436f6e7472616374206973206e6f7420656c6967696260448201526d6c6520666f72206c697374696e6760901b6064820152608401610649565b600086116108315760405162461bcd60e51b815260206004820152602660248201527f54726164654875623a205072696365206d757374206265206174206c6561737460448201526520312077656960d01b6064820152608401610649565b61083a88611a4f565b1561084457600194505b8315156001036108b057603c8310156108b05760405162461bcd60e51b815260206004820152602860248201527f54726164654875623a2054696d652063616e6e6f74206265206c65737320746860448201526730b710189036b4b760c11b6064820152608401610649565b6108ba8888611a85565b915060006108c88989611ca5565b90506108d3896119dc565b156109cc57856001600160a01b038a1662fdd58e336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018c9052604401602060405180830381865afa158015610933573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109579190612b8a565b10156109ba5760405162461bcd60e51b815260206004820152602c60248201527f54726164654875623a20496e73756666696369656e742071756e61746974792060448201526b666f72206c697374696e672160a01b6064820152608401610649565b6109c78933308b8a611d9d565b610aad565b336040516331a9108f60e11b8152600481018a90526001600160a01b03918216918b1690636352211e90602401602060405180830381865afa158015610a16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3a9190612ba3565b6001600160a01b031614610a9f5760405162461bcd60e51b815260206004820152602660248201527f54726164654875623a2053656e64657220646f6573206e6f74206f776e20746860448201526565206974656d60d01b6064820152608401610649565b610aad8933308b6001611d9d565b600185151514610c3d576040518061014001604052808481526020018a6001600160a01b03168152602001898152602001610ae53390565b6001600160a01b0316815260208101899052604081018890526000606082018190526080820181905260a082015260c0016001905260008481526006602081815260409283902084518155908401516001820180546001600160a01b03199081166001600160a01b039384161790915593850151600283015560608501516003830180548616918316919091179055608085015160048084019190915560a0860151600584015560c08601519383019390935560e085015160078301556101008501516008830180549586169190921690811782556101208601519294929391926001600160a81b0319161790600160a01b908490811115610be957610be9612952565b0217905550899150506001600160a01b038a16847fd90c03e7bfd75512b91d0f3b713ef47c0666e00f5c30a2ac08a6d30514f8996884338c604051610c3093929190612bc0565b60405180910390a4610dee565b6000610c498542612b77565b90506000610c57888a612bee565b90506040518061014001604052808681526020018c6001600160a01b031681526020018b8152602001610c873390565b6001600160a01b03168152602081018b9052604081018a90526060810184905260808101839052600060a082015260c0016002905260008681526006602081815260409283902084518155908401516001820180546001600160a01b03199081166001600160a01b039384161790915593850151600283015560608501516003830180548616918316919091179055608085015160048084019190915560a0860151600584015560c08601519383019390935560e085015160078301556101008501516008830180549586169190921690811782556101208601519294929391926001600160a81b0319161790600160a01b908490811115610d8b57610d8b612952565b0217905550905050610d9a3390565b6001600160a01b03168a8c6001600160a01b03167f39ed0bb0416b400d0f3fa4402ca48e2e9fbc9042ec88cf4a341cc715f14de90488878e88604051610de39493929190612c05565b60405180910390a450505b50509695505050505050565b60008281526002602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b0316928201929092528291610e6f5750604080518082019091526001546001600160a01b0381168252600160a01b90046001600160601b031660208201525b602081015160009061271090610e8e906001600160601b031687612bee565b610e989190612c31565b915196919550909350505050565b60008281526006602052604090206003015482906001600160a01b03163314610ee15760405162461bcd60e51b815260040161064990612a8a565b826001600082815260066020526040902060080154600160a01b900460ff166004811115610f1157610f11612952565b14610f2e5760405162461bcd60e51b815260040161064990612c53565b6000848152600660205260409020600101546001600160a01b0316603c841015610fb15760405162461bcd60e51b815260206004820152602e60248201527f54726164654875623a2054696d65722063616e6e6f74206265206c657373207460448201526d68616e204f6e65204d696e75746560901b6064820152608401610649565b60008581526006602052604081206005810154600490910154610fd49190612bee565b90506000610fe28642612b77565b6000888152600660208190526040822090810183905560088101805460ff60a01b1916600160a11b1790556002015491925061101e8583611ca5565b9050336001600160a01b031682866001600160a01b03167f39ed0bb0416b400d0f3fa4402ca48e2e9fbc9042ec88cf4a341cc715f14de9048c85898e60405161106a9493929190612c05565b60405180910390a4505050505050505050565b6009546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156110d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f79190612c98565b6111435760405162461bcd60e51b815260206004820152601a60248201527f457465726e756d506173733a20556e617574686f72697a6564210000000000006044820152606401610649565b600480546001600160601b03909216600160a01b026001600160a01b03909216919091179055565b60008181526006602052604090206003015481906001600160a01b031633146111a65760405162461bcd60e51b815260040161064990612a8a565b60008281526006602052604090206008015482906001600160a01b0316156111e05760405162461bcd60e51b815260040161064990612b1e565b60008381526006602052604090206001810154600382015460028301546005909301546001600160a01b039283169391909216916112218430858585611d9d565b6000878152600660205260408120600801805460ff60a01b1916600160a21b17905561124d8584611ca5565b60008981526006602052604090206002810154600190910154919250906001600160a01b03167fae1e13d4bf13a666a5162ff2a286b302074d0ea0cd82ecb2c4f27a4824738bda8a84336040516112a693929190612cb5565b60405180910390a35050505050505050565b806002600082815260066020526040902060080154600160a01b900460ff1660048111156112e8576112e8612952565b146113055760405162461bcd60e51b815260040161064990612ad5565b60008281526006602052604090206003015482906001600160a01b031633146113405760405162461bcd60e51b815260040161064990612a8a565b61134983611ea1565b505050565b60008281526006602052604081206003015483906001600160a01b031633146113895760405162461bcd60e51b815260040161064990612a8a565b60008481526006602052604090206008015484906001600160a01b0316156113c35760405162461bcd60e51b815260040161064990612b1e565b60008581526006602090815260409182902060040186905581518781529081018690527f945c1c4e99aa89f648fbfe3df471b916f719e16d960fcec0737d4d56bd696838910160405180910390a150919392505050565b816001600082815260066020526040902060080154600160a01b900460ff16600481111561144a5761144a612952565b146114675760405162461bcd60e51b815260040161064990612c53565b60008381526006602081815260408084208151610140810183528154815260018201546001600160a01b03908116948201949094526002820154928101929092526003810154831660608301526004808201546080840152600582015460a08401529381015460c0830152600781015460e0830152600881015492831661010083015290929091610120840191600160a01b90910460ff169081111561150f5761150f612952565b600481111561152057611520612952565b8152505090508060a0015183111561158c5760405162461bcd60e51b815260206004820152602960248201527f54726164654875623a2067726561746572207175616e74697479207468616e20604482015268617661696c61626c6560b81b6064820152608401610649565b82816080015161159c9190612bee565b34146115fc5760405162461bcd60e51b815260206004820152602960248201527f54726164654875623a20506179204d61726b657420507269636520746f2062756044820152681e481d1a194813919560ba1b6064820152608401610649565b600061161082602001518360400151611ca5565b905061161f82602001516119dc565b15611676576116308534338761200d565b838260a001516116409190612ce6565b60a08301819052600003611671576000858152600660205260409020600801805460ff60a01b1916600360a01b1790555b611687565b60019350611687853433600161200d565b816040015182602001516001600160a01b0316867fb80f6fa5d230e7805d7cf6cfd37e8ef8e49c0a6431aa394ccbe4bc264d6af8b68486606001516116c93390565b88608001518b6040516116e0959493929190612cf9565b60405180910390a45050505050565b806002600082815260066020526040902060080154600160a01b900460ff16600481111561171f5761171f612952565b1461173c5760405162461bcd60e51b815260040161064990612ad5565b6000828152600660208190526040909120015442106117ab5760405162461bcd60e51b815260206004820152602560248201527f54726164654875623a2054696d65206c696d697420686173206265656e2072656044820152641858da195960da1b6064820152608401610649565b600082815260066020526040902060070154341161181d5760405162461bcd60e51b815260206004820152602960248201527f54726164654875623a2076616c7565206c657373207468616e2074686520686960448201526819da195cdd08109a5960ba1b6064820152608401610649565b600082815260066020526040902060088101546007909101546001600160a01b03909116908115611880576040516001600160a01b0383169082156108fc029083906000818181858888f1935050505015801561187e573d6000803e3d6000fd5b505b6000848152600660209081526040918290206008810180546001600160a01b03191633908117909155346007909201829055835188815292830191909152917fbfbf2db1f7880e9487cbceeb181c4dce363d0ad1b6e73f5aa494ffb5d9191496910160405180910390a250505050565b806002600082815260066020526040902060080154600160a01b900460ff16600481111561192057611920612952565b1461193d5760405162461bcd60e51b815260040161064990612ad5565b600082815260066020819052604090912001544210156119aa5760405162461bcd60e51b815260206004820152602260248201527f54726164654875623a2041756374696f6e206973207374696c6c2072756e6e696044820152616e6760f01b6064820152608401610649565b6119b382611ea1565b5050565b60006001600160e01b0319821663152a902d60e11b148061057a575061057a826123f4565b6040516301ffc9a760e01b8152636cdb3d1360e11b60048201526000906001600160a01b038316906301ffc9a7906024015b602060405180830381865afa158015611a2b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057a9190612c98565b6040516301ffc9a760e01b81526380ac58cd60e01b60048201526000906001600160a01b038316906301ffc9a790602401611a0e565b6000611a90836119dc565b15611bb3573360009081526008602090815260408083206001600160a01b0387168452825280832085845290915281205490819003611b165760038054906000611ad983612d39565b90915550506003543360009081526008602090815260408083206001600160a01b0389168452825280832087845290915290208190559150611bad565b8015801590611b8757506003600082815260066020526040902060080154600160a01b900460ff166004811115611b4f57611b4f612952565b1480611b8757506004600082815260066020526040902060080154600160a01b900460ff166004811115611b8557611b85612952565b145b15611b9457809150611bad565b6040516351e30c8f60e11b815260040160405180910390fd5b5061057a565b6001600160a01b038316600090815260076020908152604080832085845290915281205490819003611c245760038054906000611bef83612d39565b90915550506003546001600160a01b038516600090815260076020908152604080832087845290915290208190559150611c9e565b8015801590611c9557506003600082815260066020526040902060080154600160a01b900460ff166004811115611c5d57611c5d612952565b1480611c9557506004600082815260066020526040902060080154600160a01b900460ff166004811115611c9357611c93612952565b145b15611b94578091505b5092915050565b6060611cb0836119dc565b15611d29576040516303a24d0760e21b8152600481018390526001600160a01b03841690630e89341c90602401600060405180830381865afa158015611cfa573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611d229190810190612d52565b905061057a565b60405163c87b56dd60e01b8152600481018390526001600160a01b0384169063c87b56dd90602401600060405180830381865afa158015611d6e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611d969190810190612d52565b9392505050565b611da6856119dc565b15611e2f57604051637921219560e11b81526001600160a01b0385811660048301528481166024830152604482018490526064820183905260a06084830152600060a483015286169063f242432a9060c401600060405180830381600087803b158015611e1257600080fd5b505af1158015611e26573d6000803e3d6000fd5b50505050611e9a565b6040516323b872dd60e01b81526001600160a01b0385811660048301528481166024830152604482018490528616906323b872dd90606401600060405180830381600087803b158015611e8157600080fd5b505af1158015611e95573d6000803e3d6000fd5b505050505b5050505050565b6000818152600660205260409020600801546001600160a01b0316156120015760008181526006602052604081206003810154600782015460018301546002909301546001600160a01b039283169491939092169190611f018383611ca5565b9050611f0c836119dc565b15611f475760008681526006602052604090206005810154600890910154611f4190889087906001600160a01b03168461200d565b50611f71565b600086815260066020526040902060080154611f7190879086906001600160a01b0316600161200d565b6000868152600660205260409081902060080154905183916001600160a01b03808716928a927fbbdc0e71c33a588413b2b227163f057b0a3d3f23eb550873ae266121fbe1528192611fca9288928d9216908c90612dc9565b60405180910390a450505060008381526006602052604081206008810180546001600160a01b0319169055600701555061200a9050565b61200a81612429565b50565b6120156124bb565b60008481526006602081815260408084208151610140810183528154815260018201546001600160a01b03908116948201949094526002820154928101929092526003810154831660608301526004808201546080840152600582015460a08401529381015460c0830152600781015460e0830152600881015492831661010083015290929091610120840191600160a01b90910460ff16908111156120bd576120bd612952565b60048111156120ce576120ce612952565b8152505090506120e981602001513085846040015186611d9d565b6000806000600960009054906101000a90046001600160a01b03166001600160a01b031663e554d2346040518163ffffffff1660e01b8152600401602060405180830381865afa158015612141573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121659190612ba3565b905061217484602001516119dc565b1561222d576004546103e89061219a90600160a01b90046001600160601b031689612bee565b6121a49190612c31565b92506121b08388612ce6565b6040519092506001600160a01b0382169084156108fc029085906000818181858888f193505050501580156121e9573d6000803e3d6000fd5b5083606001516001600160a01b03166108fc839081150290604051600060405180830381858888f19350505050158015612227573d6000803e3d6000fd5b506123e0565b6004546103e89061224e90600160a01b90046001600160601b031689612bee565b6122589190612c31565b92506122648388612ce6565b915060008085602001516001600160a01b0316632a55205a8760400151866040518363ffffffff1660e01b81526004016122a8929190918252602082015260400190565b6040805180830381865afa1580156122c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122e89190612dff565b909250905060006122f98286612ce6565b6040519091506001600160a01b0385169087156108fc029088906000818181858888f19350505050158015612332573d6000803e3d6000fd5b506040516001600160a01b0384169083156108fc029084906000818181858888f19350505050158015612369573d6000803e3d6000fd5b5086606001516001600160a01b03166108fc829081150290604051600060405180830381858888f193505050501580156123a7573d6000803e3d6000fd5b50505060008981526006602052604090206003810180546001600160a01b0319169055600801805460ff60a01b1916600360a01b179055505b505050506123ee6001600055565b50505050565b60006001600160e01b03198216630271189760e51b148061057a57506301ffc9a760e01b6001600160e01b031983161461057a565b6000818152600660208190526040822090810182905560088101805460ff60a01b1916600160a01b179055600181015460028201546004909201546001600160a01b039091169261247a8484611ca5565b9050826001600160a01b038516867fd90c03e7bfd75512b91d0f3b713ef47c0666e00f5c30a2ac08a6d30514f899688433876040516116e093929190612bc0565b60026000540361250d5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610649565b6002600055565b60006020828403121561252657600080fd5b81356001600160e01b031981168114611d9657600080fd5b60005b83811015612559578181015183820152602001612541565b50506000910152565b6000815180845261257a81602086016020860161253e565b601f01601f19169290920160200192915050565b602081526000611d966020830184612562565b600080604083850312156125b457600080fd5b50508035926020909101359150565b6001600160a01b038116811461200a57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612617576126176125d8565b604052919050565b600067ffffffffffffffff821115612639576126396125d8565b50601f01601f191660200190565b600082601f83011261265857600080fd5b813561266b6126668261261f565b6125ee565b81815284602083860101111561268057600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156126b357600080fd5b84356126be816125c3565b935060208501356126ce816125c3565b925060408501359150606085013567ffffffffffffffff8111156126f157600080fd5b6126fd87828801612647565b91505092959194509250565b801515811461200a57600080fd5b60008060008060008060c0878903121561273057600080fd5b863561273b816125c3565b9550602087013594506040870135935060608701359250608087013561276081612709565b8092505060a087013590509295509295509295565b60006020828403121561278757600080fd5b81356001600160601b0381168114611d9657600080fd5b6000602082840312156127b057600080fd5b5035919050565b6000806000606084860312156127cc57600080fd5b83356127d7816125c3565b925060208401356127e7816125c3565b929592945050506040919091013590565b600082601f83011261280957600080fd5b8135602067ffffffffffffffff821115612825576128256125d8565b8160051b6128348282016125ee565b928352848101820192828101908785111561284e57600080fd5b83870192505b8483101561286d57823582529183019190830190612854565b979650505050505050565b600080600080600060a0868803121561289057600080fd5b853561289b816125c3565b945060208601356128ab816125c3565b9350604086013567ffffffffffffffff808211156128c857600080fd5b6128d489838a016127f8565b945060608801359150808211156128ea57600080fd5b6128f689838a016127f8565b9350608088013591508082111561290c57600080fd5b5061291988828901612647565b9150509295509295909350565b6000806040838503121561293957600080fd5b8235612944816125c3565b946020939093013593505050565b634e487b7160e01b600052602160045260246000fd5b8a81526001600160a01b038a81166020830152604082018a905288811660608301526080820188905260a0820187905260c0820186905260e0820185905283166101008201526101408101600583106129d157634e487b7160e01b600052602160045260246000fd5b826101208301529b9a5050505050505050505050565b600080600080600060a086880312156129ff57600080fd5b8535612a0a816125c3565b94506020860135612a1a816125c3565b93506040860135925060608601359150608086013567ffffffffffffffff811115612a4457600080fd5b61291988828901612647565b600181811c90821680612a6457607f821691505b602082108103612a8457634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602b908201527f54726164654875623a2053656e646572206973206e6f742073656c6c6572206f60408201526a662074686973206974656d60a81b606082015260800190565b60208082526029908201527f54726164654875623a205468652061756374696f6e20686173206e6f74207374604082015268185c9d1959081e595d60ba1b606082015260800190565b60208082526023908201527f5472616465487562203a2041756374696f6e206973207374696c6c2072756e6e604082015262696e6760e81b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b8082018082111561057a5761057a612b61565b600060208284031215612b9c57600080fd5b5051919050565b600060208284031215612bb557600080fd5b8151611d96816125c3565b606081526000612bd36060830186612562565b6001600160a01b039490941660208301525060400152919050565b808202811582820484141761057a5761057a612b61565b848152608060208201526000612c1e6080830186612562565b6040830194909452506060015292915050565b600082612c4e57634e487b7160e01b600052601260045260246000fd5b500490565b60208082526025908201527f54726164654875623a204d61726b6574206974656d206973206e6f7420666f726040820152642073616c6560d81b606082015260800190565b600060208284031215612caa57600080fd5b8151611d9681612709565b838152606060208201526000612cce6060830185612562565b905060018060a01b0383166040830152949350505050565b8181038181111561057a5761057a612b61565b60a081526000612d0c60a0830188612562565b6001600160a01b039687166020840152949095166040820152606081019290925260809091015292915050565b600060018201612d4b57612d4b612b61565b5060010190565b600060208284031215612d6457600080fd5b815167ffffffffffffffff811115612d7b57600080fd5b8201601f81018413612d8c57600080fd5b8051612d9a6126668261261f565b818152856020838501011115612daf57600080fd5b612dc082602083016020860161253e565b95945050505050565b608081526000612ddc6080830187612562565b6001600160a01b0395861660208401529390941660408201526060015292915050565b60008060408385031215612e1257600080fd5b8251612e1d816125c3565b602093909301519294929350505056fea2646970667358221220f0d2da7b39196681b26a73daecf51a9b64bfb7801a24f7f355edfa23a908131764736f6c63430008110033"; + "0x608060405234801562000010575f80fd5b5060405162003083380380620030838339810160408190526200003391620000d9565b60015f55600980546001600160a01b0319166001600160a01b038381169190911790915560048054909116600160a01b6001600160601b0386160217905560056200007f838262000262565b50600480546001600160a01b0319166001600160a01b0392909216919091179055506200032e9050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620000d4575f80fd5b919050565b5f805f60608486031215620000ec575f80fd5b83516001600160601b038116811462000103575f80fd5b602085810151919450906001600160401b038082111562000122575f80fd5b818701915087601f83011262000136575f80fd5b8151818111156200014b576200014b620000a9565b604051601f8201601f19908116603f01168101908382118183101715620001765762000176620000a9565b816040528281528a868487010111156200018e575f80fd5b5f93505b82841015620001b1578484018601518185018701529285019262000192565b5f868483010152809750505050505050620001cf60408501620000bd565b90509250925092565b600181811c90821680620001ed57607f821691505b6020821081036200020c57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200025d57805f5260205f20601f840160051c81016020851015620002395750805b601f840160051c820191505b818110156200025a575f815560010162000245565b50505b505050565b81516001600160401b038111156200027e576200027e620000a9565b62000296816200028f8454620001d8565b8462000212565b602080601f831160018114620002cc575f8415620002b45750858301515b5f19600386901b1c1916600185901b17855562000326565b5f85815260208120601f198616915b82811015620002fc57888601518255948401946001909101908401620002db565b50858210156200031a57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b612d47806200033c5f395ff3fe608060405260043610610131575f3560e01c806371329171116100a85780639b76a0d91161006d5780639b76a0d9146103b5578063b8761301146103f1578063bc197c8114610410578063e18ab4761461043b578063e61a70c014610471578063f23a6e6114610508575f80fd5b806371329171146103325780637f47c1671461035157806382367b2d146103705780639979c0091461038f5780639979ef45146103a2575f80fd5b80631522a4a3116100f95780631522a4a3146102315780632a55205a146102505780634fee13fc1461028e57806354fd4d50146102af5780635a9cd033146102d55780636b7a220014610313575f80fd5b806301ffc9a71461013557806306fdde03146101695780630aa7c8541461018a578063129f8dca146101c1578063150b7a02146101ee575b5f80fd5b348015610140575f80fd5b5061015461014f366004612449565b610533565b60405190151581526020015b60405180910390f35b348015610174575f80fd5b5061017d610563565b60405161016091906124bd565b348015610195575f80fd5b506004546101a9906001600160a01b031681565b6040516001600160a01b039091168152602001610160565b3480156101cc575f80fd5b506101e06101db3660046124cf565b6105ef565b604051908152602001610160565b3480156101f9575f80fd5b506102186102083660046125c1565b630a85bd0160e11b949350505050565b6040516001600160e01b03199091168152602001610160565b34801561023c575f80fd5b506101e061024b366004612636565b610730565b34801561025b575f80fd5b5061026f61026a3660046124cf565b610dc9565b604080516001600160a01b039093168352602083019190915201610160565b348015610299575f80fd5b506102ad6102a83660046124cf565b610e73565b005b3480156102ba575f80fd5b506102c3600181565b60405160ff9091168152602001610160565b3480156102e0575f80fd5b506004546102fb90600160a01b90046001600160601b031681565b6040516001600160601b039091168152602001610160565b34801561031e575f80fd5b506102ad61032d366004612690565b611044565b34801561033d575f80fd5b506102ad61034c3660046126b6565b611130565b34801561035c575f80fd5b506102ad61036b3660046126b6565b611278565b34801561037b575f80fd5b506101e061038a3660046124cf565b61130c565b6102ad61039d3660046124cf565b6113d5565b6102ad6103b03660046126b6565b6116a5565b3480156103c0575f80fd5b506101e06103cf3660046126cd565b600860209081525f938452604080852082529284528284209052825290205481565b3480156103fc575f80fd5b506102ad61040b3660046126b6565b61189e565b34801561041b575f80fd5b5061021861042a366004612788565b63bc197c8160e01b95945050505050565b348015610446575f80fd5b506101e061045536600461282f565b600760209081525f928352604080842090915290825290205481565b34801561047c575f80fd5b506104f261048b3660046126b6565b600660208190525f918252604090912080546001820154600283015460038401546004850154600586015496860154600787015460089097015495976001600160a01b0395861697949693861695929490939192909190811690600160a01b900460ff168a565b6040516101609a9998979695949392919061286d565b348015610513575f80fd5b506102186105223660046128ea565b63f23a6e6160e01b95945050505050565b5f636ad56fd360e11b6001600160e01b031983160161055457506001919050565b61055d82611963565b92915050565b600580546105709061294e565b80601f016020809104026020016040519081016040528092919081815260200182805461059c9061294e565b80156105e75780601f106105be576101008083540402835291602001916105e7565b820191905f5260205f20905b8154815290600101906020018083116105ca57829003601f168201915b505050505081565b5f8281526006602052604081206003015483906001600160a01b031633146106325760405162461bcd60e51b815260040161062990612986565b60405180910390fd5b8360025f82815260066020526040902060080154600160a01b900460ff16600481111561066157610661612859565b1461067e5760405162461bcd60e51b8152600401610629906129d1565b5f8581526006602052604090206008015485906001600160a01b0316156106b75760405162461bcd60e51b815260040161062990612a1a565b6106c18542612a71565b5f8781526006602081905260409182902001829055517f57726d06d1daca46f05e5ae635548ca11afdbf89f3e1d07af30a7a89df075c6d9161070e91899190918252602082015260400190565b60405180910390a15050505f9283525050600660208190526040909120015490565b5f8661073b81611987565b8061074a575061074a816119f7565b6107ad5760405162461bcd60e51b815260206004820152602e60248201527f54726164654875623a20436f6e7472616374206973206e6f7420656c6967696260448201526d6c6520666f72206c697374696e6760901b6064820152608401610629565b5f861161080b5760405162461bcd60e51b815260206004820152602660248201527f54726164654875623a205072696365206d757374206265206174206c6561737460448201526520312077656960d01b6064820152608401610629565b610814886119f7565b1561081e57600194505b83151560010361088a57603c83101561088a5760405162461bcd60e51b815260206004820152602860248201527f54726164654875623a2054696d652063616e6e6f74206265206c65737320746860448201526730b710189036b4b760c11b6064820152608401610629565b6108948888611a2c565b91505f6108a18989611c41565b90506108ac89611987565b156109a357856001600160a01b038a1662fdd58e336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018c9052604401602060405180830381865afa15801561090a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092e9190612a84565b10156109915760405162461bcd60e51b815260206004820152602c60248201527f54726164654875623a20496e73756666696369656e742071756e61746974792060448201526b666f72206c697374696e672160a01b6064820152608401610629565b61099e8933308b8a611d31565b610a82565b336040516331a9108f60e11b8152600481018a90526001600160a01b03918216918b1690636352211e90602401602060405180830381865afa1580156109eb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a0f9190612a9b565b6001600160a01b031614610a745760405162461bcd60e51b815260206004820152602660248201527f54726164654875623a2053656e64657220646f6573206e6f74206f776e20746860448201526565206974656d60d01b6064820152608401610629565b610a828933308b6001611d31565b600185151514610c10576040518061014001604052808481526020018a6001600160a01b03168152602001898152602001610aba3390565b6001600160a01b0316815260208101899052604081018890525f606082018190526080820181905260a082015260c001600190525f8481526006602081815260409283902084518155908401516001820180546001600160a01b03199081166001600160a01b039384161790915593850151600283015560608501516003830180548616918316919091179055608085015160048084019190915560a0860151600584015560c08601519383019390935560e085015160078301556101008501516008830180549586169190921690811782556101208601519294929391926001600160a81b0319161790600160a01b908490811115610bbc57610bbc612859565b0217905550899150506001600160a01b038a16847fd90c03e7bfd75512b91d0f3b713ef47c0666e00f5c30a2ac08a6d30514f8996884338c604051610c0393929190612ab6565b60405180910390a4610dbd565b5f610c1b8542612a71565b90505f610c28888a612ae3565b90506040518061014001604052808681526020018c6001600160a01b031681526020018b8152602001610c583390565b6001600160a01b03168152602081018b9052604081018a905260608101849052608081018390525f60a082015260c001600290525f8681526006602081815260409283902084518155908401516001820180546001600160a01b03199081166001600160a01b039384161790915593850151600283015560608501516003830180548616918316919091179055608085015160048084019190915560a0860151600584015560c08601519383019390935560e085015160078301556101008501516008830180549586169190921690811782556101208601519294929391926001600160a81b0319161790600160a01b908490811115610d5a57610d5a612859565b0217905550905050610d693390565b6001600160a01b03168a8c6001600160a01b03167f39ed0bb0416b400d0f3fa4402ca48e2e9fbc9042ec88cf4a341cc715f14de90488878e88604051610db29493929190612afa565b60405180910390a450505b50509695505050505050565b5f8281526002602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b0316928201929092528291610e3d5750604080518082019091526001546001600160a01b0381168252600160a01b90046001600160601b031660208201525b60208101515f9061271090610e5b906001600160601b031687612ae3565b610e659190612b25565b915196919550909350505050565b5f8281526006602052604090206003015482906001600160a01b03163314610ead5760405162461bcd60e51b815260040161062990612986565b8260015f82815260066020526040902060080154600160a01b900460ff166004811115610edc57610edc612859565b14610ef95760405162461bcd60e51b815260040161062990612b44565b5f848152600660205260409020600101546001600160a01b0316603c841015610f7b5760405162461bcd60e51b815260206004820152602e60248201527f54726164654875623a2054696d65722063616e6e6f74206265206c657373207460448201526d68616e204f6e65204d696e75746560901b6064820152608401610629565b5f8581526006602052604081206005810154600490910154610f9d9190612ae3565b90505f610faa8642612a71565b5f888152600660208190526040822090810183905560088101805460ff60a01b1916600160a11b17905560020154919250610fe58583611c41565b9050336001600160a01b031682866001600160a01b03167f39ed0bb0416b400d0f3fa4402ca48e2e9fbc9042ec88cf4a341cc715f14de9048c85898e6040516110319493929190612afa565b60405180910390a4505050505050505050565b6009546001600160a01b0316636d70f7ae336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611098573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110bc9190612b89565b6111085760405162461bcd60e51b815260206004820152601a60248201527f457465726e756d506173733a20556e617574686f72697a6564210000000000006044820152606401610629565b600480546001600160601b03909216600160a01b026001600160a01b03909216919091179055565b5f8181526006602052604090206003015481906001600160a01b0316331461116a5760405162461bcd60e51b815260040161062990612986565b5f8281526006602052604090206008015482906001600160a01b0316156111a35760405162461bcd60e51b815260040161062990612a1a565b5f8381526006602052604090206001810154600382015460028301546005909301546001600160a01b039283169391909216916111e38430858585611d31565b5f878152600660205260408120600801805460ff60a01b1916600160a21b17905561120e8584611c41565b5f8981526006602052604090206002810154600190910154919250906001600160a01b03167fae1e13d4bf13a666a5162ff2a286b302074d0ea0cd82ecb2c4f27a4824738bda8a843360405161126693929190612ba4565b60405180910390a35050505050505050565b8060025f82815260066020526040902060080154600160a01b900460ff1660048111156112a7576112a7612859565b146112c45760405162461bcd60e51b8152600401610629906129d1565b5f8281526006602052604090206003015482906001600160a01b031633146112fe5760405162461bcd60e51b815260040161062990612986565b61130783611e2a565b505050565b5f8281526006602052604081206003015483906001600160a01b031633146113465760405162461bcd60e51b815260040161062990612986565b5f8481526006602052604090206008015484906001600160a01b03161561137f5760405162461bcd60e51b815260040161062990612a1a565b5f8581526006602090815260409182902060040186905581518781529081018690527f945c1c4e99aa89f648fbfe3df471b916f719e16d960fcec0737d4d56bd696838910160405180910390a150919392505050565b8160015f82815260066020526040902060080154600160a01b900460ff16600481111561140457611404612859565b146114215760405162461bcd60e51b815260040161062990612b44565b5f8381526006602081815260408084208151610140810183528154815260018201546001600160a01b03908116948201949094526002820154928101929092526003810154831660608301526004808201546080840152600582015460a08401529381015460c0830152600781015460e0830152600881015492831661010083015290929091610120840191600160a01b90910460ff16908111156114c8576114c8612859565b60048111156114d9576114d9612859565b8152505090508060a001518311156115455760405162461bcd60e51b815260206004820152602960248201527f54726164654875623a2067726561746572207175616e74697479207468616e20604482015268617661696c61626c6560b81b6064820152608401610629565b8281608001516115559190612ae3565b34146115b55760405162461bcd60e51b815260206004820152602960248201527f54726164654875623a20506179204d61726b657420507269636520746f2062756044820152681e481d1a194813919560ba1b6064820152608401610629565b5f6115c882602001518360400151611c41565b90506115d78260200151611987565b1561162c576115e885343387611f90565b838260a001516115f89190612bd4565b60a083018190525f03611627575f858152600660205260409020600801805460ff60a01b1916600360a01b1790555b61163d565b6001935061163d8534336001611f90565b816040015182602001516001600160a01b0316867fb80f6fa5d230e7805d7cf6cfd37e8ef8e49c0a6431aa394ccbe4bc264d6af8b684866060015161167f3390565b88608001518b604051611696959493929190612be7565b60405180910390a45050505050565b8060025f82815260066020526040902060080154600160a01b900460ff1660048111156116d4576116d4612859565b146116f15760405162461bcd60e51b8152600401610629906129d1565b5f8281526006602081905260409091200154421061175f5760405162461bcd60e51b815260206004820152602560248201527f54726164654875623a2054696d65206c696d697420686173206265656e2072656044820152641858da195960da1b6064820152608401610629565b5f8281526006602052604090206007015434116117d05760405162461bcd60e51b815260206004820152602960248201527f54726164654875623a2076616c7565206c657373207468616e2074686520686960448201526819da195cdd08109a5960ba1b6064820152608401610629565b5f82815260066020526040902060088101546007909101546001600160a01b0390911690811561182f576040516001600160a01b0383169082156108fc029083905f818181858888f1935050505015801561182d573d5f803e3d5ffd5b505b5f848152600660209081526040918290206008810180546001600160a01b03191633908117909155346007909201829055835188815292830191909152917fbfbf2db1f7880e9487cbceeb181c4dce363d0ad1b6e73f5aa494ffb5d9191496910160405180910390a250505050565b8060025f82815260066020526040902060080154600160a01b900460ff1660048111156118cd576118cd612859565b146118ea5760405162461bcd60e51b8152600401610629906129d1565b5f82815260066020819052604090912001544210156119565760405162461bcd60e51b815260206004820152602260248201527f54726164654875623a2041756374696f6e206973207374696c6c2072756e6e696044820152616e6760f01b6064820152608401610629565b61195f82611e2a565b5050565b5f6001600160e01b0319821663152a902d60e11b148061055d575061055d8261235c565b6040516301ffc9a760e01b8152636cdb3d1360e11b60048201525f906001600160a01b038316906301ffc9a7906024015b602060405180830381865afa1580156119d3573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055d9190612b89565b6040516301ffc9a760e01b81526380ac58cd60e01b60048201525f906001600160a01b038316906301ffc9a7906024016119b8565b5f611a3683611987565b15611b5457335f9081526008602090815260408083206001600160a01b0387168452825280832085845290915281205490819003611ab95760038054905f611a7d83612c26565b9091555050600354335f9081526008602090815260408083206001600160a01b0389168452825280832087845290915290208190559150611b4e565b8015801590611b28575060035f82815260066020526040902060080154600160a01b900460ff166004811115611af157611af1612859565b1480611b28575060045f82815260066020526040902060080154600160a01b900460ff166004811115611b2657611b26612859565b145b15611b3557809150611b4e565b6040516351e30c8f60e11b815260040160405180910390fd5b5061055d565b6001600160a01b0383165f90815260076020908152604080832085845290915281205490819003611bc25760038054905f611b8e83612c26565b90915550506003546001600160a01b0385165f90815260076020908152604080832087845290915290208190559150611c3a565b8015801590611c31575060035f82815260066020526040902060080154600160a01b900460ff166004811115611bfa57611bfa612859565b1480611c31575060045f82815260066020526040902060080154600160a01b900460ff166004811115611c2f57611c2f612859565b145b15611b35578091505b5092915050565b6060611c4c83611987565b15611cc1576040516303a24d0760e21b8152600481018390526001600160a01b03841690630e89341c906024015f60405180830381865afa158015611c93573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611cba9190810190612c3e565b905061055d565b60405163c87b56dd60e01b8152600481018390526001600160a01b0384169063c87b56dd906024015f60405180830381865afa158015611d03573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611d2a9190810190612c3e565b9392505050565b611d3a85611987565b15611dbd57604051637921219560e11b81526001600160a01b0385811660048301528481166024830152604482018490526064820183905260a060848301525f60a483015286169063f242432a9060c4015f604051808303815f87803b158015611da2575f80fd5b505af1158015611db4573d5f803e3d5ffd5b50505050611e23565b6040516323b872dd60e01b81526001600160a01b0385811660048301528481166024830152604482018490528616906323b872dd906064015f604051808303815f87803b158015611e0c575f80fd5b505af1158015611e1e573d5f803e3d5ffd5b505050505b5050505050565b5f818152600660205260409020600801546001600160a01b031615611f84575f8181526006602052604081206003810154600782015460018301546002909301546001600160a01b039283169491939092169190611e888383611c41565b9050611e9383611987565b15611ecd575f8681526006602052604090206005810154600890910154611ec790889087906001600160a01b031684611f90565b50611ef6565b5f86815260066020526040902060080154611ef690879086906001600160a01b03166001611f90565b5f868152600660205260409081902060080154905183916001600160a01b03808716928a927fbbdc0e71c33a588413b2b227163f057b0a3d3f23eb550873ae266121fbe1528192611f4e9288928d9216908c90612cb0565b60405180910390a45050505f8381526006602052604081206008810180546001600160a01b03191690556007015550611f8d9050565b611f8d81612390565b50565b611f98612421565b5f8481526006602081815260408084208151610140810183528154815260018201546001600160a01b03908116948201949094526002820154928101929092526003810154831660608301526004808201546080840152600582015460a08401529381015460c0830152600781015460e0830152600881015492831661010083015290929091610120840191600160a01b90910460ff169081111561203f5761203f612859565b600481111561205057612050612859565b81525050905061206b81602001513085846040015186611d31565b5f805f60095f9054906101000a90046001600160a01b03166001600160a01b031663e554d2346040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120be573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120e29190612a9b565b90506120f18460200151611987565b156121a4576004546103e89061211790600160a01b90046001600160601b031689612ae3565b6121219190612b25565b925061212d8388612bd4565b6040519092506001600160a01b0382169084156108fc029085905f818181858888f19350505050158015612163573d5f803e3d5ffd5b5083606001516001600160a01b03166108fc8390811502906040515f60405180830381858888f1935050505015801561219e573d5f803e3d5ffd5b50612349565b6004546103e8906121c590600160a01b90046001600160601b031689612ae3565b6121cf9190612b25565b92506121db8388612bd4565b91505f8085602001516001600160a01b0316632a55205a8760400151866040518363ffffffff1660e01b815260040161221e929190918252602082015260400190565b6040805180830381865afa158015612238573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061225c9190612ce5565b90925090505f61226c8286612bd4565b6040519091506001600160a01b0385169087156108fc029088905f818181858888f193505050501580156122a2573d5f803e3d5ffd5b506040516001600160a01b0384169083156108fc029084905f818181858888f193505050501580156122d6573d5f803e3d5ffd5b5086606001516001600160a01b03166108fc8290811502906040515f60405180830381858888f19350505050158015612311573d5f803e3d5ffd5b5050505f8981526006602052604090206003810180546001600160a01b0319169055600801805460ff60a01b1916600360a01b179055505b5050505061235660015f55565b50505050565b5f6001600160e01b03198216630271189760e51b148061055d57506301ffc9a760e01b6001600160e01b031983161461055d565b5f818152600660208190526040822090810182905560088101805460ff60a01b1916600160a01b179055600181015460028201546004909201546001600160a01b03909116926123e08484611c41565b9050826001600160a01b038516867fd90c03e7bfd75512b91d0f3b713ef47c0666e00f5c30a2ac08a6d30514f8996884338760405161169693929190612ab6565b60025f540361244357604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b5f60208284031215612459575f80fd5b81356001600160e01b031981168114611d2a575f80fd5b5f5b8381101561248a578181015183820152602001612472565b50505f910152565b5f81518084526124a9816020860160208601612470565b601f01601f19169290920160200192915050565b602081525f611d2a6020830184612492565b5f80604083850312156124e0575f80fd5b50508035926020909101359150565b6001600160a01b0381168114611f8d575f80fd5b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561254057612540612503565b604052919050565b5f67ffffffffffffffff82111561256157612561612503565b50601f01601f191660200190565b5f82601f83011261257e575f80fd5b813561259161258c82612548565b612517565b8181528460208386010111156125a5575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f80608085870312156125d4575f80fd5b84356125df816124ef565b935060208501356125ef816124ef565b925060408501359150606085013567ffffffffffffffff811115612611575f80fd5b61261d8782880161256f565b91505092959194509250565b8015158114611f8d575f80fd5b5f805f805f8060c0878903121561264b575f80fd5b8635612656816124ef565b9550602087013594506040870135935060608701359250608087013561267b81612629565b8092505060a087013590509295509295509295565b5f602082840312156126a0575f80fd5b81356001600160601b0381168114611d2a575f80fd5b5f602082840312156126c6575f80fd5b5035919050565b5f805f606084860312156126df575f80fd5b83356126ea816124ef565b925060208401356126fa816124ef565b929592945050506040919091013590565b5f82601f83011261271a575f80fd5b8135602067ffffffffffffffff82111561273657612736612503565b8160051b612745828201612517565b928352848101820192828101908785111561275e575f80fd5b83870192505b8483101561277d57823582529183019190830190612764565b979650505050505050565b5f805f805f60a0868803121561279c575f80fd5b85356127a7816124ef565b945060208601356127b7816124ef565b9350604086013567ffffffffffffffff808211156127d3575f80fd5b6127df89838a0161270b565b945060608801359150808211156127f4575f80fd5b61280089838a0161270b565b93506080880135915080821115612815575f80fd5b506128228882890161256f565b9150509295509295909350565b5f8060408385031215612840575f80fd5b823561284b816124ef565b946020939093013593505050565b634e487b7160e01b5f52602160045260245ffd5b8a81526001600160a01b038a81166020830152604082018a905288811660608301526080820188905260a0820187905260c0820186905260e0820185905283166101008201526101408101600583106128d457634e487b7160e01b5f52602160045260245ffd5b826101208301529b9a5050505050505050505050565b5f805f805f60a086880312156128fe575f80fd5b8535612909816124ef565b94506020860135612919816124ef565b93506040860135925060608601359150608086013567ffffffffffffffff811115612942575f80fd5b6128228882890161256f565b600181811c9082168061296257607f821691505b60208210810361298057634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252602b908201527f54726164654875623a2053656e646572206973206e6f742073656c6c6572206f60408201526a662074686973206974656d60a81b606082015260800190565b60208082526029908201527f54726164654875623a205468652061756374696f6e20686173206e6f74207374604082015268185c9d1959081e595d60ba1b606082015260800190565b60208082526023908201527f5472616465487562203a2041756374696f6e206973207374696c6c2072756e6e604082015262696e6760e81b606082015260800190565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561055d5761055d612a5d565b5f60208284031215612a94575f80fd5b5051919050565b5f60208284031215612aab575f80fd5b8151611d2a816124ef565b606081525f612ac86060830186612492565b6001600160a01b039490941660208301525060400152919050565b808202811582820484141761055d5761055d612a5d565b848152608060208201525f612b126080830186612492565b6040830194909452506060015292915050565b5f82612b3f57634e487b7160e01b5f52601260045260245ffd5b500490565b60208082526025908201527f54726164654875623a204d61726b6574206974656d206973206e6f7420666f726040820152642073616c6560d81b606082015260800190565b5f60208284031215612b99575f80fd5b8151611d2a81612629565b838152606060208201525f612bbc6060830185612492565b905060018060a01b0383166040830152949350505050565b8181038181111561055d5761055d612a5d565b60a081525f612bf960a0830188612492565b6001600160a01b039687166020840152949095166040820152606081019290925260809091015292915050565b5f60018201612c3757612c37612a5d565b5060010190565b5f60208284031215612c4e575f80fd5b815167ffffffffffffffff811115612c64575f80fd5b8201601f81018413612c74575f80fd5b8051612c8261258c82612548565b818152856020838501011115612c96575f80fd5b612ca7826020830160208601612470565b95945050505050565b608081525f612cc26080830187612492565b6001600160a01b0395861660208401529390941660408201526060015292915050565b5f8060408385031215612cf6575f80fd5b8251612d01816124ef565b602093909301519294929350505056fea264697066735822122058bcb3631cc05eac47b1f103f17ae3433ec5f3ce772eaab8dc3ddc80bdd211f764736f6c63430008180033"; type TradeHubConstructorParams = | [signer?: Signer] diff --git a/typechain-types/hardhat.d.ts b/typechain-types/hardhat.d.ts index bee6ae4..9a9d5bd 100644 --- a/typechain-types/hardhat.d.ts +++ b/typechain-types/hardhat.d.ts @@ -20,14 +20,26 @@ declare module "hardhat/types/runtime" { name: "AccessControlEnumerable", signerOrOptions?: ethers.Signer | FactoryOptions ): Promise; + getContractFactory( + name: "IAccessControlEnumerable", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; getContractFactory( name: "IAccessControl", signerOrOptions?: ethers.Signer | FactoryOptions ): Promise; getContractFactory( - name: "IAccessControlEnumerable", + name: "IERC1155Errors", signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; + ): Promise; + getContractFactory( + name: "IERC20Errors", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC721Errors", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; getContractFactory( name: "IERC1271", signerOrOptions?: ethers.Signer | FactoryOptions @@ -36,6 +48,10 @@ declare module "hardhat/types/runtime" { name: "IERC2981", signerOrOptions?: ethers.Signer | FactoryOptions ): Promise; + getContractFactory( + name: "IERC5267", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; getContractFactory( name: "ERC2981", signerOrOptions?: ethers.Signer | FactoryOptions @@ -64,10 +80,6 @@ declare module "hardhat/types/runtime" { name: "ERC1155Holder", signerOrOptions?: ethers.Signer | FactoryOptions ): Promise; - getContractFactory( - name: "ERC1155Receiver", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; getContractFactory( name: "ERC20", signerOrOptions?: ethers.Signer | FactoryOptions @@ -108,6 +120,18 @@ declare module "hardhat/types/runtime" { name: "ERC721Holder", signerOrOptions?: ethers.Signer | FactoryOptions ): Promise; + getContractFactory( + name: "Create2", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ECDSA", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "EIP712", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; getContractFactory( name: "ERC165", signerOrOptions?: ethers.Signer | FactoryOptions @@ -116,6 +140,22 @@ declare module "hardhat/types/runtime" { name: "IERC165", signerOrOptions?: ethers.Signer | FactoryOptions ): Promise; + getContractFactory( + name: "Math", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ReentrancyGuard", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ShortStrings", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Strings", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; getContractFactory( name: "AccessMaster", signerOrOptions?: ethers.Signer | FactoryOptions @@ -184,10 +224,6 @@ declare module "hardhat/types/runtime" { name: "MyriadFlowOfferStation", signerOrOptions?: ethers.Signer | FactoryOptions ): Promise; - getContractFactory( - name: "FlowSubscription", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; getContractFactory( name: "NFT", signerOrOptions?: ethers.Signer | FactoryOptions @@ -235,16 +271,31 @@ declare module "hardhat/types/runtime" { address: string, signer?: ethers.Signer ): Promise; + getContractAt( + name: "IAccessControlEnumerable", + address: string, + signer?: ethers.Signer + ): Promise; getContractAt( name: "IAccessControl", address: string, signer?: ethers.Signer ): Promise; getContractAt( - name: "IAccessControlEnumerable", + name: "IERC1155Errors", address: string, signer?: ethers.Signer - ): Promise; + ): Promise; + getContractAt( + name: "IERC20Errors", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC721Errors", + address: string, + signer?: ethers.Signer + ): Promise; getContractAt( name: "IERC1271", address: string, @@ -255,6 +306,11 @@ declare module "hardhat/types/runtime" { address: string, signer?: ethers.Signer ): Promise; + getContractAt( + name: "IERC5267", + address: string, + signer?: ethers.Signer + ): Promise; getContractAt( name: "ERC2981", address: string, @@ -290,11 +346,6 @@ declare module "hardhat/types/runtime" { address: string, signer?: ethers.Signer ): Promise; - getContractAt( - name: "ERC1155Receiver", - address: string, - signer?: ethers.Signer - ): Promise; getContractAt( name: "ERC20", address: string, @@ -345,6 +396,21 @@ declare module "hardhat/types/runtime" { address: string, signer?: ethers.Signer ): Promise; + getContractAt( + name: "Create2", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ECDSA", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "EIP712", + address: string, + signer?: ethers.Signer + ): Promise; getContractAt( name: "ERC165", address: string, @@ -355,6 +421,26 @@ declare module "hardhat/types/runtime" { address: string, signer?: ethers.Signer ): Promise; + getContractAt( + name: "Math", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ReentrancyGuard", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ShortStrings", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Strings", + address: string, + signer?: ethers.Signer + ): Promise; getContractAt( name: "AccessMaster", address: string, @@ -440,11 +526,6 @@ declare module "hardhat/types/runtime" { address: string, signer?: ethers.Signer ): Promise; - getContractAt( - name: "FlowSubscription", - address: string, - signer?: ethers.Signer - ): Promise; getContractAt( name: "NFT", address: string, diff --git a/typechain-types/index.ts b/typechain-types/index.ts index c7406cb..9136113 100644 --- a/typechain-types/index.ts +++ b/typechain-types/index.ts @@ -3,10 +3,14 @@ /* eslint-disable */ export type { AccessControl } from "./AccessControl"; export type { AccessControlEnumerable } from "./AccessControlEnumerable"; -export type { IAccessControl } from "./IAccessControl"; export type { IAccessControlEnumerable } from "./IAccessControlEnumerable"; +export type { IAccessControl } from "./IAccessControl"; +export type { IERC1155Errors } from "./IERC1155Errors"; +export type { IERC20Errors } from "./IERC20Errors"; +export type { IERC721Errors } from "./IERC721Errors"; export type { IERC1271 } from "./IERC1271"; export type { IERC2981 } from "./IERC2981"; +export type { IERC5267 } from "./IERC5267"; export type { ERC2981 } from "./ERC2981"; export type { ERC1155 } from "./ERC1155"; export type { ERC1155Supply } from "./ERC1155Supply"; @@ -14,7 +18,6 @@ export type { IERC1155MetadataURI } from "./IERC1155MetadataURI"; export type { IERC1155 } from "./IERC1155"; export type { IERC1155Receiver } from "./IERC1155Receiver"; export type { ERC1155Holder } from "./ERC1155Holder"; -export type { ERC1155Receiver } from "./ERC1155Receiver"; export type { ERC20 } from "./ERC20"; export type { IERC20Metadata } from "./IERC20Metadata"; export type { IERC20 } from "./IERC20"; @@ -25,8 +28,15 @@ export type { IERC721Metadata } from "./IERC721Metadata"; export type { IERC721 } from "./IERC721"; export type { IERC721Receiver } from "./IERC721Receiver"; export type { ERC721Holder } from "./ERC721Holder"; +export type { Create2 } from "./Create2"; +export type { ECDSA } from "./ECDSA"; +export type { EIP712 } from "./EIP712"; export type { ERC165 } from "./ERC165"; export type { IERC165 } from "./IERC165"; +export type { Math } from "./Math"; +export type { ReentrancyGuard } from "./ReentrancyGuard"; +export type { ShortStrings } from "./ShortStrings"; +export type { Strings } from "./Strings"; export type { AccessMaster } from "./AccessMaster"; export type { IACCESSMASTER } from "./IACCESSMASTER"; export type { ERC721AIERC721Receiver } from "./ERC721AIERC721Receiver"; @@ -44,7 +54,6 @@ export type { CyberMavenRegistry } from "./CyberMavenRegistry"; export type { IERC6551Account } from "./IERC6551Account"; export type { IERC6551Registry } from "./IERC6551Registry"; export type { MyriadFlowOfferStation } from "./MyriadFlowOfferStation"; -export type { FlowSubscription } from "./FlowSubscription"; export type { NFT } from "./NFT"; export type { SFT } from "./SFT"; export type { Token } from "./Token"; @@ -57,10 +66,14 @@ export type { TradeHub } from "./TradeHub"; export { AccessControl__factory } from "./factories/AccessControl__factory"; export { AccessControlEnumerable__factory } from "./factories/AccessControlEnumerable__factory"; -export { IAccessControl__factory } from "./factories/IAccessControl__factory"; export { IAccessControlEnumerable__factory } from "./factories/IAccessControlEnumerable__factory"; +export { IAccessControl__factory } from "./factories/IAccessControl__factory"; +export { IERC1155Errors__factory } from "./factories/IERC1155Errors__factory"; +export { IERC20Errors__factory } from "./factories/IERC20Errors__factory"; +export { IERC721Errors__factory } from "./factories/IERC721Errors__factory"; export { IERC1271__factory } from "./factories/IERC1271__factory"; export { IERC2981__factory } from "./factories/IERC2981__factory"; +export { IERC5267__factory } from "./factories/IERC5267__factory"; export { ERC2981__factory } from "./factories/ERC2981__factory"; export { ERC1155__factory } from "./factories/ERC1155__factory"; export { ERC1155Supply__factory } from "./factories/ERC1155Supply__factory"; @@ -68,7 +81,6 @@ export { IERC1155MetadataURI__factory } from "./factories/IERC1155MetadataURI__f export { IERC1155__factory } from "./factories/IERC1155__factory"; export { IERC1155Receiver__factory } from "./factories/IERC1155Receiver__factory"; export { ERC1155Holder__factory } from "./factories/ERC1155Holder__factory"; -export { ERC1155Receiver__factory } from "./factories/ERC1155Receiver__factory"; export { ERC20__factory } from "./factories/ERC20__factory"; export { IERC20Metadata__factory } from "./factories/IERC20Metadata__factory"; export { IERC20__factory } from "./factories/IERC20__factory"; @@ -79,8 +91,15 @@ export { IERC721Metadata__factory } from "./factories/IERC721Metadata__factory"; export { IERC721__factory } from "./factories/IERC721__factory"; export { IERC721Receiver__factory } from "./factories/IERC721Receiver__factory"; export { ERC721Holder__factory } from "./factories/ERC721Holder__factory"; +export { Create2__factory } from "./factories/Create2__factory"; +export { ECDSA__factory } from "./factories/ECDSA__factory"; +export { EIP712__factory } from "./factories/EIP712__factory"; export { ERC165__factory } from "./factories/ERC165__factory"; export { IERC165__factory } from "./factories/IERC165__factory"; +export { Math__factory } from "./factories/Math__factory"; +export { ReentrancyGuard__factory } from "./factories/ReentrancyGuard__factory"; +export { ShortStrings__factory } from "./factories/ShortStrings__factory"; +export { Strings__factory } from "./factories/Strings__factory"; export { AccessMaster__factory } from "./factories/AccessMaster__factory"; export { IACCESSMASTER__factory } from "./factories/IACCESSMASTER__factory"; export { ERC721AIERC721Receiver__factory } from "./factories/ERC721AIERC721Receiver__factory"; @@ -98,7 +117,6 @@ export { CyberMavenRegistry__factory } from "./factories/CyberMavenRegistry__fac export { IERC6551Account__factory } from "./factories/IERC6551Account__factory"; export { IERC6551Registry__factory } from "./factories/IERC6551Registry__factory"; export { MyriadFlowOfferStation__factory } from "./factories/MyriadFlowOfferStation__factory"; -export { FlowSubscription__factory } from "./factories/FlowSubscription__factory"; export { NFT__factory } from "./factories/NFT__factory"; export { SFT__factory } from "./factories/SFT__factory"; export { Token__factory } from "./factories/Token__factory"; diff --git a/yarn.lock b/yarn.lock index 03a87bf..bdebd12 100644 --- a/yarn.lock +++ b/yarn.lock @@ -796,6 +796,21 @@ mcl-wasm "^0.7.1" rustbn.js "~0.2.0" +"@nomicfoundation/hardhat-verify@^2.0.8": + version "2.0.8" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-verify/-/hardhat-verify-2.0.8.tgz#6a77dc03de990a1a3aa8e6dc073c393263dbf258" + integrity sha512-x/OYya7A2Kcz+3W/J78dyDHxr0ezU23DKTrRKfy5wDPCnePqnr79vm8EXqX3gYps6IjPBYyGPZ9K6E5BnrWx5Q== + dependencies: + "@ethersproject/abi" "^5.1.2" + "@ethersproject/address" "^5.0.2" + cbor "^8.1.0" + chalk "^2.4.2" + debug "^4.1.1" + lodash.clonedeep "^4.5.0" + semver "^6.3.0" + table "^6.8.0" + undici "^5.14.0" + "@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.1": version "0.1.1" resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.1.tgz#4c858096b1c17fe58a474fe81b46815f93645c15" @@ -867,22 +882,6 @@ resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.2.3.tgz#b41053e360c31a32c2640c9a45ee981a7e603fe0" integrity sha512-YhzPdzb612X591FOe68q+qXVXGG2ANZRvDo0RRUtimev85rCrAlv/TLMEZw5c+kq9AbzocLTVX/h2jVIFPL9Xg== -"@nomiclabs/hardhat-etherscan@^3.0.0": - version "3.1.7" - resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-etherscan/-/hardhat-etherscan-3.1.7.tgz#72e3d5bd5d0ceb695e097a7f6f5ff6fcbf062b9a" - integrity sha512-tZ3TvSgpvsQ6B6OGmo1/Au6u8BrAkvs1mIC/eURA3xgIfznUZBhmpne8hv7BXUzw9xNL3fXdpOYgOQlVMTcoHQ== - dependencies: - "@ethersproject/abi" "^5.1.2" - "@ethersproject/address" "^5.0.2" - cbor "^8.1.0" - chalk "^2.4.2" - debug "^4.1.1" - fs-extra "^7.0.1" - lodash "^4.17.11" - semver "^6.3.0" - table "^6.8.0" - undici "^5.14.0" - "@nomiclabs/hardhat-truffle5@^2.0.3": version "2.0.7" resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-truffle5/-/hardhat-truffle5-2.0.7.tgz#7519eadd2c6c460c2addc3d4d6efda7a8883361e" @@ -930,10 +929,10 @@ find-up "^4.1.0" fs-extra "^8.1.0" -"@openzeppelin/contracts@^4.8.0": - version "4.8.3" - resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-4.8.3.tgz#cbef3146bfc570849405f59cba18235da95a252a" - integrity sha512-bQHV8R9Me8IaJoJ2vPG4rXcL7seB7YVuskr4f+f5RyOStSZetwzkWtoqDMl5erkBJy0lDRUnIR2WIkPiC0GJlg== +"@openzeppelin/contracts@^5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-5.0.2.tgz#b1d03075e49290d06570b2fd42154d76c2a5d210" + integrity sha512-ytPc6eLGcHHnapAZ9S+5qsdomhjo6QBHTDRRBFfTxXIpsicMhVPouPgmUPebZZZGX7vt9USA+Z+0M0dSVtSUEA== "@openzeppelin/test-helpers@^0.5.15": version "0.5.16" @@ -6939,6 +6938,11 @@ lodash.camelcase@^4.3.0: resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== +lodash.clonedeep@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + integrity sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ== + lodash.flatten@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" @@ -9688,7 +9692,7 @@ table-layout@^1.0.2: typical "^5.2.0" wordwrapjs "^4.0.0" -table@^6.0.9, table@^6.8.0, table@^6.8.1: +table@^6.0.9, table@^6.8.1: version "6.8.1" resolved "https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf" integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA== @@ -9699,6 +9703,17 @@ table@^6.0.9, table@^6.8.0, table@^6.8.1: string-width "^4.2.3" strip-ansi "^6.0.1" +table@^6.8.0: + version "6.8.2" + resolved "https://registry.yarnpkg.com/table/-/table-6.8.2.tgz#c5504ccf201213fa227248bdc8c5569716ac6c58" + integrity sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA== + dependencies: + ajv "^8.0.1" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + tape@^4.6.3: version "4.16.2" resolved "https://registry.yarnpkg.com/tape/-/tape-4.16.2.tgz#7565e6af20426565557266e9dda7215869b297b6"