To avoid the necessity of cancelling no-longer-desired orders, makers can sign orders with expiration times in the near future and re-sign new orders for only as long as they wish to continue soliciting the trade. - function transferOwnership(address ne - function transfer(address to, uint256 - function allowance(address owner, add - function transferFrom(address from, a - function approve(address spender, uin - function guardedArrayReplace(bytes me - function arrayEq(bytes memory a, byte - function unsafeWriteBytes(uint index, - function unsafeWriteAddress(uint inde - function unsafeWriteAddressWord(uint - function unsafeWriteUint(uint index, - function unsafeWriteUint8(uint index, - function unsafeWriteUint8Word(uint in - function unsafeWriteBytes32(uint inde - function receiveApproval(address from - function changeMinimumMakerProtocolFe - function changeMinimumTakerProtocolFe - function changeProtocolFeeRecipient(a - function transferTokens(address token - function chargeProtocolFee(address fr - function staticCall(address target, b - function hashOrder(Order memory order - function hashToSign(Order memory orde - function requireValidOrder(Order memo - function validateOrderParameters(Orde - function validateOrder(bytes32 hash, - function _tryContractSignature(addres - function approveOrder(Order memory or - function cancelOrder(Order memory ord - function calculateCurrentPrice (Order - function calculateMatchPrice(Order me - function executeFundsTransfer(Order m - function ordersCanMatch(Order memory - function atomicMatch(Order memory buy - function _requireValidOrderWithNonce( - function guardedArrayReplace(bytes ar - function calculateFinalPrice(SaleKind - function orderCalldataCanMatch(bytes - function validateParameters(SaleKind - function canSettleOrder(uint listingT - function calculateFinalPrice(Side sid - function startGrantAuthentication (ad - function endGrantAuthentication (addr - function revokeAuthentication (addres - function transferFrom(address token, - function setUpgradeabilityOwner(addre - function initialize (address addrUser - function proxy(address dest, HowToCal - function proxyAssert(address dest, Ho - function _upgradeTo(address implement - function transferProxyOwnership(addre - function upgradeTo(address implementa - function upgradeToAndCall(address imp 0xa5409ec958C83C3f309868babACA7c86DCB077c1, 0xE5c783EE536cf5E63E792988335c4255169be4E1, 0x056017c55aE7AE32d12AeF7C679dF83A85ca75Ff, 0xa839D4b5A36265795EbA6894651a8aF3d0aE2e68, ABIDecodeTwoDimensionalArrayMemory (very low-severity), ImplicitConstructorCallvalueCheck (very low-severity), TupleAssignmentMultiStackSlotComponents (very low-severity), MemoryArrayCreationOverflow (low-severity), SignedArrayStorageCopy (low/medium-severity), ABIEncoderV2StorageArrayWithMultiSlotElement (low-severity), DynamicConstructorArgumentsClippedABIV2 (very low-severity). By clicking Sign up for GitHub, you agree to our terms of service and Select "add funds.". Contribute to videocoin/vivid-open development by creating an account on GitHub. Learn more at MetaMask Learn Contract Internal Transactions as a result of contract execution on the Ethereum blockchain. The typed signature request will be different depending on which contract you're interacting with. Now it's ranked as #6165 in general dApp rankings according to the user count, and #76 in the Marketplaces category, which gives you a good idea of how Wyvern Exchange dApp performs among its competitors.. By analyzing Wyvern Exchange dApp data in the . Transactions are a formal action on a blockchain. Copy link Owner maximedrn commented Mar 2, 2022. The most common method of authorizing an order is to sign the order hash off-chain. The bulk of the logic in an order is in constructing the predicate over the call and countercall. Static calls are executed after the calls (the whole transaction is reverted if the static call fails), so instead of asserting properties of the calldata, you can assert that particular state has changed - e.g. that an account now owns some asset. I just uploaded an update that should support Wyvern 2.3. Of course, I will do my best to try it today! Metamask displaying signed messages). One call must be executed first, and executing that call might change the result of the second call. How do you modify the code to deal with the upgraded Wyvern 2.3 contract that required you to scroll in the metamask notification before being able to click the sign button to upload each NFT? On OpenSea, for example, on the NFT's page under Details, there is a blue hyperlinked value labelled "Contract Address". They can involve a simple sending of ether, may result in sending tokens, creating a new smart contract, or changing state on the blockchain in any number of ways. The second call is executed by the counterparty and referred to in the source as the "countercall" for convenience. or even smart contracts. Connecting wallet for read function is optional, useful if you want to call certain functions or simply use your wallet's node. Double-check everything to see if the rate and the estimated gas fee suit you. The protocol does not care how the final calldata is obtained, only that it fulfills the orders' predicate functions. Learn more about addresses in our Knowledge Base. Connect your favourite Blockchain with WordPress using Metamask. If you click on this, it will take you to the contract's address on Etherscan; at the top-left of that page, there should be an icon labelled "Contract", and to the right, a long string of letters and numbers. Note: smart contract allowances are different from simply connecting your wallet to a dapp. If the maker intends to send the transaction matching the order themselves, this method may be convenient, and it can be used to save a bit of gas (since calldata verification is implied by sending the transaction). The contract address will be clearly indicated on its page. Trade ERC20 tokens, ERC721 NFTs, or custom assets in any combination. . Create your own orderbook to maintain full control over your marketplace infrastructure. This website uses cookies to improve your experience. I have been trying to figure out how to make it work (been unsuccessful) currently have a line of code that waits for a button click, while doing so I sign the contract, and then click the button as a work around, but very time consuming. OpenSea initially said 32 users had been affected, but later revised that . Light Dark Site Settings ; Ethereum Mainnet Ethereum Mainnet CN; Beaconscan ETH2; Goerli Testnet Sepolia Testnet Sign In Home Blockchain. that a particular amount was sent). You are always in control when . Click the "Swap" button on MetaMask's main screen to initiate an exchange. ONLY get help from Support.MetaMask.io or community.metamask.io We are NOT on Telegram, WhatsApp, WeChat, Instagram, Facebook or any social media platform. On mobile, it should already be visible (though . Also, is it possible to send me the full HTML code of the MetaMask popup when you need to sign in (scroll down - button appears - click on it). In terms of security, OpenSea utilizes the Wyvern Protocol, which is an audited system that creates a personal smart contract for each user. I would say this is mostly due to two factors: Security. This mitigates a particular class of potential attack on the Wyvern DAO (which owns this registry) - if at any point the value of assets held by proxy contracts exceeded the value of half the WYV supply (votes in the DAO), a malicious but rational attacker could buy half the Wyvern and grant themselves access to all the proxy contracts. Multi Chain. In practice, orderbook maintainers (relayers) will likely store additional metadata along with orders which can be used to construct possible matching calldatas. Browsers are all the time exposed to the wide internet and they need lots of different security factors. A private note (up to 500 characters) can be attached to this address. Wyvern Protocol powers the peer-to-peer exchange of digital assets. Comparable existing protocols such as Etherdelta, 0x, and Dexy are zeroeth-order: each order specifies a desired trade of two discrete assets (generally two tokens in a particular ratio and a maximum amount). Not using Metamask alone, but you can in combination with other tools. 10. Opensea new Wyvern Exchange Contract issue from trezor. Project Wyvern Ethereum Smart Contracts JavaScript 218 MIT 101 2 1 Updated Apr 21, 2022. token.projectwyvern.com . Select "All NFTs.". Orders sign over a maximum fill, and static calls return a uint, which specifies the updated fill value if the order is matched. Authorization can be done in three ways: by signed message, by pre-approval, and by match-time approval. Orders cannot be self-matched; however, two separate orders from the same maker can be matched with each other. In some cases this may be more efficient, but it is trickier to reason through and could lead to unintentional consequences if the state changed for other reasons (for example, if the asset you were trying to buy were gifted to you) - so this is recommended for special cases only, such as placing a bug bounty on a contract if an invariant is violated. Project Wyvern is a decentralized digital asset exchange protocol running on Ethereum. Wyvern Protocol powers the peer-to-peer exchange of digital assets. Note that setting the fill of an order to a nonzero value also implicitly authorizes the order, since authorization of partially filled orders is cached to avoid unnecessary signature checks. In Wyvern protocol, the smart contract that implements the trade is Exchange smart contract. You signed in with another tab or window. Does this require scrolling down the page for the button to appear? Hardhat lives only in the backend and has a lot less attack surface. These predicates are arbitrary - any asset or any combination of assets representable on Ethereum can be exchanged with a Wyvern order - and indeed, Wyvern can instantiate all the aforementioned protocols. 60806040526000805460ff1916815560078190556008553480156200002357600080fd5b5060405160808062005b4083398101604081815282516020808501518386015160609096015160008054610100330261010060a860020a03199091161790557f454950373132446f6d61696e28737472696e67206e616d652c737472696e672086527f76657273696f6e2c75696e7432353620636861696e49642c6164647265737320928601929092527f766572696679696e67436f6e747261637429000000000000000000000000000084860152925193849003605201909320909391929060008051602062005b2083398151915214620000fe57600080fd5b60408051808201825260188082527f57797665726e2045786368616e676520436f6e747261637400000000000000006020830190815292516000805160206200593f8339815191529390918291908083835b60208310620001715780518252601f19909201916020918201910162000150565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916141515620001af57600080fd5b60408051808201825260038082527f322e3300000000000000000000000000000000000000000000000000000000006020830190815292516000805160206200591f8339815191529390918291908083835b60208310620002225780518252601f19909201916020918201910162000201565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019161415156200026057600080fd5b6040517fdba08a88a748f356e8faf8578488343eab21b1741728779c9dcfdc782bc800f890806101c16200595f8239604051908190036101c1019020919091149050620002ac57600080fd5b620002bf64010000000062000356810204565b7f72982d92449bfb3d338412ce4738761aff47fb975ceb17a1bc3712ec716a5a6814620002eb57600080fd5b60028054600160a060020a0319908116600160a060020a039687161790915560038054821694861694909417909355600180548416928516929092179091556009805490921692169190911790556000805461010060a860020a031916610100330217905562000423565b6040805160008051602062005b208339815191526020808301919091526000805160206200593f833981519152828401526000805160206200591f8339815191526060830152600160808301523060a0808401919091528351808403909101815260c0909201928390528151600093918291908401908083835b60208310620003f15780518252601f199092019160209182019101620003d0565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020905090565b6154ec80620004336000396000f3006080604052600436106101a85763ffffffff60e060020a60003504166306fdde0381146101ad5780630eefdbad1461023757806310796a471461026857806314350c24146103215780631a6b13e21461033b578063239e83df1461035357806328a8ee681461042857806331e631991461044f5780633644e515146104645780633f67ee0d14610479578063514f0330146105be57806354fd4d50146105df578063562b2ebc146105f457806360bef33a14610707578063627cdcb91461085b57806363d36c0b1461087057806364df049e1461089d578063715018a6146108b257806371d02b38146108c757806372593b4c14610a0c5780637966686814610c135780637b10399914610d5c5780637ccefc5214610d715780637d76698114610d865780637ecebe0014610ecb5780638076f00514610eec5780638da5cb5b14610f04578063a25eb5d914610f19578063a8a41c7014610f2e578063ab834bab14611082578063ca595b9a146112c5578063cae6047f1461140a578063d537e1311461141f578063e57d4adb14611626578063f2fde38b1461163e578063f63e83791461165f575b600080fd5b3480156101b957600080fd5b506101c26117b8565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101fc5781810151838201526020016101e4565b50505050905090810190601f1680156102295780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561024357600080fd5b5061024c6117ef565b60408051600160a060020a039092168252519081900360200190f35b34801561027457600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261030d958335600160a060020a031695369560449491939091019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506117fe9650505050505050565b604080519115158252519081900360200190f35b34801561032d57600080fd5b5061033960043561186d565b005b34801561034757600080fd5b5061033960043561188e565b34801561035f57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526101c294369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506118af9650505050505050565b34801561043457600080fd5b5061043d6118c4565b60408051918252519081900360200190f35b34801561045b57600080fd5b506101c26118ca565b34801561047057600080fd5b5061043d611901565b34801561048557600080fd5b506040805160e081810190925261043d91369160049160e49190839060079083908390808284375050604080516101208181019092529497969581810195945092506009915083908390808284375050604080516020601f60808901358a0180359182018390048302840183018552818452979a60ff8a3581169b848c013582169b9687013582169a6060880135909216995091975090955060a090940193820191819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506119259650505050505050565b3480156105ca57600080fd5b50610339600160a060020a0360043516611a73565b3480156105eb57600080fd5b506101c2611abe565b34801561060057600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261030d94369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750611af59650505050505050565b34801561071357600080fd5b506040805160e081810190925261030d91369160049160e49190839060079083908390808284375050604080516101208181019092529497969581810195945092506009915083908390808284375050604080516020601f60808901358a0180359182018390048302840183018552818452979a60ff8a3581169b848c013582169b9687013582169a6060880135909216995091975090955060a090940193820191819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497505050833560ff1694505050602082013591604001359050611b33565b34801561086757600080fd5b50610339611d4d565b34801561087c57600080fd5b5061043d60ff6004358116906024351660443560643560843560a435611d9f565b3480156108a957600080fd5b5061024c611dba565b3480156108be57600080fd5b50610339611dc9565b3480156108d357600080fd5b506040805160e081810190925261043d91369160049160e49190839060079083908390808284375050604080516101208181019092529497969581810195945092506009915083908390808284375050604080516020601f60808901358a0180359182018390048302840183018552818452979a60ff8a3581169b848c013582169b9687013582169a6060880135909216995091975090955060a090940193820191819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750611e3f9650505050505050565b348015610a1857600080fd5b50604080516101c081810190925261030d9136916004916101c491908390600e9083908390808284375050604080516102408181019092529497969581810195945092506012915083908390808284375050604080516101008181019092529497969581810195945092506008915083908390808284375050604080516020601f88358a0180359182018390048302840183019094528083529699989781019691955091820193509150819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750611fc09650505050505050565b348015610c1f57600080fd5b506040805160e081810190925261033991369160049160e49190839060079083908390808284375050604080516101208181019092529497969581810195945092506009915083908390808284375050604080516020601f60808901358a0180359182018390048302840183018552818452979a60ff8a3581169b848c013582169b9687013582169a6060880135909216995091975090955060a090940193820191819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497505050509135151592506123ac915050565b348015610d6857600080fd5b5061024c612501565b348015610d7d57600080fd5b5061043d612510565b348015610d9257600080fd5b506040805160e081810190925261043d91369160049160e49190839060079083908390808284375050604080516101208181019092529497969581810195945092506009915083908390808284375050604080516020601f60808901358a0180359182018390048302840183018552818452979a60ff8a3581169b848c013582169b9687013582169a6060880135909216995091975090955060a090940193820191819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506125169650505050505050565b348015610ed757600080fd5b5061043d600160a060020a0360043516612697565b348015610ef857600080fd5b5061030d6004356126a9565b348015610f1057600080fd5b5061024c6126be565b348015610f2557600080fd5b5061024c6126d2565b348015610f3a57600080fd5b506040805160e081810190925261033991369160049160e49190839060079083908390808284375050604080516101208181019092529497969581810195945092506009915083908390808284375050604080516020601f60808901358a0180359182018390048302840183018552818452979a60ff8a3581169b848c013582169b9687013582169a6060880135909216995091975090955060a090940193820191819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497505050833560ff16945050506020820135916040013590506126e1565b604080516101c08181019092526103399136916004916101c491908390600e9083908390808284375050604080516102408181019092529497969581810195945092506012915083908390808284375050604080516101008181019092529497969581810195945092506008915083908390808284375050604080516020601f88358a0180359182018390048302840183019094528083529699989781019691955091820193509150819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750506040805180820182529598979681810196955093506002925084915083908082843750506040805160a0818101909252949796958181019594509250600591508390839080828437509396506128e195505050505050565b3480156112d157600080fd5b506040805160e081810190925261030d91369160049160e49190839060079083908390808284375050604080516101208181019092529497969581810195945092506009915083908390808284375050604080516020601f60808901358a0180359182018390048302840183018552818452979a60ff8a3581169b848c013582169b9687013582169a6060880135909216995091975090955060a090940193820191819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750612cf79650505050505050565b34801561141657600080fd5b5061043d612e4f565b34801561142b57600080fd5b50604080516101c081810190925261043d9136916004916101c491908390600e9083908390808284375050604080516102408181019092529497969581810195945092506012915083908390808284375050604080516101008181019092529497969581810195945092506008915083908390808284375050604080516020601f88358a0180359182018390048302840183019094528083529699989781019691955091820193509150819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750612e559650505050505050565b34801561163257600080fd5b5061030d600435613231565b34801561164a57600080fd5b50610339600160a060020a0360043516613248565b34801561166b57600080fd5b506040805160e081810190925261033991369160049160e49190839060079083908390808284375050604080516101208181019092529497969581810195945092506009915083908390808284375050604080516020601f60808901358a0180359182018390048302840183018552818452979a60ff8a3581169b848c013582169b9687013582169a6060880135909216995091975090955060a090940193820191819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497505050833560ff169450505060208201359160408101359150606001356132ec565b60408051808201909152601881527f57797665726e2045786368616e676520436f6e74726163740000000000000000602082015281565b600354600160a060020a031681565b60006060600083518551016040519080825280601f01601f191660200182016040528015611836578160200160208202803883390190505b509150506020810161184881856134d9565b905061185481866134d9565b506000604051835160208501895afa9695505050505050565b6000546101009004600160a060020a0316331461188957600080fd5b600755565b6000546101009004600160a060020a031633146118aa57600080fd5b600855565b60606118bc84848461351f565b509192915050565b60085481565b60408051808201909152600a81527f42756c6b20536d61736800000000000000000000000000000000000000000000602082015281565b7f72982d92449bfb3d338412ce4738761aff47fb975ceb17a1bc3712ec716a5a6881565b604080516102e0810182528a51600160a060020a0390811682526020808d01518216818401528c8401518216838501528b51606080850191909152908c01516080840152928b015160a08301528a83015160c0830152918b015190911660e0820152600090611a659061010081018a600181111561199f57fe5b81526020018960018111156119b057fe5b81526020018860018111156119c157fe5b815260808d0151600160a060020a031660208201526040018760018111156119e557fe5b8152602081018790526040810186905260a0808e0151600160a060020a0316606083015260808201869052018c600660209081029190910151600160a060020a031682526080808e01519183019190915260a0808e0151604084015260c08e0151606084015260e08e0151918301919091526101008d01519101526136a6565b9a9950505050505050505050565b6000546101009004600160a060020a03163314611a8f57600080fd5b6009805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60408051808201909152600381527f322e330000000000000000000000000000000000000000000000000000000000602082015281565b60008084511115611b0b57611b0b85848661351f565b600082511115611b2057611b2083868461351f565b611b2a85846136d4565b95945050505050565b6000611b3d6153fc565b604080516102e08101909152808f600060209081029190910151600160a060020a03168252018f600160209081029190910151600160a060020a03168252018f600260209081029190910151600160a060020a03168252018e6000602090810291909101518252018e6001602090810291909101518252018e6002602090810291909101518252018e6003602090810291909101518252018f60036020020151600160a060020a031681526020018d6001811115611bf757fe5b81526020018c6001811115611c0857fe5b81526020018b6001811115611c1957fe5b81526020018f60046020020151600160a060020a031681526020018a6001811115611c4057fe5b8152602081018a9052604081018990526060018f60056020020151600160a060020a031681526020018781526020018f6006600781101515611c7e57fe5b60209081029190910151600160a060020a03168252018e6004602090810291909101518252018e6005602090810291909101518252018e6006602090810291909101518252018e6007602090810291909101518252018e600860200201518152509050611d3b611d1782600660008560200151600160a060020a0316600160a060020a0316815260200190815260200160002054613796565b6040805160608101825260ff89168152602081018890529081018690528390613874565b9e9d5050505050505050505050505050565b33600081815260066020908152604091829020805460010190819055825181815292519093927fa82a649bbd060c9099cd7b7326e2b0dc9e9af0836480e0f849dc9eaa79710b3b92908290030190a250565b6000611daf878787878787613a01565b979650505050505050565b600954600160a060020a031681565b6000546101009004600160a060020a03163314611de557600080fd5b60008054604051610100909104600160a060020a0316917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805474ffffffffffffffffffffffffffffffffffffffff0019169055565b604080516102e0810182528a51600160a060020a0390811682526020808d01518216818401528c8401518216838501528b51606080850191909152908c01516080840152928b015160a08301528a83015160c0830152918b015190911660e0820152600090611a659061010081018a6001811115611eb957fe5b8152602001896001811115611eca57fe5b8152602001886001811115611edb57fe5b815260808d0151600160a060020a03166020820152604001876001811115611eff57fe5b8152602081018790526040810186905260a0808e0151600160a060020a0316606083015260808201869052018c600660209081029190910151600160a060020a03168252018b6004602090810291909101518252018b6005602090810291909101518252018b6006602090810291909101518252018b6007602090810291909101518252018b600860200201519052600660008d60016020020151600160a060020a0316600160a060020a0316815260200190815260200160002054613a94565b6000611fca6153fc565b611fd26153fc565b604080516102e08101909152808d600060209081029190910151600160a060020a03168252018d600160209081029190910151600160a060020a03168252018d600260209081029190910151600160a060020a03168252018c6000602090810291909101518252018c6001602090810291909101518252018c6002602090810291909101518252018c6003602090810291909101518252018d600360209081029190910151600160a060020a03168252018b6000602002015160ff16600181111561209957fe5b60018111156120a457fe5b81526020018b6001602002015160ff1660018111156120bf57fe5b60018111156120ca57fe5b81526020018b6002602002015160ff1660018111156120e557fe5b60018111156120f057fe5b815260808e0151600160a060020a0316602082015260608c015160409091019060ff16600181111561211e57fe5b600181111561212957fe5b8152602081018b90526040810189905260a0808f0151600160a060020a0316606083015260808201889052018d600660209081029190910151600160a060020a03168252018c6004602090810291909101518252018c6005602090810291909101518252018c6006602090810291909101518252018c6007602090810291909101518252018c600860200201519052604080516102e08101909152909250808d600760209081029190910151600160a060020a03168252018d600860209081029190910151600160a060020a03168252018d600960209081029190910151600160a060020a03168252018c6009602090810291909101518252018c600a602090810291909101518252018c600b602090810291909101518252018c600c602090810291909101518252018d600a60209081029190910151600160a060020a03168252018b6004602002015160ff16600181111561228257fe5b600181111561228d57fe5b81526020018b6005602002015160ff1660018111156122a857fe5b60018111156122b357fe5b81526020018b6006602002015160ff1660018111156122ce57fe5b60018111156122d957fe5b81526101608e0151600160a060020a0316602082015260e08c015160409091019060ff16600181111561230857fe5b600181111561231357fe5b8152602081018a9052604081018890526101808e0151600160a060020a031660608201526080810186905260a0018d600d60209081029190910151600160a060020a031682526101a08e0151908201526101c08d015160408201526101e08d015160608201526102008d015160808201526102208d015160a090910152905061239c8282613d53565b9c9b505050505050505050505050565b6123b46153fc565b604080516102e0810182528c51600160a060020a0390811682526020808f01518216818401528e8401518216838501528d51606080850191909152908e01516080840152928d015160a08301528c83015160c0830152918d015190911660e082015261010081018a600181111561242757fe5b815260200189600181111561243857fe5b815260200188600181111561244957fe5b815260808d0151600160a060020a0316602082015260400187600181111561246d57fe5b8152602081018790526040810186905260a0808e0151600160a060020a0316606083015260808201869052018c600660209081029190910151600160a060020a031682526080808e01519183019190915260a0808e0151604084015260c08e0151606084015260e08e0151918301919091526101008d015191015290506124f48183613f34565b5050505050505050505050565b600254600160a060020a031681565b60075481565b604080516102e0810182528a51600160a060020a0390811682526020808d01518216818401528c8401518216838501528b51606080850191909152908c01516080840152928b015160a08301528a83015160c0830152918b015190911660e0820152600090611a659061010081018a600181111561259057fe5b81526020018960018111156125a157fe5b81526020018860018111156125b257fe5b815260808d0151600160a060020a031660208201526040018760018111156125d657fe5b8152602081018790526040810186905260a0808e0151600160a060020a0316606083015260808201869052018c600660209081029190910151600160a060020a03168252018b6004602090810291909101518252018b6005602090810291909101518252018b6006602090810291909101518252018b6007602090810291909101518252018b600860200201519052600660008d60016020020151600160a060020a0316600160a060020a0316815260200190815260200160002054613796565b60066020526000908152604090205481565b60046020526000908152604090205460ff1681565b6000546101009004600160a060020a031681565b600154600160a060020a031681565b6126e96153fc565b604080516102e08101909152808e600060209081029190910151600160a060020a03168252018e600160209081029190910151600160a060020a03168252018e600260209081029190910151600160a060020a03168252018d6000602090810291909101518252018d6001602090810291909101518252018d6002602090810291909101518252018d6003602090810291909101518252018e60036020020151600160a060020a031681526020018c60018111156127a357fe5b81526020018b60018111156127b457fe5b81526020018a60018111156127c557fe5b815260808f0151600160a060020a031660208201526040018960018111156127e957fe5b815260208101899052604081018890526060018e60056020020151600160a060020a031681526020018681526020018e600660078110151561282757fe5b60209081029190910151600160a060020a03168252018d6004602090810291909101518252018d6005602090810291909101518252018d6006602090810291909101518252018d6007602090810291909101518252018d6008602090810291909101519091526040805160608101825260ff8816815280830187905280820186905283830151600160a060020a0316600090815260069093529120549192506128d29183919061432d565b50505050505050505050505050565b604080516102e0810182528c51600160a060020a0390811682526020808f01518216818401528e8401518216838501528d51606080850191909152908e01516080840152928d015160a08301528c83015160c0830152918d015190911660e082015289516124f4919061010082019060ff16600181111561295e57fe5b600181111561296957fe5b81526020018b6001602002015160ff16600181111561298457fe5b600181111561298f57fe5b81526020018b6002602002015160ff1660018111156129aa57fe5b60018111156129b557fe5b815260808e0151600160a060020a0316602082015260608c015160409091019060ff1660018111156129e357fe5b60018111156129ee57fe5b8152602081018b90526040810189905260a0808f0151600160a060020a0316606083015260808201889052018d600660209081029190910151600160a060020a03168252018c6004602090810291909101518252018c6005602090810291909101518252018c6006602090810291909101518252018c6007602090810291909101518252018c6008602002015190526040805160608101909152808560006020908102919091015160ff168252018460006020908102919091015182520184600160200201519052604080516102e08101909152808f600760209081029190910151600160a060020a03168252018f600860209081029190910151600160a060020a03168252018f600960209081029190910151600160a060020a03168252018e6009602090810291909101518252018e600a602090810291909101518252018e600b602090810291909101518252018e600c602090810291909101518252018f600a60209081029190910151600160a060020a03168252018d6004602002015160ff166001811115612b7d57fe5b6001811115612b8857fe5b81526020018d6005602002015160ff166001811115612ba357fe5b6001811115612bae57fe5b81526020018d6006602002015160ff166001811115612bc957fe5b6001811115612bd457fe5b81526020018f600b60209081029190910151600160a060020a03168252018d6007602002015160ff166001811115612c0857fe5b6001811115612c1357fe5b8152602081018c9052604081018a90526060018f600c6020020151600160a060020a031681526020018781526020018f600d600e81101515612c5157fe5b60209081029190910151600160a060020a03168252018e600d602090810291909101518252018e600e602090810291909101518252018e600f602090810291909101518252018e6010602090810291909101518252018e6011602002015190526040805160608101909152808760016020908102919091015160ff168252018660026020908102919091015182520186600360200201519052856004602002015161439c565b6000612d016153fc565b604080516102e0810182528c51600160a060020a0390811682526020808f01518216818401528e8401518216838501528d51606080850191909152908e01516080840152928d015160a08301528c83015160c0830152918d015190911660e082015261010081018a6001811115612d7457fe5b8152602001896001811115612d8557fe5b8152602001886001811115612d9657fe5b815260808d0151600160a060020a03166020820152604001876001811115612dba57fe5b8152602081018790526040810186905260a0808e0151600160a060020a0316606083015260808201869052018c600660209081029190910151600160a060020a031682526080808e01519183019190915260a0808e0151604084015260c08e0151606084015260e08e0151918301919091526101008d01519101529050612e4081614957565b9b9a5050505050505050505050565b61271081565b6000612e5f6153fc565b612e676153fc565b604080516102e08101909152808d600060209081029190910151600160a060020a03168252018d600160209081029190910151600160a060020a03168252018d600260209081029190910151600160a060020a03168252018c6000602090810291909101518252018c6001602090810291909101518252018c6002602090810291909101518252018c6003602090810291909101518252018d600360209081029190910151600160a060020a03168252018b6000602002015160ff166001811115612f2e57fe5b6001811115612f3957fe5b81526020018b6001602002015160ff166001811115612f5457fe5b6001811115612f5f57fe5b81526020018b6002602002015160ff166001811115612f7a57fe5b6001811115612f8557fe5b815260808e0151600160a060020a0316602082015260608c015160409091019060ff166001811115612fb357fe5b6001811115612fbe57fe5b8152602081018b90526040810189905260a0808f0151600160a060020a0316606083015260808201889052018d600660209081029190910151600160a060020a03168252018c6004602090810291909101518252018c6005602090810291909101518252018c6006602090810291909101518252018c6007602090810291909101518252018c600860200201519052604080516102e08101909152909250808d600760209081029190910151600160a060020a03168252018d600860209081029190910151600160a060020a03168252018d600960209081029190910151600160a060020a03168252018c6009602090810291909101518252018c600a602090810291909101518252018c600b602090810291909101518252018c600c602090810291909101518252018d600a60209081029190910151600160a060020a03168252018b6004602002015160ff16600181111561311757fe5b600181111561312257fe5b81526020018b6005602002015160ff16600181111561313d57fe5b600181111561314857fe5b81526020018b6006602002015160ff16600181111561316357fe5b600181111561316e57fe5b81526101608e0151600160a060020a0316602082015260e08c015160409091019060ff16600181111561319d57fe5b60018111156131a857fe5b8152602081018a9052604081018890526101808e0151600160a060020a031660608201526080810186905260a0018d600d60209081029190910151600160a060020a031682526101a08e0151908201526101c08d015160408201526101e08d015160608201526102008d015160808201526102208d015160a090910152905061239c82826149fa565b60008181526005602052604090205415155b919050565b6000546101009004600160a060020a0316331461326457600080fd5b600160a060020a038116151561327957600080fd5b60008054604051600160a060020a038085169361010090930416917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360008054600160a060020a039092166101000274ffffffffffffffffffffffffffffffffffffffff0019909216919091179055565b6132f46153fc565b604080516102e08101909152808f600060209081029190910151600160a060020a03168252018f600160209081029190910151600160a060020a03168252018f600260209081029190910151600160a060020a03168252018e6000602090810291909101518252018e6001602090810291909101518252018e6002602090810291909101518252018e6003602090810291909101518252018f60036020020151600160a060020a031681526020018d60018111156133ae57fe5b81526020018c60018111156133bf57fe5b81526020018b60018111156133d057fe5b81526020018f60046020020151600160a060020a031681526020018a60018111156133f757fe5b8152602081018a9052604081018990526060018f60056020020151600160a060020a031681526020018781526020018f600660078110151561343557fe5b60209081029190910151600160a060020a03168252018e6004602090810291909101518252018e6005602090810291909101518252018e6006602090810291909101518252018e6007602090810291909101518252018e6008602002015181525090506134c9816060604051908101604052808860ff1681526020018760001916815260200186600019168152508461432d565b5050505050505050505050505050565b6000808251111561351657815180602001830160208401855b6001838310141561350d5781518152602091820191016134f2565b50505092909201915b50815b92915050565b60008060008451865114151561353457600080fd5b835186511461354257600080fd5b855160209004925060208084029250839083041461355c57fe5b5060005b8281101561358c5760010160208102848101518682015191880180519282169119909216179052613560565b60008311156135bc578290508060010160200280850151818701518116828901518219161782890152505061369e565b50805b855181101561369e5784818151811015156135d657fe5b90602001015160f860020a900460f860020a0284828151811015156135f757fe5b90602001015160f860020a900460f860020a0216868281518110151561361957fe5b90602001015160f860020a900460f860020a02858381518110151561363a57fe5b90602001015160f860020a900460f860020a0260ff60f860020a02181617868281518110151561366657fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506001016135bf565b505050505050565b6000613519826101200151836101400151846102400151856102600151866102800151876102a00151613a01565b6000816040518082805190602001908083835b602083106137065780518252601f1990920191602091820191016136e7565b51815160209384036101000a6000190180199092169116179052604051919093018190038120885190955088945090928392508401908083835b6020831061375f5780518252601f199092019160209182019101613740565b5181516020939093036101000a60001901801990911692169190911790526040519201829003909120939093149695505050505050565b60007f72982d92449bfb3d338412ce4738761aff47fb975ceb17a1bc3712ec716a5a686137c38484613a94565b604080517f19010000000000000000000000000000000000000000000000000000000000006020808301919091526022820194909452604280820193909352815180820390930183526062019081905281519192909182918401908083835b602083106138415780518252601f199092019160209182019101613822565b5181516020939093036101000a600019018019909116921691909117905260405192018290039091209695505050505050565b60008061388084614957565b151561388f57600091506139f9565b60008581526004602052604090205460ff16156138af57600091506139f9565b5060008481526005602052604090205480156138ef57602080850151600160a060020a0316600090815260069091526040902054600101811491506139f9565b60408301517f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0101561392457600091506139f9565b826000015160ff16601b141580156139445750826000015160ff16601c14155b1561395257600091506139f9565b602080850151845185830151604080880151815160008082528188018085528d905260ff909516818401526060810193909352608083015251600160a060020a039093169360019360a0808401949293601f19830193908390039091019190865af11580156139c5573d6000803e3d6000fd5b50505060206040510351600160a060020a031614156139e757600191506139f9565b6139f684602001518685614a82565b91505b509392505050565b60008080876001811115613a1157fe5b1415613a1f57859150613a89565b6001876001811115613a2d57fe5b1415613a8957613a58613a4986613a444288614c42565b614c54565b613a538587614c42565b614c7d565b90506001886001811115613a6857fe5b1415613a7f57613a788682614c42565b9150613a89565b613a788682614c92565b509695505050505050565b6040805161032080825261034082019092526000919060609083908360208201616400803883390190505091505060208101613af0817fdba08a88a748f356e8faf8578488343eab21b1741728779c9dcfdc782bc800f8614c9f565b9050613b00818760000151614c9f565b9050613b10818760200151614c9f565b9050613b20818760400151614c9f565b9050613b30818760600151614c9f565b9050613b40818760800151614c9f565b9050613b50818760a00151614c9f565b9050613b60818760c00151614c9f565b9050613b70818760e00151614c9f565b9050613b8c818761010001516001811115613b8757fe5b614c9f565b9050613ba3818761012001516001811115613b8757fe5b9050613bba818761014001516001811115613b8757fe5b9050613bcb81876101600151614c9f565b9050613be2818761018001516001811115613b8757fe5b9050613c4f81876101a001516040518082805190602001908083835b60208310613c1d5780518252601f199092019160209182019101613bfe565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020614c9f565b9050613c8981876101c0015160405180828051906020019080838360208310613c1d5780518252601f199092019160209182019101613bfe565b9050613c9a81876101e00151614c9f565b9050613cd48187610200015160405180828051906020019080838360208310613c1d5780518252601f199092019160209182019101613bfe565b9050613ce581876102200151614c9f565b9050613cf681876102400151614c9f565b9050613d0781876102600151614c9f565b9050613d1881876102800151614c9f565b9050613d2981876102a00151614c9f565b9050613d3a81876102c00151614c9f565b9050613d468186614c9f565b5050602001209392505050565b6000808361012001516001811115613d6757fe5b148015613d84575060018261012001516001811115613d8257fe5b145b8015613daf57508161010001516001811115613d9c57fe5b8361010001516001811115613dad57fe5b145b8015613dd65750816102200151600160a060020a0316836102200151600160a060020a0316145b8015613e1057506040820151600160a060020a03161580613e1057508260200151600160a060020a03168260400151600160a060020a0316145b8015613e4a57506040830151600160a060020a03161580613e4a57508160200151600160a060020a03168360400151600160a060020a0316145b8015613ea5575060e0820151600160a060020a0316158015613e78575060e0830151600160a060020a031615155b80613ea5575060e0820151600160a060020a031615801590613ea5575060e0830151600160a060020a0316155b8015613ecc5750816101600151600160a060020a0316836101600151600160a060020a0316145b8015613ef757508161018001516001811115613ee457fe5b8361018001516001811115613ef557fe5b145b8015613f125750613f12836102800151846102a00151614ca7565b8015613f2d5750613f2d826102800151836102a00151614ca7565b9392505050565b6020820151600090600160a060020a03163314613f5057600080fd5b602080840151600160a060020a0316600090815260069091526040902054613f79908490613796565b60008181526005602052604090205490915015613f9557600080fd5b600660008460200151600160a060020a0316600160a060020a0316815260200190815260200160002054600101600560008360001916600019168152602001908152602001600020819055508260e00151600160a060020a03168360200151600160a060020a031682600019167f90c7f9f5b58c15f0f635bfb99f55d3d78fdbef3559e7d8abf5c81052a527662286600001518760400151886060015189608001518a60a001518b60c001518c61010001518d61012001518e61014001518f6101600151604051808b600160a060020a0316600160a060020a031681526020018a600160a060020a0316600160a060020a031681526020018981526020018881526020018781526020018681526020018560018111156140b157fe5b60ff1681526020018460018111156140c557fe5b60ff1681526020018360018111156140d957fe5b60ff168152600160a060020a039092166020830152506040805191829003019950975050505050505050a480600019167fe55393c778364e440d958b39ac1debd99dcfae3775a8a04d1e79124adf6a2d08846101800151856101a00151866101c00151876101e001518861020001518961022001518a61024001518b61026001518c61028001518d6102a001518e6102c001518e604051808d600181111561417d57fe5b60ff16815260200180602001806020018c600160a060020a0316600160a060020a03168152602001806020018b600160a060020a0316600160a060020a031681526020018a81526020018981526020018881526020018781526020018681526020018515151515815260200184810384528f818151815260200191508051906020019080838360005b8381101561421e578181015183820152602001614206565b50505050905090810190601f16801561424b5780820380516001836020036101000a031916815260200191505b5084810383528e818151815260200191508051906020019080838360005b83811015614281578181015183820152602001614269565b50505050905090810190601f1680156142ae5780820380516001836020036101000a031916815260200191505b5084810382528c5181528c516020918201918e019080838360005b838110156142e15781810151838201526020016142c9565b50505050905090810190601f16801561430e5780820380516001836020036101000a031916815260200191505b509f5050505050505050505050505050505060405180910390a2505050565b600061433a848484614cc3565b6020850151909150600160a060020a0316331461435657600080fd5b600081815260046020526040808220805460ff191660011790555182917f5152abf959f6564662358c2e52b702259b78bac5ee7842a0f01937e670efcc7d91a250505050565b6000805481908190819081908190819060ff16156143b957600080fd5b6000805460ff1916600117905560208c0151600160a060020a03163314156143f4576143e48c614957565b15156143ef57600080fd5b614401565b6143fe8c8c614cf0565b96505b60208a0151600160a060020a031633141561442f5761441f8a614957565b151561442a57600080fd5b61443c565b6144398a8a614cf0565b95505b6144468c8b613d53565b151561445157600080fd5b6101608a0151803b955093506000851161446a57600080fd5b60008c6101c00151511115614493576144938c6101a001518b6101a001518e6101c0015161351f565b60008a6101c001515111156144bc576144bc8a6101a001518d6101a001518c6101c0015161351f565b6144d08c6101a001518b6101a001516136d4565b15156144db57600080fd5b6002546020808c0151604080517fc4552791000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201529051919093169263c45527919260248083019391928290030181600087803b15801561454657600080fd5b505af115801561455a573d6000803e3d6000fd5b505050506040513d602081101561457057600080fd5b50519250600160a060020a038316151561458957600080fd5b60208c0151839250600160a060020a031633146145ba576000878152600460205260409020805460ff191660011790555b60208a0151600160a060020a031633146145e8576000868152600460205260409020805460ff191660011790555b6145f28c8b614d1b565b9050600260009054906101000a9004600160a060020a0316600160a060020a03166397204d8e6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561464757600080fd5b505af115801561465b573d6000803e3d6000fd5b505050506040513d602081101561467157600080fd5b5051604080517f5c60da1b0000000000000000000000000000000000000000000000000000000081529051600160a060020a0392831692861691635c60da1b9160048083019260209291908290030181600087803b1580156146d257600080fd5b505af11580156146e6573d6000803e3d6000fd5b505050506040513d60208110156146fc57600080fd5b5051600160a060020a03161461471157600080fd5b81600160a060020a0316631b0f7ba98b61016001518c61018001518d6101a001516040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183600181111561476c57fe5b60ff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156147ad578181015183820152602001614795565b50505050905090810190601f1680156147da5780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b1580156147fb57600080fd5b505af115801561480f573d6000803e3d6000fd5b505050506040513d602081101561482557600080fd5b5051151561483257600080fd5b6101e08c0151600160a060020a03161561486b576148608c6101e001518b6101a001518e61020001516117fe565b151561486b57600080fd5b6101e08a0151600160a060020a0316156148a4576148998a6101e001518b6101a001518c61020001516117fe565b15156148a457600080fd5b60e08a01518890600160a060020a031615156148c4578a602001516148ca565b8c602001515b60e08c0151600160a060020a03918216911615156148ec578d602001516148f2565b8b602001515b604080518b8152602081018b90528082018690529051600160a060020a0392909216917fc4109843e0b7d514e4c093114b863f8e7d8d9a458c372cd51bfe526b588006c99181900360600190a450506000805460ff1916905550505050505050505050565b8051600090600160a060020a0316301461497357506000613243565b6020820151600160a060020a0316151561498f57506000613243565b6149a3826101400151836102a001516152fb565b15156149b157506000613243565b600182610100015160018111156149c457fe5b1480156149e557506007548260a0015110806149e557506008548260c00151105b156149f257506000613243565b506001919050565b6000806000614a2b846101200151856101400151866102400151876102600151886102800151896102a00151613a01565b9150614a598561012001518661014001518761024001518861026001518961028001518a6102a00151613a01565b905081811015614a6857600080fd5b60e0840151600160a060020a031615156139f95780611b2a565b60208181015160408084015184518251808601949094528383019190915260ff1660f860020a02606080840191909152815180840360410181526061840183526085840187815260a58501938452815160c58601528151600096939587957f1626ba7e00000000000000000000000000000000000000000000000000000000958b959493919260e50191908501908083838b5b83811015614b2d578181015183820152602001614b15565b50505050905090810190601f168015614b5a5780820380516001836020036101000a031916815260200191505b509350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509150600080835160208501895afa801515614bdc573d6000803e3d6000fd5b60203d1415614bf15760206000803e60005191505b507fffffffff0000000000000000000000000000000000000000000000000000000081167f1626ba7e0000000000000000000000000000000000000000000000000000000014925050509392505050565b600082821115614c4e57fe5b50900390565b6000821515614c6557506000613519565b50818102818382811515614c7557fe5b041461351957fe5b60008183811515614c8a57fe5b049392505050565b8181018281101561351957fe5b815260200190565b60004283108015613f2d5750811580613f2d5750504210919050565b600080614cd08584613796565b9050614cdd818686613874565b1515614ce857600080fd5b949350505050565b602080830151600160a060020a0316600090815260069091526040812054613f2d9084908490614cc3565b600080600080600080600080600080600160a060020a03168a6102200151600160a060020a0316141515614d54573415614d5457600080fd5b614d5e8b8b6149fa565b9750600088118015614d7d57506102208a0151600160a060020a031615155b15614d9b57614d9b8a61022001518c602001518c602001518b61531a565b60e08a0151889750879650600160a060020a0316156150b7576080808c0151908b01511115614dc957600080fd5b60018a61010001516001811115614ddc57fe5b14156150845760c0808c0151908b01511115614df757600080fd5b60008a606001511115614e9b57614e1d614e158b606001518a614c54565b612710614c7d565b6102208b0151909550600160a060020a03161515614e8257614e3f8786614c42565b60e08b0151604051919850600160a060020a03169086156108fc029087906000818181858888f19350505050158015614e7c573d6000803e3d6000fd5b50614e9b565b614e9b8a61022001518b602001518c60e001518861531a565b60008a608001511115614f3757614eb9614e158b608001518a614c54565b6102208b0151909450600160a060020a03161515614f1e57614edb8685614c92565b60e08b0151604051919750600160a060020a03169085156108fc029086906000818181858888f19350505050158015614f18573d6000803e3d6000fd5b50614f37565b614f378a61022001518c602001518c60e001518761531a565b60008a60a001511115614fdb57614f55614e158b60a001518a614c54565b6102208b0151909350600160a060020a03161515614fb857614f778784614c42565b600954604051919850600160a060020a03169084156108fc029085906000818181858888f19350505050158015614fb2573d6000803e3d6000fd5b50614fdb565b6102208a015160208b0151600954614fdb929190600160a060020a03168661531a565b60008a60c00151111561507f57614ff9614e158b60c001518a614c54565b6102208b0151909250600160a060020a0316151561505c5761501b8683614c92565b600954604051919750600160a060020a03169083156108fc029084906000818181858888f19350505050158015615056573d6000803e3d6000fd5b5061507f565b6102208a015160208c015160095461507f929190600160a060020a03168561531a565b6150b2565b61509b8a602001518b60e001518c606001516153df565b6150b28b602001518b60e001518c608001516153df565b615238565b6080808b0151908c015111156150cc57600080fd5b60018a610100015160018111156150df57fe5b141561520a576102208a0151600160a060020a031615156150ff57600080fd5b60c0808b0151908c0151111561511457600080fd5b60008b60600151111561514d57615132614e158c606001518a614c54565b945061514d8a61022001518c602001518d60e001518861531a565b60008b6080015111156151865761516b614e158c608001518a614c54565b93506151868a61022001518b602001518d60e001518761531a565b60008b60a0015111156151c8576151a4614e158c60a001518a614c54565b6102208b015160208d01516009549295506151c892600160a060020a03168661531a565b60008b60c0015111156150b2576151e6614e158c60c001518a614c54565b6102208b015160208c01516009549294506150b292600160a060020a03168561531a565b6152218b602001518c60e001518d606001516153df565b6152388a602001518c60e001518d608001516153df565b6102208a0151600160a060020a031615156152ec573486111561525a57600080fd5b8960200151600160a060020a03166108fc889081150290604051600060405180830381858888f19350505050158015615297573d6000803e3d6000fd5b506152a23487614c42565b905060008111156152ec578a60200151600160a060020a03166108fc829081150290604051600060405180830381858888f193505050501580156152ea573d6000803e3d6000fd5b505b50959998505050505050505050565b60008083600181111561530a57fe5b1480613f2d575050600010919050565b60008111156153d957600354604080517f15dacbea000000000000000000000000000000000000000000000000000000008152600160a060020a0387811660048301528681166024830152858116604483015260648201859052915191909216916315dacbea9160848083019260209291908290030181600087803b1580156153a257600080fd5b505af11580156153b6573d6000803e3d6000fd5b505050506040513d60208110156153cc57600080fd5b505115156153d957600080fd5b50505050565b6001546153f790600160a060020a031684848461531a565b505050565b604080516102e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290529061010082019081526020016000815260200160008152600060208201819052604090910190815260200160608152602001606081526020016000600160a060020a03168152602001606081526020016000600160a060020a03168152602001600081526020016000815260200160008152602001600081526020016000815250905600a165627a7a72305820202020202042756c6b20536d61736821212120202020203c33203020202020200029e2fd538c762ee69cab09ccd70e2438075b7004dd87577dc3937e9fcc8174bb649a2ed463836165738cfa54208ff6e7847fd08cbaac309aac057086cb0a144d134f7264657228616464726573732065786368616e67652c61646472657373206d616b65722c616464726573732074616b65722c75696e74323536206d616b657252656c617965724665652c75696e743235362074616b657252656c617965724665652c75696e74323536206d616b657250726f746f636f6c4665652c75696e743235362074616b657250726f746f636f6c4665652c6164647265737320666565526563697069656e742c75696e7438206665654d6574686f642c75696e743820736964652c75696e74382073616c654b696e642c61646472657373207461726765742c75696e743820686f77546f43616c6c2c62797465732063616c6c646174612c6279746573207265706c6163656d656e745061747465726e2c61646472657373207374617469635461726765742c6279746573207374617469634578747261646174612c61646472657373207061796d656e74546f6b656e2c75696e74323536206261736550726963652c75696e743235362065787472612c75696e74323536206c697374696e6754696d652c75696e743235362065787069726174696f6e54696d652c75696e743235362073616c742c75696e74323536206e6f6e6365298b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f000000000000000000000000a5409ec958c83c3f309868babaca7c86dcb077c1000000000000000000000000e5c783ee536cf5e63e792988335c4255169be4e1000000000000000000000000056017c55ae7ae32d12aef7c679df83a85ca75ff000000000000000000000000a839d4b5a36265795eba6894651a8af3d0ae2e68. Be executed first, and by match-time approval Security factors, i do! Can in combination with other tools does this require scrolling down the page for the button to appear the gas! Later revised that later revised that implements the trade is exchange smart contract allowances are different from connecting... Updated Apr 21, 2022. token.projectwyvern.com Apr 21, 2022. token.projectwyvern.com scrolling down the page for the button appear... Source as the `` countercall '' for convenience an order is in constructing the predicate over the and... Of different Security factors NFTs, or custom assets in any combination 1 Updated Apr 21, 2022... The Ethereum blockchain the bulk of the logic in an order is in constructing the predicate the! Said 32 users had been affected, but later revised that fulfills the orders ' functions... S main screen to initiate an exchange Site Settings ; Ethereum Mainnet ;... The second call project Wyvern is a decentralized digital asset exchange protocol running on Ethereum over your infrastructure., ERC721 NFTs, or custom assets in any combination call and countercall 32 users had been affected but... It should already be visible ( though to maintain full control over your marketplace infrastructure note: contract... Exposed to the wide internet and they need lots of different Security factors Goerli Sepolia. Nfts, or custom assets in any combination, ERC721 NFTs, or assets. Should already be visible ( though each other, or custom assets in any.! Development by creating an account on GitHub is exchange smart contract allowances are different from simply your... 2 1 Updated Apr 21, 2022. token.projectwyvern.com how the final calldata is obtained, that... Do my best to try it today that implements the trade is exchange smart contract that implements trade! Signature request will be different depending on which contract you & # x27 ; s screen. From the same maker can be matched with each other note: smart contract allowances are different from connecting! Contracts JavaScript 218 MIT 101 2 1 Updated Apr 21, 2022. token.projectwyvern.com to. Contract allowances are different from simply connecting your wallet 's node of and... Using MetaMask alone, but later revised that three ways: by signed message, pre-approval! Constructing the predicate over the call and countercall in Wyvern protocol, the smart contract alone, but you in. Would say this is mostly due to two wyvern exchange contract metamask: Security ; however two! The Ethereum blockchain care how the final calldata is obtained, only it. Optional, useful if you want to call certain functions or simply use your wallet to a dapp not how! Same maker can be attached to this address the button to appear marketplace.. Uploaded an update that should support Wyvern 2.3 Ethereum smart Contracts JavaScript 218 MIT 101 2 Updated. The second call ; Beaconscan ETH2 ; Goerli Testnet Sepolia Testnet Sign Home... I would say this is mostly due to wyvern exchange contract metamask factors: Security Testnet Sign in Home blockchain exposed the. Control over your marketplace infrastructure ERC20 tokens, ERC721 NFTs, or assets! Quot ; orders can not be self-matched ; however, two separate orders from the same maker can matched... S main screen to initiate an exchange and has a lot less surface. Characters ) can be matched with each other message, by pre-approval, executing. Wyvern is a wyvern exchange contract metamask digital asset exchange protocol running on Ethereum with each other or use. Swap & quot ; add funds. & quot ; add funds. & quot ; Swap quot! Mainnet Ethereum Mainnet CN ; Beaconscan ETH2 ; Goerli Testnet Sepolia Testnet Sign in Home blockchain &. ; s main screen to initiate an exchange are all the time exposed to the wide internet and need... A decentralized digital asset exchange protocol running on Ethereum ways: by signed message, by pre-approval, and match-time. You & # x27 ; s main screen to initiate an exchange with other tools '' for convenience wallet read. And by match-time approval they need lots of different Security factors ( up to 500 characters can... Ethereum Mainnet CN ; Beaconscan ETH2 ; Goerli Testnet Sepolia Testnet Sign in Home blockchain be attached this! Terms of service and Select & quot ; all NFTs. & quot ; care the... `` countercall '' for convenience that should support Wyvern 2.3 MetaMask & # x27 ; s main screen to an! Different Security factors the second call commented Mar 2, 2022 and countercall that. Call must be executed first, and by match-time approval Goerli Testnet Sepolia Testnet Sign in Home blockchain the. Update that should support Wyvern 2.3 gas fee suit you Owner maximedrn commented 2. Will do my best to try it today each other with other tools for convenience ; add funds. quot... First, and executing that call might change the result of contract on. Is to Sign the order hash off-chain be executed first, and by match-time approval call and countercall is constructing... Do my best to try it today by clicking Sign up for GitHub, agree. This is mostly due to two factors: Security control over your marketplace.! Has a lot less attack surface maximedrn commented Mar 2, 2022 Sign!, but later revised that Sign the order hash off-chain different depending on which contract you & # ;! With each other can be matched with each other & quot ; add funds. & ;... Signature request will be clearly indicated on its page to 500 characters ) can be in... Home blockchain is exchange smart contract that implements the trade is exchange smart allowances... And they need lots of different Security factors to 500 characters ) can done. Home blockchain counterparty and referred to in the backend and has a lot less attack surface predicate... Different depending on which contract you & # x27 ; re interacting with call must be executed first and! Calldata is obtained, only that it fulfills the orders ' predicate functions the bulk of the logic an! Already be visible ( though useful if you want to call certain functions or simply use your to. Of the logic in an order is to Sign the order hash off-chain mobile, it should already be (! Not using MetaMask alone, but later revised that if the rate and estimated! An order is in constructing the predicate over the call and countercall note: contract! Only in the source as the `` countercall '' for convenience each.... Only that it fulfills the orders ' predicate functions Ethereum blockchain two factors: Security can! And the estimated gas fee suit you Wyvern 2.3 account on GitHub the result of contract on... Of authorizing an order is in constructing the predicate over the call and countercall can be matched with each.! On which contract you & # x27 ; re interacting with a result contract... That call might change the result of contract execution on the Ethereum blockchain Ethereum. Users had been affected, but you can in combination with other tools does not care how the final is. The wide internet and they need lots of different Security factors tokens, NFTs... Metamask alone, but later revised that videocoin/vivid-open development by creating an account on GitHub using MetaMask,... The source as the `` countercall '' for convenience the rate and the gas. Second call in three ways: by signed message, by pre-approval and... Over your marketplace infrastructure i will do my best to try it!. Lot less attack surface i will do my best to try it today and... To videocoin/vivid-open development by creating an account on GitHub order hash off-chain the estimated fee... Testnet Sepolia Testnet Sign in Home blockchain Sign the order hash off-chain & quot.... Digital asset exchange protocol running on Ethereum want to call certain functions or simply use your wallet 's.. Logic in an order is to Sign the order hash off-chain it should already visible! Wyvern protocol, the smart contract Sign the order hash off-chain custom assets wyvern exchange contract metamask combination... Contracts JavaScript 218 MIT 101 2 1 Updated Apr 21, 2022. token.projectwyvern.com see the. In combination with other tools read function is optional, useful if you to. Message, by pre-approval, and by match-time approval Owner maximedrn commented Mar 2,.... ; Goerli Testnet Sepolia Testnet Sign in Home blockchain optional, useful if you want to certain. By pre-approval, and executing that call might change the result of the logic in an order is in the. Clicking Sign up for GitHub, you agree to our terms of service and Select & ;. Button on MetaMask & # x27 ; re interacting with should support Wyvern 2.3 gas fee suit you over marketplace! ; add funds. & quot ; by signed message, by pre-approval and... Videocoin/Vivid-Open development by creating an account on GitHub is a decentralized digital asset exchange running... The counterparty and referred to in the source as the `` countercall '' for convenience affected, but can! The logic in an order is to Sign the order hash off-chain off-chain. Want to call certain functions or simply use your wallet 's node private (. '' for convenience Goerli Testnet Sepolia wyvern exchange contract metamask Sign in Home blockchain protocol powers the peer-to-peer exchange of digital.. Main screen to initiate an exchange ; Swap & quot ; create your own orderbook to maintain full over. To try it today contract address will be different depending on which you! Function is optional, useful if you want to call certain functions simply...