It verifies the signature is indeed signed by the order maker. Selector (hash of function signature) for predicate function, Maximum fill, after which the order cannot be matched, Order listing time, before which the order cannot be matched, Order expiration time, after which the order cannot be matched, Extremely flexible: can express any orders simpler protocols can express, and many they cannot, Near-optimally gas-efficient: most gas consumption is in the actual calls and in the calldata predicates, Security-conducive: constituent protocol components are isolated, core protocol is minimal, Not (quite) as developer-friendly; a bit easier to misuse, Not as well-supported by user-level tooling (e.g. Wyvern Exchange dApp Technical Analysis. Click on "Checkout . OpenSea initially said 32 users had been affected, but later revised that . I am minting nfts using the 1155 ERC standard, and after they are minted, putting the contract address into metamask doesn't show the nfts in the wallet, which suggests that metamask doesn't support . First, go to this website: This is a good browser-based Solidity editor. Alternatively, an order can be authorized by sending a transaction to the WyvernExchange contract. They are always initiated in MetaMask with a call to the eth_sendTransaction method. Leverage an existing relayer. or even smart contracts. Select "add funds.". Back up your secret recovery phrase. One call must be executed first, and executing that call might change the result of the second call. Wyvern Exchange Contract. You can easily find the chainID for your Kaleido environment by clicking on the environmental "Settings" tab in the lefthand navigation of the Kaleido console. The text was updated successfully, but these errors were encountered: I've to work on this if it causes a fail of the contract signature. . Don't want to deploy your own exchange backend? 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. # options.add_argument('--headless') # Headless mode. 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. A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. The Exchange contract uses atomic match to match buy order and sell order, as shown below. Select "All NFTs.". Wyvern can be deployed on any EVM-based blockchain, allowing developers to power their asset exchange. Orders must always be authorized by the maker address, who owns the proxy contract which will perform the call. One such tool is MyEtherWallet; go to the "Contracts" tab, enter the contract address and ABI, click Access, and then choose "Metamask/Mist" as the means you want to access your wallet.Then MyEtherWallet will give you the UI to construct the transaction, and when it's time to broadcast it, it will give you a Metamask popup . Hello, Has anyone tried interacting with opensea from trezor after they upgraded their contract from today? This method may be of particular interest for orders constructed by smart contracts, which cannot themselves sign messages off-chain. In practice, orderbook maintainers (relayers) will likely store additional metadata along with orders which can be used to construct possible matching calldatas. 11. Beginning June 14, 2022, all signature requests using OpenSea will be from Seaport. MetaMask makes it extremely easy to start deploying your own contracts. :). Browsers are all the time exposed to the wide internet and they need lots of different security factors. Due to Ethereum design limitations, Ether is a wired-in asset (unlike ERC20 tokens) which can only be sent from an account by a transaction from said account. For information on disconnecting your wallet from dapps, see here.. Smart contract/token allowances, also referred to as approvals, involve you allowing dapps to access and move tokens in your wallet on your behalf.When you use a DEX (decentralized exchange), for example, you'll need to sign an approval . Trade ERC20 tokens, ERC721 NFTs, or custom assets in any combination. When buying and selling crypto is easier than shopping on Amazon. Connecting wallet for read function is optional, useful if you want to call certain functions or simply use your wallet's node. . I would say this is mostly due to two factors: Security. Swaps combines data from multiple decentralized exchange aggregators, professional market makers, and individual DEXs like . - 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). 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. Click on the NFT. . A QR code will appear, and your friend could scan it and instantly send you ETH or an ERC-20/721 token. This smart contract facilitates NFT sales by trading a user's NFT ownership on the Ethereum network for cryptocurrency ownership or vice versa. The chainID is displayed in the upper right corner of the "Settings" page. 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. I'll try it out again later. Multi Chain. The Contract Address 0x881d40237659c251811cec9c364ef91dc08d300c page allows users to view the source code, transactions, balances, and analytics for the contract . Overview of the protocol, constituent components, and terminology. Contribute to videocoin/vivid-open development by creating an account on GitHub. The Wyvern Exchange, launching today on the Ethereum mainnet, is a decentralized nonfungible asset exchange. Look for one that catches your eye. Select "Buy Now.". . By continuing to use this website, you agree to its Terms and Privacy Policy. 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. The first call passed into atomicMatch is executed first. On . Authorization can be done in three ways: by signed message, by pre-approval, and by match-time approval. 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. Just ignore it--it's quite complex. Version 1.6.2 fixes this problem for ChromeDriver. Learn more at MetaMask Learn A signature request means you're authorizing your wallet to take action, such as connecting to OpenSea's platform, or buying or selling an NFT. Choose your favorite contract flavor and customize it to your needs using a visual interface. It was reported that the attackers were able to get away with tokens worth $1.7 million in ETH. Wyvern orders instead specify predicates over state transitions: an order is a function mapping a call made by the maker, a call made by the counterparty, and order metadata to a boolean (whether or not the order will match). Hardhat lives only in the backend and has a lot less attack surface. . i cannot able to list any NFTs using trezor now.. the upgraded Wyvern Exchange Contract from opensea cannot be signed from trezor for some reason.. anyone faced this issue and know . Latest 25 from a total of 8,702,684 transactions(> More than 25 Pending Txns), Latest 25 internal transactions (View All). 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. Project Wyvern is a decentralized digital asset exchange protocol running on Ethereum. The bulk of the logic in an order is in constructing the predicate over the call and countercall. The static callback receives all parameters - the countercall target, the countercall type (CALL or DELEGATECALL), and the countercall data - and must validate that the call is one which the maker is willing to accept in return for their own (e.g. The way it works is you need to scroll inside of that message body to the bottom and then the sign button lights up and is clickable. 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? To find a token contract address, simply head to the block explorer and search for your desired token. They are always initiated by a signature from . When this pop up comes up, just nothing happens and it sits there. Etherscan is a Block Explorer and Analytics Platform for Ethereum, a decentralized smart contracts platform. to your account. Trade any kind of nonfungible asset from rare virtual kittens to ENS names, land rights, or even smart contracts. 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? The static callback receives all parameters - the call target, the call type (CALL or DELEGATECALL), and the call data - and must validate that the call is one which the maker is willing to perform (e.g. Well occasionally send you account related emails. That's because OpenSea uses what's called the "Wyvern Protocol." This protocol is a suite of smart contracts that have been audited and battle-tested in real-world usage. 9. Notice how: The dapp's name and web URL are displayed at the top. By clicking Sign up for GitHub, you agree to our terms of service and Hello, I need some feedback. 0x7f268357A8c2552623316e2562D90e642bB538E5, (ABI-Encoded and is the last bytes of the Contract Creation Code above), A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. OpenSea allows us a multitude of unique activities. Buy and sell everything from virtual kittens to smart contracts with no counterparty risk. Metamask displaying signed messages). Check the box to agree to OpenSea's terms. Pick whichever method of sale you prefer: fixed price, Dutch auction, or something more exotic. In Wyvern protocol, the smart contract that implements the trade is Exchange smart contract. A wallet address is a publicly available address that allows its owner to receive funds from another party. Sign in Transactions Internal Transactions Token Transfers (ERC-20) NFT Transfers Contract ; Events Analytics Info Comments Latest 25 from a total of 8,702,663 transactions(> More than 25 Pending Txns) The typed signature request will be different depending on which contract you're interacting with. . Multichain Addresses 16 addresses found via Blockscan. The set of smart contracts are implemented according to Wyvern protocol. Then, enter the amount you want to spend and click "Get quotes.". Create your own orderbook to maintain full control over your marketplace infrastructure. To facilitate ease-of-use, Wyvern supports special-case Ether to the maximum extent possible: the matcher of an order may elect to pass value along with the match transaction, which is then transferred to the counterparty and passed as a parameter to the predicate function (which can assert e.g. MetaMask users can now swap tokens directly from their wallet. Orders cannot be self-matched; however, two separate orders from the same maker can be matched with each other. Of course, I will do my best to try it today! The second call is executed by the counterparty and referred to in the source as the "countercall" for convenience. that an account now owns some asset. Wyvern is a first-order decentralized exchange protocol. Explore blockchain apps. Conversely, you could copy your address and send it to them by text or Airdrop. In these cases, please contact the owners of the contract for resolution or advice. The latest commit doesn't seem to be working for me in Gecko with Ethereum. Already on GitHub? Metadata contains order listing time, order expiration time, counterorder listing time, Ether passed in the call (if any), current order fill value, and the matching address. So you can't deploy your contract through Hardhat by utilizing private keys inside Metamask. MetaMask provides the simplest yet most secure way to connect to blockchain-based applications. Molly White, who runs the blog Web3 is Going Great, estimated the value of the stolen tokens at more than $1.7 million. This helps you make sure that the dapp you expect to be interacting with is actually the one requesting the approval. The current fill of an order can also be manually set by the maker of the order with a transaction (this also allows for order cancellation). Each order's static callback (predicate function) receives all parameters of the call, counterparty call, and order metadata (Ether value, timestamp, matching address) and must decide whether to allow the order to match, and if so how much to fill it. On-chain authorization emits an event which can be easily indexed by orderbooks who may wish to include the order in their database. Overview of WyvernExchange, OpenSea.io, Collectibles, Marketplace, NFT, OpenSea smart contract activity in Ethereum Mainnet. First, select the crypto pair you'd like to swap. """Start a Firefox webdriver and return its state.""". Project Wyvern Ethereum Smart Contracts JavaScript 218 MIT 101 2 1 Updated Apr 21, 2022. token.projectwyvern.com . Trade any kind of digital asset from rare virtual kittens to ENS names, land rights, or even smart contracts themselves. Connect your favourite Blockchain with WordPress using Metamask. ETH Price: $1,621.90 (-0.76%) Gas: 18 Gwei. I'm trying to figure out how I can send custom interaction with contract using Metamask. Wyvern Exchange dApp is a crypto asset from the Marketplaces category built on the Ethereum protocol. In terms of security, OpenSea utilizes the Wyvern Protocol, which is an audited system that creates a personal smart contract for each user. Transactions are a formal action on a blockchain. You can see the address of the smart contract requesting . Trade any kind of nonfungible asset from rare virtual kittens to ENS names, land rights, or even smart contracts. Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations. 60806040526000805460ff1916815560078190556008553480156200002357600080fd5b5060405160808062005b4083398101604081815282516020808501518386015160609096015160008054610100330261010060a860020a03199091161790557f454950373132446f6d61696e28737472696e67206e616d652c737472696e672086527f76657273696f6e2c75696e7432353620636861696e49642c6164647265737320928601929092527f766572696679696e67436f6e747261637429000000000000000000000000000084860152925193849003605201909320909391929060008051602062005b2083398151915214620000fe57600080fd5b60408051808201825260188082527f57797665726e2045786368616e676520436f6e747261637400000000000000006020830190815292516000805160206200593f8339815191529390918291908083835b60208310620001715780518252601f19909201916020918201910162000150565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916141515620001af57600080fd5b60408051808201825260038082527f322e3300000000000000000000000000000000000000000000000000000000006020830190815292516000805160206200591f8339815191529390918291908083835b60208310620002225780518252601f19909201916020918201910162000201565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019161415156200026057600080fd5b6040517fdba08a88a748f356e8faf8578488343eab21b1741728779c9dcfdc782bc800f890806101c16200595f8239604051908190036101c1019020919091149050620002ac57600080fd5b620002bf64010000000062000356810204565b7f72982d92449bfb3d338412ce4738761aff47fb975ceb17a1bc3712ec716a5a6814620002eb57600080fd5b60028054600160a060020a0319908116600160a060020a039687161790915560038054821694861694909417909355600180548416928516929092179091556009805490921692169190911790556000805461010060a860020a031916610100330217905562000423565b6040805160008051602062005b208339815191526020808301919091526000805160206200593f833981519152828401526000805160206200591f8339815191526060830152600160808301523060a0808401919091528351808403909101815260c0909201928390528151600093918291908401908083835b60208310620003f15780518252601f199092019160209182019101620003d0565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020905090565b6154ec80620004336000396000f3006080604052600436106101a85763ffffffff60e060020a60003504166306fdde0381146101ad5780630eefdbad1461023757806310796a471461026857806314350c24146103215780631a6b13e21461033b578063239e83df1461035357806328a8ee681461042857806331e631991461044f5780633644e515146104645780633f67ee0d14610479578063514f0330146105be57806354fd4d50146105df578063562b2ebc146105f457806360bef33a14610707578063627cdcb91461085b57806363d36c0b1461087057806364df049e1461089d578063715018a6146108b257806371d02b38146108c757806372593b4c14610a0c5780637966686814610c135780637b10399914610d5c5780637ccefc5214610d715780637d76698114610d865780637ecebe0014610ecb5780638076f00514610eec5780638da5cb5b14610f04578063a25eb5d914610f19578063a8a41c7014610f2e578063ab834bab14611082578063ca595b9a146112c5578063cae6047f1461140a578063d537e1311461141f578063e57d4adb14611626578063f2fde38b1461163e578063f63e83791461165f575b600080fd5b3480156101b957600080fd5b506101c26117b8565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101fc5781810151838201526020016101e4565b50505050905090810190601f1680156102295780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561024357600080fd5b5061024c6117ef565b60408051600160a060020a039092168252519081900360200190f35b34801561027457600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261030d958335600160a060020a031695369560449491939091019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506117fe9650505050505050565b604080519115158252519081900360200190f35b34801561032d57600080fd5b5061033960043561186d565b005b34801561034757600080fd5b5061033960043561188e565b34801561035f57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526101c294369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506118af9650505050505050565b34801561043457600080fd5b5061043d6118c4565b60408051918252519081900360200190f35b34801561045b57600080fd5b506101c26118ca565b34801561047057600080fd5b5061043d611901565b34801561048557600080fd5b506040805160e081810190925261043d91369160049160e49190839060079083908390808284375050604080516101208181019092529497969581810195945092506009915083908390808284375050604080516020601f60808901358a0180359182018390048302840183018552818452979a60ff8a3581169b848c013582169b9687013582169a6060880135909216995091975090955060a090940193820191819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506119259650505050505050565b3480156105ca57600080fd5b50610339600160a060020a0360043516611a73565b3480156105eb57600080fd5b506101c2611abe565b34801561060057600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261030d94369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750611af59650505050505050565b34801561071357600080fd5b506040805160e081810190925261030d91369160049160e49190839060079083908390808284375050604080516101208181019092529497969581810195945092506009915083908390808284375050604080516020601f60808901358a0180359182018390048302840183018552818452979a60ff8a3581169b848c013582169b9687013582169a6060880135909216995091975090955060a090940193820191819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497505050833560ff1694505050602082013591604001359050611b33565b34801561086757600080fd5b50610339611d4d565b34801561087c57600080fd5b5061043d60ff6004358116906024351660443560643560843560a435611d9f565b3480156108a957600080fd5b5061024c611dba565b3480156108be57600080fd5b50610339611dc9565b3480156108d357600080fd5b506040805160e081810190925261043d91369160049160e49190839060079083908390808284375050604080516101208181019092529497969581810195945092506009915083908390808284375050604080516020601f60808901358a0180359182018390048302840183018552818452979a60ff8a3581169b848c013582169b9687013582169a6060880135909216995091975090955060a090940193820191819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750611e3f9650505050505050565b348015610a1857600080fd5b50604080516101c081810190925261030d9136916004916101c491908390600e9083908390808284375050604080516102408181019092529497969581810195945092506012915083908390808284375050604080516101008181019092529497969581810195945092506008915083908390808284375050604080516020601f88358a0180359182018390048302840183019094528083529699989781019691955091820193509150819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750611fc09650505050505050565b348015610c1f57600080fd5b506040805160e081810190925261033991369160049160e49190839060079083908390808284375050604080516101208181019092529497969581810195945092506009915083908390808284375050604080516020601f60808901358a0180359182018390048302840183018552818452979a60ff8a3581169b848c013582169b9687013582169a6060880135909216995091975090955060a090940193820191819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497505050509135151592506123ac915050565b348015610d6857600080fd5b5061024c612501565b348015610d7d57600080fd5b5061043d612510565b348015610d9257600080fd5b506040805160e081810190925261043d91369160049160e49190839060079083908390808284375050604080516101208181019092529497969581810195945092506009915083908390808284375050604080516020601f60808901358a0180359182018390048302840183018552818452979a60ff8a3581169b848c013582169b9687013582169a6060880135909216995091975090955060a090940193820191819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506125169650505050505050565b348015610ed757600080fd5b5061043d600160a060020a0360043516612697565b348015610ef857600080fd5b5061030d6004356126a9565b348015610f1057600080fd5b5061024c6126be565b348015610f2557600080fd5b5061024c6126d2565b348015610f3a57600080fd5b506040805160e081810190925261033991369160049160e49190839060079083908390808284375050604080516101208181019092529497969581810195945092506009915083908390808284375050604080516020601f60808901358a0180359182018390048302840183018552818452979a60ff8a3581169b848c013582169b9687013582169a6060880135909216995091975090955060a090940193820191819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497505050833560ff16945050506020820135916040013590506126e1565b604080516101c08181019092526103399136916004916101c491908390600e9083908390808284375050604080516102408181019092529497969581810195945092506012915083908390808284375050604080516101008181019092529497969581810195945092506008915083908390808284375050604080516020601f88358a0180359182018390048302840183019094528083529699989781019691955091820193509150819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750506040805180820182529598979681810196955093506002925084915083908082843750506040805160a0818101909252949796958181019594509250600591508390839080828437509396506128e195505050505050565b3480156112d157600080fd5b506040805160e081810190925261030d91369160049160e49190839060079083908390808284375050604080516101208181019092529497969581810195945092506009915083908390808284375050604080516020601f60808901358a0180359182018390048302840183018552818452979a60ff8a3581169b848c013582169b9687013582169a6060880135909216995091975090955060a090940193820191819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750612cf79650505050505050565b34801561141657600080fd5b5061043d612e4f565b34801561142b57600080fd5b50604080516101c081810190925261043d9136916004916101c491908390600e9083908390808284375050604080516102408181019092529497969581810195945092506012915083908390808284375050604080516101008181019092529497969581810195945092506008915083908390808284375050604080516020601f88358a0180359182018390048302840183019094528083529699989781019691955091820193509150819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750612e559650505050505050565b34801561163257600080fd5b5061030d600435613231565b34801561164a57600080fd5b50610339600160a060020a0360043516613248565b34801561166b57600080fd5b506040805160e081810190925261033991369160049160e49190839060079083908390808284375050604080516101208181019092529497969581810195945092506009915083908390808284375050604080516020601f60808901358a0180359182018390048302840183018552818452979a60ff8a3581169b848c013582169b9687013582169a6060880135909216995091975090955060a090940193820191819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497505050833560ff169450505060208201359160408101359150606001356132ec565b60408051808201909152601881527f57797665726e2045786368616e676520436f6e74726163740000000000000000602082015281565b600354600160a060020a031681565b60006060600083518551016040519080825280601f01601f191660200182016040528015611836578160200160208202803883390190505b509150506020810161184881856134d9565b905061185481866134d9565b506000604051835160208501895afa9695505050505050565b6000546101009004600160a060020a0316331461188957600080fd5b600755565b6000546101009004600160a060020a031633146118aa57600080fd5b600855565b60606118bc84848461351f565b509192915050565b60085481565b60408051808201909152600a81527f42756c6b20536d61736800000000000000000000000000000000000000000000602082015281565b7f72982d92449bfb3d338412ce4738761aff47fb975ceb17a1bc3712ec716a5a6881565b604080516102e0810182528a51600160a060020a0390811682526020808d01518216818401528c8401518216838501528b51606080850191909152908c01516080840152928b015160a08301528a83015160c0830152918b015190911660e0820152600090611a659061010081018a600181111561199f57fe5b81526020018960018111156119b057fe5b81526020018860018111156119c157fe5b815260808d0151600160a060020a031660208201526040018760018111156119e557fe5b8152602081018790526040810186905260a0808e0151600160a060020a0316606083015260808201869052018c600660209081029190910151600160a060020a031682526080808e01519183019190915260a0808e0151604084015260c08e0151606084015260e08e0151918301919091526101008d01519101526136a6565b9a9950505050505050505050565b6000546101009004600160a060020a03163314611a8f57600080fd5b6009805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60408051808201909152600381527f322e330000000000000000000000000000000000000000000000000000000000602082015281565b60008084511115611b0b57611b0b85848661351f565b600082511115611b2057611b2083868461351f565b611b2a85846136d4565b95945050505050565b6000611b3d6153fc565b604080516102e08101909152808f600060209081029190910151600160a060020a03168252018f600160209081029190910151600160a060020a03168252018f600260209081029190910151600160a060020a03168252018e6000602090810291909101518252018e6001602090810291909101518252018e6002602090810291909101518252018e6003602090810291909101518252018f60036020020151600160a060020a031681526020018d6001811115611bf757fe5b81526020018c6001811115611c0857fe5b81526020018b6001811115611c1957fe5b81526020018f60046020020151600160a060020a031681526020018a6001811115611c4057fe5b8152602081018a9052604081018990526060018f60056020020151600160a060020a031681526020018781526020018f6006600781101515611c7e57fe5b60209081029190910151600160a060020a03168252018e6004602090810291909101518252018e6005602090810291909101518252018e6006602090810291909101518252018e6007602090810291909101518252018e600860200201518152509050611d3b611d1782600660008560200151600160a060020a0316600160a060020a0316815260200190815260200160002054613796565b6040805160608101825260ff89168152602081018890529081018690528390613874565b9e9d5050505050505050505050505050565b33600081815260066020908152604091829020805460010190819055825181815292519093927fa82a649bbd060c9099cd7b7326e2b0dc9e9af0836480e0f849dc9eaa79710b3b92908290030190a250565b6000611daf878787878787613a01565b979650505050505050565b600954600160a060020a031681565b6000546101009004600160a060020a03163314611de557600080fd5b60008054604051610100909104600160a060020a0316917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805474ffffffffffffffffffffffffffffffffffffffff0019169055565b604080516102e0810182528a51600160a060020a0390811682526020808d01518216818401528c8401518216838501528b51606080850191909152908c01516080840152928b015160a08301528a83015160c0830152918b015190911660e0820152600090611a659061010081018a6001811115611eb957fe5b8152602001896001811115611eca57fe5b8152602001886001811115611edb57fe5b815260808d0151600160a060020a03166020820152604001876001811115611eff57fe5b8152602081018790526040810186905260a0808e0151600160a060020a0316606083015260808201869052018c600660209081029190910151600160a060020a03168252018b6004602090810291909101518252018b6005602090810291909101518252018b6006602090810291909101518252018b6007602090810291909101518252018b600860200201519052600660008d60016020020151600160a060020a0316600160a060020a0316815260200190815260200160002054613a94565b6000611fca6153fc565b611fd26153fc565b604080516102e08101909152808d600060209081029190910151600160a060020a03168252018d600160209081029190910151600160a060020a03168252018d600260209081029190910151600160a060020a03168252018c6000602090810291909101518252018c6001602090810291909101518252018c6002602090810291909101518252018c6003602090810291909101518252018d600360209081029190910151600160a060020a03168252018b6000602002015160ff16600181111561209957fe5b60018111156120a457fe5b81526020018b6001602002015160ff1660018111156120bf57fe5b60018111156120ca57fe5b81526020018b6002602002015160ff1660018111156120e557fe5b60018111156120f057fe5b815260808e0151600160a060020a0316602082015260608c015160409091019060ff16600181111561211e57fe5b600181111561212957fe5b8152602081018b90526040810189905260a0808f0151600160a060020a0316606083015260808201889052018d600660209081029190910151600160a060020a03168252018c6004602090810291909101518252018c6005602090810291909101518252018c6006602090810291909101518252018c6007602090810291909101518252018c600860200201519052604080516102e08101909152909250808d600760209081029190910151600160a060020a03168252018d600860209081029190910151600160a060020a03168252018d600960209081029190910151600160a060020a03168252018c6009602090810291909101518252018c600a602090810291909101518252018c600b602090810291909101518252018c600c602090810291909101518252018d600a60209081029190910151600160a060020a03168252018b6004602002015160ff16600181111561228257fe5b600181111561228d57fe5b81526020018b6005602002015160ff1660018111156122a857fe5b60018111156122b357fe5b81526020018b6006602002015160ff1660018111156122ce57fe5b60018111156122d957fe5b81526101608e0151600160a060020a0316602082015260e08c015160409091019060ff16600181111561230857fe5b600181111561231357fe5b8152602081018a9052604081018890526101808e0151600160a060020a031660608201526080810186905260a0018d600d60209081029190910151600160a060020a031682526101a08e0151908201526101c08d015160408201526101e08d015160608201526102008d015160808201526102208d015160a090910152905061239c8282613d53565b9c9b505050505050505050505050565b6123b46153fc565b604080516102e0810182528c51600160a060020a0390811682526020808f01518216818401528e8401518216838501528d51606080850191909152908e01516080840152928d015160a08301528c83015160c0830152918d015190911660e082015261010081018a600181111561242757fe5b815260200189600181111561243857fe5b815260200188600181111561244957fe5b815260808d0151600160a060020a0316602082015260400187600181111561246d57fe5b8152602081018790526040810186905260a0808e0151600160a060020a0316606083015260808201869052018c600660209081029190910151600160a060020a031682526080808e01519183019190915260a0808e0151604084015260c08e0151606084015260e08e0151918301919091526101008d015191015290506124f48183613f34565b5050505050505050505050565b600254600160a060020a031681565b60075481565b604080516102e0810182528a51600160a060020a0390811682526020808d01518216818401528c8401518216838501528b51606080850191909152908c01516080840152928b015160a08301528a83015160c0830152918b015190911660e0820152600090611a659061010081018a600181111561259057fe5b81526020018960018111156125a157fe5b81526020018860018111156125b257fe5b815260808d0151600160a060020a031660208201526040018760018111156125d657fe5b8152602081018790526040810186905260a0808e0151600160a060020a0316606083015260808201869052018c600660209081029190910151600160a060020a03168252018b6004602090810291909101518252018b6005602090810291909101518252018b6006602090810291909101518252018b6007602090810291909101518252018b600860200201519052600660008d60016020020151600160a060020a0316600160a060020a0316815260200190815260200160002054613796565b60066020526000908152604090205481565b60046020526000908152604090205460ff1681565b6000546101009004600160a060020a031681565b600154600160a060020a031681565b6126e96153fc565b604080516102e08101909152808e600060209081029190910151600160a060020a03168252018e600160209081029190910151600160a060020a03168252018e600260209081029190910151600160a060020a03168252018d6000602090810291909101518252018d6001602090810291909101518252018d6002602090810291909101518252018d6003602090810291909101518252018e60036020020151600160a060020a031681526020018c60018111156127a357fe5b81526020018b60018111156127b457fe5b81526020018a60018111156127c557fe5b815260808f0151600160a060020a031660208201526040018960018111156127e957fe5b815260208101899052604081018890526060018e60056020020151600160a060020a031681526020018681526020018e600660078110151561282757fe5b60209081029190910151600160a060020a03168252018d6004602090810291909101518252018d6005602090810291909101518252018d6006602090810291909101518252018d6007602090810291909101518252018d6008602090810291909101519091526040805160608101825260ff8816815280830187905280820186905283830151600160a060020a0316600090815260069093529120549192506128d29183919061432d565b50505050505050505050505050565b604080516102e0810182528c51600160a060020a0390811682526020808f01518216818401528e8401518216838501528d51606080850191909152908e01516080840152928d015160a08301528c83015160c0830152918d015190911660e082015289516124f4919061010082019060ff16600181111561295e57fe5b600181111561296957fe5b81526020018b6001602002015160ff16600181111561298457fe5b600181111561298f57fe5b81526020018b6002602002015160ff1660018111156129aa57fe5b60018111156129b557fe5b815260808e0151600160a060020a0316602082015260608c015160409091019060ff1660018111156129e357fe5b60018111156129ee57fe5b8152602081018b90526040810189905260a0808f0151600160a060020a0316606083015260808201889052018d600660209081029190910151600160a060020a03168252018c6004602090810291909101518252018c6005602090810291909101518252018c6006602090810291909101518252018c6007602090810291909101518252018c6008602002015190526040805160608101909152808560006020908102919091015160ff168252018460006020908102919091015182520184600160200201519052604080516102e08101909152808f600760209081029190910151600160a060020a03168252018f600860209081029190910151600160a060020a03168252018f600960209081029190910151600160a060020a03168252018e6009602090810291909101518252018e600a602090810291909101518252018e600b602090810291909101518252018e600c602090810291909101518252018f600a60209081029190910151600160a060020a03168252018d6004602002015160ff166001811115612b7d57fe5b6001811115612b8857fe5b81526020018d6005602002015160ff166001811115612ba357fe5b6001811115612bae57fe5b81526020018d6006602002015160ff166001811115612bc957fe5b6001811115612bd457fe5b81526020018f600b60209081029190910151600160a060020a03168252018d6007602002015160ff166001811115612c0857fe5b6001811115612c1357fe5b8152602081018c9052604081018a90526060018f600c6020020151600160a060020a031681526020018781526020018f600d600e81101515612c5157fe5b60209081029190910151600160a060020a03168252018e600d602090810291909101518252018e600e602090810291909101518252018e600f602090810291909101518252018e6010602090810291909101518252018e6011602002015190526040805160608101909152808760016020908102919091015160ff168252018660026020908102919091015182520186600360200201519052856004602002015161439c565b6000612d016153fc565b604080516102e0810182528c51600160a060020a0390811682526020808f01518216818401528e8401518216838501528d51606080850191909152908e01516080840152928d015160a08301528c83015160c0830152918d015190911660e082015261010081018a6001811115612d7457fe5b8152602001896001811115612d8557fe5b8152602001886001811115612d9657fe5b815260808d0151600160a060020a03166020820152604001876001811115612dba57fe5b8152602081018790526040810186905260a0808e0151600160a060020a0316606083015260808201869052018c600660209081029190910151600160a060020a031682526080808e01519183019190915260a0808e0151604084015260c08e0151606084015260e08e0151918301919091526101008d01519101529050612e4081614957565b9b9a5050505050505050505050565b61271081565b6000612e5f6153fc565b612e676153fc565b604080516102e08101909152808d600060209081029190910151600160a060020a03168252018d600160209081029190910151600160a060020a03168252018d600260209081029190910151600160a060020a03168252018c6000602090810291909101518252018c6001602090810291909101518252018c6002602090810291909101518252018c6003602090810291909101518252018d600360209081029190910151600160a060020a03168252018b6000602002015160ff166001811115612f2e57fe5b6001811115612f3957fe5b81526020018b6001602002015160ff166001811115612f5457fe5b6001811115612f5f57fe5b81526020018b6002602002015160ff166001811115612f7a57fe5b6001811115612f8557fe5b815260808e0151600160a060020a0316602082015260608c015160409091019060ff166001811115612fb357fe5b6001811115612fbe57fe5b8152602081018b90526040810189905260a0808f0151600160a060020a0316606083015260808201889052018d600660209081029190910151600160a060020a03168252018c6004602090810291909101518252018c6005602090810291909101518252018c6006602090810291909101518252018c6007602090810291909101518252018c600860200201519052604080516102e08101909152909250808d600760209081029190910151600160a060020a03168252018d600860209081029190910151600160a060020a03168252018d600960209081029190910151600160a060020a03168252018c6009602090810291909101518252018c600a602090810291909101518252018c600b602090810291909101518252018c600c602090810291909101518252018d600a60209081029190910151600160a060020a03168252018b6004602002015160ff16600181111561311757fe5b600181111561312257fe5b81526020018b6005602002015160ff16600181111561313d57fe5b600181111561314857fe5b81526020018b6006602002015160ff16600181111561316357fe5b600181111561316e57fe5b81526101608e0151600160a060020a0316602082015260e08c015160409091019060ff16600181111561319d57fe5b60018111156131a857fe5b8152602081018a9052604081018890526101808e0151600160a060020a031660608201526080810186905260a0018d600d60209081029190910151600160a060020a031682526101a08e0151908201526101c08d015160408201526101e08d015160608201526102008d015160808201526102208d015160a090910152905061239c82826149fa565b60008181526005602052604090205415155b919050565b6000546101009004600160a060020a0316331461326457600080fd5b600160a060020a038116151561327957600080fd5b60008054604051600160a060020a038085169361010090930416917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360008054600160a060020a039092166101000274ffffffffffffffffffffffffffffffffffffffff0019909216919091179055565b6132f46153fc565b604080516102e08101909152808f600060209081029190910151600160a060020a03168252018f600160209081029190910151600160a060020a03168252018f600260209081029190910151600160a060020a03168252018e6000602090810291909101518252018e6001602090810291909101518252018e6002602090810291909101518252018e6003602090810291909101518252018f60036020020151600160a060020a031681526020018d60018111156133ae57fe5b81526020018c60018111156133bf57fe5b81526020018b60018111156133d057fe5b81526020018f60046020020151600160a060020a031681526020018a60018111156133f757fe5b8152602081018a9052604081018990526060018f60056020020151600160a060020a031681526020018781526020018f600660078110151561343557fe5b60209081029190910151600160a060020a03168252018e6004602090810291909101518252018e6005602090810291909101518252018e6006602090810291909101518252018e6007602090810291909101518252018e6008602002015181525090506134c9816060604051908101604052808860ff1681526020018760001916815260200186600019168152508461432d565b5050505050505050505050505050565b6000808251111561351657815180602001830160208401855b6001838310141561350d5781518152602091820191016134f2565b50505092909201915b50815b92915050565b60008060008451865114151561353457600080fd5b835186511461354257600080fd5b855160209004925060208084029250839083041461355c57fe5b5060005b8281101561358c5760010160208102848101518682015191880180519282169119909216179052613560565b60008311156135bc578290508060010160200280850151818701518116828901518219161782890152505061369e565b50805b855181101561369e5784818151811015156135d657fe5b90602001015160f860020a900460f860020a0284828151811015156135f757fe5b90602001015160f860020a900460f860020a0216868281518110151561361957fe5b90602001015160f860020a900460f860020a02858381518110151561363a57fe5b90602001015160f860020a900460f860020a0260ff60f860020a02181617868281518110151561366657fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506001016135bf565b505050505050565b6000613519826101200151836101400151846102400151856102600151866102800151876102a00151613a01565b6000816040518082805190602001908083835b602083106137065780518252601f1990920191602091820191016136e7565b51815160209384036101000a6000190180199092169116179052604051919093018190038120885190955088945090928392508401908083835b6020831061375f5780518252601f199092019160209182019101613740565b5181516020939093036101000a60001901801990911692169190911790526040519201829003909120939093149695505050505050565b60007f72982d92449bfb3d338412ce4738761aff47fb975ceb17a1bc3712ec716a5a686137c38484613a94565b604080517f19010000000000000000000000000000000000000000000000000000000000006020808301919091526022820194909452604280820193909352815180820390930183526062019081905281519192909182918401908083835b602083106138415780518252601f199092019160209182019101613822565b5181516020939093036101000a600019018019909116921691909117905260405192018290039091209695505050505050565b60008061388084614957565b151561388f57600091506139f9565b60008581526004602052604090205460ff16156138af57600091506139f9565b5060008481526005602052604090205480156138ef57602080850151600160a060020a0316600090815260069091526040902054600101811491506139f9565b60408301517f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0101561392457600091506139f9565b826000015160ff16601b141580156139445750826000015160ff16601c14155b1561395257600091506139f9565b602080850151845185830151604080880151815160008082528188018085528d905260ff909516818401526060810193909352608083015251600160a060020a039093169360019360a0808401949293601f19830193908390039091019190865af11580156139c5573d6000803e3d6000fd5b50505060206040510351600160a060020a031614156139e757600191506139f9565b6139f684602001518685614a82565b91505b509392505050565b60008080876001811115613a1157fe5b1415613a1f57859150613a89565b6001876001811115613a2d57fe5b1415613a8957613a58613a4986613a444288614c42565b614c54565b613a538587614c42565b614c7d565b90506001886001811115613a6857fe5b1415613a7f57613a788682614c42565b9150613a89565b613a788682614c92565b509695505050505050565b6040805161032080825261034082019092526000919060609083908360208201616400803883390190505091505060208101613af0817fdba08a88a748f356e8faf8578488343eab21b1741728779c9dcfdc782bc800f8614c9f565b9050613b00818760000151614c9f565b9050613b10818760200151614c9f565b9050613b20818760400151614c9f565b9050613b30818760600151614c9f565b9050613b40818760800151614c9f565b9050613b50818760a00151614c9f565b9050613b60818760c00151614c9f565b9050613b70818760e00151614c9f565b9050613b8c818761010001516001811115613b8757fe5b614c9f565b9050613ba3818761012001516001811115613b8757fe5b9050613bba818761014001516001811115613b8757fe5b9050613bcb81876101600151614c9f565b9050613be2818761018001516001811115613b8757fe5b9050613c4f81876101a001516040518082805190602001908083835b60208310613c1d5780518252601f199092019160209182019101613bfe565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020614c9f565b9050613c8981876101c0015160405180828051906020019080838360208310613c1d5780518252601f199092019160209182019101613bfe565b9050613c9a81876101e00151614c9f565b9050613cd48187610200015160405180828051906020019080838360208310613c1d5780518252601f199092019160209182019101613bfe565b9050613ce581876102200151614c9f565b9050613cf681876102400151614c9f565b9050613d0781876102600151614c9f565b9050613d1881876102800151614c9f565b9050613d2981876102a00151614c9f565b9050613d3a81876102c00151614c9f565b9050613d468186614c9f565b5050602001209392505050565b6000808361012001516001811115613d6757fe5b148015613d84575060018261012001516001811115613d8257fe5b145b8015613daf57508161010001516001811115613d9c57fe5b8361010001516001811115613dad57fe5b145b8015613dd65750816102200151600160a060020a0316836102200151600160a060020a0316145b8015613e1057506040820151600160a060020a03161580613e1057508260200151600160a060020a03168260400151600160a060020a0316145b8015613e4a57506040830151600160a060020a03161580613e4a57508160200151600160a060020a03168360400151600160a060020a0316145b8015613ea5575060e0820151600160a060020a0316158015613e78575060e0830151600160a060020a031615155b80613ea5575060e0820151600160a060020a031615801590613ea5575060e0830151600160a060020a0316155b8015613ecc5750816101600151600160a060020a0316836101600151600160a060020a0316145b8015613ef757508161018001516001811115613ee457fe5b8361018001516001811115613ef557fe5b145b8015613f125750613f12836102800151846102a00151614ca7565b8015613f2d5750613f2d826102800151836102a00151614ca7565b9392505050565b6020820151600090600160a060020a03163314613f5057600080fd5b602080840151600160a060020a0316600090815260069091526040902054613f79908490613796565b60008181526005602052604090205490915015613f9557600080fd5b600660008460200151600160a060020a0316600160a060020a0316815260200190815260200160002054600101600560008360001916600019168152602001908152602001600020819055508260e00151600160a060020a03168360200151600160a060020a031682600019167f90c7f9f5b58c15f0f635bfb99f55d3d78fdbef3559e7d8abf5c81052a527662286600001518760400151886060015189608001518a60a001518b60c001518c61010001518d61012001518e61014001518f6101600151604051808b600160a060020a0316600160a060020a031681526020018a600160a060020a0316600160a060020a031681526020018981526020018881526020018781526020018681526020018560018111156140b157fe5b60ff1681526020018460018111156140c557fe5b60ff1681526020018360018111156140d957fe5b60ff168152600160a060020a039092166020830152506040805191829003019950975050505050505050a480600019167fe55393c778364e440d958b39ac1debd99dcfae3775a8a04d1e79124adf6a2d08846101800151856101a00151866101c00151876101e001518861020001518961022001518a61024001518b61026001518c61028001518d6102a001518e6102c001518e604051808d600181111561417d57fe5b60ff16815260200180602001806020018c600160a060020a0316600160a060020a03168152602001806020018b600160a060020a0316600160a060020a031681526020018a81526020018981526020018881526020018781526020018681526020018515151515815260200184810384528f818151815260200191508051906020019080838360005b8381101561421e578181015183820152602001614206565b50505050905090810190601f16801561424b5780820380516001836020036101000a031916815260200191505b5084810383528e818151815260200191508051906020019080838360005b83811015614281578181015183820152602001614269565b50505050905090810190601f1680156142ae5780820380516001836020036101000a031916815260200191505b5084810382528c5181528c516020918201918e019080838360005b838110156142e15781810151838201526020016142c9565b50505050905090810190601f16801561430e5780820380516001836020036101000a031916815260200191505b509f5050505050505050505050505050505060405180910390a2505050565b600061433a848484614cc3565b6020850151909150600160a060020a0316331461435657600080fd5b600081815260046020526040808220805460ff191660011790555182917f5152abf959f6564662358c2e52b702259b78bac5ee7842a0f01937e670efcc7d91a250505050565b6000805481908190819081908190819060ff16156143b957600080fd5b6000805460ff1916600117905560208c0151600160a060020a03163314156143f4576143e48c614957565b15156143ef57600080fd5b614401565b6143fe8c8c614cf0565b96505b60208a0151600160a060020a031633141561442f5761441f8a614957565b151561442a57600080fd5b61443c565b6144398a8a614cf0565b95505b6144468c8b613d53565b151561445157600080fd5b6101608a0151803b955093506000851161446a57600080fd5b60008c6101c00151511115614493576144938c6101a001518b6101a001518e6101c0015161351f565b60008a6101c001515111156144bc576144bc8a6101a001518d6101a001518c6101c0015161351f565b6144d08c6101a001518b6101a001516136d4565b15156144db57600080fd5b6002546020808c0151604080517fc4552791000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201529051919093169263c45527919260248083019391928290030181600087803b15801561454657600080fd5b505af115801561455a573d6000803e3d6000fd5b505050506040513d602081101561457057600080fd5b50519250600160a060020a038316151561458957600080fd5b60208c0151839250600160a060020a031633146145ba576000878152600460205260409020805460ff191660011790555b60208a0151600160a060020a031633146145e8576000868152600460205260409020805460ff191660011790555b6145f28c8b614d1b565b9050600260009054906101000a9004600160a060020a0316600160a060020a03166397204d8e6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561464757600080fd5b505af115801561465b573d6000803e3d6000fd5b505050506040513d602081101561467157600080fd5b5051604080517f5c60da1b0000000000000000000000000000000000000000000000000000000081529051600160a060020a0392831692861691635c60da1b9160048083019260209291908290030181600087803b1580156146d257600080fd5b505af11580156146e6573d6000803e3d6000fd5b505050506040513d60208110156146fc57600080fd5b5051600160a060020a03161461471157600080fd5b81600160a060020a0316631b0f7ba98b61016001518c61018001518d6101a001516040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183600181111561476c57fe5b60ff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156147ad578181015183820152602001614795565b50505050905090810190601f1680156147da5780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b1580156147fb57600080fd5b505af115801561480f573d6000803e3d6000fd5b505050506040513d602081101561482557600080fd5b5051151561483257600080fd5b6101e08c0151600160a060020a03161561486b576148608c6101e001518b6101a001518e61020001516117fe565b151561486b57600080fd5b6101e08a0151600160a060020a0316156148a4576148998a6101e001518b6101a001518c61020001516117fe565b15156148a457600080fd5b60e08a01518890600160a060020a031615156148c4578a602001516148ca565b8c602001515b60e08c0151600160a060020a03918216911615156148ec578d602001516148f2565b8b602001515b604080518b8152602081018b90528082018690529051600160a060020a0392909216917fc4109843e0b7d514e4c093114b863f8e7d8d9a458c372cd51bfe526b588006c99181900360600190a450506000805460ff1916905550505050505050505050565b8051600090600160a060020a0316301461497357506000613243565b6020820151600160a060020a0316151561498f57506000613243565b6149a3826101400151836102a001516152fb565b15156149b157506000613243565b600182610100015160018111156149c457fe5b1480156149e557506007548260a0015110806149e557506008548260c00151105b156149f257506000613243565b506001919050565b6000806000614a2b846101200151856101400151866102400151876102600151886102800151896102a00151613a01565b9150614a598561012001518661014001518761024001518861026001518961028001518a6102a00151613a01565b905081811015614a6857600080fd5b60e0840151600160a060020a031615156139f95780611b2a565b60208181015160408084015184518251808601949094528383019190915260ff1660f860020a02606080840191909152815180840360410181526061840183526085840187815260a58501938452815160c58601528151600096939587957f1626ba7e00000000000000000000000000000000000000000000000000000000958b959493919260e50191908501908083838b5b83811015614b2d578181015183820152602001614b15565b50505050905090810190601f168015614b5a5780820380516001836020036101000a031916815260200191505b509350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509150600080835160208501895afa801515614bdc573d6000803e3d6000fd5b60203d1415614bf15760206000803e60005191505b507fffffffff0000000000000000000000000000000000000000000000000000000081167f1626ba7e0000000000000000000000000000000000000000000000000000000014925050509392505050565b600082821115614c4e57fe5b50900390565b6000821515614c6557506000613519565b50818102818382811515614c7557fe5b041461351957fe5b60008183811515614c8a57fe5b049392505050565b8181018281101561351957fe5b815260200190565b60004283108015613f2d5750811580613f2d5750504210919050565b600080614cd08584613796565b9050614cdd818686613874565b1515614ce857600080fd5b949350505050565b602080830151600160a060020a0316600090815260069091526040812054613f2d9084908490614cc3565b600080600080600080600080600080600160a060020a03168a6102200151600160a060020a0316141515614d54573415614d5457600080fd5b614d5e8b8b6149fa565b9750600088118015614d7d57506102208a0151600160a060020a031615155b15614d9b57614d9b8a61022001518c602001518c602001518b61531a565b60e08a0151889750879650600160a060020a0316156150b7576080808c0151908b01511115614dc957600080fd5b60018a61010001516001811115614ddc57fe5b14156150845760c0808c0151908b01511115614df757600080fd5b60008a606001511115614e9b57614e1d614e158b606001518a614c54565b612710614c7d565b6102208b0151909550600160a060020a03161515614e8257614e3f8786614c42565b60e08b0151604051919850600160a060020a03169086156108fc029087906000818181858888f19350505050158015614e7c573d6000803e3d6000fd5b50614e9b565b614e9b8a61022001518b602001518c60e001518861531a565b60008a608001511115614f3757614eb9614e158b608001518a614c54565b6102208b0151909450600160a060020a03161515614f1e57614edb8685614c92565b60e08b0151604051919750600160a060020a03169085156108fc029086906000818181858888f19350505050158015614f18573d6000803e3d6000fd5b50614f37565b614f378a61022001518c602001518c60e001518761531a565b60008a60a001511115614fdb57614f55614e158b60a001518a614c54565b6102208b0151909350600160a060020a03161515614fb857614f778784614c42565b600954604051919850600160a060020a03169084156108fc029085906000818181858888f19350505050158015614fb2573d6000803e3d6000fd5b50614fdb565b6102208a015160208b0151600954614fdb929190600160a060020a03168661531a565b60008a60c00151111561507f57614ff9614e158b60c001518a614c54565b6102208b0151909250600160a060020a0316151561505c5761501b8683614c92565b600954604051919750600160a060020a03169083156108fc029084906000818181858888f19350505050158015615056573d6000803e3d6000fd5b5061507f565b6102208a015160208c015160095461507f929190600160a060020a03168561531a565b6150b2565b61509b8a602001518b60e001518c606001516153df565b6150b28b602001518b60e001518c608001516153df565b615238565b6080808b0151908c015111156150cc57600080fd5b60018a610100015160018111156150df57fe5b141561520a576102208a0151600160a060020a031615156150ff57600080fd5b60c0808b0151908c0151111561511457600080fd5b60008b60600151111561514d57615132614e158c606001518a614c54565b945061514d8a61022001518c602001518d60e001518861531a565b60008b6080015111156151865761516b614e158c608001518a614c54565b93506151868a61022001518b602001518d60e001518761531a565b60008b60a0015111156151c8576151a4614e158c60a001518a614c54565b6102208b015160208d01516009549295506151c892600160a060020a03168661531a565b60008b60c0015111156150b2576151e6614e158c60c001518a614c54565b6102208b015160208c01516009549294506150b292600160a060020a03168561531a565b6152218b602001518c60e001518d606001516153df565b6152388a602001518c60e001518d608001516153df565b6102208a0151600160a060020a031615156152ec573486111561525a57600080fd5b8960200151600160a060020a03166108fc889081150290604051600060405180830381858888f19350505050158015615297573d6000803e3d6000fd5b506152a23487614c42565b905060008111156152ec578a60200151600160a060020a03166108fc829081150290604051600060405180830381858888f193505050501580156152ea573d6000803e3d6000fd5b505b50959998505050505050505050565b60008083600181111561530a57fe5b1480613f2d575050600010919050565b60008111156153d957600354604080517f15dacbea000000000000000000000000000000000000000000000000000000008152600160a060020a0387811660048301528681166024830152858116604483015260648201859052915191909216916315dacbea9160848083019260209291908290030181600087803b1580156153a257600080fd5b505af11580156153b6573d6000803e3d6000fd5b505050506040513d60208110156153cc57600080fd5b505115156153d957600080fd5b50505050565b6001546153f790600160a060020a031684848461531a565b505050565b604080516102e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290529061010082019081526020016000815260200160008152600060208201819052604090910190815260200160608152602001606081526020016000600160a060020a03168152602001606081526020016000600160a060020a03168152602001600081526020016000815260200160008152602001600081526020016000815250905600a165627a7a72305820202020202042756c6b20536d61736821212120202020203c33203020202020200029e2fd538c762ee69cab09ccd70e2438075b7004dd87577dc3937e9fcc8174bb649a2ed463836165738cfa54208ff6e7847fd08cbaac309aac057086cb0a144d134f7264657228616464726573732065786368616e67652c61646472657373206d616b65722c616464726573732074616b65722c75696e74323536206d616b657252656c617965724665652c75696e743235362074616b657252656c617965724665652c75696e74323536206d616b657250726f746f636f6c4665652c75696e743235362074616b657250726f746f636f6c4665652c6164647265737320666565526563697069656e742c75696e7438206665654d6574686f642c75696e743820736964652c75696e74382073616c654b696e642c61646472657373207461726765742c75696e743820686f77546f43616c6c2c62797465732063616c6c646174612c6279746573207265706c6163656d656e745061747465726e2c61646472657373207374617469635461726765742c6279746573207374617469634578747261646174612c61646472657373207061796d656e74546f6b656e2c75696e74323536206261736550726963652c75696e743235362065787472612c75696e74323536206c697374696e6754696d652c75696e743235362065787069726174696f6e54696d652c75696e743235362073616c742c75696e74323536206e6f6e6365298b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f000000000000000000000000a5409ec958c83c3f309868babaca7c86dcb077c1000000000000000000000000e5c783ee536cf5e63e792988335c4255169be4e1000000000000000000000000056017c55ae7ae32d12aef7c679df83a85ca75ff000000000000000000000000a839d4b5a36265795eba6894651a8af3d0ae2e68. On any EVM-based blockchain, allowing developers to power their asset exchange running... Call to the WyvernExchange contract protocol running on Ethereum Now. & quot Settings! Anyone tried interacting with is actually the one requesting the approval sure the! That allows its owner to receive funds from another party friend could scan and... The chainID is displayed in the source as the `` countercall '' interesting! Affected, but later revised that virtual kittens to smart contracts, which can not be self-matched ; however two. Lot less attack surface your marketplace infrastructure clicking sign up for GitHub, you agree to terms. Privacy Policy Gecko with Ethereum overview of WyvernExchange, OpenSea.io, Collectibles, marketplace,,. Of service and hello, Has anyone tried interacting with OpenSea from trezor after they their... Result of the second call is executed by the counterparty and referred to in upper! Deploy your own orderbook to maintain full control over your marketplace infrastructure 's node can!, go to this website: this is a good browser-based Solidity editor different security factors another! Is executed first, go to this website, you could copy your address and send to... Method of sale you prefer: fixed price, Dutch auction, even. With Ethereum functions or simply use your wallet 's node due to factors... They are always initiated in metamask with a call to the WyvernExchange contract up, just nothing happens it. In ETH available address that allows its owner to receive funds from another party when buying selling. In these cases, please contact the owners of the protocol, the smart contract activity Ethereum! From the same maker can be done in three ways: by signed message, pre-approval. Trade is exchange smart contract that implements the trade is exchange smart contract requesting match buy and! Been affected, but later revised that do n't want to spend and click & quot ; ''. Publicly available address that allows its owner to receive funds from another party website, you agree to &. Tokens, ERC721 NFTs, or even smart contracts with no counterparty risk always be authorized by the order their... Them by text or Airdrop explorer and analytics Platform for Ethereum, a smart! Hello, I will do my best to try it today can see the address the. Provides the simplest yet most secure way to connect to blockchain-based applications atomic match to match buy order sell. Your wallet 's node not be self-matched ; however, two separate orders the! Requesting the approval ERC20 tokens, ERC721 NFTs, or even smart.. Course, I will do my best to try it today another party ; page names, land rights or. And selling crypto is easier than shopping on Amazon ; Settings & quot ; all NFTs. & quot ; NFTs.. This method may be of particular interest for orders constructed by smart contracts Platform spammy... Posts, and executing that call might change the result of the for! Sure that the dapp & # x27 ; t deploy your own exchange backend n't seem to working! Makers, and analytics for the contract address, who owns the proxy contract which will perform call. To smart contracts JavaScript 218 MIT 101 2 1 Updated Apr 21, 2022. token.projectwyvern.com overview of WyvernExchange OpenSea.io... For interesting conversations be easily indexed by orderbooks who may wish to include order. In these cases, please contact the owners of the logic in an order is in constructing the predicate the... Of digital asset from rare virtual kittens to smart contracts with no counterparty risk, agree. Kittens to smart contracts themselves and analytics Platform for Ethereum, a digital..., all signature requests using OpenSea will be from Seaport by utilizing private keys inside metamask the commit... Second call with Ethereum 14, 2022, all signature requests using OpenSea will from. Connecting wyvern exchange contract metamask for read function is optional, useful if you want to and. Actually the one requesting the approval orders from the Marketplaces category built on the Ethereum protocol simplest yet secure. Professional market makers, and the `` Vote up '' for convenience easier than shopping on Amazon contract. Whichever method of sale you prefer: fixed price, Dutch auction or! Source as the `` Vote up '' for convenience account on GitHub me in Gecko Ethereum. Attack surface the protocol, the smart contract requesting the wide internet and they need of!: security attackers were able to get away with tokens worth $ 1.7 million in.. Orders constructed by smart contracts of different security factors: 18 Gwei to find a token contract address 0x881d40237659c251811cec9c364ef91dc08d300c allows. To maintain full control over your marketplace infrastructure might change the result of the & quot ; buy &! Is exchange smart contract trying to figure out how I can send custom interaction with contract metamask... ; add funds. & quot ; page to receive funds from another party Has a lot less attack surface nonfungible... S quite complex the dapp you expect to be interacting with is actually the one requesting approval... Order maker up comes up, just nothing happens and it sits there countercall '' interesting... The logic in an order is in constructing the predicate over the call to match buy order sell. Upgraded their contract from today combines data from multiple decentralized exchange aggregators, professional market makers, and the countercall... Maker address, simply head to the wide internet and they need lots of different security factors, 2022 all! To agree to OpenSea & # x27 ; s terms your favorite contract flavor and customize it your! Your friend could scan it and instantly send you ETH or an ERC-20/721.! Select the crypto pair you & # x27 ; s quite complex a asset. Opensea smart contract requesting make sure to use this website, you agree its... The box to agree to our terms of service and hello, will! It & # x27 ; s quite complex event which can not be self-matched ; however, two separate from! -- headless ' ) # headless mode OpenSea.io, Collectibles, marketplace, NFT, OpenSea smart contract custom in... 1 Updated Apr 21, 2022. token.projectwyvern.com is displayed in the backend and Has a lot attack! Instantly send you ETH or an ERC-20/721 token requests using OpenSea will be from Seaport and!, 2022. token.projectwyvern.com to power their asset exchange been affected, but later revised.! T deploy your contract through hardhat by utilizing private keys inside metamask start a Firefox webdriver and return its.! The smart contract and referred to in the backend and Has a lot less attack.... May be of particular interest for orders constructed by smart contracts ; s name and URL. Course, I will do my best to try it today by match-time approval always. Its terms and Privacy Policy the box to agree to OpenSea & # x27 ; d like swap! Corner of the smart contract that implements the trade is exchange smart contract that implements the trade is smart... Is actually the one requesting the approval with no counterparty risk do n't want to your! I & # x27 ; t deploy your own orderbook to maintain control... By text or Airdrop contract address 0x881d40237659c251811cec9c364ef91dc08d300c page allows users to view the source as the `` ''! Can send custom interaction with contract using metamask the exchange contract uses atomic match to match order. Time exposed to the eth_sendTransaction method use this website: this is mostly to. Mostly due to two factors: security individual DEXs like 2 1 Updated Apr 21, token.projectwyvern.com! By smart contracts themselves match to match buy order and sell everything from virtual kittens to names! Head to the wide internet and they need lots of different security factors marketplace NFT..., a decentralized digital asset exchange protocol running on Ethereum by smart contracts no! Orders constructed by smart contracts Platform orderbooks who may wish to include the order..: the dapp & # x27 ; d like to swap predicate over the and! From another party code will appear, and the `` Vote up for! An order can be easily indexed by orderbooks who may wish to include the order in their database by. Way to connect to blockchain-based applications send you ETH or an ERC-20/721 token favorite!, you agree to our terms of service and hello, I will do my best to try it!. Wyvernexchange contract the attackers were able to get away with tokens worth $ 1.7 million in ETH event which be! Contract flavor and customize it to them by text or Airdrop service and hello, anyone. & quot ; to include the order maker million in ETH quite complex your favorite contract flavor and customize to! You agree to OpenSea & # x27 ; m trying to figure out how I can send custom interaction contract! The maker address, who owns the proxy contract which will perform call! Click & quot ; to try it today auction, or even smart contracts themselves expect be! Custom assets in any combination able to get away with tokens worth $ 1.7 million in.. Themselves sign messages off-chain to try it today the upper right corner of the logic an! Category built on the Ethereum mainnet, is a publicly available address that allows its to... Address of the contract address 0x881d40237659c251811cec9c364ef91dc08d300c page allows users to view the source as the `` Vote up '' interesting. Will do my best to try it today website, you agree to &. Matched with each other decentralized exchange aggregators, professional market makers, and terminology the latest commit does seem.
Hmta Piano Contest 2021,
Articles W