@wangwuww/neo-market-cli 0.1.0-alpha.2 → 0.1.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/README.md +7 -1
  2. package/SKILL.md +32 -39
  3. package/artifacts/contracts/AgentRegistry.sol/AgentRegistry.dbg.json +1 -1
  4. package/artifacts/contracts/AgentRegistry.sol/AgentRegistry.json +2 -2
  5. package/artifacts/contracts/ArbitrationMultisig.sol/ArbitrationMultisig.dbg.json +1 -1
  6. package/artifacts/contracts/ArbitrationMultisig.sol/ArbitrationMultisig.json +2 -2
  7. package/artifacts/contracts/ArbitrationMultisig.sol/ITokenEscrowExecute.dbg.json +1 -1
  8. package/artifacts/contracts/FeeManager.sol/FeeManager.dbg.json +1 -1
  9. package/artifacts/contracts/FeeManager.sol/FeeManager.json +108 -5
  10. package/artifacts/contracts/Marketplace.sol/IModuleRegistry.dbg.json +1 -1
  11. package/artifacts/contracts/Marketplace.sol/ITokenEscrowMinimal.dbg.json +1 -1
  12. package/artifacts/contracts/Marketplace.sol/ITokenEscrowMinimal.json +5 -0
  13. package/artifacts/contracts/Marketplace.sol/Marketplace.dbg.json +1 -1
  14. package/artifacts/contracts/Marketplace.sol/Marketplace.json +12 -2
  15. package/artifacts/contracts/ModuleKeys.sol/ModuleKeys.dbg.json +1 -1
  16. package/artifacts/contracts/ModuleKeys.sol/ModuleKeys.json +2 -2
  17. package/artifacts/contracts/ModuleRegistry.sol/ModuleRegistry.dbg.json +1 -1
  18. package/artifacts/contracts/ModuleRegistry.sol/ModuleRegistry.json +2 -2
  19. package/artifacts/contracts/NeoBadge.sol/NeoBadge.dbg.json +4 -0
  20. package/artifacts/contracts/NeoBadge.sol/NeoBadge.json +392 -0
  21. package/artifacts/contracts/Reputation.sol/Reputation.dbg.json +1 -1
  22. package/artifacts/contracts/Reputation.sol/Reputation.json +2 -2
  23. package/artifacts/contracts/TokenEscrow.sol/IArbitration.dbg.json +1 -1
  24. package/artifacts/contracts/TokenEscrow.sol/IERC20Minimal.dbg.json +1 -1
  25. package/artifacts/contracts/TokenEscrow.sol/IFeeManager.dbg.json +1 -1
  26. package/artifacts/contracts/TokenEscrow.sol/IFeeManager.json +10 -4
  27. package/artifacts/contracts/TokenEscrow.sol/IModuleRegistry.dbg.json +1 -1
  28. package/artifacts/contracts/TokenEscrow.sol/TokenEscrow.dbg.json +1 -1
  29. package/artifacts/contracts/TokenEscrow.sol/TokenEscrow.json +161 -36
  30. package/artifacts/contracts/USDCMock.sol/USDCMock.dbg.json +1 -1
  31. package/artifacts/contracts/USDCMock.sol/USDCMock.json +2 -2
  32. package/artifacts/contracts/interfaces/IAgentRegistry.sol/IAgentRegistry.dbg.json +1 -1
  33. package/artifacts/contracts/interfaces/IArbitration.sol/IArbitration.dbg.json +1 -1
  34. package/artifacts/contracts/interfaces/IEscrow.sol/IEscrow.dbg.json +1 -1
  35. package/artifacts/contracts/interfaces/IFeeManager.sol/IFeeManager.dbg.json +1 -1
  36. package/artifacts/contracts/interfaces/IMarketplace.sol/IMarketplace.dbg.json +1 -1
  37. package/artifacts/contracts/interfaces/IMarketplace.sol/IMarketplace.json +10 -0
  38. package/artifacts/contracts/interfaces/INeoBadge.sol/INeoBadge.dbg.json +4 -0
  39. package/artifacts/contracts/interfaces/INeoBadge.sol/INeoBadge.json +40 -0
  40. package/artifacts/contracts/interfaces/IReputation.sol/IReputation.dbg.json +1 -1
  41. package/artifacts/contracts/interfaces/ISignatures.sol/ISignatures.dbg.json +1 -1
  42. package/artifacts/contracts/interfaces/ITokenEscrow.sol/ITokenEscrow.dbg.json +1 -1
  43. package/deployed_addresses.json +10 -7
  44. package/dist/cli.js +180 -2
  45. package/package.json +2 -2
  46. package/dist/artifacts/build-info/263a967f7f3cd59c812a49b3d7012981.json +0 -1
  47. package/dist/artifacts/build-info/4a4ba527b0f3c1846c84e3e500a6db58.json +0 -1
  48. package/dist/artifacts/build-info/4e7053f3332c81b7a9916619c1b87388.json +0 -1
  49. package/dist/artifacts/build-info/50367a8838c4b3b556df951a374f59c7.json +0 -1
  50. package/dist/artifacts/build-info/61ca0f28829f90b00df26748203acea3.json +0 -1
  51. package/dist/artifacts/build-info/63fca17ade81ae3db2e066ca74f790d1.json +0 -1
  52. package/dist/artifacts/build-info/85f6bdb1a79bcf0154bb1562fa8e221e.json +0 -1
  53. package/dist/artifacts/contracts/AgentRegistry.sol/AgentRegistry.dbg.json +0 -4
  54. package/dist/artifacts/contracts/AgentRegistry.sol/AgentRegistry.json +0 -400
  55. package/dist/artifacts/contracts/ArbitrationMultisig.sol/ArbitrationMultisig.dbg.json +0 -4
  56. package/dist/artifacts/contracts/ArbitrationMultisig.sol/ArbitrationMultisig.json +0 -243
  57. package/dist/artifacts/contracts/ArbitrationMultisig.sol/ITokenEscrowExecute.dbg.json +0 -4
  58. package/dist/artifacts/contracts/ArbitrationMultisig.sol/ITokenEscrowExecute.json +0 -24
  59. package/dist/artifacts/contracts/FeeManager.sol/FeeManager.dbg.json +0 -4
  60. package/dist/artifacts/contracts/FeeManager.sol/FeeManager.json +0 -53
  61. package/dist/artifacts/contracts/Marketplace.sol/IModuleRegistry.dbg.json +0 -4
  62. package/dist/artifacts/contracts/Marketplace.sol/IModuleRegistry.json +0 -30
  63. package/dist/artifacts/contracts/Marketplace.sol/ITokenEscrowMinimal.dbg.json +0 -4
  64. package/dist/artifacts/contracts/Marketplace.sol/ITokenEscrowMinimal.json +0 -120
  65. package/dist/artifacts/contracts/Marketplace.sol/Marketplace.dbg.json +0 -4
  66. package/dist/artifacts/contracts/Marketplace.sol/Marketplace.json +0 -746
  67. package/dist/artifacts/contracts/ModuleKeys.sol/ModuleKeys.dbg.json +0 -4
  68. package/dist/artifacts/contracts/ModuleKeys.sol/ModuleKeys.json +0 -10
  69. package/dist/artifacts/contracts/ModuleRegistry.sol/ModuleRegistry.dbg.json +0 -4
  70. package/dist/artifacts/contracts/ModuleRegistry.sol/ModuleRegistry.json +0 -169
  71. package/dist/artifacts/contracts/Reputation.sol/Reputation.dbg.json +0 -4
  72. package/dist/artifacts/contracts/Reputation.sol/Reputation.json +0 -265
  73. package/dist/artifacts/contracts/TokenEscrow.sol/IArbitration.dbg.json +0 -4
  74. package/dist/artifacts/contracts/TokenEscrow.sol/IArbitration.json +0 -59
  75. package/dist/artifacts/contracts/TokenEscrow.sol/IERC20Minimal.dbg.json +0 -4
  76. package/dist/artifacts/contracts/TokenEscrow.sol/IERC20Minimal.json +0 -64
  77. package/dist/artifacts/contracts/TokenEscrow.sol/IFeeManager.dbg.json +0 -4
  78. package/dist/artifacts/contracts/TokenEscrow.sol/IFeeManager.json +0 -37
  79. package/dist/artifacts/contracts/TokenEscrow.sol/IModuleRegistry.dbg.json +0 -4
  80. package/dist/artifacts/contracts/TokenEscrow.sol/IModuleRegistry.json +0 -30
  81. package/dist/artifacts/contracts/TokenEscrow.sol/TokenEscrow.dbg.json +0 -4
  82. package/dist/artifacts/contracts/TokenEscrow.sol/TokenEscrow.json +0 -1091
  83. package/dist/artifacts/contracts/USDCMock.sol/USDCMock.dbg.json +0 -4
  84. package/dist/artifacts/contracts/USDCMock.sol/USDCMock.json +0 -251
  85. package/dist/artifacts/contracts/interfaces/IAgentRegistry.sol/IAgentRegistry.dbg.json +0 -4
  86. package/dist/artifacts/contracts/interfaces/IAgentRegistry.sol/IAgentRegistry.json +0 -203
  87. package/dist/artifacts/contracts/interfaces/IArbitration.sol/IArbitration.dbg.json +0 -4
  88. package/dist/artifacts/contracts/interfaces/IArbitration.sol/IArbitration.json +0 -127
  89. package/dist/artifacts/contracts/interfaces/IEscrow.sol/IEscrow.dbg.json +0 -4
  90. package/dist/artifacts/contracts/interfaces/IEscrow.sol/IEscrow.json +0 -431
  91. package/dist/artifacts/contracts/interfaces/IFeeManager.sol/IFeeManager.dbg.json +0 -4
  92. package/dist/artifacts/contracts/interfaces/IFeeManager.sol/IFeeManager.json +0 -87
  93. package/dist/artifacts/contracts/interfaces/IMarketplace.sol/IMarketplace.dbg.json +0 -4
  94. package/dist/artifacts/contracts/interfaces/IMarketplace.sol/IMarketplace.json +0 -427
  95. package/dist/artifacts/contracts/interfaces/IReputation.sol/IReputation.dbg.json +0 -4
  96. package/dist/artifacts/contracts/interfaces/IReputation.sol/IReputation.json +0 -151
  97. package/dist/artifacts/contracts/interfaces/ISignatures.sol/ISignatures.dbg.json +0 -4
  98. package/dist/artifacts/contracts/interfaces/ISignatures.sol/ISignatures.json +0 -414
  99. package/dist/artifacts/contracts/interfaces/ITokenEscrow.sol/ITokenEscrow.dbg.json +0 -4
  100. package/dist/artifacts/contracts/interfaces/ITokenEscrow.sol/ITokenEscrow.json +0 -245
@@ -1 +0,0 @@
1
- {"id":"263a967f7f3cd59c812a49b3d7012981","_format":"hh-sol-build-info-1","solcVersion":"0.8.20","solcLongVersion":"0.8.20+commit.a1b79de6","input":{"language":"Solidity","sources":{"contracts/FeeManager.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\ncontract FeeManager {\n uint16 public feeBps;\n address public treasury;\n\n constructor(uint16 _feeBps, address _treasury) {\n require(_treasury != address(0), \"ZERO_TREASURY\");\n feeBps = _feeBps;\n treasury = _treasury;\n }\n}\n"},"contracts/interfaces/IAgentRegistry.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\ninterface IAgentRegistry {\n enum AgentStatus {\n None,\n Active,\n Suspended\n }\n\n struct AgentInfo {\n address agent;\n string manifestCID;\n uint256 stake;\n uint256 reputationScore;\n AgentStatus status;\n }\n\n event AgentRegistered(address indexed agent, string manifestCID, uint256 stake);\n event AgentUpdated(address indexed agent, string manifestCID);\n event AgentStatusChanged(address indexed agent, AgentStatus status);\n event AgentStakeChanged(address indexed agent, uint256 newStake);\n\n function register(string calldata manifestCID) external payable;\n function updateManifest(string calldata manifestCID) external;\n function setStatus(address agent, AgentStatus status) external;\n function addStake() external payable;\n function withdrawStake(uint256 amount) external;\n function getAgent(address agent) external view returns (AgentInfo memory);\n}\n\n"},"contracts/interfaces/IArbitration.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\ninterface IArbitration {\n event DisputeCreated(uint256 indexed disputeId, uint256 indexed escrowId, address indexed opener, string evidenceCID);\n event RulingGiven(uint256 indexed disputeId, uint256 ruling);\n\n function createDispute(uint256 escrowId, address opener, string calldata evidenceCID)\n external\n returns (uint256 disputeId);\n\n function rule(uint256 disputeId, uint256 ruling) external;\n}\n\n"},"contracts/interfaces/IEscrow.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\ninterface IEscrow {\n enum EscrowStatus {\n None,\n Funded,\n Delivered,\n Accepted,\n Rejected,\n Disputed,\n Resolved,\n Refunded\n }\n\n struct EscrowInfo {\n uint256 escrowId;\n uint256 jobId;\n address buyer;\n address agent;\n uint256 amount;\n address paymentToken;\n EscrowStatus status;\n uint64 fundedAt;\n uint64 deliveryDeadline;\n }\n\n event EscrowFunded(uint256 indexed escrowId, uint256 indexed jobId, address indexed buyer, uint256 amount);\n event DeliverySubmitted(uint256 indexed escrowId, string deliveryCID, bytes32 receiptHash);\n event DeliveryAccepted(uint256 indexed escrowId, address indexed buyer);\n event DeliveryRejected(uint256 indexed escrowId, address indexed buyer, string reasonCID);\n event DisputeOpened(uint256 indexed disputeId, uint256 indexed escrowId, address indexed opener);\n event DisputeResolved(uint256 indexed disputeId, uint256 indexed escrowId, uint256 ruling);\n event EscrowSettled(uint256 indexed escrowId, address indexed agent, uint256 payout, uint256 fee);\n event EscrowRefunded(uint256 indexed escrowId, address indexed buyer, uint256 refundAmount);\n\n function fund(uint256 jobId, uint256 amount, address paymentToken, uint64 deliveryDeadline)\n external\n returns (uint256 escrowId);\n\n function submitDelivery(\n uint256 escrowId,\n string calldata deliveryCID,\n bytes32 receiptHash,\n bytes calldata agentSignature\n ) external;\n\n function accept(uint256 escrowId) external;\n function reject(uint256 escrowId, string calldata reasonCID) external;\n\n function openDispute(uint256 escrowId, string calldata evidenceCID) external returns (uint256 disputeId);\n\n function executeRuling(uint256 disputeId, uint256 ruling) external;\n\n function refundOnTimeout(uint256 escrowId) external;\n\n function getEscrow(uint256 escrowId) external view returns (EscrowInfo memory);\n}\n\n"},"contracts/interfaces/IFeeManager.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\ninterface IFeeManager {\n event ProtocolFeeUpdated(uint256 feeBps);\n event TreasuryUpdated(address treasury);\n\n function protocolFeeBps() external view returns (uint256);\n function treasury() external view returns (address);\n\n function computeFee(uint256 amount) external view returns (uint256 fee, uint256 net);\n}\n\n"},"contracts/interfaces/IMarketplace.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\ninterface IMarketplace {\n enum JobStatus {\n None,\n Open,\n Selected,\n Cancelled,\n Closed\n }\n\n struct JobInfo {\n uint256 jobId;\n address buyer;\n string jobSpecCID;\n uint256 budget;\n address paymentToken;\n uint64 deadline;\n JobStatus status;\n }\n\n struct BidInfo {\n uint256 bidId;\n uint256 jobId;\n address agent;\n string bidCID;\n uint256 price;\n uint64 eta;\n }\n\n event JobPublished(uint256 indexed jobId, address indexed buyer, string jobSpecCID, uint256 budget);\n event JobCancelled(uint256 indexed jobId, address indexed buyer);\n event BidPlaced(uint256 indexed bidId, uint256 indexed jobId, address indexed agent, uint256 price);\n event BidSelected(uint256 indexed jobId, uint256 indexed bidId, address indexed agent);\n\n function publishJob(\n string calldata jobSpecCID,\n uint256 budget,\n address paymentToken,\n uint64 deadline\n ) external returns (uint256 jobId);\n\n function cancelJob(uint256 jobId) external;\n\n function placeBid(\n uint256 jobId,\n string calldata bidCID,\n uint256 price,\n uint64 eta\n ) external returns (uint256 bidId);\n\n function selectBid(uint256 jobId, uint256 bidId) external;\n\n function getJob(uint256 jobId) external view returns (JobInfo memory);\n function getBid(uint256 bidId) external view returns (BidInfo memory);\n}\n\n"},"contracts/interfaces/IReputation.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\ninterface IReputation {\n event ReputationUpdated(address indexed subject, int256 delta, string reason, uint256 relatedJobId);\n\n function update(address subject, int256 delta, string calldata reason, uint256 relatedJobId) external;\n\n function scoreOf(address subject) external view returns (int256);\n}\n\n"},"contracts/interfaces/ISignatures.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\n/// @title EIP-712 Signatures Interface\n/// @notice Defines typed data structs and verification helpers for v0 signatures.\n/// @dev Note: Solidity interfaces cannot declare constants; typehash constants should live in a library or implementation.\ninterface ISignatures {\n struct BidSignature {\n uint256 jobId;\n address agent;\n uint256 price;\n uint64 eta;\n string bidCID;\n uint256 nonce;\n uint64 deadline;\n }\n\n struct DeliveryReceiptSignature {\n uint256 escrowId;\n uint256 jobId;\n address agent;\n string deliveryCID;\n bytes32 deliveryHash;\n uint64 timestamp;\n uint256 nonce;\n uint64 deadline;\n }\n\n struct DisputeEvidenceSignature {\n uint256 disputeId;\n uint256 escrowId;\n address submitter;\n string evidenceCID;\n bytes32 evidenceHash;\n uint64 timestamp;\n uint256 nonce;\n uint64 deadline;\n }\n\n /// @notice Returns the EIP-712 domain separator used for hashing.\n function domainSeparator() external view returns (bytes32);\n\n /// @notice Returns the current nonce for a signer.\n function nonces(address signer) external view returns (uint256);\n\n /// @notice Hashes a BidSignature struct per EIP-712.\n function hashBid(BidSignature calldata bid) external view returns (bytes32);\n\n /// @notice Hashes a DeliveryReceiptSignature struct per EIP-712.\n function hashDeliveryReceipt(DeliveryReceiptSignature calldata receipt) external view returns (bytes32);\n\n /// @notice Hashes a DisputeEvidenceSignature struct per EIP-712.\n function hashDisputeEvidence(DisputeEvidenceSignature calldata evidence) external view returns (bytes32);\n\n /// @notice Verifies a BidSignature and returns the recovered signer.\n function verifyBidSignature(BidSignature calldata bid, bytes calldata signature)\n external\n view\n returns (address signer);\n\n /// @notice Verifies a DeliveryReceiptSignature and returns the recovered signer.\n function verifyDeliveryReceiptSignature(DeliveryReceiptSignature calldata receipt, bytes calldata signature)\n external\n view\n returns (address signer);\n\n /// @notice Verifies a DisputeEvidenceSignature and returns the recovered signer.\n function verifyDisputeEvidenceSignature(DisputeEvidenceSignature calldata evidence, bytes calldata signature)\n external\n view\n returns (address signer);\n}\n"},"contracts/interfaces/ITokenEscrow.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\n/// @title USDC Token Escrow Interface\n/// @notice ERC20 USDC-specific escrow operations and events.\ninterface ITokenEscrow {\n enum EscrowStatus {\n None,\n Funded,\n Delivered,\n Accepted,\n Rejected,\n Disputed,\n Resolved,\n Refunded\n }\n\n struct TokenEscrowInfo {\n uint256 escrowId;\n uint256 jobId;\n address buyer;\n address agent;\n uint256 amount;\n address paymentToken;\n EscrowStatus status;\n uint64 fundedAt;\n uint64 deliveryDeadline;\n }\n\n event EscrowFunded(uint256 indexed escrowId, uint256 indexed jobId, address indexed buyer, uint256 amount);\n event EscrowReleased(uint256 indexed escrowId, address indexed agent, uint256 payout, uint256 fee);\n event EscrowRefunded(uint256 indexed escrowId, address indexed buyer, uint256 refundAmount);\n\n /// @notice Returns the USDC token address used for escrow.\n function paymentToken() external view returns (address);\n\n /// @notice Returns the current protocol fee in basis points.\n function protocolFeeBps() external view returns (uint256);\n\n /// @notice Funds a new escrow in USDC using safeTransferFrom.\n function fundUSDC(uint256 jobId, uint256 amount, uint64 deliveryDeadline)\n external\n returns (uint256 escrowId);\n\n /// @notice Releases escrowed funds to the agent and protocol fee to treasury.\n function releaseToAgent(uint256 escrowId) external;\n\n /// @notice Refunds escrowed funds to the buyer.\n function refundToBuyer(uint256 escrowId) external;\n\n /// @notice Returns escrow info.\n function getEscrow(uint256 escrowId) external view returns (TokenEscrowInfo memory);\n}\n\n"},"contracts/ModuleRegistry.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\ncontract ModuleRegistry {\n address public owner;\n mapping(bytes32 => address) public modules;\n\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n event ModuleSet(bytes32 indexed key, address indexed module);\n\n modifier onlyOwner() {\n require(msg.sender == owner, \"NOT_OWNER\");\n _;\n }\n\n constructor() {\n owner = msg.sender;\n emit OwnershipTransferred(address(0), msg.sender);\n }\n\n function transferOwnership(address newOwner) external onlyOwner {\n require(newOwner != address(0), \"ZERO_OWNER\");\n emit OwnershipTransferred(owner, newOwner);\n owner = newOwner;\n }\n\n function setModule(bytes32 key, address module) external onlyOwner {\n modules[key] = module;\n emit ModuleSet(key, module);\n }\n}\n"},"contracts/TokenEscrow.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\ninterface IERC20Minimal {\n function transfer(address to, uint256 amount) external returns (bool);\n function transferFrom(address from, address to, uint256 amount) external returns (bool);\n}\n\ninterface IFeeManager {\n function feeBps() external view returns (uint16);\n function treasury() external view returns (address);\n}\n\ncontract TokenEscrow {\n struct Escrow {\n address buyer;\n address agent;\n uint256 amount;\n uint256 deadline;\n bool funded;\n bool delivered;\n bool released;\n bool refunded;\n bytes32 deliveryHash;\n }\n\n IERC20Minimal public immutable usdc;\n IFeeManager public immutable feeManager;\n\n uint256 public escrowCount;\n mapping(uint256 => Escrow) public escrows;\n\n event EscrowCreated(uint256 indexed escrowId, address indexed buyer, address indexed agent, uint256 amount, uint256 deadline);\n event EscrowFunded(uint256 indexed escrowId);\n event DeliverySubmitted(uint256 indexed escrowId, bytes32 deliveryHash);\n event EscrowAccepted(uint256 indexed escrowId, uint256 fee, uint256 net);\n event EscrowRefunded(uint256 indexed escrowId);\n\n constructor(address _usdc, address _feeManager) {\n require(_usdc != address(0), \"ZERO_USDC\");\n require(_feeManager != address(0), \"ZERO_FEE_MANAGER\");\n usdc = IERC20Minimal(_usdc);\n feeManager = IFeeManager(_feeManager);\n }\n\n function createEscrow(address buyer, address agent, uint256 amount, uint256 deadline) public returns (uint256) {\n require(buyer != address(0), \"ZERO_BUYER\");\n require(agent != address(0), \"ZERO_AGENT\");\n require(amount > 0, \"ZERO_AMOUNT\");\n require(deadline > block.timestamp, \"BAD_DEADLINE\");\n\n escrowCount += 1;\n uint256 escrowId = escrowCount;\n escrows[escrowId] = Escrow({\n buyer: buyer,\n agent: agent,\n amount: amount,\n deadline: deadline,\n funded: false,\n delivered: false,\n released: false,\n refunded: false,\n deliveryHash: bytes32(0)\n });\n\n emit EscrowCreated(escrowId, buyer, agent, amount, deadline);\n return escrowId;\n }\n\n function fund(uint256 escrowId) external {\n Escrow storage e = escrows[escrowId];\n require(e.buyer != address(0), \"NO_ESCROW\");\n require(!e.funded, \"ALREADY_FUNDED\");\n require(!e.refunded, \"REFUNDED\");\n usdc.transferFrom(e.buyer, address(this), e.amount);\n e.funded = true;\n emit EscrowFunded(escrowId);\n }\n\n function submitDelivery(uint256 escrowId, bytes32 deliveryHash) external {\n Escrow storage e = escrows[escrowId];\n require(e.buyer != address(0), \"NO_ESCROW\");\n require(e.funded, \"NOT_FUNDED\");\n require(!e.delivered, \"ALREADY_DELIVERED\");\n require(msg.sender == e.agent, \"NOT_AGENT\");\n e.delivered = true;\n e.deliveryHash = deliveryHash;\n emit DeliverySubmitted(escrowId, deliveryHash);\n }\n\n function accept(uint256 escrowId) external {\n Escrow storage e = escrows[escrowId];\n require(e.buyer != address(0), \"NO_ESCROW\");\n require(e.funded, \"NOT_FUNDED\");\n require(e.delivered, \"NOT_DELIVERED\");\n require(!e.released, \"ALREADY_RELEASED\");\n require(!e.refunded, \"REFUNDED\");\n require(msg.sender == e.buyer, \"NOT_BUYER\");\n\n e.released = true;\n\n uint256 fee = (e.amount * feeManager.feeBps()) / 10_000;\n uint256 net = e.amount - fee;\n\n address treasury = feeManager.treasury();\n if (fee > 0) {\n usdc.transfer(treasury, fee);\n }\n usdc.transfer(e.agent, net);\n\n emit EscrowAccepted(escrowId, fee, net);\n }\n\n function refundOnTimeout(uint256 escrowId) external {\n Escrow storage e = escrows[escrowId];\n require(e.buyer != address(0), \"NO_ESCROW\");\n require(e.funded, \"NOT_FUNDED\");\n require(!e.released, \"ALREADY_RELEASED\");\n require(!e.refunded, \"ALREADY_REFUNDED\");\n require(block.timestamp > e.deadline, \"NOT_TIMEOUT\");\n\n e.refunded = true;\n usdc.transfer(e.buyer, e.amount);\n\n emit EscrowRefunded(escrowId);\n }\n}\n"},"contracts/USDCMock.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\ncontract USDCMock {\n string public constant name = \"USD Coin\";\n string public constant symbol = \"USDC\";\n uint8 public constant decimals = 6;\n\n uint256 public totalSupply;\n\n mapping(address => uint256) public balanceOf;\n mapping(address => mapping(address => uint256)) public allowance;\n\n event Transfer(address indexed from, address indexed to, uint256 value);\n event Approval(address indexed owner, address indexed spender, uint256 value);\n\n function mint(address to, uint256 amount) external {\n require(to != address(0), \"ZERO_TO\");\n totalSupply += amount;\n balanceOf[to] += amount;\n emit Transfer(address(0), to, amount);\n }\n\n function approve(address spender, uint256 amount) external returns (bool) {\n allowance[msg.sender][spender] = amount;\n emit Approval(msg.sender, spender, amount);\n return true;\n }\n\n function transfer(address to, uint256 amount) external returns (bool) {\n _transfer(msg.sender, to, amount);\n return true;\n }\n\n function transferFrom(address from, address to, uint256 amount) external returns (bool) {\n uint256 allowed = allowance[from][msg.sender];\n require(allowed >= amount, \"ALLOWANCE\");\n if (allowed != type(uint256).max) {\n allowance[from][msg.sender] = allowed - amount;\n emit Approval(from, msg.sender, allowance[from][msg.sender]);\n }\n _transfer(from, to, amount);\n return true;\n }\n\n function _transfer(address from, address to, uint256 amount) internal {\n require(to != address(0), \"ZERO_TO\");\n uint256 bal = balanceOf[from];\n require(bal >= amount, \"BALANCE\");\n balanceOf[from] = bal - amount;\n balanceOf[to] += amount;\n emit Transfer(from, to, amount);\n }\n}\n"}},"settings":{"optimizer":{"enabled":true,"runs":200},"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"],"":["ast"]}}}},"output":{"sources":{"contracts/FeeManager.sol":{"ast":{"absolutePath":"contracts/FeeManager.sol","exportedSymbols":{"FeeManager":[32]},"id":33,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"32:24:0"},{"abstract":false,"baseContracts":[],"canonicalName":"FeeManager","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":32,"linearizedBaseContracts":[32],"name":"FeeManager","nameLocation":"67:10:0","nodeType":"ContractDefinition","nodes":[{"constant":false,"functionSelector":"24a9d853","id":3,"mutability":"mutable","name":"feeBps","nameLocation":"98:6:0","nodeType":"VariableDeclaration","scope":32,"src":"84:20:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":2,"name":"uint16","nodeType":"ElementaryTypeName","src":"84:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"visibility":"public"},{"constant":false,"functionSelector":"61d027b3","id":5,"mutability":"mutable","name":"treasury","nameLocation":"125:8:0","nodeType":"VariableDeclaration","scope":32,"src":"110:23:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4,"name":"address","nodeType":"ElementaryTypeName","src":"110:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"body":{"id":30,"nodeType":"Block","src":"187:122:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":18,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9,"src":"205:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":16,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"226:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":15,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"218:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":14,"name":"address","nodeType":"ElementaryTypeName","src":"218:7:0","typeDescriptions":{}}},"id":17,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"218:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"205:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5a45524f5f5452454153555259","id":19,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"230:15:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_34e474b3dd6f3638d7f573f0e940ba5f9de74cc0e43a4a37313cdfb469c0082c","typeString":"literal_string \"ZERO_TREASURY\""},"value":"ZERO_TREASURY"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_34e474b3dd6f3638d7f573f0e940ba5f9de74cc0e43a4a37313cdfb469c0082c","typeString":"literal_string \"ZERO_TREASURY\""}],"id":12,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"197:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":20,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"197:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21,"nodeType":"ExpressionStatement","src":"197:49:0"},{"expression":{"id":24,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":22,"name":"feeBps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3,"src":"256:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":23,"name":"_feeBps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7,"src":"265:7:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"src":"256:16:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"id":25,"nodeType":"ExpressionStatement","src":"256:16:0"},{"expression":{"id":28,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":26,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"282:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":27,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9,"src":"293:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"282:20:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":29,"nodeType":"ExpressionStatement","src":"282:20:0"}]},"id":31,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":10,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7,"mutability":"mutable","name":"_feeBps","nameLocation":"159:7:0","nodeType":"VariableDeclaration","scope":31,"src":"152:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":6,"name":"uint16","nodeType":"ElementaryTypeName","src":"152:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"visibility":"internal"},{"constant":false,"id":9,"mutability":"mutable","name":"_treasury","nameLocation":"176:9:0","nodeType":"VariableDeclaration","scope":31,"src":"168:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8,"name":"address","nodeType":"ElementaryTypeName","src":"168:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"151:35:0"},"returnParameters":{"id":11,"nodeType":"ParameterList","parameters":[],"src":"187:0:0"},"scope":32,"src":"140:169:0","stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"scope":33,"src":"58:253:0","usedErrors":[],"usedEvents":[]}],"src":"32:280:0"},"id":0},"contracts/ModuleRegistry.sol":{"ast":{"absolutePath":"contracts/ModuleRegistry.sol","exportedSymbols":{"ModuleRegistry":[131]},"id":132,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":34,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"32:24:1"},{"abstract":false,"baseContracts":[],"canonicalName":"ModuleRegistry","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":131,"linearizedBaseContracts":[131],"name":"ModuleRegistry","nameLocation":"67:14:1","nodeType":"ContractDefinition","nodes":[{"constant":false,"functionSelector":"8da5cb5b","id":36,"mutability":"mutable","name":"owner","nameLocation":"103:5:1","nodeType":"VariableDeclaration","scope":131,"src":"88:20:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":35,"name":"address","nodeType":"ElementaryTypeName","src":"88:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"constant":false,"functionSelector":"b0b6cc1a","id":40,"mutability":"mutable","name":"modules","nameLocation":"149:7:1","nodeType":"VariableDeclaration","scope":131,"src":"114:42:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"},"typeName":{"id":39,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":37,"name":"bytes32","nodeType":"ElementaryTypeName","src":"122:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"114:27:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38,"name":"address","nodeType":"ElementaryTypeName","src":"133:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"public"},{"anonymous":false,"eventSelector":"8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0","id":46,"name":"OwnershipTransferred","nameLocation":"169:20:1","nodeType":"EventDefinition","parameters":{"id":45,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42,"indexed":true,"mutability":"mutable","name":"previousOwner","nameLocation":"206:13:1","nodeType":"VariableDeclaration","scope":46,"src":"190:29:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41,"name":"address","nodeType":"ElementaryTypeName","src":"190:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44,"indexed":true,"mutability":"mutable","name":"newOwner","nameLocation":"237:8:1","nodeType":"VariableDeclaration","scope":46,"src":"221:24:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43,"name":"address","nodeType":"ElementaryTypeName","src":"221:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"189:57:1"},"src":"163:84:1"},{"anonymous":false,"eventSelector":"0669329f751b07de4aa82f60514a409d0dfaef266e791a4a65a95b07b1c4c324","id":52,"name":"ModuleSet","nameLocation":"258:9:1","nodeType":"EventDefinition","parameters":{"id":51,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48,"indexed":true,"mutability":"mutable","name":"key","nameLocation":"284:3:1","nodeType":"VariableDeclaration","scope":52,"src":"268:19:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47,"name":"bytes32","nodeType":"ElementaryTypeName","src":"268:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":50,"indexed":true,"mutability":"mutable","name":"module","nameLocation":"305:6:1","nodeType":"VariableDeclaration","scope":52,"src":"289:22:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49,"name":"address","nodeType":"ElementaryTypeName","src":"289:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"267:45:1"},"src":"252:61:1"},{"body":{"id":63,"nodeType":"Block","src":"340:69:1","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":58,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":55,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"358:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":56,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"362:6:1","memberName":"sender","nodeType":"MemberAccess","src":"358:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":57,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36,"src":"372:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"358:19:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e4f545f4f574e4552","id":59,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"379:11:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_d4d6719c9f6bf1f398a61e7ceb8dff26d48346602421236409d0fb0b222f65b2","typeString":"literal_string \"NOT_OWNER\""},"value":"NOT_OWNER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d4d6719c9f6bf1f398a61e7ceb8dff26d48346602421236409d0fb0b222f65b2","typeString":"literal_string \"NOT_OWNER\""}],"id":54,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"350:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":60,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"350:41:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61,"nodeType":"ExpressionStatement","src":"350:41:1"},{"id":62,"nodeType":"PlaceholderStatement","src":"401:1:1"}]},"id":64,"name":"onlyOwner","nameLocation":"328:9:1","nodeType":"ModifierDefinition","parameters":{"id":53,"nodeType":"ParameterList","parameters":[],"src":"337:2:1"},"src":"319:90:1","virtual":false,"visibility":"internal"},{"body":{"id":81,"nodeType":"Block","src":"429:94:1","statements":[{"expression":{"id":70,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36,"src":"439:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":68,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"447:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":69,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"451:6:1","memberName":"sender","nodeType":"MemberAccess","src":"447:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"439:18:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":71,"nodeType":"ExpressionStatement","src":"439:18:1"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":75,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"501:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":74,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"493:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":73,"name":"address","nodeType":"ElementaryTypeName","src":"493:7:1","typeDescriptions":{}}},"id":76,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"493:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":77,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"505:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":78,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"509:6:1","memberName":"sender","nodeType":"MemberAccess","src":"505:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":72,"name":"OwnershipTransferred","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46,"src":"472:20:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":79,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"472:44:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80,"nodeType":"EmitStatement","src":"467:49:1"}]},"id":82,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":65,"nodeType":"ParameterList","parameters":[],"src":"426:2:1"},"returnParameters":{"id":66,"nodeType":"ParameterList","parameters":[],"src":"429:0:1"},"scope":131,"src":"415:108:1","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":108,"nodeType":"Block","src":"593:140:1","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":95,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":90,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84,"src":"611:8:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":93,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"631:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":92,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"623:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":91,"name":"address","nodeType":"ElementaryTypeName","src":"623:7:1","typeDescriptions":{}}},"id":94,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"623:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"611:22:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5a45524f5f4f574e4552","id":96,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"635:12:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_a26a6f6d56588264d1b79634a9c754f875b4d33ae9c27f6032762b2eb699cad5","typeString":"literal_string \"ZERO_OWNER\""},"value":"ZERO_OWNER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a26a6f6d56588264d1b79634a9c754f875b4d33ae9c27f6032762b2eb699cad5","typeString":"literal_string \"ZERO_OWNER\""}],"id":89,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"603:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":97,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"603:45:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98,"nodeType":"ExpressionStatement","src":"603:45:1"},{"eventCall":{"arguments":[{"id":100,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36,"src":"684:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":101,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84,"src":"691:8:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":99,"name":"OwnershipTransferred","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46,"src":"663:20:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"663:37:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":103,"nodeType":"EmitStatement","src":"658:42:1"},{"expression":{"id":106,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":104,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36,"src":"710:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":105,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84,"src":"718:8:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"710:16:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":107,"nodeType":"ExpressionStatement","src":"710:16:1"}]},"functionSelector":"f2fde38b","id":109,"implemented":true,"kind":"function","modifiers":[{"id":87,"kind":"modifierInvocation","modifierName":{"id":86,"name":"onlyOwner","nameLocations":["583:9:1"],"nodeType":"IdentifierPath","referencedDeclaration":64,"src":"583:9:1"},"nodeType":"ModifierInvocation","src":"583:9:1"}],"name":"transferOwnership","nameLocation":"538:17:1","nodeType":"FunctionDefinition","parameters":{"id":85,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84,"mutability":"mutable","name":"newOwner","nameLocation":"564:8:1","nodeType":"VariableDeclaration","scope":109,"src":"556:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83,"name":"address","nodeType":"ElementaryTypeName","src":"556:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"555:18:1"},"returnParameters":{"id":88,"nodeType":"ParameterList","parameters":[],"src":"593:0:1"},"scope":131,"src":"529:204:1","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":129,"nodeType":"Block","src":"806:75:1","statements":[{"expression":{"id":122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":118,"name":"modules","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40,"src":"816:7:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":120,"indexExpression":{"id":119,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":111,"src":"824:3:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"816:12:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":121,"name":"module","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":113,"src":"831:6:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"816:21:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":123,"nodeType":"ExpressionStatement","src":"816:21:1"},{"eventCall":{"arguments":[{"id":125,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":111,"src":"862:3:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":126,"name":"module","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":113,"src":"867:6:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":124,"name":"ModuleSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52,"src":"852:9:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"852:22:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":128,"nodeType":"EmitStatement","src":"847:27:1"}]},"functionSelector":"541cd468","id":130,"implemented":true,"kind":"function","modifiers":[{"id":116,"kind":"modifierInvocation","modifierName":{"id":115,"name":"onlyOwner","nameLocations":["796:9:1"],"nodeType":"IdentifierPath","referencedDeclaration":64,"src":"796:9:1"},"nodeType":"ModifierInvocation","src":"796:9:1"}],"name":"setModule","nameLocation":"748:9:1","nodeType":"FunctionDefinition","parameters":{"id":114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":111,"mutability":"mutable","name":"key","nameLocation":"766:3:1","nodeType":"VariableDeclaration","scope":130,"src":"758:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":110,"name":"bytes32","nodeType":"ElementaryTypeName","src":"758:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":113,"mutability":"mutable","name":"module","nameLocation":"779:6:1","nodeType":"VariableDeclaration","scope":130,"src":"771:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":112,"name":"address","nodeType":"ElementaryTypeName","src":"771:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"757:29:1"},"returnParameters":{"id":117,"nodeType":"ParameterList","parameters":[],"src":"806:0:1"},"scope":131,"src":"739:142:1","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":132,"src":"58:825:1","usedErrors":[],"usedEvents":[46,52]}],"src":"32:852:1"},"id":1},"contracts/TokenEscrow.sol":{"ast":{"absolutePath":"contracts/TokenEscrow.sol","exportedSymbols":{"IERC20Minimal":[154],"IFeeManager":[165],"TokenEscrow":[672]},"id":673,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":133,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"32:24:2"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC20Minimal","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":154,"linearizedBaseContracts":[154],"name":"IERC20Minimal","nameLocation":"68:13:2","nodeType":"ContractDefinition","nodes":[{"functionSelector":"a9059cbb","id":142,"implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"97:8:2","nodeType":"FunctionDefinition","parameters":{"id":138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":135,"mutability":"mutable","name":"to","nameLocation":"114:2:2","nodeType":"VariableDeclaration","scope":142,"src":"106:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":134,"name":"address","nodeType":"ElementaryTypeName","src":"106:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":137,"mutability":"mutable","name":"amount","nameLocation":"126:6:2","nodeType":"VariableDeclaration","scope":142,"src":"118:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":136,"name":"uint256","nodeType":"ElementaryTypeName","src":"118:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"105:28:2"},"returnParameters":{"id":141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":140,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":142,"src":"152:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":139,"name":"bool","nodeType":"ElementaryTypeName","src":"152:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"151:6:2"},"scope":154,"src":"88:70:2","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"23b872dd","id":153,"implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"172:12:2","nodeType":"FunctionDefinition","parameters":{"id":149,"nodeType":"ParameterList","parameters":[{"constant":false,"id":144,"mutability":"mutable","name":"from","nameLocation":"193:4:2","nodeType":"VariableDeclaration","scope":153,"src":"185:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":143,"name":"address","nodeType":"ElementaryTypeName","src":"185:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":146,"mutability":"mutable","name":"to","nameLocation":"207:2:2","nodeType":"VariableDeclaration","scope":153,"src":"199:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":145,"name":"address","nodeType":"ElementaryTypeName","src":"199:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":148,"mutability":"mutable","name":"amount","nameLocation":"219:6:2","nodeType":"VariableDeclaration","scope":153,"src":"211:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":147,"name":"uint256","nodeType":"ElementaryTypeName","src":"211:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"184:42:2"},"returnParameters":{"id":152,"nodeType":"ParameterList","parameters":[{"constant":false,"id":151,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":153,"src":"245:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":150,"name":"bool","nodeType":"ElementaryTypeName","src":"245:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"244:6:2"},"scope":154,"src":"163:88:2","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":673,"src":"58:195:2","usedErrors":[],"usedEvents":[]},{"abstract":false,"baseContracts":[],"canonicalName":"IFeeManager","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":165,"linearizedBaseContracts":[165],"name":"IFeeManager","nameLocation":"265:11:2","nodeType":"ContractDefinition","nodes":[{"functionSelector":"24a9d853","id":159,"implemented":false,"kind":"function","modifiers":[],"name":"feeBps","nameLocation":"292:6:2","nodeType":"FunctionDefinition","parameters":{"id":155,"nodeType":"ParameterList","parameters":[],"src":"298:2:2"},"returnParameters":{"id":158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":157,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":159,"src":"324:6:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":156,"name":"uint16","nodeType":"ElementaryTypeName","src":"324:6:2","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"visibility":"internal"}],"src":"323:8:2"},"scope":165,"src":"283:49:2","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"61d027b3","id":164,"implemented":false,"kind":"function","modifiers":[],"name":"treasury","nameLocation":"346:8:2","nodeType":"FunctionDefinition","parameters":{"id":160,"nodeType":"ParameterList","parameters":[],"src":"354:2:2"},"returnParameters":{"id":163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":162,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":164,"src":"380:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":161,"name":"address","nodeType":"ElementaryTypeName","src":"380:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"379:9:2"},"scope":165,"src":"337:52:2","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":673,"src":"255:136:2","usedErrors":[],"usedEvents":[]},{"abstract":false,"baseContracts":[],"canonicalName":"TokenEscrow","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":672,"linearizedBaseContracts":[672],"name":"TokenEscrow","nameLocation":"402:11:2","nodeType":"ContractDefinition","nodes":[{"canonicalName":"TokenEscrow.Escrow","id":184,"members":[{"constant":false,"id":167,"mutability":"mutable","name":"buyer","nameLocation":"452:5:2","nodeType":"VariableDeclaration","scope":184,"src":"444:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":166,"name":"address","nodeType":"ElementaryTypeName","src":"444:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":169,"mutability":"mutable","name":"agent","nameLocation":"475:5:2","nodeType":"VariableDeclaration","scope":184,"src":"467:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":168,"name":"address","nodeType":"ElementaryTypeName","src":"467:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":171,"mutability":"mutable","name":"amount","nameLocation":"498:6:2","nodeType":"VariableDeclaration","scope":184,"src":"490:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":170,"name":"uint256","nodeType":"ElementaryTypeName","src":"490:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":173,"mutability":"mutable","name":"deadline","nameLocation":"522:8:2","nodeType":"VariableDeclaration","scope":184,"src":"514:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":172,"name":"uint256","nodeType":"ElementaryTypeName","src":"514:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":175,"mutability":"mutable","name":"funded","nameLocation":"545:6:2","nodeType":"VariableDeclaration","scope":184,"src":"540:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":174,"name":"bool","nodeType":"ElementaryTypeName","src":"540:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":177,"mutability":"mutable","name":"delivered","nameLocation":"566:9:2","nodeType":"VariableDeclaration","scope":184,"src":"561:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":176,"name":"bool","nodeType":"ElementaryTypeName","src":"561:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":179,"mutability":"mutable","name":"released","nameLocation":"590:8:2","nodeType":"VariableDeclaration","scope":184,"src":"585:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":178,"name":"bool","nodeType":"ElementaryTypeName","src":"585:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":181,"mutability":"mutable","name":"refunded","nameLocation":"613:8:2","nodeType":"VariableDeclaration","scope":184,"src":"608:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":180,"name":"bool","nodeType":"ElementaryTypeName","src":"608:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":183,"mutability":"mutable","name":"deliveryHash","nameLocation":"639:12:2","nodeType":"VariableDeclaration","scope":184,"src":"631:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":182,"name":"bytes32","nodeType":"ElementaryTypeName","src":"631:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"Escrow","nameLocation":"427:6:2","nodeType":"StructDefinition","scope":672,"src":"420:238:2","visibility":"public"},{"constant":false,"functionSelector":"3e413bee","id":187,"mutability":"immutable","name":"usdc","nameLocation":"695:4:2","nodeType":"VariableDeclaration","scope":672,"src":"664:35:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Minimal_$154","typeString":"contract IERC20Minimal"},"typeName":{"id":186,"nodeType":"UserDefinedTypeName","pathNode":{"id":185,"name":"IERC20Minimal","nameLocations":["664:13:2"],"nodeType":"IdentifierPath","referencedDeclaration":154,"src":"664:13:2"},"referencedDeclaration":154,"src":"664:13:2","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Minimal_$154","typeString":"contract IERC20Minimal"}},"visibility":"public"},{"constant":false,"functionSelector":"d0fb0203","id":190,"mutability":"immutable","name":"feeManager","nameLocation":"734:10:2","nodeType":"VariableDeclaration","scope":672,"src":"705:39:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IFeeManager_$165","typeString":"contract IFeeManager"},"typeName":{"id":189,"nodeType":"UserDefinedTypeName","pathNode":{"id":188,"name":"IFeeManager","nameLocations":["705:11:2"],"nodeType":"IdentifierPath","referencedDeclaration":165,"src":"705:11:2"},"referencedDeclaration":165,"src":"705:11:2","typeDescriptions":{"typeIdentifier":"t_contract$_IFeeManager_$165","typeString":"contract IFeeManager"}},"visibility":"public"},{"constant":false,"functionSelector":"675ac67a","id":192,"mutability":"mutable","name":"escrowCount","nameLocation":"766:11:2","nodeType":"VariableDeclaration","scope":672,"src":"751:26:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":191,"name":"uint256","nodeType":"ElementaryTypeName","src":"751:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"functionSelector":"012f52ee","id":197,"mutability":"mutable","name":"escrows","nameLocation":"817:7:2","nodeType":"VariableDeclaration","scope":672,"src":"783:41:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Escrow_$184_storage_$","typeString":"mapping(uint256 => struct TokenEscrow.Escrow)"},"typeName":{"id":196,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":193,"name":"uint256","nodeType":"ElementaryTypeName","src":"791:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"783:26:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Escrow_$184_storage_$","typeString":"mapping(uint256 => struct TokenEscrow.Escrow)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":195,"nodeType":"UserDefinedTypeName","pathNode":{"id":194,"name":"Escrow","nameLocations":["802:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":184,"src":"802:6:2"},"referencedDeclaration":184,"src":"802:6:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow"}}},"visibility":"public"},{"anonymous":false,"eventSelector":"59e4b8728799382406714f1c57de5c893d2772f9a8bf9950c5afe4397e648654","id":209,"name":"EscrowCreated","nameLocation":"837:13:2","nodeType":"EventDefinition","parameters":{"id":208,"nodeType":"ParameterList","parameters":[{"constant":false,"id":199,"indexed":true,"mutability":"mutable","name":"escrowId","nameLocation":"867:8:2","nodeType":"VariableDeclaration","scope":209,"src":"851:24:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":198,"name":"uint256","nodeType":"ElementaryTypeName","src":"851:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":201,"indexed":true,"mutability":"mutable","name":"buyer","nameLocation":"893:5:2","nodeType":"VariableDeclaration","scope":209,"src":"877:21:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":200,"name":"address","nodeType":"ElementaryTypeName","src":"877:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":203,"indexed":true,"mutability":"mutable","name":"agent","nameLocation":"916:5:2","nodeType":"VariableDeclaration","scope":209,"src":"900:21:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":202,"name":"address","nodeType":"ElementaryTypeName","src":"900:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":205,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"931:6:2","nodeType":"VariableDeclaration","scope":209,"src":"923:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":204,"name":"uint256","nodeType":"ElementaryTypeName","src":"923:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":207,"indexed":false,"mutability":"mutable","name":"deadline","nameLocation":"947:8:2","nodeType":"VariableDeclaration","scope":209,"src":"939:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":206,"name":"uint256","nodeType":"ElementaryTypeName","src":"939:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"850:106:2"},"src":"831:126:2"},{"anonymous":false,"eventSelector":"3b4f5a74452cddb80ae5a0d279eb7db6afd5e556e72ca2883016b1da7c9d2116","id":213,"name":"EscrowFunded","nameLocation":"968:12:2","nodeType":"EventDefinition","parameters":{"id":212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":211,"indexed":true,"mutability":"mutable","name":"escrowId","nameLocation":"997:8:2","nodeType":"VariableDeclaration","scope":213,"src":"981:24:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":210,"name":"uint256","nodeType":"ElementaryTypeName","src":"981:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"980:26:2"},"src":"962:45:2"},{"anonymous":false,"eventSelector":"8853009c985857f833cf474baf9bee52eda8a1e3ee4af346c5722d1eb1b0a290","id":219,"name":"DeliverySubmitted","nameLocation":"1018:17:2","nodeType":"EventDefinition","parameters":{"id":218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":215,"indexed":true,"mutability":"mutable","name":"escrowId","nameLocation":"1052:8:2","nodeType":"VariableDeclaration","scope":219,"src":"1036:24:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":214,"name":"uint256","nodeType":"ElementaryTypeName","src":"1036:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":217,"indexed":false,"mutability":"mutable","name":"deliveryHash","nameLocation":"1070:12:2","nodeType":"VariableDeclaration","scope":219,"src":"1062:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":216,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1062:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1035:48:2"},"src":"1012:72:2"},{"anonymous":false,"eventSelector":"c38bb5c166e54eae7908734f28ecb2a4416e09b298c0e80278340ad887184887","id":227,"name":"EscrowAccepted","nameLocation":"1095:14:2","nodeType":"EventDefinition","parameters":{"id":226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":221,"indexed":true,"mutability":"mutable","name":"escrowId","nameLocation":"1126:8:2","nodeType":"VariableDeclaration","scope":227,"src":"1110:24:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":220,"name":"uint256","nodeType":"ElementaryTypeName","src":"1110:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":223,"indexed":false,"mutability":"mutable","name":"fee","nameLocation":"1144:3:2","nodeType":"VariableDeclaration","scope":227,"src":"1136:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":222,"name":"uint256","nodeType":"ElementaryTypeName","src":"1136:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":225,"indexed":false,"mutability":"mutable","name":"net","nameLocation":"1157:3:2","nodeType":"VariableDeclaration","scope":227,"src":"1149:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":224,"name":"uint256","nodeType":"ElementaryTypeName","src":"1149:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1109:52:2"},"src":"1089:73:2"},{"anonymous":false,"eventSelector":"2babb5cd458b6d41108d6d793a75e29ca524e7caa20e2da6c994462010920a72","id":231,"name":"EscrowRefunded","nameLocation":"1173:14:2","nodeType":"EventDefinition","parameters":{"id":230,"nodeType":"ParameterList","parameters":[{"constant":false,"id":229,"indexed":true,"mutability":"mutable","name":"escrowId","nameLocation":"1204:8:2","nodeType":"VariableDeclaration","scope":231,"src":"1188:24:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":228,"name":"uint256","nodeType":"ElementaryTypeName","src":"1188:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1187:26:2"},"src":"1167:47:2"},{"body":{"id":270,"nodeType":"Block","src":"1268:206:2","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":239,"name":"_usdc","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":233,"src":"1286:5:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1303:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":241,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1295:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":240,"name":"address","nodeType":"ElementaryTypeName","src":"1295:7:2","typeDescriptions":{}}},"id":243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1295:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1286:19:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5a45524f5f55534443","id":245,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1307:11:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_231342afa10ae774fcf116590c86168f3dbb6ef8d38678b8734fa5185ba29410","typeString":"literal_string \"ZERO_USDC\""},"value":"ZERO_USDC"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_231342afa10ae774fcf116590c86168f3dbb6ef8d38678b8734fa5185ba29410","typeString":"literal_string \"ZERO_USDC\""}],"id":238,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"1278:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1278:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":247,"nodeType":"ExpressionStatement","src":"1278:41:2"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":249,"name":"_feeManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":235,"src":"1337:11:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":252,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1360:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":251,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1352:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":250,"name":"address","nodeType":"ElementaryTypeName","src":"1352:7:2","typeDescriptions":{}}},"id":253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1352:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1337:25:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5a45524f5f4645455f4d414e41474552","id":255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1364:18:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_750c060bb58a88501e740282a01594b8428370fe29a382cccd110f1bf315f3a9","typeString":"literal_string \"ZERO_FEE_MANAGER\""},"value":"ZERO_FEE_MANAGER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_750c060bb58a88501e740282a01594b8428370fe29a382cccd110f1bf315f3a9","typeString":"literal_string \"ZERO_FEE_MANAGER\""}],"id":248,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"1329:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1329:54:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":257,"nodeType":"ExpressionStatement","src":"1329:54:2"},{"expression":{"id":262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":258,"name":"usdc","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":187,"src":"1393:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Minimal_$154","typeString":"contract IERC20Minimal"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":260,"name":"_usdc","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":233,"src":"1414:5:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":259,"name":"IERC20Minimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":154,"src":"1400:13:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20Minimal_$154_$","typeString":"type(contract IERC20Minimal)"}},"id":261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1400:20:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Minimal_$154","typeString":"contract IERC20Minimal"}},"src":"1393:27:2","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Minimal_$154","typeString":"contract IERC20Minimal"}},"id":263,"nodeType":"ExpressionStatement","src":"1393:27:2"},{"expression":{"id":268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":264,"name":"feeManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":190,"src":"1430:10:2","typeDescriptions":{"typeIdentifier":"t_contract$_IFeeManager_$165","typeString":"contract IFeeManager"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":266,"name":"_feeManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":235,"src":"1455:11:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":265,"name":"IFeeManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165,"src":"1443:11:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IFeeManager_$165_$","typeString":"type(contract IFeeManager)"}},"id":267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1443:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IFeeManager_$165","typeString":"contract IFeeManager"}},"src":"1430:37:2","typeDescriptions":{"typeIdentifier":"t_contract$_IFeeManager_$165","typeString":"contract IFeeManager"}},"id":269,"nodeType":"ExpressionStatement","src":"1430:37:2"}]},"id":271,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":233,"mutability":"mutable","name":"_usdc","nameLocation":"1240:5:2","nodeType":"VariableDeclaration","scope":271,"src":"1232:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":232,"name":"address","nodeType":"ElementaryTypeName","src":"1232:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":235,"mutability":"mutable","name":"_feeManager","nameLocation":"1255:11:2","nodeType":"VariableDeclaration","scope":271,"src":"1247:19:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":234,"name":"address","nodeType":"ElementaryTypeName","src":"1247:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1231:36:2"},"returnParameters":{"id":237,"nodeType":"ParameterList","parameters":[],"src":"1268:0:2"},"scope":672,"src":"1220:254:2","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":356,"nodeType":"Block","src":"1591:692:2","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":285,"name":"buyer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":273,"src":"1609:5:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1626:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":287,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1618:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":286,"name":"address","nodeType":"ElementaryTypeName","src":"1618:7:2","typeDescriptions":{}}},"id":289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1618:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1609:19:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5a45524f5f4255594552","id":291,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1630:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_d577570ccf94435e2de6c4a5bfd146c81963e2ad6fd15c35bf79eacac9a2aeb4","typeString":"literal_string \"ZERO_BUYER\""},"value":"ZERO_BUYER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d577570ccf94435e2de6c4a5bfd146c81963e2ad6fd15c35bf79eacac9a2aeb4","typeString":"literal_string \"ZERO_BUYER\""}],"id":284,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"1601:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1601:42:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":293,"nodeType":"ExpressionStatement","src":"1601:42:2"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":295,"name":"agent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":275,"src":"1661:5:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1678:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":297,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1670:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":296,"name":"address","nodeType":"ElementaryTypeName","src":"1670:7:2","typeDescriptions":{}}},"id":299,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1670:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1661:19:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5a45524f5f4147454e54","id":301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1682:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_5edb2795144c22ce6ca24b76512d47c79b999bf69905af2ba1ea0385fb566e7e","typeString":"literal_string \"ZERO_AGENT\""},"value":"ZERO_AGENT"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5edb2795144c22ce6ca24b76512d47c79b999bf69905af2ba1ea0385fb566e7e","typeString":"literal_string \"ZERO_AGENT\""}],"id":294,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"1653:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1653:42:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":303,"nodeType":"ExpressionStatement","src":"1653:42:2"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":305,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":277,"src":"1713:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1722:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1713:10:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5a45524f5f414d4f554e54","id":308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1725:13:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_ad8e292265788ac5c19f708ed96612bf3229f5fbdf9e1b9b3466c3f5a1b60243","typeString":"literal_string \"ZERO_AMOUNT\""},"value":"ZERO_AMOUNT"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ad8e292265788ac5c19f708ed96612bf3229f5fbdf9e1b9b3466c3f5a1b60243","typeString":"literal_string \"ZERO_AMOUNT\""}],"id":304,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"1705:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1705:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":310,"nodeType":"ExpressionStatement","src":"1705:34:2"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":312,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":279,"src":"1757:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":313,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967292,"src":"1768:5:2","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1774:9:2","memberName":"timestamp","nodeType":"MemberAccess","src":"1768:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1757:26:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4241445f444541444c494e45","id":316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1785:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_0cbf8f818d240d5cfaf7062c77faf5dec75a2e58baabd1716870d82ee027ce8d","typeString":"literal_string \"BAD_DEADLINE\""},"value":"BAD_DEADLINE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0cbf8f818d240d5cfaf7062c77faf5dec75a2e58baabd1716870d82ee027ce8d","typeString":"literal_string \"BAD_DEADLINE\""}],"id":311,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"1749:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1749:51:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":318,"nodeType":"ExpressionStatement","src":"1749:51:2"},{"expression":{"id":321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":319,"name":"escrowCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":192,"src":"1811:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1826:1:2","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1811:16:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":322,"nodeType":"ExpressionStatement","src":"1811:16:2"},{"assignments":[324],"declarations":[{"constant":false,"id":324,"mutability":"mutable","name":"escrowId","nameLocation":"1845:8:2","nodeType":"VariableDeclaration","scope":356,"src":"1837:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":323,"name":"uint256","nodeType":"ElementaryTypeName","src":"1837:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":326,"initialValue":{"id":325,"name":"escrowCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":192,"src":"1856:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1837:30:2"},{"expression":{"id":344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":327,"name":"escrows","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":197,"src":"1877:7:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Escrow_$184_storage_$","typeString":"mapping(uint256 => struct TokenEscrow.Escrow storage ref)"}},"id":329,"indexExpression":{"id":328,"name":"escrowId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":324,"src":"1885:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1877:17:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage","typeString":"struct TokenEscrow.Escrow storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":331,"name":"buyer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":273,"src":"1925:5:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":332,"name":"agent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":275,"src":"1951:5:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":333,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":277,"src":"1978:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":334,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":279,"src":"2008:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":335,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2038:5:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":336,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2068:5:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2097:5:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":338,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2126:5:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"30","id":341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2167:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":340,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2159:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":339,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2159:7:2","typeDescriptions":{}}},"id":342,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2159:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":330,"name":"Escrow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":184,"src":"1897:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Escrow_$184_storage_ptr_$","typeString":"type(struct TokenEscrow.Escrow storage pointer)"}},"id":343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1918:5:2","1944:5:2","1970:6:2","1998:8:2","2030:6:2","2057:9:2","2087:8:2","2116:8:2","2145:12:2"],"names":["buyer","agent","amount","deadline","funded","delivered","released","refunded","deliveryHash"],"nodeType":"FunctionCall","src":"1897:283:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_memory_ptr","typeString":"struct TokenEscrow.Escrow memory"}},"src":"1877:303:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage","typeString":"struct TokenEscrow.Escrow storage ref"}},"id":345,"nodeType":"ExpressionStatement","src":"1877:303:2"},{"eventCall":{"arguments":[{"id":347,"name":"escrowId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":324,"src":"2210:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":348,"name":"buyer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":273,"src":"2220:5:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":349,"name":"agent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":275,"src":"2227:5:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":350,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":277,"src":"2234:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":351,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":279,"src":"2242:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":346,"name":"EscrowCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":209,"src":"2196:13:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256,uint256)"}},"id":352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2196:55:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":353,"nodeType":"EmitStatement","src":"2191:60:2"},{"expression":{"id":354,"name":"escrowId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":324,"src":"2268:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":283,"id":355,"nodeType":"Return","src":"2261:15:2"}]},"functionSelector":"ccbae5f6","id":357,"implemented":true,"kind":"function","modifiers":[],"name":"createEscrow","nameLocation":"1489:12:2","nodeType":"FunctionDefinition","parameters":{"id":280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":273,"mutability":"mutable","name":"buyer","nameLocation":"1510:5:2","nodeType":"VariableDeclaration","scope":357,"src":"1502:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":272,"name":"address","nodeType":"ElementaryTypeName","src":"1502:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":275,"mutability":"mutable","name":"agent","nameLocation":"1525:5:2","nodeType":"VariableDeclaration","scope":357,"src":"1517:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":274,"name":"address","nodeType":"ElementaryTypeName","src":"1517:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":277,"mutability":"mutable","name":"amount","nameLocation":"1540:6:2","nodeType":"VariableDeclaration","scope":357,"src":"1532:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":276,"name":"uint256","nodeType":"ElementaryTypeName","src":"1532:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":279,"mutability":"mutable","name":"deadline","nameLocation":"1556:8:2","nodeType":"VariableDeclaration","scope":357,"src":"1548:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":278,"name":"uint256","nodeType":"ElementaryTypeName","src":"1548:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1501:64:2"},"returnParameters":{"id":283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":282,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":357,"src":"1582:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":281,"name":"uint256","nodeType":"ElementaryTypeName","src":"1582:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1581:9:2"},"scope":672,"src":"1480:803:2","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":417,"nodeType":"Block","src":"2330:317:2","statements":[{"assignments":[364],"declarations":[{"constant":false,"id":364,"mutability":"mutable","name":"e","nameLocation":"2355:1:2","nodeType":"VariableDeclaration","scope":417,"src":"2340:16:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow"},"typeName":{"id":363,"nodeType":"UserDefinedTypeName","pathNode":{"id":362,"name":"Escrow","nameLocations":["2340:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":184,"src":"2340:6:2"},"referencedDeclaration":184,"src":"2340:6:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow"}},"visibility":"internal"}],"id":368,"initialValue":{"baseExpression":{"id":365,"name":"escrows","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":197,"src":"2359:7:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Escrow_$184_storage_$","typeString":"mapping(uint256 => struct TokenEscrow.Escrow storage ref)"}},"id":367,"indexExpression":{"id":366,"name":"escrowId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":359,"src":"2367:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2359:17:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage","typeString":"struct TokenEscrow.Escrow storage ref"}},"nodeType":"VariableDeclarationStatement","src":"2340:36:2"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":370,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":364,"src":"2394:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow storage pointer"}},"id":371,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2396:5:2","memberName":"buyer","nodeType":"MemberAccess","referencedDeclaration":167,"src":"2394:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2413:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":373,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2405:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":372,"name":"address","nodeType":"ElementaryTypeName","src":"2405:7:2","typeDescriptions":{}}},"id":375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2405:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2394:21:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e4f5f455343524f57","id":377,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2417:11:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_731f33b295e233aefb9dcf3c9c3b0c5adc598e2caa884e11471cca058d3bf720","typeString":"literal_string \"NO_ESCROW\""},"value":"NO_ESCROW"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_731f33b295e233aefb9dcf3c9c3b0c5adc598e2caa884e11471cca058d3bf720","typeString":"literal_string \"NO_ESCROW\""}],"id":369,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"2386:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2386:43:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":379,"nodeType":"ExpressionStatement","src":"2386:43:2"},{"expression":{"arguments":[{"id":383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2447:9:2","subExpression":{"expression":{"id":381,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":364,"src":"2448:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow storage pointer"}},"id":382,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2450:6:2","memberName":"funded","nodeType":"MemberAccess","referencedDeclaration":175,"src":"2448:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"414c52454144595f46554e444544","id":384,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2458:16:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_5189e2114e79d4db9df2fad423312a08ad735f032a13f38ab147c021741a9855","typeString":"literal_string \"ALREADY_FUNDED\""},"value":"ALREADY_FUNDED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5189e2114e79d4db9df2fad423312a08ad735f032a13f38ab147c021741a9855","typeString":"literal_string \"ALREADY_FUNDED\""}],"id":380,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"2439:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2439:36:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":386,"nodeType":"ExpressionStatement","src":"2439:36:2"},{"expression":{"arguments":[{"id":390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2493:11:2","subExpression":{"expression":{"id":388,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":364,"src":"2494:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow storage pointer"}},"id":389,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2496:8:2","memberName":"refunded","nodeType":"MemberAccess","referencedDeclaration":181,"src":"2494:10:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"524546554e444544","id":391,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2506:10:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_0ae202c5d1ff9dcd4329d24acbf3bddff6279ad182d19d899440adb36d927795","typeString":"literal_string \"REFUNDED\""},"value":"REFUNDED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0ae202c5d1ff9dcd4329d24acbf3bddff6279ad182d19d899440adb36d927795","typeString":"literal_string \"REFUNDED\""}],"id":387,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"2485:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":392,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2485:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":393,"nodeType":"ExpressionStatement","src":"2485:32:2"},{"expression":{"arguments":[{"expression":{"id":397,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":364,"src":"2545:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow storage pointer"}},"id":398,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2547:5:2","memberName":"buyer","nodeType":"MemberAccess","referencedDeclaration":167,"src":"2545:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":401,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967268,"src":"2562:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_TokenEscrow_$672","typeString":"contract TokenEscrow"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TokenEscrow_$672","typeString":"contract TokenEscrow"}],"id":400,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2554:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":399,"name":"address","nodeType":"ElementaryTypeName","src":"2554:7:2","typeDescriptions":{}}},"id":402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2554:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":403,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":364,"src":"2569:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow storage pointer"}},"id":404,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2571:6:2","memberName":"amount","nodeType":"MemberAccess","referencedDeclaration":171,"src":"2569:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":394,"name":"usdc","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":187,"src":"2527:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Minimal_$154","typeString":"contract IERC20Minimal"}},"id":396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2532:12:2","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":153,"src":"2527:17:2","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2527:51:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":406,"nodeType":"ExpressionStatement","src":"2527:51:2"},{"expression":{"id":411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":407,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":364,"src":"2588:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow storage pointer"}},"id":409,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2590:6:2","memberName":"funded","nodeType":"MemberAccess","referencedDeclaration":175,"src":"2588:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":410,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2599:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"2588:15:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":412,"nodeType":"ExpressionStatement","src":"2588:15:2"},{"eventCall":{"arguments":[{"id":414,"name":"escrowId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":359,"src":"2631:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":413,"name":"EscrowFunded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":213,"src":"2618:12:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2618:22:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":416,"nodeType":"EmitStatement","src":"2613:27:2"}]},"functionSelector":"ca1d209d","id":418,"implemented":true,"kind":"function","modifiers":[],"name":"fund","nameLocation":"2298:4:2","nodeType":"FunctionDefinition","parameters":{"id":360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":359,"mutability":"mutable","name":"escrowId","nameLocation":"2311:8:2","nodeType":"VariableDeclaration","scope":418,"src":"2303:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":358,"name":"uint256","nodeType":"ElementaryTypeName","src":"2303:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2302:18:2"},"returnParameters":{"id":361,"nodeType":"ParameterList","parameters":[],"src":"2330:0:2"},"scope":672,"src":"2289:358:2","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":482,"nodeType":"Block","src":"2726:375:2","statements":[{"assignments":[427],"declarations":[{"constant":false,"id":427,"mutability":"mutable","name":"e","nameLocation":"2751:1:2","nodeType":"VariableDeclaration","scope":482,"src":"2736:16:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow"},"typeName":{"id":426,"nodeType":"UserDefinedTypeName","pathNode":{"id":425,"name":"Escrow","nameLocations":["2736:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":184,"src":"2736:6:2"},"referencedDeclaration":184,"src":"2736:6:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow"}},"visibility":"internal"}],"id":431,"initialValue":{"baseExpression":{"id":428,"name":"escrows","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":197,"src":"2755:7:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Escrow_$184_storage_$","typeString":"mapping(uint256 => struct TokenEscrow.Escrow storage ref)"}},"id":430,"indexExpression":{"id":429,"name":"escrowId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":420,"src":"2763:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2755:17:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage","typeString":"struct TokenEscrow.Escrow storage ref"}},"nodeType":"VariableDeclarationStatement","src":"2736:36:2"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":433,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":427,"src":"2790:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow storage pointer"}},"id":434,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2792:5:2","memberName":"buyer","nodeType":"MemberAccess","referencedDeclaration":167,"src":"2790:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":437,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2809:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":436,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2801:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":435,"name":"address","nodeType":"ElementaryTypeName","src":"2801:7:2","typeDescriptions":{}}},"id":438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2801:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2790:21:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e4f5f455343524f57","id":440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2813:11:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_731f33b295e233aefb9dcf3c9c3b0c5adc598e2caa884e11471cca058d3bf720","typeString":"literal_string \"NO_ESCROW\""},"value":"NO_ESCROW"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_731f33b295e233aefb9dcf3c9c3b0c5adc598e2caa884e11471cca058d3bf720","typeString":"literal_string \"NO_ESCROW\""}],"id":432,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"2782:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2782:43:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":442,"nodeType":"ExpressionStatement","src":"2782:43:2"},{"expression":{"arguments":[{"expression":{"id":444,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":427,"src":"2843:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow storage pointer"}},"id":445,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2845:6:2","memberName":"funded","nodeType":"MemberAccess","referencedDeclaration":175,"src":"2843:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e4f545f46554e444544","id":446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2853:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_dcf476ff17a7ebd9cbcc4b84f5f8c6762a17e3a81eefc2604e134712a8320495","typeString":"literal_string \"NOT_FUNDED\""},"value":"NOT_FUNDED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_dcf476ff17a7ebd9cbcc4b84f5f8c6762a17e3a81eefc2604e134712a8320495","typeString":"literal_string \"NOT_FUNDED\""}],"id":443,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"2835:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2835:31:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":448,"nodeType":"ExpressionStatement","src":"2835:31:2"},{"expression":{"arguments":[{"id":452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2884:12:2","subExpression":{"expression":{"id":450,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":427,"src":"2885:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow storage pointer"}},"id":451,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2887:9:2","memberName":"delivered","nodeType":"MemberAccess","referencedDeclaration":177,"src":"2885:11:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"414c52454144595f44454c495645524544","id":453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2898:19:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_69b5a58ca9c213a5ca2f702ca2c00e26caa409bca046be7033452fe7b315c74c","typeString":"literal_string \"ALREADY_DELIVERED\""},"value":"ALREADY_DELIVERED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_69b5a58ca9c213a5ca2f702ca2c00e26caa409bca046be7033452fe7b315c74c","typeString":"literal_string \"ALREADY_DELIVERED\""}],"id":449,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"2876:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2876:42:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":455,"nodeType":"ExpressionStatement","src":"2876:42:2"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":457,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"2936:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2940:6:2","memberName":"sender","nodeType":"MemberAccess","src":"2936:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":459,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":427,"src":"2950:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow storage pointer"}},"id":460,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2952:5:2","memberName":"agent","nodeType":"MemberAccess","referencedDeclaration":169,"src":"2950:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2936:21:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e4f545f4147454e54","id":462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2959:11:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_497353054b8aaf467e1467445993a7540100e465c9d4ad766c3377a3c173bf69","typeString":"literal_string \"NOT_AGENT\""},"value":"NOT_AGENT"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_497353054b8aaf467e1467445993a7540100e465c9d4ad766c3377a3c173bf69","typeString":"literal_string \"NOT_AGENT\""}],"id":456,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"2928:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2928:43:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":464,"nodeType":"ExpressionStatement","src":"2928:43:2"},{"expression":{"id":469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":465,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":427,"src":"2981:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow storage pointer"}},"id":467,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2983:9:2","memberName":"delivered","nodeType":"MemberAccess","referencedDeclaration":177,"src":"2981:11:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2995:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"2981:18:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":470,"nodeType":"ExpressionStatement","src":"2981:18:2"},{"expression":{"id":475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":471,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":427,"src":"3009:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow storage pointer"}},"id":473,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3011:12:2","memberName":"deliveryHash","nodeType":"MemberAccess","referencedDeclaration":183,"src":"3009:14:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":474,"name":"deliveryHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":422,"src":"3026:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3009:29:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":476,"nodeType":"ExpressionStatement","src":"3009:29:2"},{"eventCall":{"arguments":[{"id":478,"name":"escrowId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":420,"src":"3071:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":479,"name":"deliveryHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":422,"src":"3081:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":477,"name":"DeliverySubmitted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":219,"src":"3053:17:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (uint256,bytes32)"}},"id":480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3053:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":481,"nodeType":"EmitStatement","src":"3048:46:2"}]},"functionSelector":"d8dc8c28","id":483,"implemented":true,"kind":"function","modifiers":[],"name":"submitDelivery","nameLocation":"2662:14:2","nodeType":"FunctionDefinition","parameters":{"id":423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":420,"mutability":"mutable","name":"escrowId","nameLocation":"2685:8:2","nodeType":"VariableDeclaration","scope":483,"src":"2677:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":419,"name":"uint256","nodeType":"ElementaryTypeName","src":"2677:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":422,"mutability":"mutable","name":"deliveryHash","nameLocation":"2703:12:2","nodeType":"VariableDeclaration","scope":483,"src":"2695:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":421,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2695:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2676:40:2"},"returnParameters":{"id":424,"nodeType":"ParameterList","parameters":[],"src":"2726:0:2"},"scope":672,"src":"2653:448:2","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":598,"nodeType":"Block","src":"3150:684:2","statements":[{"assignments":[490],"declarations":[{"constant":false,"id":490,"mutability":"mutable","name":"e","nameLocation":"3175:1:2","nodeType":"VariableDeclaration","scope":598,"src":"3160:16:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow"},"typeName":{"id":489,"nodeType":"UserDefinedTypeName","pathNode":{"id":488,"name":"Escrow","nameLocations":["3160:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":184,"src":"3160:6:2"},"referencedDeclaration":184,"src":"3160:6:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow"}},"visibility":"internal"}],"id":494,"initialValue":{"baseExpression":{"id":491,"name":"escrows","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":197,"src":"3179:7:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Escrow_$184_storage_$","typeString":"mapping(uint256 => struct TokenEscrow.Escrow storage ref)"}},"id":493,"indexExpression":{"id":492,"name":"escrowId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":485,"src":"3187:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3179:17:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage","typeString":"struct TokenEscrow.Escrow storage ref"}},"nodeType":"VariableDeclarationStatement","src":"3160:36:2"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":496,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"3214:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow storage pointer"}},"id":497,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3216:5:2","memberName":"buyer","nodeType":"MemberAccess","referencedDeclaration":167,"src":"3214:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":500,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3233:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":499,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3225:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":498,"name":"address","nodeType":"ElementaryTypeName","src":"3225:7:2","typeDescriptions":{}}},"id":501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3225:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3214:21:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e4f5f455343524f57","id":503,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3237:11:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_731f33b295e233aefb9dcf3c9c3b0c5adc598e2caa884e11471cca058d3bf720","typeString":"literal_string \"NO_ESCROW\""},"value":"NO_ESCROW"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_731f33b295e233aefb9dcf3c9c3b0c5adc598e2caa884e11471cca058d3bf720","typeString":"literal_string \"NO_ESCROW\""}],"id":495,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"3206:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3206:43:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":505,"nodeType":"ExpressionStatement","src":"3206:43:2"},{"expression":{"arguments":[{"expression":{"id":507,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"3267:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow storage pointer"}},"id":508,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3269:6:2","memberName":"funded","nodeType":"MemberAccess","referencedDeclaration":175,"src":"3267:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e4f545f46554e444544","id":509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3277:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_dcf476ff17a7ebd9cbcc4b84f5f8c6762a17e3a81eefc2604e134712a8320495","typeString":"literal_string \"NOT_FUNDED\""},"value":"NOT_FUNDED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_dcf476ff17a7ebd9cbcc4b84f5f8c6762a17e3a81eefc2604e134712a8320495","typeString":"literal_string \"NOT_FUNDED\""}],"id":506,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"3259:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3259:31:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":511,"nodeType":"ExpressionStatement","src":"3259:31:2"},{"expression":{"arguments":[{"expression":{"id":513,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"3308:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow storage pointer"}},"id":514,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3310:9:2","memberName":"delivered","nodeType":"MemberAccess","referencedDeclaration":177,"src":"3308:11:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e4f545f44454c495645524544","id":515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3321:15:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_3975a5700b323adfdb3c776a82af2bc693a554230b1f095d462d5f7cbcbe16ab","typeString":"literal_string \"NOT_DELIVERED\""},"value":"NOT_DELIVERED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3975a5700b323adfdb3c776a82af2bc693a554230b1f095d462d5f7cbcbe16ab","typeString":"literal_string \"NOT_DELIVERED\""}],"id":512,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"3300:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3300:37:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":517,"nodeType":"ExpressionStatement","src":"3300:37:2"},{"expression":{"arguments":[{"id":521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3355:11:2","subExpression":{"expression":{"id":519,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"3356:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow storage pointer"}},"id":520,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3358:8:2","memberName":"released","nodeType":"MemberAccess","referencedDeclaration":179,"src":"3356:10:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"414c52454144595f52454c4541534544","id":522,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3368:18:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_d3aad24f34896c938a64eb4dbab258c214e25deb98195125480ea4fb0e38c65a","typeString":"literal_string \"ALREADY_RELEASED\""},"value":"ALREADY_RELEASED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d3aad24f34896c938a64eb4dbab258c214e25deb98195125480ea4fb0e38c65a","typeString":"literal_string \"ALREADY_RELEASED\""}],"id":518,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"3347:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3347:40:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":524,"nodeType":"ExpressionStatement","src":"3347:40:2"},{"expression":{"arguments":[{"id":528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3405:11:2","subExpression":{"expression":{"id":526,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"3406:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow storage pointer"}},"id":527,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3408:8:2","memberName":"refunded","nodeType":"MemberAccess","referencedDeclaration":181,"src":"3406:10:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"524546554e444544","id":529,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3418:10:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_0ae202c5d1ff9dcd4329d24acbf3bddff6279ad182d19d899440adb36d927795","typeString":"literal_string \"REFUNDED\""},"value":"REFUNDED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0ae202c5d1ff9dcd4329d24acbf3bddff6279ad182d19d899440adb36d927795","typeString":"literal_string \"REFUNDED\""}],"id":525,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"3397:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3397:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":531,"nodeType":"ExpressionStatement","src":"3397:32:2"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":533,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"3447:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3451:6:2","memberName":"sender","nodeType":"MemberAccess","src":"3447:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":535,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"3461:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow storage pointer"}},"id":536,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3463:5:2","memberName":"buyer","nodeType":"MemberAccess","referencedDeclaration":167,"src":"3461:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3447:21:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e4f545f4255594552","id":538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3470:11:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_569a09ac82f8b56ba3fe6fdf0989c223cb884a2e7e3848ac92374edb56fa2000","typeString":"literal_string \"NOT_BUYER\""},"value":"NOT_BUYER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_569a09ac82f8b56ba3fe6fdf0989c223cb884a2e7e3848ac92374edb56fa2000","typeString":"literal_string \"NOT_BUYER\""}],"id":532,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"3439:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3439:43:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":540,"nodeType":"ExpressionStatement","src":"3439:43:2"},{"expression":{"id":545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":541,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"3493:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow storage pointer"}},"id":543,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3495:8:2","memberName":"released","nodeType":"MemberAccess","referencedDeclaration":179,"src":"3493:10:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":544,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3506:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"3493:17:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":546,"nodeType":"ExpressionStatement","src":"3493:17:2"},{"assignments":[548],"declarations":[{"constant":false,"id":548,"mutability":"mutable","name":"fee","nameLocation":"3529:3:2","nodeType":"VariableDeclaration","scope":598,"src":"3521:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":547,"name":"uint256","nodeType":"ElementaryTypeName","src":"3521:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":558,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":549,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"3536:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow storage pointer"}},"id":550,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3538:6:2","memberName":"amount","nodeType":"MemberAccess","referencedDeclaration":171,"src":"3536:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":551,"name":"feeManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":190,"src":"3547:10:2","typeDescriptions":{"typeIdentifier":"t_contract$_IFeeManager_$165","typeString":"contract IFeeManager"}},"id":552,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3558:6:2","memberName":"feeBps","nodeType":"MemberAccess","referencedDeclaration":159,"src":"3547:17:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint16_$","typeString":"function () view external returns (uint16)"}},"id":553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3547:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"src":"3536:30:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":555,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3535:32:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"31305f303030","id":556,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3570:6:2","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"value":"10_000"},"src":"3535:41:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3521:55:2"},{"assignments":[560],"declarations":[{"constant":false,"id":560,"mutability":"mutable","name":"net","nameLocation":"3594:3:2","nodeType":"VariableDeclaration","scope":598,"src":"3586:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":559,"name":"uint256","nodeType":"ElementaryTypeName","src":"3586:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":565,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":564,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":561,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"3600:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow storage pointer"}},"id":562,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3602:6:2","memberName":"amount","nodeType":"MemberAccess","referencedDeclaration":171,"src":"3600:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":563,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":548,"src":"3611:3:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3600:14:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3586:28:2"},{"assignments":[567],"declarations":[{"constant":false,"id":567,"mutability":"mutable","name":"treasury","nameLocation":"3633:8:2","nodeType":"VariableDeclaration","scope":598,"src":"3625:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":566,"name":"address","nodeType":"ElementaryTypeName","src":"3625:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":571,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":568,"name":"feeManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":190,"src":"3644:10:2","typeDescriptions":{"typeIdentifier":"t_contract$_IFeeManager_$165","typeString":"contract IFeeManager"}},"id":569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3655:8:2","memberName":"treasury","nodeType":"MemberAccess","referencedDeclaration":164,"src":"3644:19:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3644:21:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3625:40:2"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":572,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":548,"src":"3679:3:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":573,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3685:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3679:7:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":583,"nodeType":"IfStatement","src":"3675:66:2","trueBody":{"id":582,"nodeType":"Block","src":"3688:53:2","statements":[{"expression":{"arguments":[{"id":578,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":567,"src":"3716:8:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":579,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":548,"src":"3726:3:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":575,"name":"usdc","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":187,"src":"3702:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Minimal_$154","typeString":"contract IERC20Minimal"}},"id":577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3707:8:2","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":142,"src":"3702:13:2","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3702:28:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":581,"nodeType":"ExpressionStatement","src":"3702:28:2"}]}},{"expression":{"arguments":[{"expression":{"id":587,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"3764:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow storage pointer"}},"id":588,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3766:5:2","memberName":"agent","nodeType":"MemberAccess","referencedDeclaration":169,"src":"3764:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":589,"name":"net","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":560,"src":"3773:3:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":584,"name":"usdc","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":187,"src":"3750:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Minimal_$154","typeString":"contract IERC20Minimal"}},"id":586,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3755:8:2","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":142,"src":"3750:13:2","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3750:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":591,"nodeType":"ExpressionStatement","src":"3750:27:2"},{"eventCall":{"arguments":[{"id":593,"name":"escrowId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":485,"src":"3808:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":594,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":548,"src":"3818:3:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":595,"name":"net","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":560,"src":"3823:3:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":592,"name":"EscrowAccepted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":227,"src":"3793:14:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3793:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":597,"nodeType":"EmitStatement","src":"3788:39:2"}]},"functionSelector":"19b05f49","id":599,"implemented":true,"kind":"function","modifiers":[],"name":"accept","nameLocation":"3116:6:2","nodeType":"FunctionDefinition","parameters":{"id":486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":485,"mutability":"mutable","name":"escrowId","nameLocation":"3131:8:2","nodeType":"VariableDeclaration","scope":599,"src":"3123:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":484,"name":"uint256","nodeType":"ElementaryTypeName","src":"3123:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3122:18:2"},"returnParameters":{"id":487,"nodeType":"ParameterList","parameters":[],"src":"3150:0:2"},"scope":672,"src":"3107:727:2","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":670,"nodeType":"Block","src":"3892:419:2","statements":[{"assignments":[606],"declarations":[{"constant":false,"id":606,"mutability":"mutable","name":"e","nameLocation":"3917:1:2","nodeType":"VariableDeclaration","scope":670,"src":"3902:16:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow"},"typeName":{"id":605,"nodeType":"UserDefinedTypeName","pathNode":{"id":604,"name":"Escrow","nameLocations":["3902:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":184,"src":"3902:6:2"},"referencedDeclaration":184,"src":"3902:6:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow"}},"visibility":"internal"}],"id":610,"initialValue":{"baseExpression":{"id":607,"name":"escrows","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":197,"src":"3921:7:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Escrow_$184_storage_$","typeString":"mapping(uint256 => struct TokenEscrow.Escrow storage ref)"}},"id":609,"indexExpression":{"id":608,"name":"escrowId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":601,"src":"3929:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3921:17:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage","typeString":"struct TokenEscrow.Escrow storage ref"}},"nodeType":"VariableDeclarationStatement","src":"3902:36:2"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":612,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":606,"src":"3956:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow storage pointer"}},"id":613,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3958:5:2","memberName":"buyer","nodeType":"MemberAccess","referencedDeclaration":167,"src":"3956:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":616,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3975:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":615,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3967:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":614,"name":"address","nodeType":"ElementaryTypeName","src":"3967:7:2","typeDescriptions":{}}},"id":617,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3967:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3956:21:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e4f5f455343524f57","id":619,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3979:11:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_731f33b295e233aefb9dcf3c9c3b0c5adc598e2caa884e11471cca058d3bf720","typeString":"literal_string \"NO_ESCROW\""},"value":"NO_ESCROW"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_731f33b295e233aefb9dcf3c9c3b0c5adc598e2caa884e11471cca058d3bf720","typeString":"literal_string \"NO_ESCROW\""}],"id":611,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"3948:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3948:43:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":621,"nodeType":"ExpressionStatement","src":"3948:43:2"},{"expression":{"arguments":[{"expression":{"id":623,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":606,"src":"4009:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow storage pointer"}},"id":624,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4011:6:2","memberName":"funded","nodeType":"MemberAccess","referencedDeclaration":175,"src":"4009:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e4f545f46554e444544","id":625,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4019:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_dcf476ff17a7ebd9cbcc4b84f5f8c6762a17e3a81eefc2604e134712a8320495","typeString":"literal_string \"NOT_FUNDED\""},"value":"NOT_FUNDED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_dcf476ff17a7ebd9cbcc4b84f5f8c6762a17e3a81eefc2604e134712a8320495","typeString":"literal_string \"NOT_FUNDED\""}],"id":622,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"4001:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4001:31:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":627,"nodeType":"ExpressionStatement","src":"4001:31:2"},{"expression":{"arguments":[{"id":631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4050:11:2","subExpression":{"expression":{"id":629,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":606,"src":"4051:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow storage pointer"}},"id":630,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4053:8:2","memberName":"released","nodeType":"MemberAccess","referencedDeclaration":179,"src":"4051:10:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"414c52454144595f52454c4541534544","id":632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4063:18:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_d3aad24f34896c938a64eb4dbab258c214e25deb98195125480ea4fb0e38c65a","typeString":"literal_string \"ALREADY_RELEASED\""},"value":"ALREADY_RELEASED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d3aad24f34896c938a64eb4dbab258c214e25deb98195125480ea4fb0e38c65a","typeString":"literal_string \"ALREADY_RELEASED\""}],"id":628,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"4042:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4042:40:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":634,"nodeType":"ExpressionStatement","src":"4042:40:2"},{"expression":{"arguments":[{"id":638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4100:11:2","subExpression":{"expression":{"id":636,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":606,"src":"4101:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow storage pointer"}},"id":637,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4103:8:2","memberName":"refunded","nodeType":"MemberAccess","referencedDeclaration":181,"src":"4101:10:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"414c52454144595f524546554e444544","id":639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4113:18:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_7ab00cfe800b10dc82fc5541a5da25bcf1584e99371ffc27fd1ca718af83bb84","typeString":"literal_string \"ALREADY_REFUNDED\""},"value":"ALREADY_REFUNDED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_7ab00cfe800b10dc82fc5541a5da25bcf1584e99371ffc27fd1ca718af83bb84","typeString":"literal_string \"ALREADY_REFUNDED\""}],"id":635,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"4092:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4092:40:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":641,"nodeType":"ExpressionStatement","src":"4092:40:2"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":643,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967292,"src":"4150:5:2","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4156:9:2","memberName":"timestamp","nodeType":"MemberAccess","src":"4150:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":645,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":606,"src":"4168:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow storage pointer"}},"id":646,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4170:8:2","memberName":"deadline","nodeType":"MemberAccess","referencedDeclaration":173,"src":"4168:10:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4150:28:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e4f545f54494d454f5554","id":648,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4180:13:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_b251d86be083dc84f03be506b90372c0befae10863aebd9ea097e2ab08ae69dd","typeString":"literal_string \"NOT_TIMEOUT\""},"value":"NOT_TIMEOUT"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b251d86be083dc84f03be506b90372c0befae10863aebd9ea097e2ab08ae69dd","typeString":"literal_string \"NOT_TIMEOUT\""}],"id":642,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"4142:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4142:52:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":650,"nodeType":"ExpressionStatement","src":"4142:52:2"},{"expression":{"id":655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":651,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":606,"src":"4205:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow storage pointer"}},"id":653,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4207:8:2","memberName":"refunded","nodeType":"MemberAccess","referencedDeclaration":181,"src":"4205:10:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4218:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"4205:17:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":656,"nodeType":"ExpressionStatement","src":"4205:17:2"},{"expression":{"arguments":[{"expression":{"id":660,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":606,"src":"4246:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow storage pointer"}},"id":661,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4248:5:2","memberName":"buyer","nodeType":"MemberAccess","referencedDeclaration":167,"src":"4246:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":662,"name":"e","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":606,"src":"4255:1:2","typeDescriptions":{"typeIdentifier":"t_struct$_Escrow_$184_storage_ptr","typeString":"struct TokenEscrow.Escrow storage pointer"}},"id":663,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4257:6:2","memberName":"amount","nodeType":"MemberAccess","referencedDeclaration":171,"src":"4255:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":657,"name":"usdc","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":187,"src":"4232:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Minimal_$154","typeString":"contract IERC20Minimal"}},"id":659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4237:8:2","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":142,"src":"4232:13:2","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4232:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":665,"nodeType":"ExpressionStatement","src":"4232:32:2"},{"eventCall":{"arguments":[{"id":667,"name":"escrowId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":601,"src":"4295:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":666,"name":"EscrowRefunded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":231,"src":"4280:14:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4280:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":669,"nodeType":"EmitStatement","src":"4275:29:2"}]},"functionSelector":"5f789edb","id":671,"implemented":true,"kind":"function","modifiers":[],"name":"refundOnTimeout","nameLocation":"3849:15:2","nodeType":"FunctionDefinition","parameters":{"id":602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":601,"mutability":"mutable","name":"escrowId","nameLocation":"3873:8:2","nodeType":"VariableDeclaration","scope":671,"src":"3865:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":600,"name":"uint256","nodeType":"ElementaryTypeName","src":"3865:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3864:18:2"},"returnParameters":{"id":603,"nodeType":"ParameterList","parameters":[],"src":"3892:0:2"},"scope":672,"src":"3840:471:2","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":673,"src":"393:3920:2","usedErrors":[],"usedEvents":[209,213,219,227,231]}],"src":"32:4282:2"},"id":2},"contracts/USDCMock.sol":{"ast":{"absolutePath":"contracts/USDCMock.sol","exportedSymbols":{"USDCMock":[917]},"id":918,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":674,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"32:24:3"},{"abstract":false,"baseContracts":[],"canonicalName":"USDCMock","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":917,"linearizedBaseContracts":[917],"name":"USDCMock","nameLocation":"67:8:3","nodeType":"ContractDefinition","nodes":[{"constant":true,"functionSelector":"06fdde03","id":677,"mutability":"constant","name":"name","nameLocation":"105:4:3","nodeType":"VariableDeclaration","scope":917,"src":"82:40:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":675,"name":"string","nodeType":"ElementaryTypeName","src":"82:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"55534420436f696e","id":676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"112:10:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_52878b207aaddbfc15ea7bebcda681eb8ccd306e2227b61cef68505c8c056341","typeString":"literal_string \"USD Coin\""},"value":"USD Coin"},"visibility":"public"},{"constant":true,"functionSelector":"95d89b41","id":680,"mutability":"constant","name":"symbol","nameLocation":"151:6:3","nodeType":"VariableDeclaration","scope":917,"src":"128:38:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":678,"name":"string","nodeType":"ElementaryTypeName","src":"128:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"55534443","id":679,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"160:6:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_d6aca1be9729c13d677335161321649cccae6a591554772516700f986f942eaa","typeString":"literal_string \"USDC\""},"value":"USDC"},"visibility":"public"},{"constant":true,"functionSelector":"313ce567","id":683,"mutability":"constant","name":"decimals","nameLocation":"194:8:3","nodeType":"VariableDeclaration","scope":917,"src":"172:34:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":681,"name":"uint8","nodeType":"ElementaryTypeName","src":"172:5:3","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"36","id":682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"205:1:3","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"visibility":"public"},{"constant":false,"functionSelector":"18160ddd","id":685,"mutability":"mutable","name":"totalSupply","nameLocation":"228:11:3","nodeType":"VariableDeclaration","scope":917,"src":"213:26:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":684,"name":"uint256","nodeType":"ElementaryTypeName","src":"213:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"functionSelector":"70a08231","id":689,"mutability":"mutable","name":"balanceOf","nameLocation":"281:9:3","nodeType":"VariableDeclaration","scope":917,"src":"246:44:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":688,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":686,"name":"address","nodeType":"ElementaryTypeName","src":"254:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"246:27:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":687,"name":"uint256","nodeType":"ElementaryTypeName","src":"265:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"constant":false,"functionSelector":"dd62ed3e","id":695,"mutability":"mutable","name":"allowance","nameLocation":"351:9:3","nodeType":"VariableDeclaration","scope":917,"src":"296:64:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":694,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":690,"name":"address","nodeType":"ElementaryTypeName","src":"304:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"296:47:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":693,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":691,"name":"address","nodeType":"ElementaryTypeName","src":"323:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"315:27:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":692,"name":"uint256","nodeType":"ElementaryTypeName","src":"334:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"public"},{"anonymous":false,"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","id":703,"name":"Transfer","nameLocation":"373:8:3","nodeType":"EventDefinition","parameters":{"id":702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":697,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"398:4:3","nodeType":"VariableDeclaration","scope":703,"src":"382:20:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":696,"name":"address","nodeType":"ElementaryTypeName","src":"382:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":699,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"420:2:3","nodeType":"VariableDeclaration","scope":703,"src":"404:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":698,"name":"address","nodeType":"ElementaryTypeName","src":"404:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":701,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"432:5:3","nodeType":"VariableDeclaration","scope":703,"src":"424:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":700,"name":"uint256","nodeType":"ElementaryTypeName","src":"424:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"381:57:3"},"src":"367:72:3"},{"anonymous":false,"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","id":711,"name":"Approval","nameLocation":"450:8:3","nodeType":"EventDefinition","parameters":{"id":710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":705,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"475:5:3","nodeType":"VariableDeclaration","scope":711,"src":"459:21:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":704,"name":"address","nodeType":"ElementaryTypeName","src":"459:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":707,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"498:7:3","nodeType":"VariableDeclaration","scope":711,"src":"482:23:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":706,"name":"address","nodeType":"ElementaryTypeName","src":"482:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":709,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"515:5:3","nodeType":"VariableDeclaration","scope":711,"src":"507:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":708,"name":"uint256","nodeType":"ElementaryTypeName","src":"507:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"458:63:3"},"src":"444:78:3"},{"body":{"id":747,"nodeType":"Block","src":"579:164:3","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":719,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":713,"src":"597:2:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"611:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":721,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"603:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":720,"name":"address","nodeType":"ElementaryTypeName","src":"603:7:3","typeDescriptions":{}}},"id":723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"603:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"597:16:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5a45524f5f544f","id":725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"615:9:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_a7049c10f39fa732244630b4955cf2769dd3dfcc2a4cc3e4af29dcd82c8c412a","typeString":"literal_string \"ZERO_TO\""},"value":"ZERO_TO"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a7049c10f39fa732244630b4955cf2769dd3dfcc2a4cc3e4af29dcd82c8c412a","typeString":"literal_string \"ZERO_TO\""}],"id":718,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"589:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"589:36:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":727,"nodeType":"ExpressionStatement","src":"589:36:3"},{"expression":{"id":730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":728,"name":"totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":685,"src":"635:11:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":729,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":715,"src":"650:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"635:21:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":731,"nodeType":"ExpressionStatement","src":"635:21:3"},{"expression":{"id":736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":732,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":689,"src":"666:9:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":734,"indexExpression":{"id":733,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":713,"src":"676:2:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"666:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":735,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":715,"src":"683:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"666:23:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":737,"nodeType":"ExpressionStatement","src":"666:23:3"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"721:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":740,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"713:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":739,"name":"address","nodeType":"ElementaryTypeName","src":"713:7:3","typeDescriptions":{}}},"id":742,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"713:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":743,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":713,"src":"725:2:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":744,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":715,"src":"729:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":738,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":703,"src":"704:8:3","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"704:32:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":746,"nodeType":"EmitStatement","src":"699:37:3"}]},"functionSelector":"40c10f19","id":748,"implemented":true,"kind":"function","modifiers":[],"name":"mint","nameLocation":"537:4:3","nodeType":"FunctionDefinition","parameters":{"id":716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":713,"mutability":"mutable","name":"to","nameLocation":"550:2:3","nodeType":"VariableDeclaration","scope":748,"src":"542:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":712,"name":"address","nodeType":"ElementaryTypeName","src":"542:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":715,"mutability":"mutable","name":"amount","nameLocation":"562:6:3","nodeType":"VariableDeclaration","scope":748,"src":"554:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":714,"name":"uint256","nodeType":"ElementaryTypeName","src":"554:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"541:28:3"},"returnParameters":{"id":717,"nodeType":"ParameterList","parameters":[],"src":"579:0:3"},"scope":917,"src":"528:215:3","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":775,"nodeType":"Block","src":"823:129:3","statements":[{"expression":{"id":764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":757,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":695,"src":"833:9:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":761,"indexExpression":{"expression":{"id":758,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"843:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"847:6:3","memberName":"sender","nodeType":"MemberAccess","src":"843:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"833:21:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":762,"indexExpression":{"id":760,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":750,"src":"855:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"833:30:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":763,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":752,"src":"866:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"833:39:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":765,"nodeType":"ExpressionStatement","src":"833:39:3"},{"eventCall":{"arguments":[{"expression":{"id":767,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"896:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"900:6:3","memberName":"sender","nodeType":"MemberAccess","src":"896:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":769,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":750,"src":"908:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":770,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":752,"src":"917:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":766,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":711,"src":"887:8:3","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"887:37:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":772,"nodeType":"EmitStatement","src":"882:42:3"},{"expression":{"hexValue":"74727565","id":773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"941:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":756,"id":774,"nodeType":"Return","src":"934:11:3"}]},"functionSelector":"095ea7b3","id":776,"implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"758:7:3","nodeType":"FunctionDefinition","parameters":{"id":753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":750,"mutability":"mutable","name":"spender","nameLocation":"774:7:3","nodeType":"VariableDeclaration","scope":776,"src":"766:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":749,"name":"address","nodeType":"ElementaryTypeName","src":"766:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":752,"mutability":"mutable","name":"amount","nameLocation":"791:6:3","nodeType":"VariableDeclaration","scope":776,"src":"783:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":751,"name":"uint256","nodeType":"ElementaryTypeName","src":"783:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"765:33:3"},"returnParameters":{"id":756,"nodeType":"ParameterList","parameters":[{"constant":false,"id":755,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":776,"src":"817:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":754,"name":"bool","nodeType":"ElementaryTypeName","src":"817:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"816:6:3"},"scope":917,"src":"749:203:3","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":794,"nodeType":"Block","src":"1028:71:3","statements":[{"expression":{"arguments":[{"expression":{"id":786,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"1048:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1052:6:3","memberName":"sender","nodeType":"MemberAccess","src":"1048:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":788,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":778,"src":"1060:2:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":789,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":780,"src":"1064:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":785,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":916,"src":"1038:9:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1038:33:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":791,"nodeType":"ExpressionStatement","src":"1038:33:3"},{"expression":{"hexValue":"74727565","id":792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1088:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":784,"id":793,"nodeType":"Return","src":"1081:11:3"}]},"functionSelector":"a9059cbb","id":795,"implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"967:8:3","nodeType":"FunctionDefinition","parameters":{"id":781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":778,"mutability":"mutable","name":"to","nameLocation":"984:2:3","nodeType":"VariableDeclaration","scope":795,"src":"976:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":777,"name":"address","nodeType":"ElementaryTypeName","src":"976:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":780,"mutability":"mutable","name":"amount","nameLocation":"996:6:3","nodeType":"VariableDeclaration","scope":795,"src":"988:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":779,"name":"uint256","nodeType":"ElementaryTypeName","src":"988:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"975:28:3"},"returnParameters":{"id":784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":783,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":795,"src":"1022:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":782,"name":"bool","nodeType":"ElementaryTypeName","src":"1022:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1021:6:3"},"scope":917,"src":"958:141:3","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":862,"nodeType":"Block","src":"1193:357:3","statements":[{"assignments":[807],"declarations":[{"constant":false,"id":807,"mutability":"mutable","name":"allowed","nameLocation":"1211:7:3","nodeType":"VariableDeclaration","scope":862,"src":"1203:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":806,"name":"uint256","nodeType":"ElementaryTypeName","src":"1203:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":814,"initialValue":{"baseExpression":{"baseExpression":{"id":808,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":695,"src":"1221:9:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":810,"indexExpression":{"id":809,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":797,"src":"1231:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1221:15:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":813,"indexExpression":{"expression":{"id":811,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"1237:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1241:6:3","memberName":"sender","nodeType":"MemberAccess","src":"1237:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1221:27:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1203:45:3"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":816,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":807,"src":"1266:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":817,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":801,"src":"1277:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1266:17:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"414c4c4f57414e4345","id":819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1285:11:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_3a289c61653ad39bcc02fc718bcd8cf414a97d9269457b6e48ff906f0af04804","typeString":"literal_string \"ALLOWANCE\""},"value":"ALLOWANCE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3a289c61653ad39bcc02fc718bcd8cf414a97d9269457b6e48ff906f0af04804","typeString":"literal_string \"ALLOWANCE\""}],"id":815,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"1258:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1258:39:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":821,"nodeType":"ExpressionStatement","src":"1258:39:3"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":822,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":807,"src":"1311:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"arguments":[{"id":825,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1327:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":824,"name":"uint256","nodeType":"ElementaryTypeName","src":"1327:7:3","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":823,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967269,"src":"1322:4:3","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1322:13:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":827,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1336:3:3","memberName":"max","nodeType":"MemberAccess","src":"1322:17:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1311:28:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":853,"nodeType":"IfStatement","src":"1307:179:3","trueBody":{"id":852,"nodeType":"Block","src":"1341:145:3","statements":[{"expression":{"id":838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":829,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":695,"src":"1355:9:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":833,"indexExpression":{"id":830,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":797,"src":"1365:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1355:15:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":834,"indexExpression":{"expression":{"id":831,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"1371:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1375:6:3","memberName":"sender","nodeType":"MemberAccess","src":"1371:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1355:27:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":835,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":807,"src":"1385:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":836,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":801,"src":"1395:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1385:16:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1355:46:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":839,"nodeType":"ExpressionStatement","src":"1355:46:3"},{"eventCall":{"arguments":[{"id":841,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":797,"src":"1429:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":842,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"1435:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1439:6:3","memberName":"sender","nodeType":"MemberAccess","src":"1435:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"baseExpression":{"id":844,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":695,"src":"1447:9:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":846,"indexExpression":{"id":845,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":797,"src":"1457:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1447:15:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":849,"indexExpression":{"expression":{"id":847,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4294967281,"src":"1463:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1467:6:3","memberName":"sender","nodeType":"MemberAccess","src":"1463:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1447:27:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":840,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":711,"src":"1420:8:3","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1420:55:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":851,"nodeType":"EmitStatement","src":"1415:60:3"}]}},{"expression":{"arguments":[{"id":855,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":797,"src":"1505:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":856,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":799,"src":"1511:2:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":857,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":801,"src":"1515:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":854,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":916,"src":"1495:9:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1495:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":859,"nodeType":"ExpressionStatement","src":"1495:27:3"},{"expression":{"hexValue":"74727565","id":860,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1539:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":805,"id":861,"nodeType":"Return","src":"1532:11:3"}]},"functionSelector":"23b872dd","id":863,"implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"1114:12:3","nodeType":"FunctionDefinition","parameters":{"id":802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":797,"mutability":"mutable","name":"from","nameLocation":"1135:4:3","nodeType":"VariableDeclaration","scope":863,"src":"1127:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":796,"name":"address","nodeType":"ElementaryTypeName","src":"1127:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":799,"mutability":"mutable","name":"to","nameLocation":"1149:2:3","nodeType":"VariableDeclaration","scope":863,"src":"1141:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":798,"name":"address","nodeType":"ElementaryTypeName","src":"1141:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":801,"mutability":"mutable","name":"amount","nameLocation":"1161:6:3","nodeType":"VariableDeclaration","scope":863,"src":"1153:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":800,"name":"uint256","nodeType":"ElementaryTypeName","src":"1153:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1126:42:3"},"returnParameters":{"id":805,"nodeType":"ParameterList","parameters":[{"constant":false,"id":804,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":863,"src":"1187:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":803,"name":"bool","nodeType":"ElementaryTypeName","src":"1187:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1186:6:3"},"scope":917,"src":"1105:445:3","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":915,"nodeType":"Block","src":"1626:249:3","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":873,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":867,"src":"1644:2:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1658:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":875,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1650:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":874,"name":"address","nodeType":"ElementaryTypeName","src":"1650:7:3","typeDescriptions":{}}},"id":877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1650:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1644:16:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5a45524f5f544f","id":879,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1662:9:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_a7049c10f39fa732244630b4955cf2769dd3dfcc2a4cc3e4af29dcd82c8c412a","typeString":"literal_string \"ZERO_TO\""},"value":"ZERO_TO"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a7049c10f39fa732244630b4955cf2769dd3dfcc2a4cc3e4af29dcd82c8c412a","typeString":"literal_string \"ZERO_TO\""}],"id":872,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"1636:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1636:36:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":881,"nodeType":"ExpressionStatement","src":"1636:36:3"},{"assignments":[883],"declarations":[{"constant":false,"id":883,"mutability":"mutable","name":"bal","nameLocation":"1690:3:3","nodeType":"VariableDeclaration","scope":915,"src":"1682:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":882,"name":"uint256","nodeType":"ElementaryTypeName","src":"1682:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":887,"initialValue":{"baseExpression":{"id":884,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":689,"src":"1696:9:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":886,"indexExpression":{"id":885,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":865,"src":"1706:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1696:15:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1682:29:3"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":889,"name":"bal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":883,"src":"1729:3:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":890,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":869,"src":"1736:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1729:13:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"42414c414e4345","id":892,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1744:9:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_e7adc2a634555a2311bea63e676d74c6fefbf82b2d0687906d769a0eb91e84ed","typeString":"literal_string \"BALANCE\""},"value":"BALANCE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e7adc2a634555a2311bea63e676d74c6fefbf82b2d0687906d769a0eb91e84ed","typeString":"literal_string \"BALANCE\""}],"id":888,"name":"require","nodeType":"Identifier","overloadedDeclarations":[4294967278,4294967278],"referencedDeclaration":4294967278,"src":"1721:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1721:33:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":894,"nodeType":"ExpressionStatement","src":"1721:33:3"},{"expression":{"id":901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":895,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":689,"src":"1764:9:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":897,"indexExpression":{"id":896,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":865,"src":"1774:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1764:15:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":898,"name":"bal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":883,"src":"1782:3:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":899,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":869,"src":"1788:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1782:12:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1764:30:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":902,"nodeType":"ExpressionStatement","src":"1764:30:3"},{"expression":{"id":907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":903,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":689,"src":"1804:9:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":905,"indexExpression":{"id":904,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":867,"src":"1814:2:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1804:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":906,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":869,"src":"1821:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1804:23:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":908,"nodeType":"ExpressionStatement","src":"1804:23:3"},{"eventCall":{"arguments":[{"id":910,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":865,"src":"1851:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":911,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":867,"src":"1857:2:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":912,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":869,"src":"1861:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":909,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":703,"src":"1842:8:3","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1842:26:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":914,"nodeType":"EmitStatement","src":"1837:31:3"}]},"id":916,"implemented":true,"kind":"function","modifiers":[],"name":"_transfer","nameLocation":"1565:9:3","nodeType":"FunctionDefinition","parameters":{"id":870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":865,"mutability":"mutable","name":"from","nameLocation":"1583:4:3","nodeType":"VariableDeclaration","scope":916,"src":"1575:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":864,"name":"address","nodeType":"ElementaryTypeName","src":"1575:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":867,"mutability":"mutable","name":"to","nameLocation":"1597:2:3","nodeType":"VariableDeclaration","scope":916,"src":"1589:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":866,"name":"address","nodeType":"ElementaryTypeName","src":"1589:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":869,"mutability":"mutable","name":"amount","nameLocation":"1609:6:3","nodeType":"VariableDeclaration","scope":916,"src":"1601:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":868,"name":"uint256","nodeType":"ElementaryTypeName","src":"1601:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1574:42:3"},"returnParameters":{"id":871,"nodeType":"ParameterList","parameters":[],"src":"1626:0:3"},"scope":917,"src":"1556:319:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":918,"src":"58:1819:3","usedErrors":[],"usedEvents":[703,711]}],"src":"32:1846:3"},"id":3},"contracts/interfaces/IAgentRegistry.sol":{"ast":{"absolutePath":"contracts/interfaces/IAgentRegistry.sol","exportedSymbols":{"IAgentRegistry":[997]},"id":998,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":919,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"32:24:4"},{"abstract":false,"baseContracts":[],"canonicalName":"IAgentRegistry","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":997,"linearizedBaseContracts":[997],"name":"IAgentRegistry","nameLocation":"68:14:4","nodeType":"ContractDefinition","nodes":[{"canonicalName":"IAgentRegistry.AgentStatus","id":923,"members":[{"id":920,"name":"None","nameLocation":"116:4:4","nodeType":"EnumValue","src":"116:4:4"},{"id":921,"name":"Active","nameLocation":"130:6:4","nodeType":"EnumValue","src":"130:6:4"},{"id":922,"name":"Suspended","nameLocation":"146:9:4","nodeType":"EnumValue","src":"146:9:4"}],"name":"AgentStatus","nameLocation":"94:11:4","nodeType":"EnumDefinition","src":"89:72:4"},{"canonicalName":"IAgentRegistry.AgentInfo","id":935,"members":[{"constant":false,"id":925,"mutability":"mutable","name":"agent","nameLocation":"202:5:4","nodeType":"VariableDeclaration","scope":935,"src":"194:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":924,"name":"address","nodeType":"ElementaryTypeName","src":"194:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":927,"mutability":"mutable","name":"manifestCID","nameLocation":"224:11:4","nodeType":"VariableDeclaration","scope":935,"src":"217:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":926,"name":"string","nodeType":"ElementaryTypeName","src":"217:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":929,"mutability":"mutable","name":"stake","nameLocation":"253:5:4","nodeType":"VariableDeclaration","scope":935,"src":"245:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":928,"name":"uint256","nodeType":"ElementaryTypeName","src":"245:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":931,"mutability":"mutable","name":"reputationScore","nameLocation":"276:15:4","nodeType":"VariableDeclaration","scope":935,"src":"268:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":930,"name":"uint256","nodeType":"ElementaryTypeName","src":"268:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":934,"mutability":"mutable","name":"status","nameLocation":"313:6:4","nodeType":"VariableDeclaration","scope":935,"src":"301:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AgentStatus_$923","typeString":"enum IAgentRegistry.AgentStatus"},"typeName":{"id":933,"nodeType":"UserDefinedTypeName","pathNode":{"id":932,"name":"AgentStatus","nameLocations":["301:11:4"],"nodeType":"IdentifierPath","referencedDeclaration":923,"src":"301:11:4"},"referencedDeclaration":923,"src":"301:11:4","typeDescriptions":{"typeIdentifier":"t_enum$_AgentStatus_$923","typeString":"enum IAgentRegistry.AgentStatus"}},"visibility":"internal"}],"name":"AgentInfo","nameLocation":"174:9:4","nodeType":"StructDefinition","scope":997,"src":"167:159:4","visibility":"public"},{"anonymous":false,"eventSelector":"023c5efe572c42192271951adb0e77f97d7fc84bc761d026189ac08617346824","id":943,"name":"AgentRegistered","nameLocation":"338:15:4","nodeType":"EventDefinition","parameters":{"id":942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":937,"indexed":true,"mutability":"mutable","name":"agent","nameLocation":"370:5:4","nodeType":"VariableDeclaration","scope":943,"src":"354:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":936,"name":"address","nodeType":"ElementaryTypeName","src":"354:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":939,"indexed":false,"mutability":"mutable","name":"manifestCID","nameLocation":"384:11:4","nodeType":"VariableDeclaration","scope":943,"src":"377:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":938,"name":"string","nodeType":"ElementaryTypeName","src":"377:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":941,"indexed":false,"mutability":"mutable","name":"stake","nameLocation":"405:5:4","nodeType":"VariableDeclaration","scope":943,"src":"397:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":940,"name":"uint256","nodeType":"ElementaryTypeName","src":"397:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"353:58:4"},"src":"332:80:4"},{"anonymous":false,"eventSelector":"b915c10d80f3a5a64f9cf6b674511d7c794c3419680d92ddf18339ae793ffb57","id":949,"name":"AgentUpdated","nameLocation":"423:12:4","nodeType":"EventDefinition","parameters":{"id":948,"nodeType":"ParameterList","parameters":[{"constant":false,"id":945,"indexed":true,"mutability":"mutable","name":"agent","nameLocation":"452:5:4","nodeType":"VariableDeclaration","scope":949,"src":"436:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":944,"name":"address","nodeType":"ElementaryTypeName","src":"436:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":947,"indexed":false,"mutability":"mutable","name":"manifestCID","nameLocation":"466:11:4","nodeType":"VariableDeclaration","scope":949,"src":"459:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":946,"name":"string","nodeType":"ElementaryTypeName","src":"459:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"435:43:4"},"src":"417:62:4"},{"anonymous":false,"eventSelector":"3ee366bd83c5cc24a1c3a11ee648e4ce0b12d519493df8b8394e11496eba747b","id":956,"name":"AgentStatusChanged","nameLocation":"490:18:4","nodeType":"EventDefinition","parameters":{"id":955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":951,"indexed":true,"mutability":"mutable","name":"agent","nameLocation":"525:5:4","nodeType":"VariableDeclaration","scope":956,"src":"509:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":950,"name":"address","nodeType":"ElementaryTypeName","src":"509:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":954,"indexed":false,"mutability":"mutable","name":"status","nameLocation":"544:6:4","nodeType":"VariableDeclaration","scope":956,"src":"532:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AgentStatus_$923","typeString":"enum IAgentRegistry.AgentStatus"},"typeName":{"id":953,"nodeType":"UserDefinedTypeName","pathNode":{"id":952,"name":"AgentStatus","nameLocations":["532:11:4"],"nodeType":"IdentifierPath","referencedDeclaration":923,"src":"532:11:4"},"referencedDeclaration":923,"src":"532:11:4","typeDescriptions":{"typeIdentifier":"t_enum$_AgentStatus_$923","typeString":"enum IAgentRegistry.AgentStatus"}},"visibility":"internal"}],"src":"508:43:4"},"src":"484:68:4"},{"anonymous":false,"eventSelector":"215c404371fa4ecbb9cb872650536271fefe9b730cc27ea247731ed776afabae","id":962,"name":"AgentStakeChanged","nameLocation":"563:17:4","nodeType":"EventDefinition","parameters":{"id":961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":958,"indexed":true,"mutability":"mutable","name":"agent","nameLocation":"597:5:4","nodeType":"VariableDeclaration","scope":962,"src":"581:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":957,"name":"address","nodeType":"ElementaryTypeName","src":"581:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":960,"indexed":false,"mutability":"mutable","name":"newStake","nameLocation":"612:8:4","nodeType":"VariableDeclaration","scope":962,"src":"604:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":959,"name":"uint256","nodeType":"ElementaryTypeName","src":"604:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"580:41:4"},"src":"557:65:4"},{"functionSelector":"f2c298be","id":967,"implemented":false,"kind":"function","modifiers":[],"name":"register","nameLocation":"637:8:4","nodeType":"FunctionDefinition","parameters":{"id":965,"nodeType":"ParameterList","parameters":[{"constant":false,"id":964,"mutability":"mutable","name":"manifestCID","nameLocation":"662:11:4","nodeType":"VariableDeclaration","scope":967,"src":"646:27:4","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":963,"name":"string","nodeType":"ElementaryTypeName","src":"646:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"645:29:4"},"returnParameters":{"id":966,"nodeType":"ParameterList","parameters":[],"src":"691:0:4"},"scope":997,"src":"628:64:4","stateMutability":"payable","virtual":false,"visibility":"external"},{"functionSelector":"57200a9e","id":972,"implemented":false,"kind":"function","modifiers":[],"name":"updateManifest","nameLocation":"706:14:4","nodeType":"FunctionDefinition","parameters":{"id":970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":969,"mutability":"mutable","name":"manifestCID","nameLocation":"737:11:4","nodeType":"VariableDeclaration","scope":972,"src":"721:27:4","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":968,"name":"string","nodeType":"ElementaryTypeName","src":"721:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"720:29:4"},"returnParameters":{"id":971,"nodeType":"ParameterList","parameters":[],"src":"758:0:4"},"scope":997,"src":"697:62:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"278e07ce","id":980,"implemented":false,"kind":"function","modifiers":[],"name":"setStatus","nameLocation":"773:9:4","nodeType":"FunctionDefinition","parameters":{"id":978,"nodeType":"ParameterList","parameters":[{"constant":false,"id":974,"mutability":"mutable","name":"agent","nameLocation":"791:5:4","nodeType":"VariableDeclaration","scope":980,"src":"783:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":973,"name":"address","nodeType":"ElementaryTypeName","src":"783:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":977,"mutability":"mutable","name":"status","nameLocation":"810:6:4","nodeType":"VariableDeclaration","scope":980,"src":"798:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AgentStatus_$923","typeString":"enum IAgentRegistry.AgentStatus"},"typeName":{"id":976,"nodeType":"UserDefinedTypeName","pathNode":{"id":975,"name":"AgentStatus","nameLocations":["798:11:4"],"nodeType":"IdentifierPath","referencedDeclaration":923,"src":"798:11:4"},"referencedDeclaration":923,"src":"798:11:4","typeDescriptions":{"typeIdentifier":"t_enum$_AgentStatus_$923","typeString":"enum IAgentRegistry.AgentStatus"}},"visibility":"internal"}],"src":"782:35:4"},"returnParameters":{"id":979,"nodeType":"ParameterList","parameters":[],"src":"826:0:4"},"scope":997,"src":"764:63:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"5a627dbc","id":983,"implemented":false,"kind":"function","modifiers":[],"name":"addStake","nameLocation":"841:8:4","nodeType":"FunctionDefinition","parameters":{"id":981,"nodeType":"ParameterList","parameters":[],"src":"849:2:4"},"returnParameters":{"id":982,"nodeType":"ParameterList","parameters":[],"src":"868:0:4"},"scope":997,"src":"832:37:4","stateMutability":"payable","virtual":false,"visibility":"external"},{"functionSelector":"25d5971f","id":988,"implemented":false,"kind":"function","modifiers":[],"name":"withdrawStake","nameLocation":"883:13:4","nodeType":"FunctionDefinition","parameters":{"id":986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":985,"mutability":"mutable","name":"amount","nameLocation":"905:6:4","nodeType":"VariableDeclaration","scope":988,"src":"897:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":984,"name":"uint256","nodeType":"ElementaryTypeName","src":"897:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"896:16:4"},"returnParameters":{"id":987,"nodeType":"ParameterList","parameters":[],"src":"921:0:4"},"scope":997,"src":"874:48:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"fb3551ff","id":996,"implemented":false,"kind":"function","modifiers":[],"name":"getAgent","nameLocation":"936:8:4","nodeType":"FunctionDefinition","parameters":{"id":991,"nodeType":"ParameterList","parameters":[{"constant":false,"id":990,"mutability":"mutable","name":"agent","nameLocation":"953:5:4","nodeType":"VariableDeclaration","scope":996,"src":"945:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":989,"name":"address","nodeType":"ElementaryTypeName","src":"945:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"944:15:4"},"returnParameters":{"id":995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":994,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":996,"src":"983:16:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_AgentInfo_$935_memory_ptr","typeString":"struct IAgentRegistry.AgentInfo"},"typeName":{"id":993,"nodeType":"UserDefinedTypeName","pathNode":{"id":992,"name":"AgentInfo","nameLocations":["983:9:4"],"nodeType":"IdentifierPath","referencedDeclaration":935,"src":"983:9:4"},"referencedDeclaration":935,"src":"983:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_AgentInfo_$935_storage_ptr","typeString":"struct IAgentRegistry.AgentInfo"}},"visibility":"internal"}],"src":"982:18:4"},"scope":997,"src":"927:74:4","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":998,"src":"58:945:4","usedErrors":[],"usedEvents":[943,949,956,962]}],"src":"32:973:4"},"id":4},"contracts/interfaces/IArbitration.sol":{"ast":{"absolutePath":"contracts/interfaces/IArbitration.sol","exportedSymbols":{"IArbitration":[1034]},"id":1035,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":999,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"32:24:5"},{"abstract":false,"baseContracts":[],"canonicalName":"IArbitration","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":1034,"linearizedBaseContracts":[1034],"name":"IArbitration","nameLocation":"68:12:5","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"eventSelector":"187cf2180cf205abb3a86a43c8a0e9e92ffdc0d1029d2982b525b335a50efe51","id":1009,"name":"DisputeCreated","nameLocation":"93:14:5","nodeType":"EventDefinition","parameters":{"id":1008,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1001,"indexed":true,"mutability":"mutable","name":"disputeId","nameLocation":"124:9:5","nodeType":"VariableDeclaration","scope":1009,"src":"108:25:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1000,"name":"uint256","nodeType":"ElementaryTypeName","src":"108:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1003,"indexed":true,"mutability":"mutable","name":"escrowId","nameLocation":"151:8:5","nodeType":"VariableDeclaration","scope":1009,"src":"135:24:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1002,"name":"uint256","nodeType":"ElementaryTypeName","src":"135:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1005,"indexed":true,"mutability":"mutable","name":"opener","nameLocation":"177:6:5","nodeType":"VariableDeclaration","scope":1009,"src":"161:22:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1004,"name":"address","nodeType":"ElementaryTypeName","src":"161:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1007,"indexed":false,"mutability":"mutable","name":"evidenceCID","nameLocation":"192:11:5","nodeType":"VariableDeclaration","scope":1009,"src":"185:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1006,"name":"string","nodeType":"ElementaryTypeName","src":"185:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"107:97:5"},"src":"87:118:5"},{"anonymous":false,"eventSelector":"b6027422b1830179b713bbc31aa5f690ddbc29e31f87e59b13ec4eb149386e36","id":1015,"name":"RulingGiven","nameLocation":"216:11:5","nodeType":"EventDefinition","parameters":{"id":1014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1011,"indexed":true,"mutability":"mutable","name":"disputeId","nameLocation":"244:9:5","nodeType":"VariableDeclaration","scope":1015,"src":"228:25:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1010,"name":"uint256","nodeType":"ElementaryTypeName","src":"228:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1013,"indexed":false,"mutability":"mutable","name":"ruling","nameLocation":"263:6:5","nodeType":"VariableDeclaration","scope":1015,"src":"255:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1012,"name":"uint256","nodeType":"ElementaryTypeName","src":"255:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"227:43:5"},"src":"210:61:5"},{"functionSelector":"721b8776","id":1026,"implemented":false,"kind":"function","modifiers":[],"name":"createDispute","nameLocation":"286:13:5","nodeType":"FunctionDefinition","parameters":{"id":1022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1017,"mutability":"mutable","name":"escrowId","nameLocation":"308:8:5","nodeType":"VariableDeclaration","scope":1026,"src":"300:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1016,"name":"uint256","nodeType":"ElementaryTypeName","src":"300:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1019,"mutability":"mutable","name":"opener","nameLocation":"326:6:5","nodeType":"VariableDeclaration","scope":1026,"src":"318:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1018,"name":"address","nodeType":"ElementaryTypeName","src":"318:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1021,"mutability":"mutable","name":"evidenceCID","nameLocation":"350:11:5","nodeType":"VariableDeclaration","scope":1026,"src":"334:27:5","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":1020,"name":"string","nodeType":"ElementaryTypeName","src":"334:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"299:63:5"},"returnParameters":{"id":1025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1024,"mutability":"mutable","name":"disputeId","nameLocation":"405:9:5","nodeType":"VariableDeclaration","scope":1026,"src":"397:17:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1023,"name":"uint256","nodeType":"ElementaryTypeName","src":"397:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"396:19:5"},"scope":1034,"src":"277:139:5","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"311a6c56","id":1033,"implemented":false,"kind":"function","modifiers":[],"name":"rule","nameLocation":"431:4:5","nodeType":"FunctionDefinition","parameters":{"id":1031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1028,"mutability":"mutable","name":"disputeId","nameLocation":"444:9:5","nodeType":"VariableDeclaration","scope":1033,"src":"436:17:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1027,"name":"uint256","nodeType":"ElementaryTypeName","src":"436:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1030,"mutability":"mutable","name":"ruling","nameLocation":"463:6:5","nodeType":"VariableDeclaration","scope":1033,"src":"455:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1029,"name":"uint256","nodeType":"ElementaryTypeName","src":"455:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"435:35:5"},"returnParameters":{"id":1032,"nodeType":"ParameterList","parameters":[],"src":"479:0:5"},"scope":1034,"src":"422:58:5","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":1035,"src":"58:424:5","usedErrors":[],"usedEvents":[1009,1015]}],"src":"32:452:5"},"id":5},"contracts/interfaces/IEscrow.sol":{"ast":{"absolutePath":"contracts/interfaces/IEscrow.sol","exportedSymbols":{"IEscrow":[1197]},"id":1198,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1036,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"32:24:6"},{"abstract":false,"baseContracts":[],"canonicalName":"IEscrow","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":1197,"linearizedBaseContracts":[1197],"name":"IEscrow","nameLocation":"68:7:6","nodeType":"ContractDefinition","nodes":[{"canonicalName":"IEscrow.EscrowStatus","id":1045,"members":[{"id":1037,"name":"None","nameLocation":"110:4:6","nodeType":"EnumValue","src":"110:4:6"},{"id":1038,"name":"Funded","nameLocation":"124:6:6","nodeType":"EnumValue","src":"124:6:6"},{"id":1039,"name":"Delivered","nameLocation":"140:9:6","nodeType":"EnumValue","src":"140:9:6"},{"id":1040,"name":"Accepted","nameLocation":"159:8:6","nodeType":"EnumValue","src":"159:8:6"},{"id":1041,"name":"Rejected","nameLocation":"177:8:6","nodeType":"EnumValue","src":"177:8:6"},{"id":1042,"name":"Disputed","nameLocation":"195:8:6","nodeType":"EnumValue","src":"195:8:6"},{"id":1043,"name":"Resolved","nameLocation":"213:8:6","nodeType":"EnumValue","src":"213:8:6"},{"id":1044,"name":"Refunded","nameLocation":"231:8:6","nodeType":"EnumValue","src":"231:8:6"}],"name":"EscrowStatus","nameLocation":"87:12:6","nodeType":"EnumDefinition","src":"82:163:6"},{"canonicalName":"IEscrow.EscrowInfo","id":1065,"members":[{"constant":false,"id":1047,"mutability":"mutable","name":"escrowId","nameLocation":"287:8:6","nodeType":"VariableDeclaration","scope":1065,"src":"279:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1046,"name":"uint256","nodeType":"ElementaryTypeName","src":"279:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1049,"mutability":"mutable","name":"jobId","nameLocation":"313:5:6","nodeType":"VariableDeclaration","scope":1065,"src":"305:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1048,"name":"uint256","nodeType":"ElementaryTypeName","src":"305:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1051,"mutability":"mutable","name":"buyer","nameLocation":"336:5:6","nodeType":"VariableDeclaration","scope":1065,"src":"328:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1050,"name":"address","nodeType":"ElementaryTypeName","src":"328:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1053,"mutability":"mutable","name":"agent","nameLocation":"359:5:6","nodeType":"VariableDeclaration","scope":1065,"src":"351:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1052,"name":"address","nodeType":"ElementaryTypeName","src":"351:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1055,"mutability":"mutable","name":"amount","nameLocation":"382:6:6","nodeType":"VariableDeclaration","scope":1065,"src":"374:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1054,"name":"uint256","nodeType":"ElementaryTypeName","src":"374:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1057,"mutability":"mutable","name":"paymentToken","nameLocation":"406:12:6","nodeType":"VariableDeclaration","scope":1065,"src":"398:20:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1056,"name":"address","nodeType":"ElementaryTypeName","src":"398:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1060,"mutability":"mutable","name":"status","nameLocation":"441:6:6","nodeType":"VariableDeclaration","scope":1065,"src":"428:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_EscrowStatus_$1045","typeString":"enum IEscrow.EscrowStatus"},"typeName":{"id":1059,"nodeType":"UserDefinedTypeName","pathNode":{"id":1058,"name":"EscrowStatus","nameLocations":["428:12:6"],"nodeType":"IdentifierPath","referencedDeclaration":1045,"src":"428:12:6"},"referencedDeclaration":1045,"src":"428:12:6","typeDescriptions":{"typeIdentifier":"t_enum$_EscrowStatus_$1045","typeString":"enum IEscrow.EscrowStatus"}},"visibility":"internal"},{"constant":false,"id":1062,"mutability":"mutable","name":"fundedAt","nameLocation":"464:8:6","nodeType":"VariableDeclaration","scope":1065,"src":"457:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1061,"name":"uint64","nodeType":"ElementaryTypeName","src":"457:6:6","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":1064,"mutability":"mutable","name":"deliveryDeadline","nameLocation":"489:16:6","nodeType":"VariableDeclaration","scope":1065,"src":"482:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1063,"name":"uint64","nodeType":"ElementaryTypeName","src":"482:6:6","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"name":"EscrowInfo","nameLocation":"258:10:6","nodeType":"StructDefinition","scope":1197,"src":"251:261:6","visibility":"public"},{"anonymous":false,"eventSelector":"fbf3a96e4daf2432ed3bcdf7d764d4c8e956bcdc8691bdbfb5d875480a591955","id":1075,"name":"EscrowFunded","nameLocation":"524:12:6","nodeType":"EventDefinition","parameters":{"id":1074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1067,"indexed":true,"mutability":"mutable","name":"escrowId","nameLocation":"553:8:6","nodeType":"VariableDeclaration","scope":1075,"src":"537:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1066,"name":"uint256","nodeType":"ElementaryTypeName","src":"537:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1069,"indexed":true,"mutability":"mutable","name":"jobId","nameLocation":"579:5:6","nodeType":"VariableDeclaration","scope":1075,"src":"563:21:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1068,"name":"uint256","nodeType":"ElementaryTypeName","src":"563:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1071,"indexed":true,"mutability":"mutable","name":"buyer","nameLocation":"602:5:6","nodeType":"VariableDeclaration","scope":1075,"src":"586:21:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1070,"name":"address","nodeType":"ElementaryTypeName","src":"586:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1073,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"617:6:6","nodeType":"VariableDeclaration","scope":1075,"src":"609:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1072,"name":"uint256","nodeType":"ElementaryTypeName","src":"609:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"536:88:6"},"src":"518:107:6"},{"anonymous":false,"eventSelector":"fdff735d0ce98c50f0aae71970200e5b69b8d2d1ea4eb22260ce204cc5e131d7","id":1083,"name":"DeliverySubmitted","nameLocation":"636:17:6","nodeType":"EventDefinition","parameters":{"id":1082,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1077,"indexed":true,"mutability":"mutable","name":"escrowId","nameLocation":"670:8:6","nodeType":"VariableDeclaration","scope":1083,"src":"654:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1076,"name":"uint256","nodeType":"ElementaryTypeName","src":"654:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1079,"indexed":false,"mutability":"mutable","name":"deliveryCID","nameLocation":"687:11:6","nodeType":"VariableDeclaration","scope":1083,"src":"680:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1078,"name":"string","nodeType":"ElementaryTypeName","src":"680:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1081,"indexed":false,"mutability":"mutable","name":"receiptHash","nameLocation":"708:11:6","nodeType":"VariableDeclaration","scope":1083,"src":"700:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1080,"name":"bytes32","nodeType":"ElementaryTypeName","src":"700:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"653:67:6"},"src":"630:91:6"},{"anonymous":false,"eventSelector":"1c51f672bb44381c6c32c39eb4d1a4d57901386e9fa53336d09a315dd6f5b288","id":1089,"name":"DeliveryAccepted","nameLocation":"732:16:6","nodeType":"EventDefinition","parameters":{"id":1088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1085,"indexed":true,"mutability":"mutable","name":"escrowId","nameLocation":"765:8:6","nodeType":"VariableDeclaration","scope":1089,"src":"749:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1084,"name":"uint256","nodeType":"ElementaryTypeName","src":"749:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1087,"indexed":true,"mutability":"mutable","name":"buyer","nameLocation":"791:5:6","nodeType":"VariableDeclaration","scope":1089,"src":"775:21:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1086,"name":"address","nodeType":"ElementaryTypeName","src":"775:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"748:49:6"},"src":"726:72:6"},{"anonymous":false,"eventSelector":"d159f2bef4d4e310cb9df6b91300c6d1932a38969c0118f32ac01a083059edd8","id":1097,"name":"DeliveryRejected","nameLocation":"809:16:6","nodeType":"EventDefinition","parameters":{"id":1096,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1091,"indexed":true,"mutability":"mutable","name":"escrowId","nameLocation":"842:8:6","nodeType":"VariableDeclaration","scope":1097,"src":"826:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1090,"name":"uint256","nodeType":"ElementaryTypeName","src":"826:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1093,"indexed":true,"mutability":"mutable","name":"buyer","nameLocation":"868:5:6","nodeType":"VariableDeclaration","scope":1097,"src":"852:21:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1092,"name":"address","nodeType":"ElementaryTypeName","src":"852:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1095,"indexed":false,"mutability":"mutable","name":"reasonCID","nameLocation":"882:9:6","nodeType":"VariableDeclaration","scope":1097,"src":"875:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1094,"name":"string","nodeType":"ElementaryTypeName","src":"875:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"825:67:6"},"src":"803:90:6"},{"anonymous":false,"eventSelector":"c6fb55a2bd2838e444163cece1945a661c371c5ec8c1a4ea5d697aefc7690547","id":1105,"name":"DisputeOpened","nameLocation":"904:13:6","nodeType":"EventDefinition","parameters":{"id":1104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1099,"indexed":true,"mutability":"mutable","name":"disputeId","nameLocation":"934:9:6","nodeType":"VariableDeclaration","scope":1105,"src":"918:25:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1098,"name":"uint256","nodeType":"ElementaryTypeName","src":"918:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1101,"indexed":true,"mutability":"mutable","name":"escrowId","nameLocation":"961:8:6","nodeType":"VariableDeclaration","scope":1105,"src":"945:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1100,"name":"uint256","nodeType":"ElementaryTypeName","src":"945:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1103,"indexed":true,"mutability":"mutable","name":"opener","nameLocation":"987:6:6","nodeType":"VariableDeclaration","scope":1105,"src":"971:22:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1102,"name":"address","nodeType":"ElementaryTypeName","src":"971:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"917:77:6"},"src":"898:97:6"},{"anonymous":false,"eventSelector":"959dc01840aa516bf9407cffa45326c7b6821c48feff7b91eb0c743c8f460fd6","id":1113,"name":"DisputeResolved","nameLocation":"1006:15:6","nodeType":"EventDefinition","parameters":{"id":1112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1107,"indexed":true,"mutability":"mutable","name":"disputeId","nameLocation":"1038:9:6","nodeType":"VariableDeclaration","scope":1113,"src":"1022:25:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1106,"name":"uint256","nodeType":"ElementaryTypeName","src":"1022:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1109,"indexed":true,"mutability":"mutable","name":"escrowId","nameLocation":"1065:8:6","nodeType":"VariableDeclaration","scope":1113,"src":"1049:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1108,"name":"uint256","nodeType":"ElementaryTypeName","src":"1049:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1111,"indexed":false,"mutability":"mutable","name":"ruling","nameLocation":"1083:6:6","nodeType":"VariableDeclaration","scope":1113,"src":"1075:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1110,"name":"uint256","nodeType":"ElementaryTypeName","src":"1075:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1021:69:6"},"src":"1000:91:6"},{"anonymous":false,"eventSelector":"42917361403ed26b9dfd25b231df3052d7084b50d87714da9b88b54328659766","id":1123,"name":"EscrowSettled","nameLocation":"1102:13:6","nodeType":"EventDefinition","parameters":{"id":1122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1115,"indexed":true,"mutability":"mutable","name":"escrowId","nameLocation":"1132:8:6","nodeType":"VariableDeclaration","scope":1123,"src":"1116:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1114,"name":"uint256","nodeType":"ElementaryTypeName","src":"1116:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1117,"indexed":true,"mutability":"mutable","name":"agent","nameLocation":"1158:5:6","nodeType":"VariableDeclaration","scope":1123,"src":"1142:21:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1116,"name":"address","nodeType":"ElementaryTypeName","src":"1142:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1119,"indexed":false,"mutability":"mutable","name":"payout","nameLocation":"1173:6:6","nodeType":"VariableDeclaration","scope":1123,"src":"1165:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1118,"name":"uint256","nodeType":"ElementaryTypeName","src":"1165:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1121,"indexed":false,"mutability":"mutable","name":"fee","nameLocation":"1189:3:6","nodeType":"VariableDeclaration","scope":1123,"src":"1181:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1120,"name":"uint256","nodeType":"ElementaryTypeName","src":"1181:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1115:78:6"},"src":"1096:98:6"},{"anonymous":false,"eventSelector":"eac97bc1917fcedc984e3d0671d4e83b359890323d5d1c2de32b28d17c356ced","id":1131,"name":"EscrowRefunded","nameLocation":"1205:14:6","nodeType":"EventDefinition","parameters":{"id":1130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1125,"indexed":true,"mutability":"mutable","name":"escrowId","nameLocation":"1236:8:6","nodeType":"VariableDeclaration","scope":1131,"src":"1220:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1124,"name":"uint256","nodeType":"ElementaryTypeName","src":"1220:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1127,"indexed":true,"mutability":"mutable","name":"buyer","nameLocation":"1262:5:6","nodeType":"VariableDeclaration","scope":1131,"src":"1246:21:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1126,"name":"address","nodeType":"ElementaryTypeName","src":"1246:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1129,"indexed":false,"mutability":"mutable","name":"refundAmount","nameLocation":"1277:12:6","nodeType":"VariableDeclaration","scope":1131,"src":"1269:20:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1128,"name":"uint256","nodeType":"ElementaryTypeName","src":"1269:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1219:71:6"},"src":"1199:92:6"},{"functionSelector":"e72c93b2","id":1144,"implemented":false,"kind":"function","modifiers":[],"name":"fund","nameLocation":"1306:4:6","nodeType":"FunctionDefinition","parameters":{"id":1140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1133,"mutability":"mutable","name":"jobId","nameLocation":"1319:5:6","nodeType":"VariableDeclaration","scope":1144,"src":"1311:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1132,"name":"uint256","nodeType":"ElementaryTypeName","src":"1311:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1135,"mutability":"mutable","name":"amount","nameLocation":"1334:6:6","nodeType":"VariableDeclaration","scope":1144,"src":"1326:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1134,"name":"uint256","nodeType":"ElementaryTypeName","src":"1326:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1137,"mutability":"mutable","name":"paymentToken","nameLocation":"1350:12:6","nodeType":"VariableDeclaration","scope":1144,"src":"1342:20:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1136,"name":"address","nodeType":"ElementaryTypeName","src":"1342:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1139,"mutability":"mutable","name":"deliveryDeadline","nameLocation":"1371:16:6","nodeType":"VariableDeclaration","scope":1144,"src":"1364:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1138,"name":"uint64","nodeType":"ElementaryTypeName","src":"1364:6:6","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"1310:78:6"},"returnParameters":{"id":1143,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1142,"mutability":"mutable","name":"escrowId","nameLocation":"1431:8:6","nodeType":"VariableDeclaration","scope":1144,"src":"1423:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1141,"name":"uint256","nodeType":"ElementaryTypeName","src":"1423:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1422:18:6"},"scope":1197,"src":"1297:144:6","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"b231bd30","id":1155,"implemented":false,"kind":"function","modifiers":[],"name":"submitDelivery","nameLocation":"1456:14:6","nodeType":"FunctionDefinition","parameters":{"id":1153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1146,"mutability":"mutable","name":"escrowId","nameLocation":"1488:8:6","nodeType":"VariableDeclaration","scope":1155,"src":"1480:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1145,"name":"uint256","nodeType":"ElementaryTypeName","src":"1480:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1148,"mutability":"mutable","name":"deliveryCID","nameLocation":"1522:11:6","nodeType":"VariableDeclaration","scope":1155,"src":"1506:27:6","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":1147,"name":"string","nodeType":"ElementaryTypeName","src":"1506:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1150,"mutability":"mutable","name":"receiptHash","nameLocation":"1551:11:6","nodeType":"VariableDeclaration","scope":1155,"src":"1543:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1149,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1543:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1152,"mutability":"mutable","name":"agentSignature","nameLocation":"1587:14:6","nodeType":"VariableDeclaration","scope":1155,"src":"1572:29:6","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1151,"name":"bytes","nodeType":"ElementaryTypeName","src":"1572:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1470:137:6"},"returnParameters":{"id":1154,"nodeType":"ParameterList","parameters":[],"src":"1616:0:6"},"scope":1197,"src":"1447:170:6","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"19b05f49","id":1160,"implemented":false,"kind":"function","modifiers":[],"name":"accept","nameLocation":"1632:6:6","nodeType":"FunctionDefinition","parameters":{"id":1158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1157,"mutability":"mutable","name":"escrowId","nameLocation":"1647:8:6","nodeType":"VariableDeclaration","scope":1160,"src":"1639:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1156,"name":"uint256","nodeType":"ElementaryTypeName","src":"1639:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1638:18:6"},"returnParameters":{"id":1159,"nodeType":"ParameterList","parameters":[],"src":"1665:0:6"},"scope":1197,"src":"1623:43:6","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"71d68a97","id":1167,"implemented":false,"kind":"function","modifiers":[],"name":"reject","nameLocation":"1680:6:6","nodeType":"FunctionDefinition","parameters":{"id":1165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1162,"mutability":"mutable","name":"escrowId","nameLocation":"1695:8:6","nodeType":"VariableDeclaration","scope":1167,"src":"1687:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1161,"name":"uint256","nodeType":"ElementaryTypeName","src":"1687:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1164,"mutability":"mutable","name":"reasonCID","nameLocation":"1721:9:6","nodeType":"VariableDeclaration","scope":1167,"src":"1705:25:6","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":1163,"name":"string","nodeType":"ElementaryTypeName","src":"1705:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1686:45:6"},"returnParameters":{"id":1166,"nodeType":"ParameterList","parameters":[],"src":"1740:0:6"},"scope":1197,"src":"1671:70:6","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"36f691c4","id":1176,"implemented":false,"kind":"function","modifiers":[],"name":"openDispute","nameLocation":"1756:11:6","nodeType":"FunctionDefinition","parameters":{"id":1172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1169,"mutability":"mutable","name":"escrowId","nameLocation":"1776:8:6","nodeType":"VariableDeclaration","scope":1176,"src":"1768:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1168,"name":"uint256","nodeType":"ElementaryTypeName","src":"1768:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1171,"mutability":"mutable","name":"evidenceCID","nameLocation":"1802:11:6","nodeType":"VariableDeclaration","scope":1176,"src":"1786:27:6","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":1170,"name":"string","nodeType":"ElementaryTypeName","src":"1786:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1767:47:6"},"returnParameters":{"id":1175,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1174,"mutability":"mutable","name":"disputeId","nameLocation":"1841:9:6","nodeType":"VariableDeclaration","scope":1176,"src":"1833:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1173,"name":"uint256","nodeType":"ElementaryTypeName","src":"1833:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1832:19:6"},"scope":1197,"src":"1747:105:6","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"d96152c3","id":1183,"implemented":false,"kind":"function","modifiers":[],"name":"executeRuling","nameLocation":"1867:13:6","nodeType":"FunctionDefinition","parameters":{"id":1181,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1178,"mutability":"mutable","name":"disputeId","nameLocation":"1889:9:6","nodeType":"VariableDeclaration","scope":1183,"src":"1881:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1177,"name":"uint256","nodeType":"ElementaryTypeName","src":"1881:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1180,"mutability":"mutable","name":"ruling","nameLocation":"1908:6:6","nodeType":"VariableDeclaration","scope":1183,"src":"1900:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1179,"name":"uint256","nodeType":"ElementaryTypeName","src":"1900:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1880:35:6"},"returnParameters":{"id":1182,"nodeType":"ParameterList","parameters":[],"src":"1924:0:6"},"scope":1197,"src":"1858:67:6","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"5f789edb","id":1188,"implemented":false,"kind":"function","modifiers":[],"name":"refundOnTimeout","nameLocation":"1940:15:6","nodeType":"FunctionDefinition","parameters":{"id":1186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1185,"mutability":"mutable","name":"escrowId","nameLocation":"1964:8:6","nodeType":"VariableDeclaration","scope":1188,"src":"1956:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1184,"name":"uint256","nodeType":"ElementaryTypeName","src":"1956:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1955:18:6"},"returnParameters":{"id":1187,"nodeType":"ParameterList","parameters":[],"src":"1982:0:6"},"scope":1197,"src":"1931:52:6","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"7d19e596","id":1196,"implemented":false,"kind":"function","modifiers":[],"name":"getEscrow","nameLocation":"1998:9:6","nodeType":"FunctionDefinition","parameters":{"id":1191,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1190,"mutability":"mutable","name":"escrowId","nameLocation":"2016:8:6","nodeType":"VariableDeclaration","scope":1196,"src":"2008:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1189,"name":"uint256","nodeType":"ElementaryTypeName","src":"2008:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2007:18:6"},"returnParameters":{"id":1195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1194,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1196,"src":"2049:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_EscrowInfo_$1065_memory_ptr","typeString":"struct IEscrow.EscrowInfo"},"typeName":{"id":1193,"nodeType":"UserDefinedTypeName","pathNode":{"id":1192,"name":"EscrowInfo","nameLocations":["2049:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":1065,"src":"2049:10:6"},"referencedDeclaration":1065,"src":"2049:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_EscrowInfo_$1065_storage_ptr","typeString":"struct IEscrow.EscrowInfo"}},"visibility":"internal"}],"src":"2048:19:6"},"scope":1197,"src":"1989:79:6","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":1198,"src":"58:2012:6","usedErrors":[],"usedEvents":[1075,1083,1089,1097,1105,1113,1123,1131]}],"src":"32:2040:6"},"id":6},"contracts/interfaces/IFeeManager.sol":{"ast":{"absolutePath":"contracts/interfaces/IFeeManager.sol","exportedSymbols":{"IFeeManager":[1227]},"id":1228,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1199,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"32:24:7"},{"abstract":false,"baseContracts":[],"canonicalName":"IFeeManager","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":1227,"linearizedBaseContracts":[1227],"name":"IFeeManager","nameLocation":"68:11:7","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"eventSelector":"d10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de40","id":1203,"name":"ProtocolFeeUpdated","nameLocation":"92:18:7","nodeType":"EventDefinition","parameters":{"id":1202,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1201,"indexed":false,"mutability":"mutable","name":"feeBps","nameLocation":"119:6:7","nodeType":"VariableDeclaration","scope":1203,"src":"111:14:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1200,"name":"uint256","nodeType":"ElementaryTypeName","src":"111:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"110:16:7"},"src":"86:41:7"},{"anonymous":false,"eventSelector":"7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d1","id":1207,"name":"TreasuryUpdated","nameLocation":"138:15:7","nodeType":"EventDefinition","parameters":{"id":1206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1205,"indexed":false,"mutability":"mutable","name":"treasury","nameLocation":"162:8:7","nodeType":"VariableDeclaration","scope":1207,"src":"154:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1204,"name":"address","nodeType":"ElementaryTypeName","src":"154:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"153:18:7"},"src":"132:40:7"},{"functionSelector":"35659fb8","id":1212,"implemented":false,"kind":"function","modifiers":[],"name":"protocolFeeBps","nameLocation":"187:14:7","nodeType":"FunctionDefinition","parameters":{"id":1208,"nodeType":"ParameterList","parameters":[],"src":"201:2:7"},"returnParameters":{"id":1211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1210,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1212,"src":"227:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1209,"name":"uint256","nodeType":"ElementaryTypeName","src":"227:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"226:9:7"},"scope":1227,"src":"178:58:7","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"61d027b3","id":1217,"implemented":false,"kind":"function","modifiers":[],"name":"treasury","nameLocation":"250:8:7","nodeType":"FunctionDefinition","parameters":{"id":1213,"nodeType":"ParameterList","parameters":[],"src":"258:2:7"},"returnParameters":{"id":1216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1215,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1217,"src":"284:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1214,"name":"address","nodeType":"ElementaryTypeName","src":"284:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"283:9:7"},"scope":1227,"src":"241:52:7","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"e1bf9c08","id":1226,"implemented":false,"kind":"function","modifiers":[],"name":"computeFee","nameLocation":"308:10:7","nodeType":"FunctionDefinition","parameters":{"id":1220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1219,"mutability":"mutable","name":"amount","nameLocation":"327:6:7","nodeType":"VariableDeclaration","scope":1226,"src":"319:14:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1218,"name":"uint256","nodeType":"ElementaryTypeName","src":"319:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"318:16:7"},"returnParameters":{"id":1225,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1222,"mutability":"mutable","name":"fee","nameLocation":"366:3:7","nodeType":"VariableDeclaration","scope":1226,"src":"358:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1221,"name":"uint256","nodeType":"ElementaryTypeName","src":"358:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1224,"mutability":"mutable","name":"net","nameLocation":"379:3:7","nodeType":"VariableDeclaration","scope":1226,"src":"371:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1223,"name":"uint256","nodeType":"ElementaryTypeName","src":"371:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"357:26:7"},"scope":1227,"src":"299:85:7","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":1228,"src":"58:328:7","usedErrors":[],"usedEvents":[1203,1207]}],"src":"32:356:7"},"id":7},"contracts/interfaces/IMarketplace.sol":{"ast":{"absolutePath":"contracts/interfaces/IMarketplace.sol","exportedSymbols":{"IMarketplace":[1353]},"id":1354,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1229,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"32:24:8"},{"abstract":false,"baseContracts":[],"canonicalName":"IMarketplace","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":1353,"linearizedBaseContracts":[1353],"name":"IMarketplace","nameLocation":"68:12:8","nodeType":"ContractDefinition","nodes":[{"canonicalName":"IMarketplace.JobStatus","id":1235,"members":[{"id":1230,"name":"None","nameLocation":"112:4:8","nodeType":"EnumValue","src":"112:4:8"},{"id":1231,"name":"Open","nameLocation":"126:4:8","nodeType":"EnumValue","src":"126:4:8"},{"id":1232,"name":"Selected","nameLocation":"140:8:8","nodeType":"EnumValue","src":"140:8:8"},{"id":1233,"name":"Cancelled","nameLocation":"158:9:8","nodeType":"EnumValue","src":"158:9:8"},{"id":1234,"name":"Closed","nameLocation":"177:6:8","nodeType":"EnumValue","src":"177:6:8"}],"name":"JobStatus","nameLocation":"92:9:8","nodeType":"EnumDefinition","src":"87:102:8"},{"canonicalName":"IMarketplace.JobInfo","id":1251,"members":[{"constant":false,"id":1237,"mutability":"mutable","name":"jobId","nameLocation":"228:5:8","nodeType":"VariableDeclaration","scope":1251,"src":"220:13:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1236,"name":"uint256","nodeType":"ElementaryTypeName","src":"220:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1239,"mutability":"mutable","name":"buyer","nameLocation":"251:5:8","nodeType":"VariableDeclaration","scope":1251,"src":"243:13:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1238,"name":"address","nodeType":"ElementaryTypeName","src":"243:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1241,"mutability":"mutable","name":"jobSpecCID","nameLocation":"273:10:8","nodeType":"VariableDeclaration","scope":1251,"src":"266:17:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":1240,"name":"string","nodeType":"ElementaryTypeName","src":"266:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1243,"mutability":"mutable","name":"budget","nameLocation":"301:6:8","nodeType":"VariableDeclaration","scope":1251,"src":"293:14:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1242,"name":"uint256","nodeType":"ElementaryTypeName","src":"293:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1245,"mutability":"mutable","name":"paymentToken","nameLocation":"325:12:8","nodeType":"VariableDeclaration","scope":1251,"src":"317:20:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1244,"name":"address","nodeType":"ElementaryTypeName","src":"317:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1247,"mutability":"mutable","name":"deadline","nameLocation":"354:8:8","nodeType":"VariableDeclaration","scope":1251,"src":"347:15:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1246,"name":"uint64","nodeType":"ElementaryTypeName","src":"347:6:8","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":1250,"mutability":"mutable","name":"status","nameLocation":"382:6:8","nodeType":"VariableDeclaration","scope":1251,"src":"372:16:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_JobStatus_$1235","typeString":"enum IMarketplace.JobStatus"},"typeName":{"id":1249,"nodeType":"UserDefinedTypeName","pathNode":{"id":1248,"name":"JobStatus","nameLocations":["372:9:8"],"nodeType":"IdentifierPath","referencedDeclaration":1235,"src":"372:9:8"},"referencedDeclaration":1235,"src":"372:9:8","typeDescriptions":{"typeIdentifier":"t_enum$_JobStatus_$1235","typeString":"enum IMarketplace.JobStatus"}},"visibility":"internal"}],"name":"JobInfo","nameLocation":"202:7:8","nodeType":"StructDefinition","scope":1353,"src":"195:200:8","visibility":"public"},{"canonicalName":"IMarketplace.BidInfo","id":1264,"members":[{"constant":false,"id":1253,"mutability":"mutable","name":"bidId","nameLocation":"434:5:8","nodeType":"VariableDeclaration","scope":1264,"src":"426:13:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1252,"name":"uint256","nodeType":"ElementaryTypeName","src":"426:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1255,"mutability":"mutable","name":"jobId","nameLocation":"457:5:8","nodeType":"VariableDeclaration","scope":1264,"src":"449:13:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1254,"name":"uint256","nodeType":"ElementaryTypeName","src":"449:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1257,"mutability":"mutable","name":"agent","nameLocation":"480:5:8","nodeType":"VariableDeclaration","scope":1264,"src":"472:13:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1256,"name":"address","nodeType":"ElementaryTypeName","src":"472:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1259,"mutability":"mutable","name":"bidCID","nameLocation":"502:6:8","nodeType":"VariableDeclaration","scope":1264,"src":"495:13:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":1258,"name":"string","nodeType":"ElementaryTypeName","src":"495:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1261,"mutability":"mutable","name":"price","nameLocation":"526:5:8","nodeType":"VariableDeclaration","scope":1264,"src":"518:13:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1260,"name":"uint256","nodeType":"ElementaryTypeName","src":"518:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1263,"mutability":"mutable","name":"eta","nameLocation":"548:3:8","nodeType":"VariableDeclaration","scope":1264,"src":"541:10:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1262,"name":"uint64","nodeType":"ElementaryTypeName","src":"541:6:8","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"name":"BidInfo","nameLocation":"408:7:8","nodeType":"StructDefinition","scope":1353,"src":"401:157:8","visibility":"public"},{"anonymous":false,"eventSelector":"3a8951e4ba787d5e5c12a8abf05763987f5d2b09726a0e9d0f2f16a34651c60a","id":1274,"name":"JobPublished","nameLocation":"570:12:8","nodeType":"EventDefinition","parameters":{"id":1273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1266,"indexed":true,"mutability":"mutable","name":"jobId","nameLocation":"599:5:8","nodeType":"VariableDeclaration","scope":1274,"src":"583:21:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1265,"name":"uint256","nodeType":"ElementaryTypeName","src":"583:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1268,"indexed":true,"mutability":"mutable","name":"buyer","nameLocation":"622:5:8","nodeType":"VariableDeclaration","scope":1274,"src":"606:21:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1267,"name":"address","nodeType":"ElementaryTypeName","src":"606:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1270,"indexed":false,"mutability":"mutable","name":"jobSpecCID","nameLocation":"636:10:8","nodeType":"VariableDeclaration","scope":1274,"src":"629:17:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1269,"name":"string","nodeType":"ElementaryTypeName","src":"629:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1272,"indexed":false,"mutability":"mutable","name":"budget","nameLocation":"656:6:8","nodeType":"VariableDeclaration","scope":1274,"src":"648:14:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1271,"name":"uint256","nodeType":"ElementaryTypeName","src":"648:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"582:81:8"},"src":"564:100:8"},{"anonymous":false,"eventSelector":"f1ab0865975dad5c69ae8e4baaf13114c875728afa7cc86368534c22a631d0b0","id":1280,"name":"JobCancelled","nameLocation":"675:12:8","nodeType":"EventDefinition","parameters":{"id":1279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1276,"indexed":true,"mutability":"mutable","name":"jobId","nameLocation":"704:5:8","nodeType":"VariableDeclaration","scope":1280,"src":"688:21:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1275,"name":"uint256","nodeType":"ElementaryTypeName","src":"688:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1278,"indexed":true,"mutability":"mutable","name":"buyer","nameLocation":"727:5:8","nodeType":"VariableDeclaration","scope":1280,"src":"711:21:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1277,"name":"address","nodeType":"ElementaryTypeName","src":"711:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"687:46:8"},"src":"669:65:8"},{"anonymous":false,"eventSelector":"6f7e354ea3ab5c288aea37fce29c603f9a98a3b040f6d8f32f10e192ec47ff6a","id":1290,"name":"BidPlaced","nameLocation":"745:9:8","nodeType":"EventDefinition","parameters":{"id":1289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1282,"indexed":true,"mutability":"mutable","name":"bidId","nameLocation":"771:5:8","nodeType":"VariableDeclaration","scope":1290,"src":"755:21:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1281,"name":"uint256","nodeType":"ElementaryTypeName","src":"755:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1284,"indexed":true,"mutability":"mutable","name":"jobId","nameLocation":"794:5:8","nodeType":"VariableDeclaration","scope":1290,"src":"778:21:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1283,"name":"uint256","nodeType":"ElementaryTypeName","src":"778:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1286,"indexed":true,"mutability":"mutable","name":"agent","nameLocation":"817:5:8","nodeType":"VariableDeclaration","scope":1290,"src":"801:21:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1285,"name":"address","nodeType":"ElementaryTypeName","src":"801:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1288,"indexed":false,"mutability":"mutable","name":"price","nameLocation":"832:5:8","nodeType":"VariableDeclaration","scope":1290,"src":"824:13:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1287,"name":"uint256","nodeType":"ElementaryTypeName","src":"824:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"754:84:8"},"src":"739:100:8"},{"anonymous":false,"eventSelector":"b44a457558e56843cd0a35d7f1ab436a29b7284f0339a3288899a3ab0ecf3c21","id":1298,"name":"BidSelected","nameLocation":"850:11:8","nodeType":"EventDefinition","parameters":{"id":1297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1292,"indexed":true,"mutability":"mutable","name":"jobId","nameLocation":"878:5:8","nodeType":"VariableDeclaration","scope":1298,"src":"862:21:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1291,"name":"uint256","nodeType":"ElementaryTypeName","src":"862:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1294,"indexed":true,"mutability":"mutable","name":"bidId","nameLocation":"901:5:8","nodeType":"VariableDeclaration","scope":1298,"src":"885:21:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1293,"name":"uint256","nodeType":"ElementaryTypeName","src":"885:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1296,"indexed":true,"mutability":"mutable","name":"agent","nameLocation":"924:5:8","nodeType":"VariableDeclaration","scope":1298,"src":"908:21:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1295,"name":"address","nodeType":"ElementaryTypeName","src":"908:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"861:69:8"},"src":"844:87:8"},{"functionSelector":"2adcd4b9","id":1311,"implemented":false,"kind":"function","modifiers":[],"name":"publishJob","nameLocation":"946:10:8","nodeType":"FunctionDefinition","parameters":{"id":1307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1300,"mutability":"mutable","name":"jobSpecCID","nameLocation":"982:10:8","nodeType":"VariableDeclaration","scope":1311,"src":"966:26:8","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":1299,"name":"string","nodeType":"ElementaryTypeName","src":"966:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1302,"mutability":"mutable","name":"budget","nameLocation":"1010:6:8","nodeType":"VariableDeclaration","scope":1311,"src":"1002:14:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1301,"name":"uint256","nodeType":"ElementaryTypeName","src":"1002:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1304,"mutability":"mutable","name":"paymentToken","nameLocation":"1034:12:8","nodeType":"VariableDeclaration","scope":1311,"src":"1026:20:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1303,"name":"address","nodeType":"ElementaryTypeName","src":"1026:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1306,"mutability":"mutable","name":"deadline","nameLocation":"1063:8:8","nodeType":"VariableDeclaration","scope":1311,"src":"1056:15:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1305,"name":"uint64","nodeType":"ElementaryTypeName","src":"1056:6:8","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"956:121:8"},"returnParameters":{"id":1310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1309,"mutability":"mutable","name":"jobId","nameLocation":"1104:5:8","nodeType":"VariableDeclaration","scope":1311,"src":"1096:13:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1308,"name":"uint256","nodeType":"ElementaryTypeName","src":"1096:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1095:15:8"},"scope":1353,"src":"937:174:8","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"1dffa3dc","id":1316,"implemented":false,"kind":"function","modifiers":[],"name":"cancelJob","nameLocation":"1126:9:8","nodeType":"FunctionDefinition","parameters":{"id":1314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1313,"mutability":"mutable","name":"jobId","nameLocation":"1144:5:8","nodeType":"VariableDeclaration","scope":1316,"src":"1136:13:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1312,"name":"uint256","nodeType":"ElementaryTypeName","src":"1136:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1135:15:8"},"returnParameters":{"id":1315,"nodeType":"ParameterList","parameters":[],"src":"1159:0:8"},"scope":1353,"src":"1117:43:8","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"0e88d708","id":1329,"implemented":false,"kind":"function","modifiers":[],"name":"placeBid","nameLocation":"1175:8:8","nodeType":"FunctionDefinition","parameters":{"id":1325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1318,"mutability":"mutable","name":"jobId","nameLocation":"1201:5:8","nodeType":"VariableDeclaration","scope":1329,"src":"1193:13:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1317,"name":"uint256","nodeType":"ElementaryTypeName","src":"1193:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1320,"mutability":"mutable","name":"bidCID","nameLocation":"1232:6:8","nodeType":"VariableDeclaration","scope":1329,"src":"1216:22:8","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":1319,"name":"string","nodeType":"ElementaryTypeName","src":"1216:6:8","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1322,"mutability":"mutable","name":"price","nameLocation":"1256:5:8","nodeType":"VariableDeclaration","scope":1329,"src":"1248:13:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1321,"name":"uint256","nodeType":"ElementaryTypeName","src":"1248:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1324,"mutability":"mutable","name":"eta","nameLocation":"1278:3:8","nodeType":"VariableDeclaration","scope":1329,"src":"1271:10:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1323,"name":"uint64","nodeType":"ElementaryTypeName","src":"1271:6:8","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"1183:104:8"},"returnParameters":{"id":1328,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1327,"mutability":"mutable","name":"bidId","nameLocation":"1314:5:8","nodeType":"VariableDeclaration","scope":1329,"src":"1306:13:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1326,"name":"uint256","nodeType":"ElementaryTypeName","src":"1306:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1305:15:8"},"scope":1353,"src":"1166:155:8","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"d6f5f120","id":1336,"implemented":false,"kind":"function","modifiers":[],"name":"selectBid","nameLocation":"1336:9:8","nodeType":"FunctionDefinition","parameters":{"id":1334,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1331,"mutability":"mutable","name":"jobId","nameLocation":"1354:5:8","nodeType":"VariableDeclaration","scope":1336,"src":"1346:13:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1330,"name":"uint256","nodeType":"ElementaryTypeName","src":"1346:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1333,"mutability":"mutable","name":"bidId","nameLocation":"1369:5:8","nodeType":"VariableDeclaration","scope":1336,"src":"1361:13:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1332,"name":"uint256","nodeType":"ElementaryTypeName","src":"1361:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1345:30:8"},"returnParameters":{"id":1335,"nodeType":"ParameterList","parameters":[],"src":"1384:0:8"},"scope":1353,"src":"1327:58:8","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"bf22c457","id":1344,"implemented":false,"kind":"function","modifiers":[],"name":"getJob","nameLocation":"1400:6:8","nodeType":"FunctionDefinition","parameters":{"id":1339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1338,"mutability":"mutable","name":"jobId","nameLocation":"1415:5:8","nodeType":"VariableDeclaration","scope":1344,"src":"1407:13:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1337,"name":"uint256","nodeType":"ElementaryTypeName","src":"1407:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1406:15:8"},"returnParameters":{"id":1343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1342,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1344,"src":"1445:14:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JobInfo_$1251_memory_ptr","typeString":"struct IMarketplace.JobInfo"},"typeName":{"id":1341,"nodeType":"UserDefinedTypeName","pathNode":{"id":1340,"name":"JobInfo","nameLocations":["1445:7:8"],"nodeType":"IdentifierPath","referencedDeclaration":1251,"src":"1445:7:8"},"referencedDeclaration":1251,"src":"1445:7:8","typeDescriptions":{"typeIdentifier":"t_struct$_JobInfo_$1251_storage_ptr","typeString":"struct IMarketplace.JobInfo"}},"visibility":"internal"}],"src":"1444:16:8"},"scope":1353,"src":"1391:70:8","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"3c889e6f","id":1352,"implemented":false,"kind":"function","modifiers":[],"name":"getBid","nameLocation":"1475:6:8","nodeType":"FunctionDefinition","parameters":{"id":1347,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1346,"mutability":"mutable","name":"bidId","nameLocation":"1490:5:8","nodeType":"VariableDeclaration","scope":1352,"src":"1482:13:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1345,"name":"uint256","nodeType":"ElementaryTypeName","src":"1482:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1481:15:8"},"returnParameters":{"id":1351,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1350,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1352,"src":"1520:14:8","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_BidInfo_$1264_memory_ptr","typeString":"struct IMarketplace.BidInfo"},"typeName":{"id":1349,"nodeType":"UserDefinedTypeName","pathNode":{"id":1348,"name":"BidInfo","nameLocations":["1520:7:8"],"nodeType":"IdentifierPath","referencedDeclaration":1264,"src":"1520:7:8"},"referencedDeclaration":1264,"src":"1520:7:8","typeDescriptions":{"typeIdentifier":"t_struct$_BidInfo_$1264_storage_ptr","typeString":"struct IMarketplace.BidInfo"}},"visibility":"internal"}],"src":"1519:16:8"},"scope":1353,"src":"1466:70:8","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":1354,"src":"58:1480:8","usedErrors":[],"usedEvents":[1274,1280,1290,1298]}],"src":"32:1508:8"},"id":8},"contracts/interfaces/IReputation.sol":{"ast":{"absolutePath":"contracts/interfaces/IReputation.sol","exportedSymbols":{"IReputation":[1384]},"id":1385,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1355,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"32:24:9"},{"abstract":false,"baseContracts":[],"canonicalName":"IReputation","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":1384,"linearizedBaseContracts":[1384],"name":"IReputation","nameLocation":"68:11:9","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"eventSelector":"0b1c43c108fe237e378b27a0807bfe3663d3724452d6f74d0c17e55324be9953","id":1365,"name":"ReputationUpdated","nameLocation":"92:17:9","nodeType":"EventDefinition","parameters":{"id":1364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1357,"indexed":true,"mutability":"mutable","name":"subject","nameLocation":"126:7:9","nodeType":"VariableDeclaration","scope":1365,"src":"110:23:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1356,"name":"address","nodeType":"ElementaryTypeName","src":"110:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1359,"indexed":false,"mutability":"mutable","name":"delta","nameLocation":"142:5:9","nodeType":"VariableDeclaration","scope":1365,"src":"135:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1358,"name":"int256","nodeType":"ElementaryTypeName","src":"135:6:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1361,"indexed":false,"mutability":"mutable","name":"reason","nameLocation":"156:6:9","nodeType":"VariableDeclaration","scope":1365,"src":"149:13:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1360,"name":"string","nodeType":"ElementaryTypeName","src":"149:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1363,"indexed":false,"mutability":"mutable","name":"relatedJobId","nameLocation":"172:12:9","nodeType":"VariableDeclaration","scope":1365,"src":"164:20:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1362,"name":"uint256","nodeType":"ElementaryTypeName","src":"164:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"109:76:9"},"src":"86:100:9"},{"functionSelector":"77ab1153","id":1376,"implemented":false,"kind":"function","modifiers":[],"name":"update","nameLocation":"201:6:9","nodeType":"FunctionDefinition","parameters":{"id":1374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1367,"mutability":"mutable","name":"subject","nameLocation":"216:7:9","nodeType":"VariableDeclaration","scope":1376,"src":"208:15:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1366,"name":"address","nodeType":"ElementaryTypeName","src":"208:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1369,"mutability":"mutable","name":"delta","nameLocation":"232:5:9","nodeType":"VariableDeclaration","scope":1376,"src":"225:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1368,"name":"int256","nodeType":"ElementaryTypeName","src":"225:6:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1371,"mutability":"mutable","name":"reason","nameLocation":"255:6:9","nodeType":"VariableDeclaration","scope":1376,"src":"239:22:9","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":1370,"name":"string","nodeType":"ElementaryTypeName","src":"239:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1373,"mutability":"mutable","name":"relatedJobId","nameLocation":"271:12:9","nodeType":"VariableDeclaration","scope":1376,"src":"263:20:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1372,"name":"uint256","nodeType":"ElementaryTypeName","src":"263:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"207:77:9"},"returnParameters":{"id":1375,"nodeType":"ParameterList","parameters":[],"src":"293:0:9"},"scope":1384,"src":"192:102:9","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"133af456","id":1383,"implemented":false,"kind":"function","modifiers":[],"name":"scoreOf","nameLocation":"309:7:9","nodeType":"FunctionDefinition","parameters":{"id":1379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1378,"mutability":"mutable","name":"subject","nameLocation":"325:7:9","nodeType":"VariableDeclaration","scope":1383,"src":"317:15:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1377,"name":"address","nodeType":"ElementaryTypeName","src":"317:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"316:17:9"},"returnParameters":{"id":1382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1381,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1383,"src":"357:6:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1380,"name":"int256","nodeType":"ElementaryTypeName","src":"357:6:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"356:8:9"},"scope":1384,"src":"300:65:9","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":1385,"src":"58:309:9","usedErrors":[],"usedEvents":[1365]}],"src":"32:337:9"},"id":9},"contracts/interfaces/ISignatures.sol":{"ast":{"absolutePath":"contracts/interfaces/ISignatures.sol","exportedSymbols":{"ISignatures":[1511]},"id":1512,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1386,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"32:24:10"},{"abstract":false,"baseContracts":[],"canonicalName":"ISignatures","contractDependencies":[],"contractKind":"interface","documentation":{"id":1387,"nodeType":"StructuredDocumentation","src":"58:247:10","text":"@title EIP-712 Signatures Interface\n @notice Defines typed data structs and verification helpers for v0 signatures.\n @dev Note: Solidity interfaces cannot declare constants; typehash constants should live in a library or implementation."},"fullyImplemented":false,"id":1511,"linearizedBaseContracts":[1511],"name":"ISignatures","nameLocation":"315:11:10","nodeType":"ContractDefinition","nodes":[{"canonicalName":"ISignatures.BidSignature","id":1402,"members":[{"constant":false,"id":1389,"mutability":"mutable","name":"jobId","nameLocation":"371:5:10","nodeType":"VariableDeclaration","scope":1402,"src":"363:13:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1388,"name":"uint256","nodeType":"ElementaryTypeName","src":"363:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1391,"mutability":"mutable","name":"agent","nameLocation":"394:5:10","nodeType":"VariableDeclaration","scope":1402,"src":"386:13:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1390,"name":"address","nodeType":"ElementaryTypeName","src":"386:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1393,"mutability":"mutable","name":"price","nameLocation":"417:5:10","nodeType":"VariableDeclaration","scope":1402,"src":"409:13:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1392,"name":"uint256","nodeType":"ElementaryTypeName","src":"409:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1395,"mutability":"mutable","name":"eta","nameLocation":"439:3:10","nodeType":"VariableDeclaration","scope":1402,"src":"432:10:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1394,"name":"uint64","nodeType":"ElementaryTypeName","src":"432:6:10","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":1397,"mutability":"mutable","name":"bidCID","nameLocation":"459:6:10","nodeType":"VariableDeclaration","scope":1402,"src":"452:13:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":1396,"name":"string","nodeType":"ElementaryTypeName","src":"452:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1399,"mutability":"mutable","name":"nonce","nameLocation":"483:5:10","nodeType":"VariableDeclaration","scope":1402,"src":"475:13:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1398,"name":"uint256","nodeType":"ElementaryTypeName","src":"475:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1401,"mutability":"mutable","name":"deadline","nameLocation":"505:8:10","nodeType":"VariableDeclaration","scope":1402,"src":"498:15:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1400,"name":"uint64","nodeType":"ElementaryTypeName","src":"498:6:10","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"name":"BidSignature","nameLocation":"340:12:10","nodeType":"StructDefinition","scope":1511,"src":"333:187:10","visibility":"public"},{"canonicalName":"ISignatures.DeliveryReceiptSignature","id":1419,"members":[{"constant":false,"id":1404,"mutability":"mutable","name":"escrowId","nameLocation":"576:8:10","nodeType":"VariableDeclaration","scope":1419,"src":"568:16:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1403,"name":"uint256","nodeType":"ElementaryTypeName","src":"568:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1406,"mutability":"mutable","name":"jobId","nameLocation":"602:5:10","nodeType":"VariableDeclaration","scope":1419,"src":"594:13:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1405,"name":"uint256","nodeType":"ElementaryTypeName","src":"594:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1408,"mutability":"mutable","name":"agent","nameLocation":"625:5:10","nodeType":"VariableDeclaration","scope":1419,"src":"617:13:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1407,"name":"address","nodeType":"ElementaryTypeName","src":"617:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1410,"mutability":"mutable","name":"deliveryCID","nameLocation":"647:11:10","nodeType":"VariableDeclaration","scope":1419,"src":"640:18:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":1409,"name":"string","nodeType":"ElementaryTypeName","src":"640:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1412,"mutability":"mutable","name":"deliveryHash","nameLocation":"676:12:10","nodeType":"VariableDeclaration","scope":1419,"src":"668:20:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1411,"name":"bytes32","nodeType":"ElementaryTypeName","src":"668:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1414,"mutability":"mutable","name":"timestamp","nameLocation":"705:9:10","nodeType":"VariableDeclaration","scope":1419,"src":"698:16:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1413,"name":"uint64","nodeType":"ElementaryTypeName","src":"698:6:10","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":1416,"mutability":"mutable","name":"nonce","nameLocation":"732:5:10","nodeType":"VariableDeclaration","scope":1419,"src":"724:13:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1415,"name":"uint256","nodeType":"ElementaryTypeName","src":"724:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1418,"mutability":"mutable","name":"deadline","nameLocation":"754:8:10","nodeType":"VariableDeclaration","scope":1419,"src":"747:15:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1417,"name":"uint64","nodeType":"ElementaryTypeName","src":"747:6:10","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"name":"DeliveryReceiptSignature","nameLocation":"533:24:10","nodeType":"StructDefinition","scope":1511,"src":"526:243:10","visibility":"public"},{"canonicalName":"ISignatures.DisputeEvidenceSignature","id":1436,"members":[{"constant":false,"id":1421,"mutability":"mutable","name":"disputeId","nameLocation":"825:9:10","nodeType":"VariableDeclaration","scope":1436,"src":"817:17:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1420,"name":"uint256","nodeType":"ElementaryTypeName","src":"817:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1423,"mutability":"mutable","name":"escrowId","nameLocation":"852:8:10","nodeType":"VariableDeclaration","scope":1436,"src":"844:16:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1422,"name":"uint256","nodeType":"ElementaryTypeName","src":"844:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1425,"mutability":"mutable","name":"submitter","nameLocation":"878:9:10","nodeType":"VariableDeclaration","scope":1436,"src":"870:17:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1424,"name":"address","nodeType":"ElementaryTypeName","src":"870:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1427,"mutability":"mutable","name":"evidenceCID","nameLocation":"904:11:10","nodeType":"VariableDeclaration","scope":1436,"src":"897:18:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":1426,"name":"string","nodeType":"ElementaryTypeName","src":"897:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1429,"mutability":"mutable","name":"evidenceHash","nameLocation":"933:12:10","nodeType":"VariableDeclaration","scope":1436,"src":"925:20:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1428,"name":"bytes32","nodeType":"ElementaryTypeName","src":"925:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1431,"mutability":"mutable","name":"timestamp","nameLocation":"962:9:10","nodeType":"VariableDeclaration","scope":1436,"src":"955:16:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1430,"name":"uint64","nodeType":"ElementaryTypeName","src":"955:6:10","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":1433,"mutability":"mutable","name":"nonce","nameLocation":"989:5:10","nodeType":"VariableDeclaration","scope":1436,"src":"981:13:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1432,"name":"uint256","nodeType":"ElementaryTypeName","src":"981:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1435,"mutability":"mutable","name":"deadline","nameLocation":"1011:8:10","nodeType":"VariableDeclaration","scope":1436,"src":"1004:15:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1434,"name":"uint64","nodeType":"ElementaryTypeName","src":"1004:6:10","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"name":"DisputeEvidenceSignature","nameLocation":"782:24:10","nodeType":"StructDefinition","scope":1511,"src":"775:251:10","visibility":"public"},{"documentation":{"id":1437,"nodeType":"StructuredDocumentation","src":"1032:66:10","text":"@notice Returns the EIP-712 domain separator used for hashing."},"functionSelector":"f698da25","id":1442,"implemented":false,"kind":"function","modifiers":[],"name":"domainSeparator","nameLocation":"1112:15:10","nodeType":"FunctionDefinition","parameters":{"id":1438,"nodeType":"ParameterList","parameters":[],"src":"1127:2:10"},"returnParameters":{"id":1441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1440,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1442,"src":"1153:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1439,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1153:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1152:9:10"},"scope":1511,"src":"1103:59:10","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":1443,"nodeType":"StructuredDocumentation","src":"1168:51:10","text":"@notice Returns the current nonce for a signer."},"functionSelector":"7ecebe00","id":1450,"implemented":false,"kind":"function","modifiers":[],"name":"nonces","nameLocation":"1233:6:10","nodeType":"FunctionDefinition","parameters":{"id":1446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1445,"mutability":"mutable","name":"signer","nameLocation":"1248:6:10","nodeType":"VariableDeclaration","scope":1450,"src":"1240:14:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1444,"name":"address","nodeType":"ElementaryTypeName","src":"1240:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1239:16:10"},"returnParameters":{"id":1449,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1448,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1450,"src":"1279:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1447,"name":"uint256","nodeType":"ElementaryTypeName","src":"1279:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1278:9:10"},"scope":1511,"src":"1224:64:10","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":1451,"nodeType":"StructuredDocumentation","src":"1294:53:10","text":"@notice Hashes a BidSignature struct per EIP-712."},"functionSelector":"d666a5ad","id":1459,"implemented":false,"kind":"function","modifiers":[],"name":"hashBid","nameLocation":"1361:7:10","nodeType":"FunctionDefinition","parameters":{"id":1455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1454,"mutability":"mutable","name":"bid","nameLocation":"1391:3:10","nodeType":"VariableDeclaration","scope":1459,"src":"1369:25:10","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_BidSignature_$1402_calldata_ptr","typeString":"struct ISignatures.BidSignature"},"typeName":{"id":1453,"nodeType":"UserDefinedTypeName","pathNode":{"id":1452,"name":"BidSignature","nameLocations":["1369:12:10"],"nodeType":"IdentifierPath","referencedDeclaration":1402,"src":"1369:12:10"},"referencedDeclaration":1402,"src":"1369:12:10","typeDescriptions":{"typeIdentifier":"t_struct$_BidSignature_$1402_storage_ptr","typeString":"struct ISignatures.BidSignature"}},"visibility":"internal"}],"src":"1368:27:10"},"returnParameters":{"id":1458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1457,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1459,"src":"1419:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1456,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1419:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1418:9:10"},"scope":1511,"src":"1352:76:10","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":1460,"nodeType":"StructuredDocumentation","src":"1434:65:10","text":"@notice Hashes a DeliveryReceiptSignature struct per EIP-712."},"functionSelector":"bce28f06","id":1468,"implemented":false,"kind":"function","modifiers":[],"name":"hashDeliveryReceipt","nameLocation":"1513:19:10","nodeType":"FunctionDefinition","parameters":{"id":1464,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1463,"mutability":"mutable","name":"receipt","nameLocation":"1567:7:10","nodeType":"VariableDeclaration","scope":1468,"src":"1533:41:10","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_DeliveryReceiptSignature_$1419_calldata_ptr","typeString":"struct ISignatures.DeliveryReceiptSignature"},"typeName":{"id":1462,"nodeType":"UserDefinedTypeName","pathNode":{"id":1461,"name":"DeliveryReceiptSignature","nameLocations":["1533:24:10"],"nodeType":"IdentifierPath","referencedDeclaration":1419,"src":"1533:24:10"},"referencedDeclaration":1419,"src":"1533:24:10","typeDescriptions":{"typeIdentifier":"t_struct$_DeliveryReceiptSignature_$1419_storage_ptr","typeString":"struct ISignatures.DeliveryReceiptSignature"}},"visibility":"internal"}],"src":"1532:43:10"},"returnParameters":{"id":1467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1466,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1468,"src":"1599:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1465,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1599:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1598:9:10"},"scope":1511,"src":"1504:104:10","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":1469,"nodeType":"StructuredDocumentation","src":"1614:65:10","text":"@notice Hashes a DisputeEvidenceSignature struct per EIP-712."},"functionSelector":"fe310566","id":1477,"implemented":false,"kind":"function","modifiers":[],"name":"hashDisputeEvidence","nameLocation":"1693:19:10","nodeType":"FunctionDefinition","parameters":{"id":1473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1472,"mutability":"mutable","name":"evidence","nameLocation":"1747:8:10","nodeType":"VariableDeclaration","scope":1477,"src":"1713:42:10","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeEvidenceSignature_$1436_calldata_ptr","typeString":"struct ISignatures.DisputeEvidenceSignature"},"typeName":{"id":1471,"nodeType":"UserDefinedTypeName","pathNode":{"id":1470,"name":"DisputeEvidenceSignature","nameLocations":["1713:24:10"],"nodeType":"IdentifierPath","referencedDeclaration":1436,"src":"1713:24:10"},"referencedDeclaration":1436,"src":"1713:24:10","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeEvidenceSignature_$1436_storage_ptr","typeString":"struct ISignatures.DisputeEvidenceSignature"}},"visibility":"internal"}],"src":"1712:44:10"},"returnParameters":{"id":1476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1475,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1477,"src":"1780:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1474,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1780:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1779:9:10"},"scope":1511,"src":"1684:105:10","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":1478,"nodeType":"StructuredDocumentation","src":"1795:69:10","text":"@notice Verifies a BidSignature and returns the recovered signer."},"functionSelector":"58019ab6","id":1488,"implemented":false,"kind":"function","modifiers":[],"name":"verifyBidSignature","nameLocation":"1878:18:10","nodeType":"FunctionDefinition","parameters":{"id":1484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1481,"mutability":"mutable","name":"bid","nameLocation":"1919:3:10","nodeType":"VariableDeclaration","scope":1488,"src":"1897:25:10","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_BidSignature_$1402_calldata_ptr","typeString":"struct ISignatures.BidSignature"},"typeName":{"id":1480,"nodeType":"UserDefinedTypeName","pathNode":{"id":1479,"name":"BidSignature","nameLocations":["1897:12:10"],"nodeType":"IdentifierPath","referencedDeclaration":1402,"src":"1897:12:10"},"referencedDeclaration":1402,"src":"1897:12:10","typeDescriptions":{"typeIdentifier":"t_struct$_BidSignature_$1402_storage_ptr","typeString":"struct ISignatures.BidSignature"}},"visibility":"internal"},{"constant":false,"id":1483,"mutability":"mutable","name":"signature","nameLocation":"1939:9:10","nodeType":"VariableDeclaration","scope":1488,"src":"1924:24:10","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1482,"name":"bytes","nodeType":"ElementaryTypeName","src":"1924:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1896:53:10"},"returnParameters":{"id":1487,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1486,"mutability":"mutable","name":"signer","nameLocation":"2005:6:10","nodeType":"VariableDeclaration","scope":1488,"src":"1997:14:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1485,"name":"address","nodeType":"ElementaryTypeName","src":"1997:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1996:16:10"},"scope":1511,"src":"1869:144:10","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":1489,"nodeType":"StructuredDocumentation","src":"2019:81:10","text":"@notice Verifies a DeliveryReceiptSignature and returns the recovered signer."},"functionSelector":"8efc7043","id":1499,"implemented":false,"kind":"function","modifiers":[],"name":"verifyDeliveryReceiptSignature","nameLocation":"2114:30:10","nodeType":"FunctionDefinition","parameters":{"id":1495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1492,"mutability":"mutable","name":"receipt","nameLocation":"2179:7:10","nodeType":"VariableDeclaration","scope":1499,"src":"2145:41:10","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_DeliveryReceiptSignature_$1419_calldata_ptr","typeString":"struct ISignatures.DeliveryReceiptSignature"},"typeName":{"id":1491,"nodeType":"UserDefinedTypeName","pathNode":{"id":1490,"name":"DeliveryReceiptSignature","nameLocations":["2145:24:10"],"nodeType":"IdentifierPath","referencedDeclaration":1419,"src":"2145:24:10"},"referencedDeclaration":1419,"src":"2145:24:10","typeDescriptions":{"typeIdentifier":"t_struct$_DeliveryReceiptSignature_$1419_storage_ptr","typeString":"struct ISignatures.DeliveryReceiptSignature"}},"visibility":"internal"},{"constant":false,"id":1494,"mutability":"mutable","name":"signature","nameLocation":"2203:9:10","nodeType":"VariableDeclaration","scope":1499,"src":"2188:24:10","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1493,"name":"bytes","nodeType":"ElementaryTypeName","src":"2188:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2144:69:10"},"returnParameters":{"id":1498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1497,"mutability":"mutable","name":"signer","nameLocation":"2269:6:10","nodeType":"VariableDeclaration","scope":1499,"src":"2261:14:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1496,"name":"address","nodeType":"ElementaryTypeName","src":"2261:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2260:16:10"},"scope":1511,"src":"2105:172:10","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":1500,"nodeType":"StructuredDocumentation","src":"2283:81:10","text":"@notice Verifies a DisputeEvidenceSignature and returns the recovered signer."},"functionSelector":"8f11a33d","id":1510,"implemented":false,"kind":"function","modifiers":[],"name":"verifyDisputeEvidenceSignature","nameLocation":"2378:30:10","nodeType":"FunctionDefinition","parameters":{"id":1506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1503,"mutability":"mutable","name":"evidence","nameLocation":"2443:8:10","nodeType":"VariableDeclaration","scope":1510,"src":"2409:42:10","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeEvidenceSignature_$1436_calldata_ptr","typeString":"struct ISignatures.DisputeEvidenceSignature"},"typeName":{"id":1502,"nodeType":"UserDefinedTypeName","pathNode":{"id":1501,"name":"DisputeEvidenceSignature","nameLocations":["2409:24:10"],"nodeType":"IdentifierPath","referencedDeclaration":1436,"src":"2409:24:10"},"referencedDeclaration":1436,"src":"2409:24:10","typeDescriptions":{"typeIdentifier":"t_struct$_DisputeEvidenceSignature_$1436_storage_ptr","typeString":"struct ISignatures.DisputeEvidenceSignature"}},"visibility":"internal"},{"constant":false,"id":1505,"mutability":"mutable","name":"signature","nameLocation":"2468:9:10","nodeType":"VariableDeclaration","scope":1510,"src":"2453:24:10","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1504,"name":"bytes","nodeType":"ElementaryTypeName","src":"2453:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2408:70:10"},"returnParameters":{"id":1509,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1508,"mutability":"mutable","name":"signer","nameLocation":"2534:6:10","nodeType":"VariableDeclaration","scope":1510,"src":"2526:14:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1507,"name":"address","nodeType":"ElementaryTypeName","src":"2526:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2525:16:10"},"scope":1511,"src":"2369:173:10","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":1512,"src":"305:2239:10","usedErrors":[],"usedEvents":[]}],"src":"32:2513:10"},"id":10},"contracts/interfaces/ITokenEscrow.sol":{"ast":{"absolutePath":"contracts/interfaces/ITokenEscrow.sol","exportedSymbols":{"ITokenEscrow":[1617]},"id":1618,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1513,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"32:24:11"},{"abstract":false,"baseContracts":[],"canonicalName":"ITokenEscrow","contractDependencies":[],"contractKind":"interface","documentation":{"id":1514,"nodeType":"StructuredDocumentation","src":"58:101:11","text":"@title USDC Token Escrow Interface\n @notice ERC20 USDC-specific escrow operations and events."},"fullyImplemented":false,"id":1617,"linearizedBaseContracts":[1617],"name":"ITokenEscrow","nameLocation":"169:12:11","nodeType":"ContractDefinition","nodes":[{"canonicalName":"ITokenEscrow.EscrowStatus","id":1523,"members":[{"id":1515,"name":"None","nameLocation":"216:4:11","nodeType":"EnumValue","src":"216:4:11"},{"id":1516,"name":"Funded","nameLocation":"230:6:11","nodeType":"EnumValue","src":"230:6:11"},{"id":1517,"name":"Delivered","nameLocation":"246:9:11","nodeType":"EnumValue","src":"246:9:11"},{"id":1518,"name":"Accepted","nameLocation":"265:8:11","nodeType":"EnumValue","src":"265:8:11"},{"id":1519,"name":"Rejected","nameLocation":"283:8:11","nodeType":"EnumValue","src":"283:8:11"},{"id":1520,"name":"Disputed","nameLocation":"301:8:11","nodeType":"EnumValue","src":"301:8:11"},{"id":1521,"name":"Resolved","nameLocation":"319:8:11","nodeType":"EnumValue","src":"319:8:11"},{"id":1522,"name":"Refunded","nameLocation":"337:8:11","nodeType":"EnumValue","src":"337:8:11"}],"name":"EscrowStatus","nameLocation":"193:12:11","nodeType":"EnumDefinition","src":"188:163:11"},{"canonicalName":"ITokenEscrow.TokenEscrowInfo","id":1543,"members":[{"constant":false,"id":1525,"mutability":"mutable","name":"escrowId","nameLocation":"398:8:11","nodeType":"VariableDeclaration","scope":1543,"src":"390:16:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1524,"name":"uint256","nodeType":"ElementaryTypeName","src":"390:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1527,"mutability":"mutable","name":"jobId","nameLocation":"424:5:11","nodeType":"VariableDeclaration","scope":1543,"src":"416:13:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1526,"name":"uint256","nodeType":"ElementaryTypeName","src":"416:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1529,"mutability":"mutable","name":"buyer","nameLocation":"447:5:11","nodeType":"VariableDeclaration","scope":1543,"src":"439:13:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1528,"name":"address","nodeType":"ElementaryTypeName","src":"439:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1531,"mutability":"mutable","name":"agent","nameLocation":"470:5:11","nodeType":"VariableDeclaration","scope":1543,"src":"462:13:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1530,"name":"address","nodeType":"ElementaryTypeName","src":"462:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1533,"mutability":"mutable","name":"amount","nameLocation":"493:6:11","nodeType":"VariableDeclaration","scope":1543,"src":"485:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1532,"name":"uint256","nodeType":"ElementaryTypeName","src":"485:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1535,"mutability":"mutable","name":"paymentToken","nameLocation":"517:12:11","nodeType":"VariableDeclaration","scope":1543,"src":"509:20:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1534,"name":"address","nodeType":"ElementaryTypeName","src":"509:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1538,"mutability":"mutable","name":"status","nameLocation":"552:6:11","nodeType":"VariableDeclaration","scope":1543,"src":"539:19:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_EscrowStatus_$1523","typeString":"enum ITokenEscrow.EscrowStatus"},"typeName":{"id":1537,"nodeType":"UserDefinedTypeName","pathNode":{"id":1536,"name":"EscrowStatus","nameLocations":["539:12:11"],"nodeType":"IdentifierPath","referencedDeclaration":1523,"src":"539:12:11"},"referencedDeclaration":1523,"src":"539:12:11","typeDescriptions":{"typeIdentifier":"t_enum$_EscrowStatus_$1523","typeString":"enum ITokenEscrow.EscrowStatus"}},"visibility":"internal"},{"constant":false,"id":1540,"mutability":"mutable","name":"fundedAt","nameLocation":"575:8:11","nodeType":"VariableDeclaration","scope":1543,"src":"568:15:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1539,"name":"uint64","nodeType":"ElementaryTypeName","src":"568:6:11","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":1542,"mutability":"mutable","name":"deliveryDeadline","nameLocation":"600:16:11","nodeType":"VariableDeclaration","scope":1543,"src":"593:23:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1541,"name":"uint64","nodeType":"ElementaryTypeName","src":"593:6:11","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"name":"TokenEscrowInfo","nameLocation":"364:15:11","nodeType":"StructDefinition","scope":1617,"src":"357:266:11","visibility":"public"},{"anonymous":false,"eventSelector":"fbf3a96e4daf2432ed3bcdf7d764d4c8e956bcdc8691bdbfb5d875480a591955","id":1553,"name":"EscrowFunded","nameLocation":"635:12:11","nodeType":"EventDefinition","parameters":{"id":1552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1545,"indexed":true,"mutability":"mutable","name":"escrowId","nameLocation":"664:8:11","nodeType":"VariableDeclaration","scope":1553,"src":"648:24:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1544,"name":"uint256","nodeType":"ElementaryTypeName","src":"648:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1547,"indexed":true,"mutability":"mutable","name":"jobId","nameLocation":"690:5:11","nodeType":"VariableDeclaration","scope":1553,"src":"674:21:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1546,"name":"uint256","nodeType":"ElementaryTypeName","src":"674:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1549,"indexed":true,"mutability":"mutable","name":"buyer","nameLocation":"713:5:11","nodeType":"VariableDeclaration","scope":1553,"src":"697:21:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1548,"name":"address","nodeType":"ElementaryTypeName","src":"697:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1551,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"728:6:11","nodeType":"VariableDeclaration","scope":1553,"src":"720:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1550,"name":"uint256","nodeType":"ElementaryTypeName","src":"720:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"647:88:11"},"src":"629:107:11"},{"anonymous":false,"eventSelector":"07dd78b97459a0754e75d3d53bbd26afd8a683f317c40b50eea07d05c49f966b","id":1563,"name":"EscrowReleased","nameLocation":"747:14:11","nodeType":"EventDefinition","parameters":{"id":1562,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1555,"indexed":true,"mutability":"mutable","name":"escrowId","nameLocation":"778:8:11","nodeType":"VariableDeclaration","scope":1563,"src":"762:24:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1554,"name":"uint256","nodeType":"ElementaryTypeName","src":"762:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1557,"indexed":true,"mutability":"mutable","name":"agent","nameLocation":"804:5:11","nodeType":"VariableDeclaration","scope":1563,"src":"788:21:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1556,"name":"address","nodeType":"ElementaryTypeName","src":"788:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1559,"indexed":false,"mutability":"mutable","name":"payout","nameLocation":"819:6:11","nodeType":"VariableDeclaration","scope":1563,"src":"811:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1558,"name":"uint256","nodeType":"ElementaryTypeName","src":"811:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1561,"indexed":false,"mutability":"mutable","name":"fee","nameLocation":"835:3:11","nodeType":"VariableDeclaration","scope":1563,"src":"827:11:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1560,"name":"uint256","nodeType":"ElementaryTypeName","src":"827:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"761:78:11"},"src":"741:99:11"},{"anonymous":false,"eventSelector":"eac97bc1917fcedc984e3d0671d4e83b359890323d5d1c2de32b28d17c356ced","id":1571,"name":"EscrowRefunded","nameLocation":"851:14:11","nodeType":"EventDefinition","parameters":{"id":1570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1565,"indexed":true,"mutability":"mutable","name":"escrowId","nameLocation":"882:8:11","nodeType":"VariableDeclaration","scope":1571,"src":"866:24:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1564,"name":"uint256","nodeType":"ElementaryTypeName","src":"866:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1567,"indexed":true,"mutability":"mutable","name":"buyer","nameLocation":"908:5:11","nodeType":"VariableDeclaration","scope":1571,"src":"892:21:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1566,"name":"address","nodeType":"ElementaryTypeName","src":"892:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1569,"indexed":false,"mutability":"mutable","name":"refundAmount","nameLocation":"923:12:11","nodeType":"VariableDeclaration","scope":1571,"src":"915:20:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1568,"name":"uint256","nodeType":"ElementaryTypeName","src":"915:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"865:71:11"},"src":"845:92:11"},{"documentation":{"id":1572,"nodeType":"StructuredDocumentation","src":"943:59:11","text":"@notice Returns the USDC token address used for escrow."},"functionSelector":"3013ce29","id":1577,"implemented":false,"kind":"function","modifiers":[],"name":"paymentToken","nameLocation":"1016:12:11","nodeType":"FunctionDefinition","parameters":{"id":1573,"nodeType":"ParameterList","parameters":[],"src":"1028:2:11"},"returnParameters":{"id":1576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1575,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1577,"src":"1054:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1574,"name":"address","nodeType":"ElementaryTypeName","src":"1054:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1053:9:11"},"scope":1617,"src":"1007:56:11","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":1578,"nodeType":"StructuredDocumentation","src":"1069:61:11","text":"@notice Returns the current protocol fee in basis points."},"functionSelector":"35659fb8","id":1583,"implemented":false,"kind":"function","modifiers":[],"name":"protocolFeeBps","nameLocation":"1144:14:11","nodeType":"FunctionDefinition","parameters":{"id":1579,"nodeType":"ParameterList","parameters":[],"src":"1158:2:11"},"returnParameters":{"id":1582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1581,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1583,"src":"1184:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1580,"name":"uint256","nodeType":"ElementaryTypeName","src":"1184:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1183:9:11"},"scope":1617,"src":"1135:58:11","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":1584,"nodeType":"StructuredDocumentation","src":"1199:62:11","text":"@notice Funds a new escrow in USDC using safeTransferFrom."},"functionSelector":"8bc7d27c","id":1595,"implemented":false,"kind":"function","modifiers":[],"name":"fundUSDC","nameLocation":"1275:8:11","nodeType":"FunctionDefinition","parameters":{"id":1591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1586,"mutability":"mutable","name":"jobId","nameLocation":"1292:5:11","nodeType":"VariableDeclaration","scope":1595,"src":"1284:13:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1585,"name":"uint256","nodeType":"ElementaryTypeName","src":"1284:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1588,"mutability":"mutable","name":"amount","nameLocation":"1307:6:11","nodeType":"VariableDeclaration","scope":1595,"src":"1299:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1587,"name":"uint256","nodeType":"ElementaryTypeName","src":"1299:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1590,"mutability":"mutable","name":"deliveryDeadline","nameLocation":"1322:16:11","nodeType":"VariableDeclaration","scope":1595,"src":"1315:23:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1589,"name":"uint64","nodeType":"ElementaryTypeName","src":"1315:6:11","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"1283:56:11"},"returnParameters":{"id":1594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1593,"mutability":"mutable","name":"escrowId","nameLocation":"1382:8:11","nodeType":"VariableDeclaration","scope":1595,"src":"1374:16:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1592,"name":"uint256","nodeType":"ElementaryTypeName","src":"1374:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1373:18:11"},"scope":1617,"src":"1266:126:11","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1596,"nodeType":"StructuredDocumentation","src":"1398:78:11","text":"@notice Releases escrowed funds to the agent and protocol fee to treasury."},"functionSelector":"b6060548","id":1601,"implemented":false,"kind":"function","modifiers":[],"name":"releaseToAgent","nameLocation":"1490:14:11","nodeType":"FunctionDefinition","parameters":{"id":1599,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1598,"mutability":"mutable","name":"escrowId","nameLocation":"1513:8:11","nodeType":"VariableDeclaration","scope":1601,"src":"1505:16:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1597,"name":"uint256","nodeType":"ElementaryTypeName","src":"1505:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1504:18:11"},"returnParameters":{"id":1600,"nodeType":"ParameterList","parameters":[],"src":"1531:0:11"},"scope":1617,"src":"1481:51:11","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1602,"nodeType":"StructuredDocumentation","src":"1538:48:11","text":"@notice Refunds escrowed funds to the buyer."},"functionSelector":"b4050fc8","id":1607,"implemented":false,"kind":"function","modifiers":[],"name":"refundToBuyer","nameLocation":"1600:13:11","nodeType":"FunctionDefinition","parameters":{"id":1605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1604,"mutability":"mutable","name":"escrowId","nameLocation":"1622:8:11","nodeType":"VariableDeclaration","scope":1607,"src":"1614:16:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1603,"name":"uint256","nodeType":"ElementaryTypeName","src":"1614:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1613:18:11"},"returnParameters":{"id":1606,"nodeType":"ParameterList","parameters":[],"src":"1640:0:11"},"scope":1617,"src":"1591:50:11","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1608,"nodeType":"StructuredDocumentation","src":"1647:32:11","text":"@notice Returns escrow info."},"functionSelector":"7d19e596","id":1616,"implemented":false,"kind":"function","modifiers":[],"name":"getEscrow","nameLocation":"1693:9:11","nodeType":"FunctionDefinition","parameters":{"id":1611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1610,"mutability":"mutable","name":"escrowId","nameLocation":"1711:8:11","nodeType":"VariableDeclaration","scope":1616,"src":"1703:16:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1609,"name":"uint256","nodeType":"ElementaryTypeName","src":"1703:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1702:18:11"},"returnParameters":{"id":1615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1614,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1616,"src":"1744:22:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_TokenEscrowInfo_$1543_memory_ptr","typeString":"struct ITokenEscrow.TokenEscrowInfo"},"typeName":{"id":1613,"nodeType":"UserDefinedTypeName","pathNode":{"id":1612,"name":"TokenEscrowInfo","nameLocations":["1744:15:11"],"nodeType":"IdentifierPath","referencedDeclaration":1543,"src":"1744:15:11"},"referencedDeclaration":1543,"src":"1744:15:11","typeDescriptions":{"typeIdentifier":"t_struct$_TokenEscrowInfo_$1543_storage_ptr","typeString":"struct ITokenEscrow.TokenEscrowInfo"}},"visibility":"internal"}],"src":"1743:24:11"},"scope":1617,"src":"1684:84:11","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":1618,"src":"159:1611:11","usedErrors":[],"usedEvents":[1553,1563,1571]}],"src":"32:1740:11"},"id":11}},"contracts":{"contracts/FeeManager.sol":{"FeeManager":{"abi":[{"inputs":[{"internalType":"uint16","name":"_feeBps","type":"uint16"},{"internalType":"address","name":"_treasury","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"feeBps","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"treasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_31":{"entryPoint":null,"id":31,"parameterSlots":2,"returnSlots":0},"abi_decode_tuple_t_uint16t_address_fromMemory":{"entryPoint":171,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_tuple_t_stringliteral_34e474b3dd6f3638d7f573f0e940ba5f9de74cc0e43a4a37313cdfb469c0082c__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:809:12","statements":[{"nodeType":"YulBlock","src":"6:3:12","statements":[]},{"body":{"nodeType":"YulBlock","src":"111:354:12","statements":[{"body":{"nodeType":"YulBlock","src":"157:16:12","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"166:1:12","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"169:1:12","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"159:6:12"},"nodeType":"YulFunctionCall","src":"159:12:12"},"nodeType":"YulExpressionStatement","src":"159:12:12"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"132:7:12"},{"name":"headStart","nodeType":"YulIdentifier","src":"141:9:12"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"128:3:12"},"nodeType":"YulFunctionCall","src":"128:23:12"},{"kind":"number","nodeType":"YulLiteral","src":"153:2:12","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"124:3:12"},"nodeType":"YulFunctionCall","src":"124:32:12"},"nodeType":"YulIf","src":"121:52:12"},{"nodeType":"YulVariableDeclaration","src":"182:29:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"201:9:12"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"195:5:12"},"nodeType":"YulFunctionCall","src":"195:16:12"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"186:5:12","type":""}]},{"body":{"nodeType":"YulBlock","src":"261:16:12","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"270:1:12","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"273:1:12","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"263:6:12"},"nodeType":"YulFunctionCall","src":"263:12:12"},"nodeType":"YulExpressionStatement","src":"263:12:12"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"233:5:12"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"244:5:12"},{"kind":"number","nodeType":"YulLiteral","src":"251:6:12","type":"","value":"0xffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"240:3:12"},"nodeType":"YulFunctionCall","src":"240:18:12"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"230:2:12"},"nodeType":"YulFunctionCall","src":"230:29:12"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"223:6:12"},"nodeType":"YulFunctionCall","src":"223:37:12"},"nodeType":"YulIf","src":"220:57:12"},{"nodeType":"YulAssignment","src":"286:15:12","value":{"name":"value","nodeType":"YulIdentifier","src":"296:5:12"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"286:6:12"}]},{"nodeType":"YulVariableDeclaration","src":"310:40:12","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"335:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"346:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"331:3:12"},"nodeType":"YulFunctionCall","src":"331:18:12"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"325:5:12"},"nodeType":"YulFunctionCall","src":"325:25:12"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"314:7:12","type":""}]},{"body":{"nodeType":"YulBlock","src":"417:16:12","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"426:1:12","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"429:1:12","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"419:6:12"},"nodeType":"YulFunctionCall","src":"419:12:12"},"nodeType":"YulExpressionStatement","src":"419:12:12"}]},"condition":{"arguments":[{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"372:7:12"},{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"385:7:12"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"402:3:12","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"407:1:12","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"398:3:12"},"nodeType":"YulFunctionCall","src":"398:11:12"},{"kind":"number","nodeType":"YulLiteral","src":"411:1:12","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"394:3:12"},"nodeType":"YulFunctionCall","src":"394:19:12"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"381:3:12"},"nodeType":"YulFunctionCall","src":"381:33:12"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"369:2:12"},"nodeType":"YulFunctionCall","src":"369:46:12"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"362:6:12"},"nodeType":"YulFunctionCall","src":"362:54:12"},"nodeType":"YulIf","src":"359:74:12"},{"nodeType":"YulAssignment","src":"442:17:12","value":{"name":"value_1","nodeType":"YulIdentifier","src":"452:7:12"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"442:6:12"}]}]},"name":"abi_decode_tuple_t_uint16t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"69:9:12","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"80:7:12","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"92:6:12","type":""},{"name":"value1","nodeType":"YulTypedName","src":"100:6:12","type":""}],"src":"14:451:12"},{"body":{"nodeType":"YulBlock","src":"644:163:12","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"661:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"672:2:12","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"654:6:12"},"nodeType":"YulFunctionCall","src":"654:21:12"},"nodeType":"YulExpressionStatement","src":"654:21:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"695:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"706:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"691:3:12"},"nodeType":"YulFunctionCall","src":"691:18:12"},{"kind":"number","nodeType":"YulLiteral","src":"711:2:12","type":"","value":"13"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"684:6:12"},"nodeType":"YulFunctionCall","src":"684:30:12"},"nodeType":"YulExpressionStatement","src":"684:30:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"734:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"745:2:12","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"730:3:12"},"nodeType":"YulFunctionCall","src":"730:18:12"},{"hexValue":"5a45524f5f5452454153555259","kind":"string","nodeType":"YulLiteral","src":"750:15:12","type":"","value":"ZERO_TREASURY"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"723:6:12"},"nodeType":"YulFunctionCall","src":"723:43:12"},"nodeType":"YulExpressionStatement","src":"723:43:12"},{"nodeType":"YulAssignment","src":"775:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"787:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"798:2:12","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"783:3:12"},"nodeType":"YulFunctionCall","src":"783:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"775:4:12"}]}]},"name":"abi_encode_tuple_t_stringliteral_34e474b3dd6f3638d7f573f0e940ba5f9de74cc0e43a4a37313cdfb469c0082c__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"621:9:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"635:4:12","type":""}],"src":"470:337:12"}]},"contents":"{\n { }\n function abi_decode_tuple_t_uint16t_address_fromMemory(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := mload(headStart)\n if iszero(eq(value, and(value, 0xffff))) { revert(0, 0) }\n value0 := value\n let value_1 := mload(add(headStart, 32))\n if iszero(eq(value_1, and(value_1, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value1 := value_1\n }\n function abi_encode_tuple_t_stringliteral_34e474b3dd6f3638d7f573f0e940ba5f9de74cc0e43a4a37313cdfb469c0082c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 13)\n mstore(add(headStart, 64), \"ZERO_TREASURY\")\n tail := add(headStart, 96)\n }\n}","id":12,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"608060405234801561001057600080fd5b506040516101c73803806101c783398101604081905261002f916100ab565b6001600160a01b0381166100795760405162461bcd60e51b815260206004820152600d60248201526c5a45524f5f545245415355525960981b604482015260640160405180910390fd5b600080546001600160a01b0390921662010000026001600160b01b031990921661ffff909316929092171790556100f8565b600080604083850312156100be57600080fd5b825161ffff811681146100d057600080fd5b60208401519092506001600160a01b03811681146100ed57600080fd5b809150509250929050565b60c1806101066000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c806324a9d85314603757806361d027b314605c575b600080fd5b60005460449061ffff1681565b60405161ffff90911681526020015b60405180910390f35b6000546074906201000090046001600160a01b031681565b6040516001600160a01b039091168152602001605356fea264697066735822122002a8036e76a34f82a6d07d3b51bbd1b70d49f630ae36d89c02fed4ce327aa77564736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x1C7 CODESIZE SUB DUP1 PUSH2 0x1C7 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH2 0x2F SWAP2 PUSH2 0xAB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x79 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x5A45524F5F5452454153555259 PUSH1 0x98 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH3 0x10000 MUL PUSH1 0x1 PUSH1 0x1 PUSH1 0xB0 SHL SUB NOT SWAP1 SWAP3 AND PUSH2 0xFFFF SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR OR SWAP1 SSTORE PUSH2 0xF8 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xBE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH2 0xFFFF DUP2 AND DUP2 EQ PUSH2 0xD0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP5 ADD MLOAD SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0xC1 DUP1 PUSH2 0x106 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH1 0x32 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x24A9D853 EQ PUSH1 0x37 JUMPI DUP1 PUSH4 0x61D027B3 EQ PUSH1 0x5C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x44 SWAP1 PUSH2 0xFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x74 SWAP1 PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x53 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MUL 0xA8 SUB PUSH15 0x76A34F82A6D07D3B51BBD1B70D49F6 ADDRESS 0xAE CALLDATASIZE 0xD8 SWAP13 MUL INVALID 0xD4 0xCE ORIGIN PUSH27 0xA77564736F6C634300081400330000000000000000000000000000 ","sourceMap":"58:253:0:-:0;;;140:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;205:23:0;;197:49;;;;-1:-1:-1;;;197:49:0;;672:2:12;197:49:0;;;654:21:12;711:2;691:18;;;684:30;-1:-1:-1;;;730:18:12;;;723:43;783:18;;197:49:0;;;;;;;;256:6;:16;;-1:-1:-1;;;;;282:20:0;;;;;-1:-1:-1;;;;;;282:20:0;;;256:16;;;;282:20;;;;;;;58:253;;14:451:12;92:6;100;153:2;141:9;132:7;128:23;124:32;121:52;;;169:1;166;159:12;121:52;201:9;195:16;251:6;244:5;240:18;233:5;230:29;220:57;;273:1;270;263:12;220:57;346:2;331:18;;325:25;296:5;;-1:-1:-1;;;;;;381:33:12;;369:46;;359:74;;429:1;426;419:12;359:74;452:7;442:17;;;14:451;;;;;:::o;470:337::-;58:253:0;;;;;;"},"deployedBytecode":{"functionDebugData":{"@feeBps_3":{"entryPoint":null,"id":3,"parameterSlots":0,"returnSlots":0},"@treasury_5":{"entryPoint":null,"id":5,"parameterSlots":0,"returnSlots":0},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint16__to_t_uint16__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:412:12","statements":[{"nodeType":"YulBlock","src":"6:3:12","statements":[]},{"body":{"nodeType":"YulBlock","src":"113:89:12","statements":[{"nodeType":"YulAssignment","src":"123:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"135:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"146:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"131:3:12"},"nodeType":"YulFunctionCall","src":"131:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"123:4:12"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"165:9:12"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"180:6:12"},{"kind":"number","nodeType":"YulLiteral","src":"188:6:12","type":"","value":"0xffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"176:3:12"},"nodeType":"YulFunctionCall","src":"176:19:12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"158:6:12"},"nodeType":"YulFunctionCall","src":"158:38:12"},"nodeType":"YulExpressionStatement","src":"158:38:12"}]},"name":"abi_encode_tuple_t_uint16__to_t_uint16__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"82:9:12","type":""},{"name":"value0","nodeType":"YulTypedName","src":"93:6:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"104:4:12","type":""}],"src":"14:188:12"},{"body":{"nodeType":"YulBlock","src":"308:102:12","statements":[{"nodeType":"YulAssignment","src":"318:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"330:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"341:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"326:3:12"},"nodeType":"YulFunctionCall","src":"326:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"318:4:12"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"360:9:12"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"375:6:12"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"391:3:12","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"396:1:12","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"387:3:12"},"nodeType":"YulFunctionCall","src":"387:11:12"},{"kind":"number","nodeType":"YulLiteral","src":"400:1:12","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"383:3:12"},"nodeType":"YulFunctionCall","src":"383:19:12"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"371:3:12"},"nodeType":"YulFunctionCall","src":"371:32:12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"353:6:12"},"nodeType":"YulFunctionCall","src":"353:51:12"},"nodeType":"YulExpressionStatement","src":"353:51:12"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"277:9:12","type":""},{"name":"value0","nodeType":"YulTypedName","src":"288:6:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"299:4:12","type":""}],"src":"207:203:12"}]},"contents":"{\n { }\n function abi_encode_tuple_t_uint16__to_t_uint16__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffff))\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n}","id":12,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"6080604052348015600f57600080fd5b506004361060325760003560e01c806324a9d85314603757806361d027b314605c575b600080fd5b60005460449061ffff1681565b60405161ffff90911681526020015b60405180910390f35b6000546074906201000090046001600160a01b031681565b6040516001600160a01b039091168152602001605356fea264697066735822122002a8036e76a34f82a6d07d3b51bbd1b70d49f630ae36d89c02fed4ce327aa77564736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH1 0x32 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x24A9D853 EQ PUSH1 0x37 JUMPI DUP1 PUSH4 0x61D027B3 EQ PUSH1 0x5C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x44 SWAP1 PUSH2 0xFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x74 SWAP1 PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x53 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MUL 0xA8 SUB PUSH15 0x76A34F82A6D07D3B51BBD1B70D49F6 ADDRESS 0xAE CALLDATASIZE 0xD8 SWAP13 MUL INVALID 0xD4 0xCE ORIGIN PUSH27 0xA77564736F6C634300081400330000000000000000000000000000 ","sourceMap":"58:253:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;84:20;;;;;;;;;;;;188:6:12;176:19;;;158:38;;146:2;131:18;84:20:0;;;;;;;;110:23;;;;;;;;-1:-1:-1;;;;;110:23:0;;;;;;-1:-1:-1;;;;;371:32:12;;;353:51;;341:2;326:18;110:23:0;207:203:12"},"methodIdentifiers":{"feeBps()":"24a9d853","treasury()":"61d027b3"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"_feeBps\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"_treasury\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"feeBps\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"treasury\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/FeeManager.sol\":\"FeeManager\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/FeeManager.sol\":{\"keccak256\":\"0x2bb721a1f816b37f1f1ecee633d88d6ec2feda4237c4d4b39c7d0716cc433856\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://95486f0aa728eac54ad971926280fc1b3e7b80df9e6f5a4b4b4ffdd64ca9ed4f\",\"dweb:/ipfs/QmdLJbzZPm1eLZsViK3FdxEFTmc93UXwwYpgUruXSFET24\"]}},\"version\":1}"}},"contracts/ModuleRegistry.sol":{"ModuleRegistry":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"key","type":"bytes32"},{"indexed":true,"internalType":"address","name":"module","type":"address"}],"name":"ModuleSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"modules","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"},{"internalType":"address","name":"module","type":"address"}],"name":"setModule","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_82":{"entryPoint":null,"id":82,"parameterSlots":0,"returnSlots":0}},"generatedSources":[],"linkReferences":{},"object":"608060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36103128061005f6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063541cd468146100515780638da5cb5b14610066578063b0b6cc1a14610095578063f2fde38b146100be575b600080fd5b61006461005f366004610275565b6100d1565b005b600054610079906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b6100796100a33660046102a1565b6001602052600090815260409020546001600160a01b031681565b6100646100cc3660046102ba565b610175565b6000546001600160a01b0316331461011c5760405162461bcd60e51b81526020600482015260096024820152682727aa2fa7aba722a960b91b60448201526064015b60405180910390fd5b60008281526001602052604080822080546001600160a01b0319166001600160a01b0385169081179091559051909184917f0669329f751b07de4aa82f60514a409d0dfaef266e791a4a65a95b07b1c4c3249190a35050565b6000546001600160a01b031633146101bb5760405162461bcd60e51b81526020600482015260096024820152682727aa2fa7aba722a960b91b6044820152606401610113565b6001600160a01b0381166101fe5760405162461bcd60e51b815260206004820152600a6024820152692d22a927afa7aba722a960b11b6044820152606401610113565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b80356001600160a01b038116811461027057600080fd5b919050565b6000806040838503121561028857600080fd5b8235915061029860208401610259565b90509250929050565b6000602082840312156102b357600080fd5b5035919050565b6000602082840312156102cc57600080fd5b6102d582610259565b939250505056fea26469706673582212208f24fe0798475022d67567d8b0067c823330f0bd9e5b02d6e4677770fab7084464736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND CALLER SWAP1 DUP2 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP1 SWAP2 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 DUP3 SWAP1 LOG3 PUSH2 0x312 DUP1 PUSH2 0x5F PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x541CD468 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x66 JUMPI DUP1 PUSH4 0xB0B6CC1A EQ PUSH2 0x95 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xBE JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64 PUSH2 0x5F CALLDATASIZE PUSH1 0x4 PUSH2 0x275 JUMP JUMPDEST PUSH2 0xD1 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0x79 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x79 PUSH2 0xA3 CALLDATASIZE PUSH1 0x4 PUSH2 0x2A1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x64 PUSH2 0xCC CALLDATASIZE PUSH1 0x4 PUSH2 0x2BA JUMP JUMPDEST PUSH2 0x175 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x11C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x9 PUSH1 0x24 DUP3 ADD MSTORE PUSH9 0x2727AA2FA7ABA722A9 PUSH1 0xB9 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD SWAP1 SWAP2 DUP5 SWAP2 PUSH32 0x669329F751B07DE4AA82F60514A409D0DFAEF266E791A4A65A95B07B1C4C324 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x1BB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x9 PUSH1 0x24 DUP3 ADD MSTORE PUSH9 0x2727AA2FA7ABA722A9 PUSH1 0xB9 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x113 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1FE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH10 0x2D22A927AFA7ABA722A9 PUSH1 0xB1 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x113 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP6 AND SWAP4 SWAP3 AND SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 LOG3 PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x270 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x288 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x298 PUSH1 0x20 DUP5 ADD PUSH2 0x259 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2D5 DUP3 PUSH2 0x259 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP16 0x24 INVALID SMOD SWAP9 SELFBALANCE POP 0x22 0xD6 PUSH22 0x67D8B0067C823330F0BD9E5B02D6E4677770FAB70844 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"58:825:1:-:0;;;415:108;;;;;;;;;-1:-1:-1;439:5:1;:18;;-1:-1:-1;;;;;;439:18:1;447:10;439:18;;;;;472:44;;447:10;;439:5;472:44;;439:5;;472:44;58:825;;;;;;"},"deployedBytecode":{"functionDebugData":{"@modules_40":{"entryPoint":null,"id":40,"parameterSlots":0,"returnSlots":0},"@owner_36":{"entryPoint":null,"id":36,"parameterSlots":0,"returnSlots":0},"@setModule_130":{"entryPoint":209,"id":130,"parameterSlots":2,"returnSlots":0},"@transferOwnership_109":{"entryPoint":373,"id":109,"parameterSlots":1,"returnSlots":0},"abi_decode_address":{"entryPoint":601,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":698,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32":{"entryPoint":673,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_address":{"entryPoint":629,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_a26a6f6d56588264d1b79634a9c754f875b4d33ae9c27f6032762b2eb699cad5__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d4d6719c9f6bf1f398a61e7ceb8dff26d48346602421236409d0fb0b222f65b2__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1708:12","statements":[{"nodeType":"YulBlock","src":"6:3:12","statements":[]},{"body":{"nodeType":"YulBlock","src":"63:124:12","statements":[{"nodeType":"YulAssignment","src":"73:29:12","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"95:6:12"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"82:12:12"},"nodeType":"YulFunctionCall","src":"82:20:12"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"73:5:12"}]},{"body":{"nodeType":"YulBlock","src":"165:16:12","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"174:1:12","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"177:1:12","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"167:6:12"},"nodeType":"YulFunctionCall","src":"167:12:12"},"nodeType":"YulExpressionStatement","src":"167:12:12"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"124:5:12"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"135:5:12"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"150:3:12","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"155:1:12","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"146:3:12"},"nodeType":"YulFunctionCall","src":"146:11:12"},{"kind":"number","nodeType":"YulLiteral","src":"159:1:12","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"142:3:12"},"nodeType":"YulFunctionCall","src":"142:19:12"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"131:3:12"},"nodeType":"YulFunctionCall","src":"131:31:12"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"121:2:12"},"nodeType":"YulFunctionCall","src":"121:42:12"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"114:6:12"},"nodeType":"YulFunctionCall","src":"114:50:12"},"nodeType":"YulIf","src":"111:70:12"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"42:6:12","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"53:5:12","type":""}],"src":"14:173:12"},{"body":{"nodeType":"YulBlock","src":"279:167:12","statements":[{"body":{"nodeType":"YulBlock","src":"325:16:12","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"334:1:12","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"337:1:12","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"327:6:12"},"nodeType":"YulFunctionCall","src":"327:12:12"},"nodeType":"YulExpressionStatement","src":"327:12:12"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"300:7:12"},{"name":"headStart","nodeType":"YulIdentifier","src":"309:9:12"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"296:3:12"},"nodeType":"YulFunctionCall","src":"296:23:12"},{"kind":"number","nodeType":"YulLiteral","src":"321:2:12","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"292:3:12"},"nodeType":"YulFunctionCall","src":"292:32:12"},"nodeType":"YulIf","src":"289:52:12"},{"nodeType":"YulAssignment","src":"350:33:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"373:9:12"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"360:12:12"},"nodeType":"YulFunctionCall","src":"360:23:12"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"350:6:12"}]},{"nodeType":"YulAssignment","src":"392:48:12","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"425:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"436:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"421:3:12"},"nodeType":"YulFunctionCall","src":"421:18:12"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"402:18:12"},"nodeType":"YulFunctionCall","src":"402:38:12"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"392:6:12"}]}]},"name":"abi_decode_tuple_t_bytes32t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"237:9:12","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"248:7:12","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"260:6:12","type":""},{"name":"value1","nodeType":"YulTypedName","src":"268:6:12","type":""}],"src":"192:254:12"},{"body":{"nodeType":"YulBlock","src":"552:102:12","statements":[{"nodeType":"YulAssignment","src":"562:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"574:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"585:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"570:3:12"},"nodeType":"YulFunctionCall","src":"570:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"562:4:12"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"604:9:12"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"619:6:12"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"635:3:12","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"640:1:12","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"631:3:12"},"nodeType":"YulFunctionCall","src":"631:11:12"},{"kind":"number","nodeType":"YulLiteral","src":"644:1:12","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"627:3:12"},"nodeType":"YulFunctionCall","src":"627:19:12"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"615:3:12"},"nodeType":"YulFunctionCall","src":"615:32:12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"597:6:12"},"nodeType":"YulFunctionCall","src":"597:51:12"},"nodeType":"YulExpressionStatement","src":"597:51:12"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"521:9:12","type":""},{"name":"value0","nodeType":"YulTypedName","src":"532:6:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"543:4:12","type":""}],"src":"451:203:12"},{"body":{"nodeType":"YulBlock","src":"729:110:12","statements":[{"body":{"nodeType":"YulBlock","src":"775:16:12","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"784:1:12","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"787:1:12","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"777:6:12"},"nodeType":"YulFunctionCall","src":"777:12:12"},"nodeType":"YulExpressionStatement","src":"777:12:12"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"750:7:12"},{"name":"headStart","nodeType":"YulIdentifier","src":"759:9:12"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"746:3:12"},"nodeType":"YulFunctionCall","src":"746:23:12"},{"kind":"number","nodeType":"YulLiteral","src":"771:2:12","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"742:3:12"},"nodeType":"YulFunctionCall","src":"742:32:12"},"nodeType":"YulIf","src":"739:52:12"},{"nodeType":"YulAssignment","src":"800:33:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"823:9:12"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"810:12:12"},"nodeType":"YulFunctionCall","src":"810:23:12"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"800:6:12"}]}]},"name":"abi_decode_tuple_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"695:9:12","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"706:7:12","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"718:6:12","type":""}],"src":"659:180:12"},{"body":{"nodeType":"YulBlock","src":"914:116:12","statements":[{"body":{"nodeType":"YulBlock","src":"960:16:12","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"969:1:12","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"972:1:12","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"962:6:12"},"nodeType":"YulFunctionCall","src":"962:12:12"},"nodeType":"YulExpressionStatement","src":"962:12:12"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"935:7:12"},{"name":"headStart","nodeType":"YulIdentifier","src":"944:9:12"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"931:3:12"},"nodeType":"YulFunctionCall","src":"931:23:12"},{"kind":"number","nodeType":"YulLiteral","src":"956:2:12","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"927:3:12"},"nodeType":"YulFunctionCall","src":"927:32:12"},"nodeType":"YulIf","src":"924:52:12"},{"nodeType":"YulAssignment","src":"985:39:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1014:9:12"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"995:18:12"},"nodeType":"YulFunctionCall","src":"995:29:12"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"985:6:12"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"880:9:12","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"891:7:12","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"903:6:12","type":""}],"src":"844:186:12"},{"body":{"nodeType":"YulBlock","src":"1209:158:12","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1226:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"1237:2:12","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1219:6:12"},"nodeType":"YulFunctionCall","src":"1219:21:12"},"nodeType":"YulExpressionStatement","src":"1219:21:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1260:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"1271:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1256:3:12"},"nodeType":"YulFunctionCall","src":"1256:18:12"},{"kind":"number","nodeType":"YulLiteral","src":"1276:1:12","type":"","value":"9"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1249:6:12"},"nodeType":"YulFunctionCall","src":"1249:29:12"},"nodeType":"YulExpressionStatement","src":"1249:29:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1298:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"1309:2:12","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1294:3:12"},"nodeType":"YulFunctionCall","src":"1294:18:12"},{"hexValue":"4e4f545f4f574e4552","kind":"string","nodeType":"YulLiteral","src":"1314:11:12","type":"","value":"NOT_OWNER"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1287:6:12"},"nodeType":"YulFunctionCall","src":"1287:39:12"},"nodeType":"YulExpressionStatement","src":"1287:39:12"},{"nodeType":"YulAssignment","src":"1335:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1347:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"1358:2:12","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1343:3:12"},"nodeType":"YulFunctionCall","src":"1343:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1335:4:12"}]}]},"name":"abi_encode_tuple_t_stringliteral_d4d6719c9f6bf1f398a61e7ceb8dff26d48346602421236409d0fb0b222f65b2__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1186:9:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1200:4:12","type":""}],"src":"1035:332:12"},{"body":{"nodeType":"YulBlock","src":"1546:160:12","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1563:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"1574:2:12","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1556:6:12"},"nodeType":"YulFunctionCall","src":"1556:21:12"},"nodeType":"YulExpressionStatement","src":"1556:21:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1597:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"1608:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1593:3:12"},"nodeType":"YulFunctionCall","src":"1593:18:12"},{"kind":"number","nodeType":"YulLiteral","src":"1613:2:12","type":"","value":"10"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1586:6:12"},"nodeType":"YulFunctionCall","src":"1586:30:12"},"nodeType":"YulExpressionStatement","src":"1586:30:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1636:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"1647:2:12","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1632:3:12"},"nodeType":"YulFunctionCall","src":"1632:18:12"},{"hexValue":"5a45524f5f4f574e4552","kind":"string","nodeType":"YulLiteral","src":"1652:12:12","type":"","value":"ZERO_OWNER"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1625:6:12"},"nodeType":"YulFunctionCall","src":"1625:40:12"},"nodeType":"YulExpressionStatement","src":"1625:40:12"},{"nodeType":"YulAssignment","src":"1674:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1686:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"1697:2:12","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1682:3:12"},"nodeType":"YulFunctionCall","src":"1682:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1674:4:12"}]}]},"name":"abi_encode_tuple_t_stringliteral_a26a6f6d56588264d1b79634a9c754f875b4d33ae9c27f6032762b2eb699cad5__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1523:9:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1537:4:12","type":""}],"src":"1372:334:12"}]},"contents":"{\n { }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_encode_tuple_t_stringliteral_d4d6719c9f6bf1f398a61e7ceb8dff26d48346602421236409d0fb0b222f65b2__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 9)\n mstore(add(headStart, 64), \"NOT_OWNER\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_a26a6f6d56588264d1b79634a9c754f875b4d33ae9c27f6032762b2eb699cad5__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 10)\n mstore(add(headStart, 64), \"ZERO_OWNER\")\n tail := add(headStart, 96)\n }\n}","id":12,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b506004361061004c5760003560e01c8063541cd468146100515780638da5cb5b14610066578063b0b6cc1a14610095578063f2fde38b146100be575b600080fd5b61006461005f366004610275565b6100d1565b005b600054610079906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b6100796100a33660046102a1565b6001602052600090815260409020546001600160a01b031681565b6100646100cc3660046102ba565b610175565b6000546001600160a01b0316331461011c5760405162461bcd60e51b81526020600482015260096024820152682727aa2fa7aba722a960b91b60448201526064015b60405180910390fd5b60008281526001602052604080822080546001600160a01b0319166001600160a01b0385169081179091559051909184917f0669329f751b07de4aa82f60514a409d0dfaef266e791a4a65a95b07b1c4c3249190a35050565b6000546001600160a01b031633146101bb5760405162461bcd60e51b81526020600482015260096024820152682727aa2fa7aba722a960b91b6044820152606401610113565b6001600160a01b0381166101fe5760405162461bcd60e51b815260206004820152600a6024820152692d22a927afa7aba722a960b11b6044820152606401610113565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b80356001600160a01b038116811461027057600080fd5b919050565b6000806040838503121561028857600080fd5b8235915061029860208401610259565b90509250929050565b6000602082840312156102b357600080fd5b5035919050565b6000602082840312156102cc57600080fd5b6102d582610259565b939250505056fea26469706673582212208f24fe0798475022d67567d8b0067c823330f0bd9e5b02d6e4677770fab7084464736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x541CD468 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x66 JUMPI DUP1 PUSH4 0xB0B6CC1A EQ PUSH2 0x95 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xBE JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64 PUSH2 0x5F CALLDATASIZE PUSH1 0x4 PUSH2 0x275 JUMP JUMPDEST PUSH2 0xD1 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0x79 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x79 PUSH2 0xA3 CALLDATASIZE PUSH1 0x4 PUSH2 0x2A1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x64 PUSH2 0xCC CALLDATASIZE PUSH1 0x4 PUSH2 0x2BA JUMP JUMPDEST PUSH2 0x175 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x11C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x9 PUSH1 0x24 DUP3 ADD MSTORE PUSH9 0x2727AA2FA7ABA722A9 PUSH1 0xB9 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD SWAP1 SWAP2 DUP5 SWAP2 PUSH32 0x669329F751B07DE4AA82F60514A409D0DFAEF266E791A4A65A95B07B1C4C324 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x1BB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x9 PUSH1 0x24 DUP3 ADD MSTORE PUSH9 0x2727AA2FA7ABA722A9 PUSH1 0xB9 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x113 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1FE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH10 0x2D22A927AFA7ABA722A9 PUSH1 0xB1 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x113 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP6 AND SWAP4 SWAP3 AND SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 LOG3 PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x270 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x288 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x298 PUSH1 0x20 DUP5 ADD PUSH2 0x259 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2D5 DUP3 PUSH2 0x259 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP16 0x24 INVALID SMOD SWAP9 SELFBALANCE POP 0x22 0xD6 PUSH22 0x67D8B0067C823330F0BD9E5B02D6E4677770FAB70844 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"58:825:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;739:142;;;;;;:::i;:::-;;:::i;:::-;;88:20;;;;;-1:-1:-1;;;;;88:20:1;;;;;;-1:-1:-1;;;;;615:32:12;;;597:51;;585:2;570:18;88:20:1;;;;;;;114:42;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;114:42:1;;;529:204;;;;;;:::i;:::-;;:::i;739:142::-;372:5;;-1:-1:-1;;;;;372:5:1;358:10;:19;350:41;;;;-1:-1:-1;;;350:41:1;;1237:2:12;350:41:1;;;1219:21:12;1276:1;1256:18;;;1249:29;-1:-1:-1;;;1294:18:12;;;1287:39;1343:18;;350:41:1;;;;;;;;;816:12:::1;::::0;;;:7:::1;:12;::::0;;;;;:21;;-1:-1:-1;;;;;;816:21:1::1;-1:-1:-1::0;;;;;816:21:1;::::1;::::0;;::::1;::::0;;;852:22;;816:21;;:12;;852:22:::1;::::0;816:12;852:22:::1;739:142:::0;;:::o;529:204::-;372:5;;-1:-1:-1;;;;;372:5:1;358:10;:19;350:41;;;;-1:-1:-1;;;350:41:1;;1237:2:12;350:41:1;;;1219:21:12;1276:1;1256:18;;;1249:29;-1:-1:-1;;;1294:18:12;;;1287:39;1343:18;;350:41:1;1035:332:12;350:41:1;-1:-1:-1;;;;;611:22:1;::::1;603:45;;;::::0;-1:-1:-1;;;603:45:1;;1574:2:12;603:45:1::1;::::0;::::1;1556:21:12::0;1613:2;1593:18;;;1586:30;-1:-1:-1;;;1632:18:12;;;1625:40;1682:18;;603:45:1::1;1372:334:12::0;603:45:1::1;684:5;::::0;;663:37:::1;::::0;-1:-1:-1;;;;;663:37:1;;::::1;::::0;684:5;::::1;::::0;663:37:::1;::::0;::::1;710:5;:16:::0;;-1:-1:-1;;;;;;710:16:1::1;-1:-1:-1::0;;;;;710:16:1;;;::::1;::::0;;;::::1;::::0;;529:204::o;14:173:12:-;82:20;;-1:-1:-1;;;;;131:31:12;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:254::-;260:6;268;321:2;309:9;300:7;296:23;292:32;289:52;;;337:1;334;327:12;289:52;373:9;360:23;350:33;;402:38;436:2;425:9;421:18;402:38;:::i;:::-;392:48;;192:254;;;;;:::o;659:180::-;718:6;771:2;759:9;750:7;746:23;742:32;739:52;;;787:1;784;777:12;739:52;-1:-1:-1;810:23:12;;659:180;-1:-1:-1;659:180:12:o;844:186::-;903:6;956:2;944:9;935:7;931:23;927:32;924:52;;;972:1;969;962:12;924:52;995:29;1014:9;995:29;:::i;:::-;985:39;844:186;-1:-1:-1;;;844:186:12:o"},"methodIdentifiers":{"modules(bytes32)":"b0b6cc1a","owner()":"8da5cb5b","setModule(bytes32,address)":"541cd468","transferOwnership(address)":"f2fde38b"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"ModuleSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"modules\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"setModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/ModuleRegistry.sol\":\"ModuleRegistry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/ModuleRegistry.sol\":{\"keccak256\":\"0xcfd8ce89383c4b92c79ce931cc2d3d3aae8ff0cbe302879b7bb4b77b2e1d959c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://57f4f70758a50595196990845332d4a3ee593abd0bd4e600f8335d6f88540d6f\",\"dweb:/ipfs/QmfKbNw3GWUSRc5qTe5R4XmPsu3di2cKqy7bTkDkM4ePDg\"]}},\"version\":1}"}},"contracts/TokenEscrow.sol":{"IERC20Minimal":{"abi":[{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/TokenEscrow.sol\":\"IERC20Minimal\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/TokenEscrow.sol\":{\"keccak256\":\"0xdc82bf23982b28dd1d92e7f615efd3591f056fb2e1e8ce19602cb59d0a1bf8d1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10cd82ae2b3e4b8bfeb2eb574e91cb153f6f4a58e4b8f5e8c3a9cec217caafad\",\"dweb:/ipfs/QmQ7FKJ1UdopjJhaqidHGjkawy3eQn8Ewudn4nMJkvY6zx\"]}},\"version\":1}"},"IFeeManager":{"abi":[{"inputs":[],"name":"feeBps","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"treasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"feeBps()":"24a9d853","treasury()":"61d027b3"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"feeBps\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"treasury\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/TokenEscrow.sol\":\"IFeeManager\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/TokenEscrow.sol\":{\"keccak256\":\"0xdc82bf23982b28dd1d92e7f615efd3591f056fb2e1e8ce19602cb59d0a1bf8d1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10cd82ae2b3e4b8bfeb2eb574e91cb153f6f4a58e4b8f5e8c3a9cec217caafad\",\"dweb:/ipfs/QmQ7FKJ1UdopjJhaqidHGjkawy3eQn8Ewudn4nMJkvY6zx\"]}},\"version\":1}"},"TokenEscrow":{"abi":[{"inputs":[{"internalType":"address","name":"_usdc","type":"address"},{"internalType":"address","name":"_feeManager","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"escrowId","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"deliveryHash","type":"bytes32"}],"name":"DeliverySubmitted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"escrowId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"net","type":"uint256"}],"name":"EscrowAccepted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"escrowId","type":"uint256"},{"indexed":true,"internalType":"address","name":"buyer","type":"address"},{"indexed":true,"internalType":"address","name":"agent","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"EscrowCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"escrowId","type":"uint256"}],"name":"EscrowFunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"escrowId","type":"uint256"}],"name":"EscrowRefunded","type":"event"},{"inputs":[{"internalType":"uint256","name":"escrowId","type":"uint256"}],"name":"accept","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"buyer","type":"address"},{"internalType":"address","name":"agent","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"createEscrow","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"escrowCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"escrows","outputs":[{"internalType":"address","name":"buyer","type":"address"},{"internalType":"address","name":"agent","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"bool","name":"funded","type":"bool"},{"internalType":"bool","name":"delivered","type":"bool"},{"internalType":"bool","name":"released","type":"bool"},{"internalType":"bool","name":"refunded","type":"bool"},{"internalType":"bytes32","name":"deliveryHash","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeManager","outputs":[{"internalType":"contract IFeeManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"escrowId","type":"uint256"}],"name":"fund","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"escrowId","type":"uint256"}],"name":"refundOnTimeout","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"escrowId","type":"uint256"},{"internalType":"bytes32","name":"deliveryHash","type":"bytes32"}],"name":"submitDelivery","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"usdc","outputs":[{"internalType":"contract IERC20Minimal","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_271":{"entryPoint":null,"id":271,"parameterSlots":2,"returnSlots":0},"abi_decode_address_fromMemory":{"entryPoint":214,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_addresst_address_fromMemory":{"entryPoint":242,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_tuple_t_stringliteral_231342afa10ae774fcf116590c86168f3dbb6ef8d38678b8734fa5185ba29410__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_750c060bb58a88501e740282a01594b8428370fe29a382cccd110f1bf315f3a9__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1173:12","statements":[{"nodeType":"YulBlock","src":"6:3:12","statements":[]},{"body":{"nodeType":"YulBlock","src":"74:117:12","statements":[{"nodeType":"YulAssignment","src":"84:22:12","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"99:6:12"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"93:5:12"},"nodeType":"YulFunctionCall","src":"93:13:12"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"84:5:12"}]},{"body":{"nodeType":"YulBlock","src":"169:16:12","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"178:1:12","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"181:1:12","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"171:6:12"},"nodeType":"YulFunctionCall","src":"171:12:12"},"nodeType":"YulExpressionStatement","src":"171:12:12"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"128:5:12"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"139:5:12"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"154:3:12","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"159:1:12","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"150:3:12"},"nodeType":"YulFunctionCall","src":"150:11:12"},{"kind":"number","nodeType":"YulLiteral","src":"163:1:12","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"146:3:12"},"nodeType":"YulFunctionCall","src":"146:19:12"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"135:3:12"},"nodeType":"YulFunctionCall","src":"135:31:12"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"125:2:12"},"nodeType":"YulFunctionCall","src":"125:42:12"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"118:6:12"},"nodeType":"YulFunctionCall","src":"118:50:12"},"nodeType":"YulIf","src":"115:70:12"}]},"name":"abi_decode_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"53:6:12","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"64:5:12","type":""}],"src":"14:177:12"},{"body":{"nodeType":"YulBlock","src":"294:195:12","statements":[{"body":{"nodeType":"YulBlock","src":"340:16:12","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"349:1:12","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"352:1:12","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"342:6:12"},"nodeType":"YulFunctionCall","src":"342:12:12"},"nodeType":"YulExpressionStatement","src":"342:12:12"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"315:7:12"},{"name":"headStart","nodeType":"YulIdentifier","src":"324:9:12"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"311:3:12"},"nodeType":"YulFunctionCall","src":"311:23:12"},{"kind":"number","nodeType":"YulLiteral","src":"336:2:12","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"307:3:12"},"nodeType":"YulFunctionCall","src":"307:32:12"},"nodeType":"YulIf","src":"304:52:12"},{"nodeType":"YulAssignment","src":"365:50:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"405:9:12"}],"functionName":{"name":"abi_decode_address_fromMemory","nodeType":"YulIdentifier","src":"375:29:12"},"nodeType":"YulFunctionCall","src":"375:40:12"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"365:6:12"}]},{"nodeType":"YulAssignment","src":"424:59:12","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"468:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"479:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"464:3:12"},"nodeType":"YulFunctionCall","src":"464:18:12"}],"functionName":{"name":"abi_decode_address_fromMemory","nodeType":"YulIdentifier","src":"434:29:12"},"nodeType":"YulFunctionCall","src":"434:49:12"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"424:6:12"}]}]},"name":"abi_decode_tuple_t_addresst_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"252:9:12","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"263:7:12","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"275:6:12","type":""},{"name":"value1","nodeType":"YulTypedName","src":"283:6:12","type":""}],"src":"196:293:12"},{"body":{"nodeType":"YulBlock","src":"668:158:12","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"685:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"696:2:12","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"678:6:12"},"nodeType":"YulFunctionCall","src":"678:21:12"},"nodeType":"YulExpressionStatement","src":"678:21:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"719:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"730:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"715:3:12"},"nodeType":"YulFunctionCall","src":"715:18:12"},{"kind":"number","nodeType":"YulLiteral","src":"735:1:12","type":"","value":"9"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"708:6:12"},"nodeType":"YulFunctionCall","src":"708:29:12"},"nodeType":"YulExpressionStatement","src":"708:29:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"757:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"768:2:12","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"753:3:12"},"nodeType":"YulFunctionCall","src":"753:18:12"},{"hexValue":"5a45524f5f55534443","kind":"string","nodeType":"YulLiteral","src":"773:11:12","type":"","value":"ZERO_USDC"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"746:6:12"},"nodeType":"YulFunctionCall","src":"746:39:12"},"nodeType":"YulExpressionStatement","src":"746:39:12"},{"nodeType":"YulAssignment","src":"794:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"806:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"817:2:12","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"802:3:12"},"nodeType":"YulFunctionCall","src":"802:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"794:4:12"}]}]},"name":"abi_encode_tuple_t_stringliteral_231342afa10ae774fcf116590c86168f3dbb6ef8d38678b8734fa5185ba29410__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"645:9:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"659:4:12","type":""}],"src":"494:332:12"},{"body":{"nodeType":"YulBlock","src":"1005:166:12","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1022:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"1033:2:12","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1015:6:12"},"nodeType":"YulFunctionCall","src":"1015:21:12"},"nodeType":"YulExpressionStatement","src":"1015:21:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1056:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"1067:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1052:3:12"},"nodeType":"YulFunctionCall","src":"1052:18:12"},{"kind":"number","nodeType":"YulLiteral","src":"1072:2:12","type":"","value":"16"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1045:6:12"},"nodeType":"YulFunctionCall","src":"1045:30:12"},"nodeType":"YulExpressionStatement","src":"1045:30:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1095:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"1106:2:12","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1091:3:12"},"nodeType":"YulFunctionCall","src":"1091:18:12"},{"hexValue":"5a45524f5f4645455f4d414e41474552","kind":"string","nodeType":"YulLiteral","src":"1111:18:12","type":"","value":"ZERO_FEE_MANAGER"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1084:6:12"},"nodeType":"YulFunctionCall","src":"1084:46:12"},"nodeType":"YulExpressionStatement","src":"1084:46:12"},{"nodeType":"YulAssignment","src":"1139:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1151:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"1162:2:12","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1147:3:12"},"nodeType":"YulFunctionCall","src":"1147:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1139:4:12"}]}]},"name":"abi_encode_tuple_t_stringliteral_750c060bb58a88501e740282a01594b8428370fe29a382cccd110f1bf315f3a9__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"982:9:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"996:4:12","type":""}],"src":"831:340:12"}]},"contents":"{\n { }\n function abi_decode_address_fromMemory(offset) -> value\n {\n value := mload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_address_fromMemory(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address_fromMemory(headStart)\n value1 := abi_decode_address_fromMemory(add(headStart, 32))\n }\n function abi_encode_tuple_t_stringliteral_231342afa10ae774fcf116590c86168f3dbb6ef8d38678b8734fa5185ba29410__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 9)\n mstore(add(headStart, 64), \"ZERO_USDC\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_750c060bb58a88501e740282a01594b8428370fe29a382cccd110f1bf315f3a9__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 16)\n mstore(add(headStart, 64), \"ZERO_FEE_MANAGER\")\n tail := add(headStart, 96)\n }\n}","id":12,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60c060405234801561001057600080fd5b506040516111ff3803806111ff83398101604081905261002f916100f2565b6001600160a01b0382166100765760405162461bcd60e51b81526020600482015260096024820152685a45524f5f5553444360b81b60448201526064015b60405180910390fd5b6001600160a01b0381166100bf5760405162461bcd60e51b815260206004820152601060248201526f2d22a927afa322a2afa6a0a720a3a2a960811b604482015260640161006d565b6001600160a01b039182166080521660a052610125565b80516001600160a01b03811681146100ed57600080fd5b919050565b6000806040838503121561010557600080fd5b61010e836100d6565b915061011c602084016100d6565b90509250929050565b60805160a05161108b6101746000396000818161020d015281816103fc01526104a001526000818161017e0152818161054e015281816105e80152818161081401526109a7015261108b6000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063675ac67a11610066578063675ac67a146101cb578063ca1d209d146101e2578063ccbae5f6146101f5578063d0fb020314610208578063d8dc8c281461022f57600080fd5b8063012f52ee1461009857806319b05f49146101645780633e413bee146101795780635f789edb146101b8575b600080fd5b61010a6100a6366004610e90565b60016020819052600091825260409091208054918101546002820154600383015460048401546005909401546001600160a01b0395861695909316939192909160ff8082169261010083048216926201000081048316926301000000909104169089565b604080516001600160a01b039a8b1681529990981660208a01529688019590955260608701939093529015156080860152151560a0850152151560c0840152151560e0830152610100820152610120015b60405180910390f35b610177610172366004610e90565b610242565b005b6101a07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161015b565b6101776101c6366004610e90565b61069a565b6101d460005481565b60405190815260200161015b565b6101776101f0366004610e90565b6108b1565b6101d4610203366004610ec1565b610a55565b6101a07f000000000000000000000000000000000000000000000000000000000000000081565b61017761023d366004610f07565b610d48565b600081815260016020526040902080546001600160a01b03166102805760405162461bcd60e51b815260040161027790610f29565b60405180910390fd5b600481015460ff166102a45760405162461bcd60e51b815260040161027790610f4c565b6004810154610100900460ff166102ed5760405162461bcd60e51b815260206004820152600d60248201526c1393d517d11153125591549151609a1b6044820152606401610277565b600481015462010000900460ff161561033b5760405162461bcd60e51b815260206004820152601060248201526f1053149150511657d49153115054d15160821b6044820152606401610277565b60048101546301000000900460ff16156103825760405162461bcd60e51b8152602060048201526008602482015267149151955391115160c21b6044820152606401610277565b80546001600160a01b031633146103c75760405162461bcd60e51b81526020600482015260096024820152682727aa2fa12aaca2a960b91b6044820152606401610277565b6004808201805462ff0000191662010000179055604080516324a9d85360e01b81529051600092612710926001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016926324a9d853928281019260209291908290030181865afa158015610445573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104699190610f70565b61ffff16836002015461047c9190610fb1565b6104869190610fce565b9050600081836002015461049a9190610ff0565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166361d027b36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105209190611003565b905082156105bd5760405163a9059cbb60e01b81526001600160a01b038281166004830152602482018590527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015610597573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105bb9190611020565b505b600184015460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018490527f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303816000875af1158015610633573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106579190611020565b50604080518481526020810184905286917fc38bb5c166e54eae7908734f28ecb2a4416e09b298c0e80278340ad887184887910160405180910390a25050505050565b600081815260016020526040902080546001600160a01b03166106cf5760405162461bcd60e51b815260040161027790610f29565b600481015460ff166106f35760405162461bcd60e51b815260040161027790610f4c565b600481015462010000900460ff16156107415760405162461bcd60e51b815260206004820152601060248201526f1053149150511657d49153115054d15160821b6044820152606401610277565b60048101546301000000900460ff16156107905760405162461bcd60e51b815260206004820152601060248201526f1053149150511657d49151955391115160821b6044820152606401610277565b806003015442116107d15760405162461bcd60e51b815260206004820152600b60248201526a1393d517d512535153d55560aa1b6044820152606401610277565b6004818101805463ff000000191663010000001790558154600283015460405163a9059cbb60e01b81526001600160a01b039283169381019390935260248301527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af115801561085d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108819190611020565b5060405182907f2babb5cd458b6d41108d6d793a75e29ca524e7caa20e2da6c994462010920a7290600090a25050565b600081815260016020526040902080546001600160a01b03166108e65760405162461bcd60e51b815260040161027790610f29565b600481015460ff161561092c5760405162461bcd60e51b815260206004820152600e60248201526d1053149150511657d1955391115160921b6044820152606401610277565b60048101546301000000900460ff16156109735760405162461bcd60e51b8152602060048201526008602482015267149151955391115160c21b6044820152606401610277565b805460028201546040516323b872dd60e01b81526001600160a01b03928316600482015230602482015260448101919091527f0000000000000000000000000000000000000000000000000000000000000000909116906323b872dd906064016020604051808303816000875af11580156109f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a169190611020565b5060048101805460ff1916600117905560405182907f3b4f5a74452cddb80ae5a0d279eb7db6afd5e556e72ca2883016b1da7c9d211690600090a25050565b60006001600160a01b038516610a9a5760405162461bcd60e51b815260206004820152600a6024820152692d22a927afa12aaca2a960b11b6044820152606401610277565b6001600160a01b038416610add5760405162461bcd60e51b815260206004820152600a60248201526916915493d7d051d1539560b21b6044820152606401610277565b60008311610b1b5760405162461bcd60e51b815260206004820152600b60248201526a16915493d7d05353d5539560aa1b6044820152606401610277565b428211610b595760405162461bcd60e51b815260206004820152600c60248201526b4241445f444541444c494e4560a01b6044820152606401610277565b6001600080828254610b6b9190611042565b92505081905550600080549050604051806101200160405280876001600160a01b03168152602001866001600160a01b031681526020018581526020018481526020016000151581526020016000151581526020016000151581526020016000151581526020016000801b8152506001600083815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160010160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550604082015181600201556060820151816003015560808201518160040160006101000a81548160ff02191690831515021790555060a08201518160040160016101000a81548160ff02191690831515021790555060c08201518160040160026101000a81548160ff02191690831515021790555060e08201518160040160036101000a81548160ff0219169083151502179055506101008201518160050155905050846001600160a01b0316866001600160a01b0316827f59e4b8728799382406714f1c57de5c893d2772f9a8bf9950c5afe4397e6486548787604051610d37929190918252602082015260400190565b60405180910390a495945050505050565b600082815260016020526040902080546001600160a01b0316610d7d5760405162461bcd60e51b815260040161027790610f29565b600481015460ff16610da15760405162461bcd60e51b815260040161027790610f4c565b6004810154610100900460ff1615610def5760405162461bcd60e51b81526020600482015260116024820152701053149150511657d11153125591549151607a1b6044820152606401610277565b60018101546001600160a01b03163314610e375760405162461bcd60e51b81526020600482015260096024820152681393d517d051d1539560ba1b6044820152606401610277565b60048101805461ff0019166101001790556005810182905560405183907f8853009c985857f833cf474baf9bee52eda8a1e3ee4af346c5722d1eb1b0a29090610e839085815260200190565b60405180910390a2505050565b600060208284031215610ea257600080fd5b5035919050565b6001600160a01b0381168114610ebe57600080fd5b50565b60008060008060808587031215610ed757600080fd5b8435610ee281610ea9565b93506020850135610ef281610ea9565b93969395505050506040820135916060013590565b60008060408385031215610f1a57600080fd5b50508035926020909101359150565b6020808252600990820152684e4f5f455343524f5760b81b604082015260600190565b6020808252600a90820152691393d517d1955391115160b21b604082015260600190565b600060208284031215610f8257600080fd5b815161ffff81168114610f9457600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610fc857610fc8610f9b565b92915050565b600082610feb57634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610fc857610fc8610f9b565b60006020828403121561101557600080fd5b8151610f9481610ea9565b60006020828403121561103257600080fd5b81518015158114610f9457600080fd5b80820180821115610fc857610fc8610f9b56fea264697066735822122072b51f00b68be86ff39358a1e9d1aad58f846c9fb92f91c0b27add51ff20bdf664736f6c63430008140033","opcodes":"PUSH1 0xC0 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x11FF CODESIZE SUB DUP1 PUSH2 0x11FF DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH2 0x2F SWAP2 PUSH2 0xF2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x76 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x9 PUSH1 0x24 DUP3 ADD MSTORE PUSH9 0x5A45524F5F55534443 PUSH1 0xB8 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xBF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x2D22A927AFA322A2AFA6A0A720A3A2A9 PUSH1 0x81 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x80 MSTORE AND PUSH1 0xA0 MSTORE PUSH2 0x125 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x105 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x10E DUP4 PUSH2 0xD6 JUMP JUMPDEST SWAP2 POP PUSH2 0x11C PUSH1 0x20 DUP5 ADD PUSH2 0xD6 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH1 0xA0 MLOAD PUSH2 0x108B PUSH2 0x174 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x20D ADD MSTORE DUP2 DUP2 PUSH2 0x3FC ADD MSTORE PUSH2 0x4A0 ADD MSTORE PUSH1 0x0 DUP2 DUP2 PUSH2 0x17E ADD MSTORE DUP2 DUP2 PUSH2 0x54E ADD MSTORE DUP2 DUP2 PUSH2 0x5E8 ADD MSTORE DUP2 DUP2 PUSH2 0x814 ADD MSTORE PUSH2 0x9A7 ADD MSTORE PUSH2 0x108B PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x93 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x675AC67A GT PUSH2 0x66 JUMPI DUP1 PUSH4 0x675AC67A EQ PUSH2 0x1CB JUMPI DUP1 PUSH4 0xCA1D209D EQ PUSH2 0x1E2 JUMPI DUP1 PUSH4 0xCCBAE5F6 EQ PUSH2 0x1F5 JUMPI DUP1 PUSH4 0xD0FB0203 EQ PUSH2 0x208 JUMPI DUP1 PUSH4 0xD8DC8C28 EQ PUSH2 0x22F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x12F52EE EQ PUSH2 0x98 JUMPI DUP1 PUSH4 0x19B05F49 EQ PUSH2 0x164 JUMPI DUP1 PUSH4 0x3E413BEE EQ PUSH2 0x179 JUMPI DUP1 PUSH4 0x5F789EDB EQ PUSH2 0x1B8 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x10A PUSH2 0xA6 CALLDATASIZE PUSH1 0x4 PUSH2 0xE90 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 DUP1 SLOAD SWAP2 DUP2 ADD SLOAD PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x3 DUP4 ADD SLOAD PUSH1 0x4 DUP5 ADD SLOAD PUSH1 0x5 SWAP1 SWAP5 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 DUP7 AND SWAP6 SWAP1 SWAP4 AND SWAP4 SWAP2 SWAP3 SWAP1 SWAP2 PUSH1 0xFF DUP1 DUP3 AND SWAP3 PUSH2 0x100 DUP4 DIV DUP3 AND SWAP3 PUSH3 0x10000 DUP2 DIV DUP4 AND SWAP3 PUSH4 0x1000000 SWAP1 SWAP2 DIV AND SWAP1 DUP10 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP11 DUP12 AND DUP2 MSTORE SWAP10 SWAP1 SWAP9 AND PUSH1 0x20 DUP11 ADD MSTORE SWAP7 DUP9 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH1 0x60 DUP8 ADD SWAP4 SWAP1 SWAP4 MSTORE SWAP1 ISZERO ISZERO PUSH1 0x80 DUP7 ADD MSTORE ISZERO ISZERO PUSH1 0xA0 DUP6 ADD MSTORE ISZERO ISZERO PUSH1 0xC0 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0xE0 DUP4 ADD MSTORE PUSH2 0x100 DUP3 ADD MSTORE PUSH2 0x120 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x177 PUSH2 0x172 CALLDATASIZE PUSH1 0x4 PUSH2 0xE90 JUMP JUMPDEST PUSH2 0x242 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1A0 PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x15B JUMP JUMPDEST PUSH2 0x177 PUSH2 0x1C6 CALLDATASIZE PUSH1 0x4 PUSH2 0xE90 JUMP JUMPDEST PUSH2 0x69A JUMP JUMPDEST PUSH2 0x1D4 PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x15B JUMP JUMPDEST PUSH2 0x177 PUSH2 0x1F0 CALLDATASIZE PUSH1 0x4 PUSH2 0xE90 JUMP JUMPDEST PUSH2 0x8B1 JUMP JUMPDEST PUSH2 0x1D4 PUSH2 0x203 CALLDATASIZE PUSH1 0x4 PUSH2 0xEC1 JUMP JUMPDEST PUSH2 0xA55 JUMP JUMPDEST PUSH2 0x1A0 PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH2 0x177 PUSH2 0x23D CALLDATASIZE PUSH1 0x4 PUSH2 0xF07 JUMP JUMPDEST PUSH2 0xD48 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x280 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x277 SWAP1 PUSH2 0xF29 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0xFF AND PUSH2 0x2A4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x277 SWAP1 PUSH2 0xF4C JUMP JUMPDEST PUSH1 0x4 DUP2 ADD SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND PUSH2 0x2ED JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x1393D517D11153125591549151 PUSH1 0x9A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x277 JUMP JUMPDEST PUSH1 0x4 DUP2 ADD SLOAD PUSH3 0x10000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x33B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x1053149150511657D49153115054D151 PUSH1 0x82 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x277 JUMP JUMPDEST PUSH1 0x4 DUP2 ADD SLOAD PUSH4 0x1000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x382 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x8 PUSH1 0x24 DUP3 ADD MSTORE PUSH8 0x1491519553911151 PUSH1 0xC2 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x277 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x3C7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x9 PUSH1 0x24 DUP3 ADD MSTORE PUSH9 0x2727AA2FA12AACA2A9 PUSH1 0xB9 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x277 JUMP JUMPDEST PUSH1 0x4 DUP1 DUP3 ADD DUP1 SLOAD PUSH3 0xFF0000 NOT AND PUSH3 0x10000 OR SWAP1 SSTORE PUSH1 0x40 DUP1 MLOAD PUSH4 0x24A9D853 PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH2 0x2710 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND SWAP3 PUSH4 0x24A9D853 SWAP3 DUP3 DUP2 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x445 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x469 SWAP2 SWAP1 PUSH2 0xF70 JUMP JUMPDEST PUSH2 0xFFFF AND DUP4 PUSH1 0x2 ADD SLOAD PUSH2 0x47C SWAP2 SWAP1 PUSH2 0xFB1 JUMP JUMPDEST PUSH2 0x486 SWAP2 SWAP1 PUSH2 0xFCE JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 DUP4 PUSH1 0x2 ADD SLOAD PUSH2 0x49A SWAP2 SWAP1 PUSH2 0xFF0 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x61D027B3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x4FC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x520 SWAP2 SWAP1 PUSH2 0x1003 JUMP JUMPDEST SWAP1 POP DUP3 ISZERO PUSH2 0x5BD JUMPI PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 DUP3 ADD DUP6 SWAP1 MSTORE PUSH32 0x0 AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x597 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x5BB SWAP2 SWAP1 PUSH2 0x1020 JUMP JUMPDEST POP JUMPDEST PUSH1 0x1 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP5 SWAP1 MSTORE PUSH32 0x0 SWAP1 SWAP2 AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x633 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x657 SWAP2 SWAP1 PUSH2 0x1020 JUMP JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP5 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 SWAP1 MSTORE DUP7 SWAP2 PUSH32 0xC38BB5C166E54EAE7908734F28ECB2A4416E09B298C0E80278340AD887184887 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x6CF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x277 SWAP1 PUSH2 0xF29 JUMP JUMPDEST PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0xFF AND PUSH2 0x6F3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x277 SWAP1 PUSH2 0xF4C JUMP JUMPDEST PUSH1 0x4 DUP2 ADD SLOAD PUSH3 0x10000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x741 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x1053149150511657D49153115054D151 PUSH1 0x82 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x277 JUMP JUMPDEST PUSH1 0x4 DUP2 ADD SLOAD PUSH4 0x1000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x790 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x1053149150511657D491519553911151 PUSH1 0x82 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x277 JUMP JUMPDEST DUP1 PUSH1 0x3 ADD SLOAD TIMESTAMP GT PUSH2 0x7D1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xB PUSH1 0x24 DUP3 ADD MSTORE PUSH11 0x1393D517D512535153D555 PUSH1 0xAA SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x277 JUMP JUMPDEST PUSH1 0x4 DUP2 DUP2 ADD DUP1 SLOAD PUSH4 0xFF000000 NOT AND PUSH4 0x1000000 OR SWAP1 SSTORE DUP2 SLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND SWAP4 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x24 DUP4 ADD MSTORE PUSH32 0x0 AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x85D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x881 SWAP2 SWAP1 PUSH2 0x1020 JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP3 SWAP1 PUSH32 0x2BABB5CD458B6D41108D6D793A75E29CA524E7CAA20E2DA6C994462010920A72 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x8E6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x277 SWAP1 PUSH2 0xF29 JUMP JUMPDEST PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x92C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x1053149150511657D19553911151 PUSH1 0x92 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x277 JUMP JUMPDEST PUSH1 0x4 DUP2 ADD SLOAD PUSH4 0x1000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x973 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x8 PUSH1 0x24 DUP3 ADD MSTORE PUSH8 0x1491519553911151 PUSH1 0xC2 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x277 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x23B872DD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE ADDRESS PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH32 0x0 SWAP1 SWAP2 AND SWAP1 PUSH4 0x23B872DD SWAP1 PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x9F2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA16 SWAP2 SWAP1 PUSH2 0x1020 JUMP JUMPDEST POP PUSH1 0x4 DUP2 ADD DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH1 0x40 MLOAD DUP3 SWAP1 PUSH32 0x3B4F5A74452CDDB80AE5A0D279EB7DB6AFD5E556E72CA2883016B1DA7C9D2116 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0xA9A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH10 0x2D22A927AFA12AACA2A9 PUSH1 0xB1 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x277 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0xADD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH10 0x16915493D7D051D15395 PUSH1 0xB2 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x277 JUMP JUMPDEST PUSH1 0x0 DUP4 GT PUSH2 0xB1B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xB PUSH1 0x24 DUP3 ADD MSTORE PUSH11 0x16915493D7D05353D55395 PUSH1 0xAA SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x277 JUMP JUMPDEST TIMESTAMP DUP3 GT PUSH2 0xB59 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xC PUSH1 0x24 DUP3 ADD MSTORE PUSH12 0x4241445F444541444C494E45 PUSH1 0xA0 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x277 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0xB6B SWAP2 SWAP1 PUSH2 0x1042 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x0 DUP1 SLOAD SWAP1 POP PUSH1 0x40 MLOAD DUP1 PUSH2 0x120 ADD PUSH1 0x40 MSTORE DUP1 DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP6 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP1 SHL DUP2 MSTORE POP PUSH1 0x1 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB MUL NOT AND SWAP1 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB MUL NOT AND SWAP1 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SSTORE PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x3 ADD SSTORE PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x4 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0xA0 DUP3 ADD MLOAD DUP2 PUSH1 0x4 ADD PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0xC0 DUP3 ADD MLOAD DUP2 PUSH1 0x4 ADD PUSH1 0x2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0xE0 DUP3 ADD MLOAD DUP2 PUSH1 0x4 ADD PUSH1 0x3 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH2 0x100 DUP3 ADD MLOAD DUP2 PUSH1 0x5 ADD SSTORE SWAP1 POP POP DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH32 0x59E4B8728799382406714F1C57DE5C893D2772F9A8BF9950C5AFE4397E648654 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH2 0xD37 SWAP3 SWAP2 SWAP1 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xD7D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x277 SWAP1 PUSH2 0xF29 JUMP JUMPDEST PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0xFF AND PUSH2 0xDA1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x277 SWAP1 PUSH2 0xF4C JUMP JUMPDEST PUSH1 0x4 DUP2 ADD SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xDEF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x11 PUSH1 0x24 DUP3 ADD MSTORE PUSH17 0x1053149150511657D11153125591549151 PUSH1 0x7A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x277 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xE37 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x9 PUSH1 0x24 DUP3 ADD MSTORE PUSH9 0x1393D517D051D15395 PUSH1 0xBA SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x277 JUMP JUMPDEST PUSH1 0x4 DUP2 ADD DUP1 SLOAD PUSH2 0xFF00 NOT AND PUSH2 0x100 OR SWAP1 SSTORE PUSH1 0x5 DUP2 ADD DUP3 SWAP1 SSTORE PUSH1 0x40 MLOAD DUP4 SWAP1 PUSH32 0x8853009C985857F833CF474BAF9BEE52EDA8A1E3EE4AF346C5722D1EB1B0A290 SWAP1 PUSH2 0xE83 SWAP1 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xEA2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xEBE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xED7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0xEE2 DUP2 PUSH2 0xEA9 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0xEF2 DUP2 PUSH2 0xEA9 JUMP JUMPDEST SWAP4 SWAP7 SWAP4 SWAP6 POP POP POP POP PUSH1 0x40 DUP3 ADD CALLDATALOAD SWAP2 PUSH1 0x60 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xF1A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x9 SWAP1 DUP3 ADD MSTORE PUSH9 0x4E4F5F455343524F57 PUSH1 0xB8 SHL PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xA SWAP1 DUP3 ADD MSTORE PUSH10 0x1393D517D19553911151 PUSH1 0xB2 SHL PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF82 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0xFFFF DUP2 AND DUP2 EQ PUSH2 0xF94 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xFC8 JUMPI PUSH2 0xFC8 PUSH2 0xF9B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0xFEB JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xFC8 JUMPI PUSH2 0xFC8 PUSH2 0xF9B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1015 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0xF94 DUP2 PUSH2 0xEA9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1032 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xF94 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xFC8 JUMPI PUSH2 0xFC8 PUSH2 0xF9B JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH19 0xB51F00B68BE86FF39358A1E9D1AAD58F846C9F 0xB9 0x2F SWAP2 0xC0 0xB2 PUSH27 0xDD51FF20BDF664736F6C6343000814003300000000000000000000 ","sourceMap":"393:3920:2:-:0;;;1220:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1286:19:2;;1278:41;;;;-1:-1:-1;;;1278:41:2;;696:2:12;1278:41:2;;;678:21:12;735:1;715:18;;;708:29;-1:-1:-1;;;753:18:12;;;746:39;802:18;;1278:41:2;;;;;;;;;-1:-1:-1;;;;;1337:25:2;;1329:54;;;;-1:-1:-1;;;1329:54:2;;1033:2:12;1329:54:2;;;1015:21:12;1072:2;1052:18;;;1045:30;-1:-1:-1;;;1091:18:12;;;1084:46;1147:18;;1329:54:2;831:340:12;1329:54:2;-1:-1:-1;;;;;1393:27:2;;;;;1430:37;;;393:3920;;14:177:12;93:13;;-1:-1:-1;;;;;135:31:12;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:293::-;275:6;283;336:2;324:9;315:7;311:23;307:32;304:52;;;352:1;349;342:12;304:52;375:40;405:9;375:40;:::i;:::-;365:50;;434:49;479:2;468:9;464:18;434:49;:::i;:::-;424:59;;196:293;;;;;:::o;831:340::-;393:3920:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@accept_599":{"entryPoint":578,"id":599,"parameterSlots":1,"returnSlots":0},"@createEscrow_357":{"entryPoint":2645,"id":357,"parameterSlots":4,"returnSlots":1},"@escrowCount_192":{"entryPoint":null,"id":192,"parameterSlots":0,"returnSlots":0},"@escrows_197":{"entryPoint":null,"id":197,"parameterSlots":0,"returnSlots":0},"@feeManager_190":{"entryPoint":null,"id":190,"parameterSlots":0,"returnSlots":0},"@fund_418":{"entryPoint":2225,"id":418,"parameterSlots":1,"returnSlots":0},"@refundOnTimeout_671":{"entryPoint":1690,"id":671,"parameterSlots":1,"returnSlots":0},"@submitDelivery_483":{"entryPoint":3400,"id":483,"parameterSlots":2,"returnSlots":0},"@usdc_187":{"entryPoint":null,"id":187,"parameterSlots":0,"returnSlots":0},"abi_decode_tuple_t_address_fromMemory":{"entryPoint":4099,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_addresst_uint256t_uint256":{"entryPoint":3777,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":4128,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint16_fromMemory":{"entryPoint":3952,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":3728,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_bytes32":{"entryPoint":3847,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_uint256_t_uint256_t_bool_t_bool_t_bool_t_bool_t_bytes32__to_t_address_t_address_t_uint256_t_uint256_t_bool_t_bool_t_bool_t_bool_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":10,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IERC20Minimal_$154__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IFeeManager_$165__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0ae202c5d1ff9dcd4329d24acbf3bddff6279ad182d19d899440adb36d927795__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0cbf8f818d240d5cfaf7062c77faf5dec75a2e58baabd1716870d82ee027ce8d__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_3975a5700b323adfdb3c776a82af2bc693a554230b1f095d462d5f7cbcbe16ab__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_497353054b8aaf467e1467445993a7540100e465c9d4ad766c3377a3c173bf69__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_5189e2114e79d4db9df2fad423312a08ad735f032a13f38ab147c021741a9855__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_569a09ac82f8b56ba3fe6fdf0989c223cb884a2e7e3848ac92374edb56fa2000__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_5edb2795144c22ce6ca24b76512d47c79b999bf69905af2ba1ea0385fb566e7e__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_69b5a58ca9c213a5ca2f702ca2c00e26caa409bca046be7033452fe7b315c74c__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_731f33b295e233aefb9dcf3c9c3b0c5adc598e2caa884e11471cca058d3bf720__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":3881,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_7ab00cfe800b10dc82fc5541a5da25bcf1584e99371ffc27fd1ca718af83bb84__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ad8e292265788ac5c19f708ed96612bf3229f5fbdf9e1b9b3466c3f5a1b60243__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b251d86be083dc84f03be506b90372c0befae10863aebd9ea097e2ab08ae69dd__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d3aad24f34896c938a64eb4dbab258c214e25deb98195125480ea4fb0e38c65a__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d577570ccf94435e2de6c4a5bfd146c81963e2ad6fd15c35bf79eacac9a2aeb4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_dcf476ff17a7ebd9cbcc4b84f5f8c6762a17e3a81eefc2604e134712a8320495__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":3916,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":4162,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":4046,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":4017,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":4080,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x11":{"entryPoint":3995,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_address":{"entryPoint":3753,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:10414:12","statements":[{"nodeType":"YulBlock","src":"6:3:12","statements":[]},{"body":{"nodeType":"YulBlock","src":"84:110:12","statements":[{"body":{"nodeType":"YulBlock","src":"130:16:12","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"139:1:12","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"142:1:12","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"132:6:12"},"nodeType":"YulFunctionCall","src":"132:12:12"},"nodeType":"YulExpressionStatement","src":"132:12:12"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"105:7:12"},{"name":"headStart","nodeType":"YulIdentifier","src":"114:9:12"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"101:3:12"},"nodeType":"YulFunctionCall","src":"101:23:12"},{"kind":"number","nodeType":"YulLiteral","src":"126:2:12","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"97:3:12"},"nodeType":"YulFunctionCall","src":"97:32:12"},"nodeType":"YulIf","src":"94:52:12"},{"nodeType":"YulAssignment","src":"155:33:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"178:9:12"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"165:12:12"},"nodeType":"YulFunctionCall","src":"165:23:12"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"155:6:12"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"50:9:12","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"61:7:12","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"73:6:12","type":""}],"src":"14:180:12"},{"body":{"nodeType":"YulBlock","src":"500:546:12","statements":[{"nodeType":"YulAssignment","src":"510:27:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"522:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"533:3:12","type":"","value":"288"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"518:3:12"},"nodeType":"YulFunctionCall","src":"518:19:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"510:4:12"}]},{"nodeType":"YulVariableDeclaration","src":"546:29:12","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"564:3:12","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"569:1:12","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"560:3:12"},"nodeType":"YulFunctionCall","src":"560:11:12"},{"kind":"number","nodeType":"YulLiteral","src":"573:1:12","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"556:3:12"},"nodeType":"YulFunctionCall","src":"556:19:12"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"550:2:12","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"591:9:12"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"606:6:12"},{"name":"_1","nodeType":"YulIdentifier","src":"614:2:12"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"602:3:12"},"nodeType":"YulFunctionCall","src":"602:15:12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"584:6:12"},"nodeType":"YulFunctionCall","src":"584:34:12"},"nodeType":"YulExpressionStatement","src":"584:34:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"638:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"649:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"634:3:12"},"nodeType":"YulFunctionCall","src":"634:18:12"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"658:6:12"},{"name":"_1","nodeType":"YulIdentifier","src":"666:2:12"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"654:3:12"},"nodeType":"YulFunctionCall","src":"654:15:12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"627:6:12"},"nodeType":"YulFunctionCall","src":"627:43:12"},"nodeType":"YulExpressionStatement","src":"627:43:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"690:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"701:2:12","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"686:3:12"},"nodeType":"YulFunctionCall","src":"686:18:12"},{"name":"value2","nodeType":"YulIdentifier","src":"706:6:12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"679:6:12"},"nodeType":"YulFunctionCall","src":"679:34:12"},"nodeType":"YulExpressionStatement","src":"679:34:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"733:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"744:2:12","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"729:3:12"},"nodeType":"YulFunctionCall","src":"729:18:12"},{"name":"value3","nodeType":"YulIdentifier","src":"749:6:12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"722:6:12"},"nodeType":"YulFunctionCall","src":"722:34:12"},"nodeType":"YulExpressionStatement","src":"722:34:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"776:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"787:3:12","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"772:3:12"},"nodeType":"YulFunctionCall","src":"772:19:12"},{"arguments":[{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"807:6:12"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"800:6:12"},"nodeType":"YulFunctionCall","src":"800:14:12"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"793:6:12"},"nodeType":"YulFunctionCall","src":"793:22:12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"765:6:12"},"nodeType":"YulFunctionCall","src":"765:51:12"},"nodeType":"YulExpressionStatement","src":"765:51:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"836:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"847:3:12","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"832:3:12"},"nodeType":"YulFunctionCall","src":"832:19:12"},{"arguments":[{"arguments":[{"name":"value5","nodeType":"YulIdentifier","src":"867:6:12"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"860:6:12"},"nodeType":"YulFunctionCall","src":"860:14:12"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"853:6:12"},"nodeType":"YulFunctionCall","src":"853:22:12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"825:6:12"},"nodeType":"YulFunctionCall","src":"825:51:12"},"nodeType":"YulExpressionStatement","src":"825:51:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"896:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"907:3:12","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"892:3:12"},"nodeType":"YulFunctionCall","src":"892:19:12"},{"arguments":[{"arguments":[{"name":"value6","nodeType":"YulIdentifier","src":"927:6:12"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"920:6:12"},"nodeType":"YulFunctionCall","src":"920:14:12"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"913:6:12"},"nodeType":"YulFunctionCall","src":"913:22:12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"885:6:12"},"nodeType":"YulFunctionCall","src":"885:51:12"},"nodeType":"YulExpressionStatement","src":"885:51:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"956:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"967:3:12","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"952:3:12"},"nodeType":"YulFunctionCall","src":"952:19:12"},{"arguments":[{"arguments":[{"name":"value7","nodeType":"YulIdentifier","src":"987:6:12"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"980:6:12"},"nodeType":"YulFunctionCall","src":"980:14:12"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"973:6:12"},"nodeType":"YulFunctionCall","src":"973:22:12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"945:6:12"},"nodeType":"YulFunctionCall","src":"945:51:12"},"nodeType":"YulExpressionStatement","src":"945:51:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1016:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"1027:3:12","type":"","value":"256"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1012:3:12"},"nodeType":"YulFunctionCall","src":"1012:19:12"},{"name":"value8","nodeType":"YulIdentifier","src":"1033:6:12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1005:6:12"},"nodeType":"YulFunctionCall","src":"1005:35:12"},"nodeType":"YulExpressionStatement","src":"1005:35:12"}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256_t_uint256_t_bool_t_bool_t_bool_t_bool_t_bytes32__to_t_address_t_address_t_uint256_t_uint256_t_bool_t_bool_t_bool_t_bool_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"405:9:12","type":""},{"name":"value8","nodeType":"YulTypedName","src":"416:6:12","type":""},{"name":"value7","nodeType":"YulTypedName","src":"424:6:12","type":""},{"name":"value6","nodeType":"YulTypedName","src":"432:6:12","type":""},{"name":"value5","nodeType":"YulTypedName","src":"440:6:12","type":""},{"name":"value4","nodeType":"YulTypedName","src":"448:6:12","type":""},{"name":"value3","nodeType":"YulTypedName","src":"456:6:12","type":""},{"name":"value2","nodeType":"YulTypedName","src":"464:6:12","type":""},{"name":"value1","nodeType":"YulTypedName","src":"472:6:12","type":""},{"name":"value0","nodeType":"YulTypedName","src":"480:6:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"491:4:12","type":""}],"src":"199:847:12"},{"body":{"nodeType":"YulBlock","src":"1173:102:12","statements":[{"nodeType":"YulAssignment","src":"1183:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1195:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"1206:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1191:3:12"},"nodeType":"YulFunctionCall","src":"1191:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1183:4:12"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1225:9:12"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1240:6:12"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1256:3:12","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1261:1:12","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1252:3:12"},"nodeType":"YulFunctionCall","src":"1252:11:12"},{"kind":"number","nodeType":"YulLiteral","src":"1265:1:12","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1248:3:12"},"nodeType":"YulFunctionCall","src":"1248:19:12"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1236:3:12"},"nodeType":"YulFunctionCall","src":"1236:32:12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1218:6:12"},"nodeType":"YulFunctionCall","src":"1218:51:12"},"nodeType":"YulExpressionStatement","src":"1218:51:12"}]},"name":"abi_encode_tuple_t_contract$_IERC20Minimal_$154__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1142:9:12","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1153:6:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1164:4:12","type":""}],"src":"1051:224:12"},{"body":{"nodeType":"YulBlock","src":"1381:76:12","statements":[{"nodeType":"YulAssignment","src":"1391:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1403:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"1414:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1399:3:12"},"nodeType":"YulFunctionCall","src":"1399:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1391:4:12"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1433:9:12"},{"name":"value0","nodeType":"YulIdentifier","src":"1444:6:12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1426:6:12"},"nodeType":"YulFunctionCall","src":"1426:25:12"},"nodeType":"YulExpressionStatement","src":"1426:25:12"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1350:9:12","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1361:6:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1372:4:12","type":""}],"src":"1280:177:12"},{"body":{"nodeType":"YulBlock","src":"1507:86:12","statements":[{"body":{"nodeType":"YulBlock","src":"1571:16:12","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1580:1:12","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1583:1:12","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1573:6:12"},"nodeType":"YulFunctionCall","src":"1573:12:12"},"nodeType":"YulExpressionStatement","src":"1573:12:12"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1530:5:12"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1541:5:12"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1556:3:12","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1561:1:12","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1552:3:12"},"nodeType":"YulFunctionCall","src":"1552:11:12"},{"kind":"number","nodeType":"YulLiteral","src":"1565:1:12","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1548:3:12"},"nodeType":"YulFunctionCall","src":"1548:19:12"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1537:3:12"},"nodeType":"YulFunctionCall","src":"1537:31:12"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1527:2:12"},"nodeType":"YulFunctionCall","src":"1527:42:12"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1520:6:12"},"nodeType":"YulFunctionCall","src":"1520:50:12"},"nodeType":"YulIf","src":"1517:70:12"}]},"name":"validator_revert_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1496:5:12","type":""}],"src":"1462:131:12"},{"body":{"nodeType":"YulBlock","src":"1719:404:12","statements":[{"body":{"nodeType":"YulBlock","src":"1766:16:12","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1775:1:12","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1778:1:12","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1768:6:12"},"nodeType":"YulFunctionCall","src":"1768:12:12"},"nodeType":"YulExpressionStatement","src":"1768:12:12"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1740:7:12"},{"name":"headStart","nodeType":"YulIdentifier","src":"1749:9:12"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1736:3:12"},"nodeType":"YulFunctionCall","src":"1736:23:12"},{"kind":"number","nodeType":"YulLiteral","src":"1761:3:12","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1732:3:12"},"nodeType":"YulFunctionCall","src":"1732:33:12"},"nodeType":"YulIf","src":"1729:53:12"},{"nodeType":"YulVariableDeclaration","src":"1791:36:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1817:9:12"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1804:12:12"},"nodeType":"YulFunctionCall","src":"1804:23:12"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1795:5:12","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1861:5:12"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"1836:24:12"},"nodeType":"YulFunctionCall","src":"1836:31:12"},"nodeType":"YulExpressionStatement","src":"1836:31:12"},{"nodeType":"YulAssignment","src":"1876:15:12","value":{"name":"value","nodeType":"YulIdentifier","src":"1886:5:12"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1876:6:12"}]},{"nodeType":"YulVariableDeclaration","src":"1900:47:12","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1932:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"1943:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1928:3:12"},"nodeType":"YulFunctionCall","src":"1928:18:12"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1915:12:12"},"nodeType":"YulFunctionCall","src":"1915:32:12"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"1904:7:12","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"1981:7:12"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"1956:24:12"},"nodeType":"YulFunctionCall","src":"1956:33:12"},"nodeType":"YulExpressionStatement","src":"1956:33:12"},{"nodeType":"YulAssignment","src":"1998:17:12","value":{"name":"value_1","nodeType":"YulIdentifier","src":"2008:7:12"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1998:6:12"}]},{"nodeType":"YulAssignment","src":"2024:42:12","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2051:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"2062:2:12","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2047:3:12"},"nodeType":"YulFunctionCall","src":"2047:18:12"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2034:12:12"},"nodeType":"YulFunctionCall","src":"2034:32:12"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2024:6:12"}]},{"nodeType":"YulAssignment","src":"2075:42:12","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2102:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"2113:2:12","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2098:3:12"},"nodeType":"YulFunctionCall","src":"2098:18:12"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2085:12:12"},"nodeType":"YulFunctionCall","src":"2085:32:12"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"2075:6:12"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1661:9:12","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1672:7:12","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1684:6:12","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1692:6:12","type":""},{"name":"value2","nodeType":"YulTypedName","src":"1700:6:12","type":""},{"name":"value3","nodeType":"YulTypedName","src":"1708:6:12","type":""}],"src":"1598:525:12"},{"body":{"nodeType":"YulBlock","src":"2248:102:12","statements":[{"nodeType":"YulAssignment","src":"2258:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2270:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"2281:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2266:3:12"},"nodeType":"YulFunctionCall","src":"2266:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2258:4:12"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2300:9:12"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2315:6:12"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2331:3:12","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"2336:1:12","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2327:3:12"},"nodeType":"YulFunctionCall","src":"2327:11:12"},{"kind":"number","nodeType":"YulLiteral","src":"2340:1:12","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2323:3:12"},"nodeType":"YulFunctionCall","src":"2323:19:12"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2311:3:12"},"nodeType":"YulFunctionCall","src":"2311:32:12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2293:6:12"},"nodeType":"YulFunctionCall","src":"2293:51:12"},"nodeType":"YulExpressionStatement","src":"2293:51:12"}]},"name":"abi_encode_tuple_t_contract$_IFeeManager_$165__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2217:9:12","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2228:6:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2239:4:12","type":""}],"src":"2128:222:12"},{"body":{"nodeType":"YulBlock","src":"2442:161:12","statements":[{"body":{"nodeType":"YulBlock","src":"2488:16:12","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2497:1:12","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2500:1:12","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2490:6:12"},"nodeType":"YulFunctionCall","src":"2490:12:12"},"nodeType":"YulExpressionStatement","src":"2490:12:12"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2463:7:12"},{"name":"headStart","nodeType":"YulIdentifier","src":"2472:9:12"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2459:3:12"},"nodeType":"YulFunctionCall","src":"2459:23:12"},{"kind":"number","nodeType":"YulLiteral","src":"2484:2:12","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2455:3:12"},"nodeType":"YulFunctionCall","src":"2455:32:12"},"nodeType":"YulIf","src":"2452:52:12"},{"nodeType":"YulAssignment","src":"2513:33:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2536:9:12"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2523:12:12"},"nodeType":"YulFunctionCall","src":"2523:23:12"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2513:6:12"}]},{"nodeType":"YulAssignment","src":"2555:42:12","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2582:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"2593:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2578:3:12"},"nodeType":"YulFunctionCall","src":"2578:18:12"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2565:12:12"},"nodeType":"YulFunctionCall","src":"2565:32:12"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2555:6:12"}]}]},"name":"abi_decode_tuple_t_uint256t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2400:9:12","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2411:7:12","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2423:6:12","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2431:6:12","type":""}],"src":"2355:248:12"},{"body":{"nodeType":"YulBlock","src":"2782:158:12","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2799:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"2810:2:12","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2792:6:12"},"nodeType":"YulFunctionCall","src":"2792:21:12"},"nodeType":"YulExpressionStatement","src":"2792:21:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2833:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"2844:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2829:3:12"},"nodeType":"YulFunctionCall","src":"2829:18:12"},{"kind":"number","nodeType":"YulLiteral","src":"2849:1:12","type":"","value":"9"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2822:6:12"},"nodeType":"YulFunctionCall","src":"2822:29:12"},"nodeType":"YulExpressionStatement","src":"2822:29:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2871:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"2882:2:12","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2867:3:12"},"nodeType":"YulFunctionCall","src":"2867:18:12"},{"hexValue":"4e4f5f455343524f57","kind":"string","nodeType":"YulLiteral","src":"2887:11:12","type":"","value":"NO_ESCROW"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2860:6:12"},"nodeType":"YulFunctionCall","src":"2860:39:12"},"nodeType":"YulExpressionStatement","src":"2860:39:12"},{"nodeType":"YulAssignment","src":"2908:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2920:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"2931:2:12","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2916:3:12"},"nodeType":"YulFunctionCall","src":"2916:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2908:4:12"}]}]},"name":"abi_encode_tuple_t_stringliteral_731f33b295e233aefb9dcf3c9c3b0c5adc598e2caa884e11471cca058d3bf720__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2759:9:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2773:4:12","type":""}],"src":"2608:332:12"},{"body":{"nodeType":"YulBlock","src":"3119:160:12","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3136:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"3147:2:12","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3129:6:12"},"nodeType":"YulFunctionCall","src":"3129:21:12"},"nodeType":"YulExpressionStatement","src":"3129:21:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3170:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"3181:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3166:3:12"},"nodeType":"YulFunctionCall","src":"3166:18:12"},{"kind":"number","nodeType":"YulLiteral","src":"3186:2:12","type":"","value":"10"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3159:6:12"},"nodeType":"YulFunctionCall","src":"3159:30:12"},"nodeType":"YulExpressionStatement","src":"3159:30:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3209:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"3220:2:12","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3205:3:12"},"nodeType":"YulFunctionCall","src":"3205:18:12"},{"hexValue":"4e4f545f46554e444544","kind":"string","nodeType":"YulLiteral","src":"3225:12:12","type":"","value":"NOT_FUNDED"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3198:6:12"},"nodeType":"YulFunctionCall","src":"3198:40:12"},"nodeType":"YulExpressionStatement","src":"3198:40:12"},{"nodeType":"YulAssignment","src":"3247:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3259:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"3270:2:12","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3255:3:12"},"nodeType":"YulFunctionCall","src":"3255:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3247:4:12"}]}]},"name":"abi_encode_tuple_t_stringliteral_dcf476ff17a7ebd9cbcc4b84f5f8c6762a17e3a81eefc2604e134712a8320495__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3096:9:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3110:4:12","type":""}],"src":"2945:334:12"},{"body":{"nodeType":"YulBlock","src":"3458:163:12","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3475:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"3486:2:12","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3468:6:12"},"nodeType":"YulFunctionCall","src":"3468:21:12"},"nodeType":"YulExpressionStatement","src":"3468:21:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3509:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"3520:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3505:3:12"},"nodeType":"YulFunctionCall","src":"3505:18:12"},{"kind":"number","nodeType":"YulLiteral","src":"3525:2:12","type":"","value":"13"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3498:6:12"},"nodeType":"YulFunctionCall","src":"3498:30:12"},"nodeType":"YulExpressionStatement","src":"3498:30:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3548:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"3559:2:12","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3544:3:12"},"nodeType":"YulFunctionCall","src":"3544:18:12"},{"hexValue":"4e4f545f44454c495645524544","kind":"string","nodeType":"YulLiteral","src":"3564:15:12","type":"","value":"NOT_DELIVERED"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3537:6:12"},"nodeType":"YulFunctionCall","src":"3537:43:12"},"nodeType":"YulExpressionStatement","src":"3537:43:12"},{"nodeType":"YulAssignment","src":"3589:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3601:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"3612:2:12","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3597:3:12"},"nodeType":"YulFunctionCall","src":"3597:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3589:4:12"}]}]},"name":"abi_encode_tuple_t_stringliteral_3975a5700b323adfdb3c776a82af2bc693a554230b1f095d462d5f7cbcbe16ab__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3435:9:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3449:4:12","type":""}],"src":"3284:337:12"},{"body":{"nodeType":"YulBlock","src":"3800:166:12","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3817:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"3828:2:12","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3810:6:12"},"nodeType":"YulFunctionCall","src":"3810:21:12"},"nodeType":"YulExpressionStatement","src":"3810:21:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3851:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"3862:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3847:3:12"},"nodeType":"YulFunctionCall","src":"3847:18:12"},{"kind":"number","nodeType":"YulLiteral","src":"3867:2:12","type":"","value":"16"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3840:6:12"},"nodeType":"YulFunctionCall","src":"3840:30:12"},"nodeType":"YulExpressionStatement","src":"3840:30:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3890:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"3901:2:12","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3886:3:12"},"nodeType":"YulFunctionCall","src":"3886:18:12"},{"hexValue":"414c52454144595f52454c4541534544","kind":"string","nodeType":"YulLiteral","src":"3906:18:12","type":"","value":"ALREADY_RELEASED"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3879:6:12"},"nodeType":"YulFunctionCall","src":"3879:46:12"},"nodeType":"YulExpressionStatement","src":"3879:46:12"},{"nodeType":"YulAssignment","src":"3934:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3946:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"3957:2:12","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3942:3:12"},"nodeType":"YulFunctionCall","src":"3942:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3934:4:12"}]}]},"name":"abi_encode_tuple_t_stringliteral_d3aad24f34896c938a64eb4dbab258c214e25deb98195125480ea4fb0e38c65a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3777:9:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3791:4:12","type":""}],"src":"3626:340:12"},{"body":{"nodeType":"YulBlock","src":"4145:157:12","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4162:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"4173:2:12","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4155:6:12"},"nodeType":"YulFunctionCall","src":"4155:21:12"},"nodeType":"YulExpressionStatement","src":"4155:21:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4196:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"4207:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4192:3:12"},"nodeType":"YulFunctionCall","src":"4192:18:12"},{"kind":"number","nodeType":"YulLiteral","src":"4212:1:12","type":"","value":"8"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4185:6:12"},"nodeType":"YulFunctionCall","src":"4185:29:12"},"nodeType":"YulExpressionStatement","src":"4185:29:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4234:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"4245:2:12","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4230:3:12"},"nodeType":"YulFunctionCall","src":"4230:18:12"},{"hexValue":"524546554e444544","kind":"string","nodeType":"YulLiteral","src":"4250:10:12","type":"","value":"REFUNDED"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4223:6:12"},"nodeType":"YulFunctionCall","src":"4223:38:12"},"nodeType":"YulExpressionStatement","src":"4223:38:12"},{"nodeType":"YulAssignment","src":"4270:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4282:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"4293:2:12","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4278:3:12"},"nodeType":"YulFunctionCall","src":"4278:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4270:4:12"}]}]},"name":"abi_encode_tuple_t_stringliteral_0ae202c5d1ff9dcd4329d24acbf3bddff6279ad182d19d899440adb36d927795__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4122:9:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4136:4:12","type":""}],"src":"3971:331:12"},{"body":{"nodeType":"YulBlock","src":"4481:158:12","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4498:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"4509:2:12","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4491:6:12"},"nodeType":"YulFunctionCall","src":"4491:21:12"},"nodeType":"YulExpressionStatement","src":"4491:21:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4532:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"4543:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4528:3:12"},"nodeType":"YulFunctionCall","src":"4528:18:12"},{"kind":"number","nodeType":"YulLiteral","src":"4548:1:12","type":"","value":"9"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4521:6:12"},"nodeType":"YulFunctionCall","src":"4521:29:12"},"nodeType":"YulExpressionStatement","src":"4521:29:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4570:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"4581:2:12","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4566:3:12"},"nodeType":"YulFunctionCall","src":"4566:18:12"},{"hexValue":"4e4f545f4255594552","kind":"string","nodeType":"YulLiteral","src":"4586:11:12","type":"","value":"NOT_BUYER"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4559:6:12"},"nodeType":"YulFunctionCall","src":"4559:39:12"},"nodeType":"YulExpressionStatement","src":"4559:39:12"},{"nodeType":"YulAssignment","src":"4607:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4619:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"4630:2:12","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4615:3:12"},"nodeType":"YulFunctionCall","src":"4615:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4607:4:12"}]}]},"name":"abi_encode_tuple_t_stringliteral_569a09ac82f8b56ba3fe6fdf0989c223cb884a2e7e3848ac92374edb56fa2000__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4458:9:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4472:4:12","type":""}],"src":"4307:332:12"},{"body":{"nodeType":"YulBlock","src":"4724:196:12","statements":[{"body":{"nodeType":"YulBlock","src":"4770:16:12","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4779:1:12","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4782:1:12","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4772:6:12"},"nodeType":"YulFunctionCall","src":"4772:12:12"},"nodeType":"YulExpressionStatement","src":"4772:12:12"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4745:7:12"},{"name":"headStart","nodeType":"YulIdentifier","src":"4754:9:12"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4741:3:12"},"nodeType":"YulFunctionCall","src":"4741:23:12"},{"kind":"number","nodeType":"YulLiteral","src":"4766:2:12","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4737:3:12"},"nodeType":"YulFunctionCall","src":"4737:32:12"},"nodeType":"YulIf","src":"4734:52:12"},{"nodeType":"YulVariableDeclaration","src":"4795:29:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4814:9:12"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4808:5:12"},"nodeType":"YulFunctionCall","src":"4808:16:12"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"4799:5:12","type":""}]},{"body":{"nodeType":"YulBlock","src":"4874:16:12","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4883:1:12","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4886:1:12","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4876:6:12"},"nodeType":"YulFunctionCall","src":"4876:12:12"},"nodeType":"YulExpressionStatement","src":"4876:12:12"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4846:5:12"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4857:5:12"},{"kind":"number","nodeType":"YulLiteral","src":"4864:6:12","type":"","value":"0xffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4853:3:12"},"nodeType":"YulFunctionCall","src":"4853:18:12"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4843:2:12"},"nodeType":"YulFunctionCall","src":"4843:29:12"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4836:6:12"},"nodeType":"YulFunctionCall","src":"4836:37:12"},"nodeType":"YulIf","src":"4833:57:12"},{"nodeType":"YulAssignment","src":"4899:15:12","value":{"name":"value","nodeType":"YulIdentifier","src":"4909:5:12"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4899:6:12"}]}]},"name":"abi_decode_tuple_t_uint16_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4690:9:12","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4701:7:12","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4713:6:12","type":""}],"src":"4644:276:12"},{"body":{"nodeType":"YulBlock","src":"4957:95:12","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4974:1:12","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4981:3:12","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"4986:10:12","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4977:3:12"},"nodeType":"YulFunctionCall","src":"4977:20:12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4967:6:12"},"nodeType":"YulFunctionCall","src":"4967:31:12"},"nodeType":"YulExpressionStatement","src":"4967:31:12"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5014:1:12","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"5017:4:12","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5007:6:12"},"nodeType":"YulFunctionCall","src":"5007:15:12"},"nodeType":"YulExpressionStatement","src":"5007:15:12"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5038:1:12","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5041:4:12","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5031:6:12"},"nodeType":"YulFunctionCall","src":"5031:15:12"},"nodeType":"YulExpressionStatement","src":"5031:15:12"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"4925:127:12"},{"body":{"nodeType":"YulBlock","src":"5109:116:12","statements":[{"nodeType":"YulAssignment","src":"5119:20:12","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5134:1:12"},{"name":"y","nodeType":"YulIdentifier","src":"5137:1:12"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"5130:3:12"},"nodeType":"YulFunctionCall","src":"5130:9:12"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"5119:7:12"}]},{"body":{"nodeType":"YulBlock","src":"5197:22:12","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"5199:16:12"},"nodeType":"YulFunctionCall","src":"5199:18:12"},"nodeType":"YulExpressionStatement","src":"5199:18:12"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5168:1:12"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5161:6:12"},"nodeType":"YulFunctionCall","src":"5161:9:12"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"5175:1:12"},{"arguments":[{"name":"product","nodeType":"YulIdentifier","src":"5182:7:12"},{"name":"x","nodeType":"YulIdentifier","src":"5191:1:12"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"5178:3:12"},"nodeType":"YulFunctionCall","src":"5178:15:12"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"5172:2:12"},"nodeType":"YulFunctionCall","src":"5172:22:12"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"5158:2:12"},"nodeType":"YulFunctionCall","src":"5158:37:12"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5151:6:12"},"nodeType":"YulFunctionCall","src":"5151:45:12"},"nodeType":"YulIf","src":"5148:71:12"}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"5088:1:12","type":""},{"name":"y","nodeType":"YulTypedName","src":"5091:1:12","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"5097:7:12","type":""}],"src":"5057:168:12"},{"body":{"nodeType":"YulBlock","src":"5276:171:12","statements":[{"body":{"nodeType":"YulBlock","src":"5307:111:12","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5328:1:12","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5335:3:12","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"5340:10:12","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5331:3:12"},"nodeType":"YulFunctionCall","src":"5331:20:12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5321:6:12"},"nodeType":"YulFunctionCall","src":"5321:31:12"},"nodeType":"YulExpressionStatement","src":"5321:31:12"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5372:1:12","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"5375:4:12","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5365:6:12"},"nodeType":"YulFunctionCall","src":"5365:15:12"},"nodeType":"YulExpressionStatement","src":"5365:15:12"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5400:1:12","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5403:4:12","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5393:6:12"},"nodeType":"YulFunctionCall","src":"5393:15:12"},"nodeType":"YulExpressionStatement","src":"5393:15:12"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"5296:1:12"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5289:6:12"},"nodeType":"YulFunctionCall","src":"5289:9:12"},"nodeType":"YulIf","src":"5286:132:12"},{"nodeType":"YulAssignment","src":"5427:14:12","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5436:1:12"},{"name":"y","nodeType":"YulIdentifier","src":"5439:1:12"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"5432:3:12"},"nodeType":"YulFunctionCall","src":"5432:9:12"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"5427:1:12"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"5261:1:12","type":""},{"name":"y","nodeType":"YulTypedName","src":"5264:1:12","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"5270:1:12","type":""}],"src":"5230:217:12"},{"body":{"nodeType":"YulBlock","src":"5501:79:12","statements":[{"nodeType":"YulAssignment","src":"5511:17:12","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5523:1:12"},{"name":"y","nodeType":"YulIdentifier","src":"5526:1:12"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5519:3:12"},"nodeType":"YulFunctionCall","src":"5519:9:12"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"5511:4:12"}]},{"body":{"nodeType":"YulBlock","src":"5552:22:12","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"5554:16:12"},"nodeType":"YulFunctionCall","src":"5554:18:12"},"nodeType":"YulExpressionStatement","src":"5554:18:12"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"5543:4:12"},{"name":"x","nodeType":"YulIdentifier","src":"5549:1:12"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5540:2:12"},"nodeType":"YulFunctionCall","src":"5540:11:12"},"nodeType":"YulIf","src":"5537:37:12"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"5483:1:12","type":""},{"name":"y","nodeType":"YulTypedName","src":"5486:1:12","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"5492:4:12","type":""}],"src":"5452:128:12"},{"body":{"nodeType":"YulBlock","src":"5666:170:12","statements":[{"body":{"nodeType":"YulBlock","src":"5712:16:12","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5721:1:12","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5724:1:12","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5714:6:12"},"nodeType":"YulFunctionCall","src":"5714:12:12"},"nodeType":"YulExpressionStatement","src":"5714:12:12"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5687:7:12"},{"name":"headStart","nodeType":"YulIdentifier","src":"5696:9:12"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5683:3:12"},"nodeType":"YulFunctionCall","src":"5683:23:12"},{"kind":"number","nodeType":"YulLiteral","src":"5708:2:12","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5679:3:12"},"nodeType":"YulFunctionCall","src":"5679:32:12"},"nodeType":"YulIf","src":"5676:52:12"},{"nodeType":"YulVariableDeclaration","src":"5737:29:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5756:9:12"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5750:5:12"},"nodeType":"YulFunctionCall","src":"5750:16:12"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"5741:5:12","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5800:5:12"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"5775:24:12"},"nodeType":"YulFunctionCall","src":"5775:31:12"},"nodeType":"YulExpressionStatement","src":"5775:31:12"},{"nodeType":"YulAssignment","src":"5815:15:12","value":{"name":"value","nodeType":"YulIdentifier","src":"5825:5:12"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5815:6:12"}]}]},"name":"abi_decode_tuple_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5632:9:12","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5643:7:12","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5655:6:12","type":""}],"src":"5585:251:12"},{"body":{"nodeType":"YulBlock","src":"5970:145:12","statements":[{"nodeType":"YulAssignment","src":"5980:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5992:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"6003:2:12","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5988:3:12"},"nodeType":"YulFunctionCall","src":"5988:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5980:4:12"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6022:9:12"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6037:6:12"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6053:3:12","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"6058:1:12","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6049:3:12"},"nodeType":"YulFunctionCall","src":"6049:11:12"},{"kind":"number","nodeType":"YulLiteral","src":"6062:1:12","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6045:3:12"},"nodeType":"YulFunctionCall","src":"6045:19:12"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6033:3:12"},"nodeType":"YulFunctionCall","src":"6033:32:12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6015:6:12"},"nodeType":"YulFunctionCall","src":"6015:51:12"},"nodeType":"YulExpressionStatement","src":"6015:51:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6086:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"6097:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6082:3:12"},"nodeType":"YulFunctionCall","src":"6082:18:12"},{"name":"value1","nodeType":"YulIdentifier","src":"6102:6:12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6075:6:12"},"nodeType":"YulFunctionCall","src":"6075:34:12"},"nodeType":"YulExpressionStatement","src":"6075:34:12"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5931:9:12","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5942:6:12","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5950:6:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5961:4:12","type":""}],"src":"5841:274:12"},{"body":{"nodeType":"YulBlock","src":"6198:199:12","statements":[{"body":{"nodeType":"YulBlock","src":"6244:16:12","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6253:1:12","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6256:1:12","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6246:6:12"},"nodeType":"YulFunctionCall","src":"6246:12:12"},"nodeType":"YulExpressionStatement","src":"6246:12:12"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6219:7:12"},{"name":"headStart","nodeType":"YulIdentifier","src":"6228:9:12"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6215:3:12"},"nodeType":"YulFunctionCall","src":"6215:23:12"},{"kind":"number","nodeType":"YulLiteral","src":"6240:2:12","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6211:3:12"},"nodeType":"YulFunctionCall","src":"6211:32:12"},"nodeType":"YulIf","src":"6208:52:12"},{"nodeType":"YulVariableDeclaration","src":"6269:29:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6288:9:12"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6282:5:12"},"nodeType":"YulFunctionCall","src":"6282:16:12"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"6273:5:12","type":""}]},{"body":{"nodeType":"YulBlock","src":"6351:16:12","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6360:1:12","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6363:1:12","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6353:6:12"},"nodeType":"YulFunctionCall","src":"6353:12:12"},"nodeType":"YulExpressionStatement","src":"6353:12:12"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6320:5:12"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6341:5:12"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6334:6:12"},"nodeType":"YulFunctionCall","src":"6334:13:12"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6327:6:12"},"nodeType":"YulFunctionCall","src":"6327:21:12"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"6317:2:12"},"nodeType":"YulFunctionCall","src":"6317:32:12"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6310:6:12"},"nodeType":"YulFunctionCall","src":"6310:40:12"},"nodeType":"YulIf","src":"6307:60:12"},{"nodeType":"YulAssignment","src":"6376:15:12","value":{"name":"value","nodeType":"YulIdentifier","src":"6386:5:12"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6376:6:12"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6164:9:12","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6175:7:12","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6187:6:12","type":""}],"src":"6120:277:12"},{"body":{"nodeType":"YulBlock","src":"6531:119:12","statements":[{"nodeType":"YulAssignment","src":"6541:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6553:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"6564:2:12","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6549:3:12"},"nodeType":"YulFunctionCall","src":"6549:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6541:4:12"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6583:9:12"},{"name":"value0","nodeType":"YulIdentifier","src":"6594:6:12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6576:6:12"},"nodeType":"YulFunctionCall","src":"6576:25:12"},"nodeType":"YulExpressionStatement","src":"6576:25:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6621:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"6632:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6617:3:12"},"nodeType":"YulFunctionCall","src":"6617:18:12"},{"name":"value1","nodeType":"YulIdentifier","src":"6637:6:12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6610:6:12"},"nodeType":"YulFunctionCall","src":"6610:34:12"},"nodeType":"YulExpressionStatement","src":"6610:34:12"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6492:9:12","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6503:6:12","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6511:6:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6522:4:12","type":""}],"src":"6402:248:12"},{"body":{"nodeType":"YulBlock","src":"6829:166:12","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6846:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"6857:2:12","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6839:6:12"},"nodeType":"YulFunctionCall","src":"6839:21:12"},"nodeType":"YulExpressionStatement","src":"6839:21:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6880:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"6891:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6876:3:12"},"nodeType":"YulFunctionCall","src":"6876:18:12"},{"kind":"number","nodeType":"YulLiteral","src":"6896:2:12","type":"","value":"16"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6869:6:12"},"nodeType":"YulFunctionCall","src":"6869:30:12"},"nodeType":"YulExpressionStatement","src":"6869:30:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6919:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"6930:2:12","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6915:3:12"},"nodeType":"YulFunctionCall","src":"6915:18:12"},{"hexValue":"414c52454144595f524546554e444544","kind":"string","nodeType":"YulLiteral","src":"6935:18:12","type":"","value":"ALREADY_REFUNDED"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6908:6:12"},"nodeType":"YulFunctionCall","src":"6908:46:12"},"nodeType":"YulExpressionStatement","src":"6908:46:12"},{"nodeType":"YulAssignment","src":"6963:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6975:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"6986:2:12","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6971:3:12"},"nodeType":"YulFunctionCall","src":"6971:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6963:4:12"}]}]},"name":"abi_encode_tuple_t_stringliteral_7ab00cfe800b10dc82fc5541a5da25bcf1584e99371ffc27fd1ca718af83bb84__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6806:9:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6820:4:12","type":""}],"src":"6655:340:12"},{"body":{"nodeType":"YulBlock","src":"7174:161:12","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7191:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"7202:2:12","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7184:6:12"},"nodeType":"YulFunctionCall","src":"7184:21:12"},"nodeType":"YulExpressionStatement","src":"7184:21:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7225:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"7236:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7221:3:12"},"nodeType":"YulFunctionCall","src":"7221:18:12"},{"kind":"number","nodeType":"YulLiteral","src":"7241:2:12","type":"","value":"11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7214:6:12"},"nodeType":"YulFunctionCall","src":"7214:30:12"},"nodeType":"YulExpressionStatement","src":"7214:30:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7264:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"7275:2:12","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7260:3:12"},"nodeType":"YulFunctionCall","src":"7260:18:12"},{"hexValue":"4e4f545f54494d454f5554","kind":"string","nodeType":"YulLiteral","src":"7280:13:12","type":"","value":"NOT_TIMEOUT"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7253:6:12"},"nodeType":"YulFunctionCall","src":"7253:41:12"},"nodeType":"YulExpressionStatement","src":"7253:41:12"},{"nodeType":"YulAssignment","src":"7303:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7315:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"7326:2:12","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7311:3:12"},"nodeType":"YulFunctionCall","src":"7311:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7303:4:12"}]}]},"name":"abi_encode_tuple_t_stringliteral_b251d86be083dc84f03be506b90372c0befae10863aebd9ea097e2ab08ae69dd__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7151:9:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7165:4:12","type":""}],"src":"7000:335:12"},{"body":{"nodeType":"YulBlock","src":"7514:164:12","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7531:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"7542:2:12","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7524:6:12"},"nodeType":"YulFunctionCall","src":"7524:21:12"},"nodeType":"YulExpressionStatement","src":"7524:21:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7565:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"7576:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7561:3:12"},"nodeType":"YulFunctionCall","src":"7561:18:12"},{"kind":"number","nodeType":"YulLiteral","src":"7581:2:12","type":"","value":"14"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7554:6:12"},"nodeType":"YulFunctionCall","src":"7554:30:12"},"nodeType":"YulExpressionStatement","src":"7554:30:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7604:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"7615:2:12","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7600:3:12"},"nodeType":"YulFunctionCall","src":"7600:18:12"},{"hexValue":"414c52454144595f46554e444544","kind":"string","nodeType":"YulLiteral","src":"7620:16:12","type":"","value":"ALREADY_FUNDED"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7593:6:12"},"nodeType":"YulFunctionCall","src":"7593:44:12"},"nodeType":"YulExpressionStatement","src":"7593:44:12"},{"nodeType":"YulAssignment","src":"7646:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7658:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"7669:2:12","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7654:3:12"},"nodeType":"YulFunctionCall","src":"7654:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7646:4:12"}]}]},"name":"abi_encode_tuple_t_stringliteral_5189e2114e79d4db9df2fad423312a08ad735f032a13f38ab147c021741a9855__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7491:9:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7505:4:12","type":""}],"src":"7340:338:12"},{"body":{"nodeType":"YulBlock","src":"7840:218:12","statements":[{"nodeType":"YulAssignment","src":"7850:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7862:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"7873:2:12","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7858:3:12"},"nodeType":"YulFunctionCall","src":"7858:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7850:4:12"}]},{"nodeType":"YulVariableDeclaration","src":"7885:29:12","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7903:3:12","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"7908:1:12","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7899:3:12"},"nodeType":"YulFunctionCall","src":"7899:11:12"},{"kind":"number","nodeType":"YulLiteral","src":"7912:1:12","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7895:3:12"},"nodeType":"YulFunctionCall","src":"7895:19:12"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"7889:2:12","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7930:9:12"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7945:6:12"},{"name":"_1","nodeType":"YulIdentifier","src":"7953:2:12"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7941:3:12"},"nodeType":"YulFunctionCall","src":"7941:15:12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7923:6:12"},"nodeType":"YulFunctionCall","src":"7923:34:12"},"nodeType":"YulExpressionStatement","src":"7923:34:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7977:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"7988:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7973:3:12"},"nodeType":"YulFunctionCall","src":"7973:18:12"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"7997:6:12"},{"name":"_1","nodeType":"YulIdentifier","src":"8005:2:12"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7993:3:12"},"nodeType":"YulFunctionCall","src":"7993:15:12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7966:6:12"},"nodeType":"YulFunctionCall","src":"7966:43:12"},"nodeType":"YulExpressionStatement","src":"7966:43:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8029:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"8040:2:12","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8025:3:12"},"nodeType":"YulFunctionCall","src":"8025:18:12"},{"name":"value2","nodeType":"YulIdentifier","src":"8045:6:12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8018:6:12"},"nodeType":"YulFunctionCall","src":"8018:34:12"},"nodeType":"YulExpressionStatement","src":"8018:34:12"}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7793:9:12","type":""},{"name":"value2","nodeType":"YulTypedName","src":"7804:6:12","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7812:6:12","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7820:6:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7831:4:12","type":""}],"src":"7683:375:12"},{"body":{"nodeType":"YulBlock","src":"8237:160:12","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8254:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"8265:2:12","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8247:6:12"},"nodeType":"YulFunctionCall","src":"8247:21:12"},"nodeType":"YulExpressionStatement","src":"8247:21:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8288:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"8299:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8284:3:12"},"nodeType":"YulFunctionCall","src":"8284:18:12"},{"kind":"number","nodeType":"YulLiteral","src":"8304:2:12","type":"","value":"10"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8277:6:12"},"nodeType":"YulFunctionCall","src":"8277:30:12"},"nodeType":"YulExpressionStatement","src":"8277:30:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8327:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"8338:2:12","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8323:3:12"},"nodeType":"YulFunctionCall","src":"8323:18:12"},{"hexValue":"5a45524f5f4255594552","kind":"string","nodeType":"YulLiteral","src":"8343:12:12","type":"","value":"ZERO_BUYER"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8316:6:12"},"nodeType":"YulFunctionCall","src":"8316:40:12"},"nodeType":"YulExpressionStatement","src":"8316:40:12"},{"nodeType":"YulAssignment","src":"8365:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8377:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"8388:2:12","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8373:3:12"},"nodeType":"YulFunctionCall","src":"8373:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8365:4:12"}]}]},"name":"abi_encode_tuple_t_stringliteral_d577570ccf94435e2de6c4a5bfd146c81963e2ad6fd15c35bf79eacac9a2aeb4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8214:9:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8228:4:12","type":""}],"src":"8063:334:12"},{"body":{"nodeType":"YulBlock","src":"8576:160:12","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8593:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"8604:2:12","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8586:6:12"},"nodeType":"YulFunctionCall","src":"8586:21:12"},"nodeType":"YulExpressionStatement","src":"8586:21:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8627:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"8638:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8623:3:12"},"nodeType":"YulFunctionCall","src":"8623:18:12"},{"kind":"number","nodeType":"YulLiteral","src":"8643:2:12","type":"","value":"10"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8616:6:12"},"nodeType":"YulFunctionCall","src":"8616:30:12"},"nodeType":"YulExpressionStatement","src":"8616:30:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8666:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"8677:2:12","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8662:3:12"},"nodeType":"YulFunctionCall","src":"8662:18:12"},{"hexValue":"5a45524f5f4147454e54","kind":"string","nodeType":"YulLiteral","src":"8682:12:12","type":"","value":"ZERO_AGENT"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8655:6:12"},"nodeType":"YulFunctionCall","src":"8655:40:12"},"nodeType":"YulExpressionStatement","src":"8655:40:12"},{"nodeType":"YulAssignment","src":"8704:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8716:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"8727:2:12","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8712:3:12"},"nodeType":"YulFunctionCall","src":"8712:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8704:4:12"}]}]},"name":"abi_encode_tuple_t_stringliteral_5edb2795144c22ce6ca24b76512d47c79b999bf69905af2ba1ea0385fb566e7e__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8553:9:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8567:4:12","type":""}],"src":"8402:334:12"},{"body":{"nodeType":"YulBlock","src":"8915:161:12","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8932:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"8943:2:12","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8925:6:12"},"nodeType":"YulFunctionCall","src":"8925:21:12"},"nodeType":"YulExpressionStatement","src":"8925:21:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8966:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"8977:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8962:3:12"},"nodeType":"YulFunctionCall","src":"8962:18:12"},{"kind":"number","nodeType":"YulLiteral","src":"8982:2:12","type":"","value":"11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8955:6:12"},"nodeType":"YulFunctionCall","src":"8955:30:12"},"nodeType":"YulExpressionStatement","src":"8955:30:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9005:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"9016:2:12","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9001:3:12"},"nodeType":"YulFunctionCall","src":"9001:18:12"},{"hexValue":"5a45524f5f414d4f554e54","kind":"string","nodeType":"YulLiteral","src":"9021:13:12","type":"","value":"ZERO_AMOUNT"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8994:6:12"},"nodeType":"YulFunctionCall","src":"8994:41:12"},"nodeType":"YulExpressionStatement","src":"8994:41:12"},{"nodeType":"YulAssignment","src":"9044:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9056:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"9067:2:12","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9052:3:12"},"nodeType":"YulFunctionCall","src":"9052:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9044:4:12"}]}]},"name":"abi_encode_tuple_t_stringliteral_ad8e292265788ac5c19f708ed96612bf3229f5fbdf9e1b9b3466c3f5a1b60243__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8892:9:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8906:4:12","type":""}],"src":"8741:335:12"},{"body":{"nodeType":"YulBlock","src":"9255:162:12","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9272:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"9283:2:12","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9265:6:12"},"nodeType":"YulFunctionCall","src":"9265:21:12"},"nodeType":"YulExpressionStatement","src":"9265:21:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9306:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"9317:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9302:3:12"},"nodeType":"YulFunctionCall","src":"9302:18:12"},{"kind":"number","nodeType":"YulLiteral","src":"9322:2:12","type":"","value":"12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9295:6:12"},"nodeType":"YulFunctionCall","src":"9295:30:12"},"nodeType":"YulExpressionStatement","src":"9295:30:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9345:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"9356:2:12","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9341:3:12"},"nodeType":"YulFunctionCall","src":"9341:18:12"},{"hexValue":"4241445f444541444c494e45","kind":"string","nodeType":"YulLiteral","src":"9361:14:12","type":"","value":"BAD_DEADLINE"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9334:6:12"},"nodeType":"YulFunctionCall","src":"9334:42:12"},"nodeType":"YulExpressionStatement","src":"9334:42:12"},{"nodeType":"YulAssignment","src":"9385:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9397:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"9408:2:12","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9393:3:12"},"nodeType":"YulFunctionCall","src":"9393:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9385:4:12"}]}]},"name":"abi_encode_tuple_t_stringliteral_0cbf8f818d240d5cfaf7062c77faf5dec75a2e58baabd1716870d82ee027ce8d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9232:9:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9246:4:12","type":""}],"src":"9081:336:12"},{"body":{"nodeType":"YulBlock","src":"9470:77:12","statements":[{"nodeType":"YulAssignment","src":"9480:16:12","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"9491:1:12"},{"name":"y","nodeType":"YulIdentifier","src":"9494:1:12"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9487:3:12"},"nodeType":"YulFunctionCall","src":"9487:9:12"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"9480:3:12"}]},{"body":{"nodeType":"YulBlock","src":"9519:22:12","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"9521:16:12"},"nodeType":"YulFunctionCall","src":"9521:18:12"},"nodeType":"YulExpressionStatement","src":"9521:18:12"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"9511:1:12"},{"name":"sum","nodeType":"YulIdentifier","src":"9514:3:12"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9508:2:12"},"nodeType":"YulFunctionCall","src":"9508:10:12"},"nodeType":"YulIf","src":"9505:36:12"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"9453:1:12","type":""},{"name":"y","nodeType":"YulTypedName","src":"9456:1:12","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"9462:3:12","type":""}],"src":"9422:125:12"},{"body":{"nodeType":"YulBlock","src":"9726:167:12","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9743:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"9754:2:12","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9736:6:12"},"nodeType":"YulFunctionCall","src":"9736:21:12"},"nodeType":"YulExpressionStatement","src":"9736:21:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9777:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"9788:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9773:3:12"},"nodeType":"YulFunctionCall","src":"9773:18:12"},{"kind":"number","nodeType":"YulLiteral","src":"9793:2:12","type":"","value":"17"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9766:6:12"},"nodeType":"YulFunctionCall","src":"9766:30:12"},"nodeType":"YulExpressionStatement","src":"9766:30:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9816:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"9827:2:12","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9812:3:12"},"nodeType":"YulFunctionCall","src":"9812:18:12"},{"hexValue":"414c52454144595f44454c495645524544","kind":"string","nodeType":"YulLiteral","src":"9832:19:12","type":"","value":"ALREADY_DELIVERED"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9805:6:12"},"nodeType":"YulFunctionCall","src":"9805:47:12"},"nodeType":"YulExpressionStatement","src":"9805:47:12"},{"nodeType":"YulAssignment","src":"9861:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9873:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"9884:2:12","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9869:3:12"},"nodeType":"YulFunctionCall","src":"9869:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9861:4:12"}]}]},"name":"abi_encode_tuple_t_stringliteral_69b5a58ca9c213a5ca2f702ca2c00e26caa409bca046be7033452fe7b315c74c__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9703:9:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9717:4:12","type":""}],"src":"9552:341:12"},{"body":{"nodeType":"YulBlock","src":"10072:158:12","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10089:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"10100:2:12","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10082:6:12"},"nodeType":"YulFunctionCall","src":"10082:21:12"},"nodeType":"YulExpressionStatement","src":"10082:21:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10123:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"10134:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10119:3:12"},"nodeType":"YulFunctionCall","src":"10119:18:12"},{"kind":"number","nodeType":"YulLiteral","src":"10139:1:12","type":"","value":"9"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10112:6:12"},"nodeType":"YulFunctionCall","src":"10112:29:12"},"nodeType":"YulExpressionStatement","src":"10112:29:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10161:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"10172:2:12","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10157:3:12"},"nodeType":"YulFunctionCall","src":"10157:18:12"},{"hexValue":"4e4f545f4147454e54","kind":"string","nodeType":"YulLiteral","src":"10177:11:12","type":"","value":"NOT_AGENT"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10150:6:12"},"nodeType":"YulFunctionCall","src":"10150:39:12"},"nodeType":"YulExpressionStatement","src":"10150:39:12"},{"nodeType":"YulAssignment","src":"10198:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10210:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"10221:2:12","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10206:3:12"},"nodeType":"YulFunctionCall","src":"10206:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10198:4:12"}]}]},"name":"abi_encode_tuple_t_stringliteral_497353054b8aaf467e1467445993a7540100e465c9d4ad766c3377a3c173bf69__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10049:9:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10063:4:12","type":""}],"src":"9898:332:12"},{"body":{"nodeType":"YulBlock","src":"10336:76:12","statements":[{"nodeType":"YulAssignment","src":"10346:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10358:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"10369:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10354:3:12"},"nodeType":"YulFunctionCall","src":"10354:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10346:4:12"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10388:9:12"},{"name":"value0","nodeType":"YulIdentifier","src":"10399:6:12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10381:6:12"},"nodeType":"YulFunctionCall","src":"10381:25:12"},"nodeType":"YulExpressionStatement","src":"10381:25:12"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10305:9:12","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10316:6:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10327:4:12","type":""}],"src":"10235:177:12"}]},"contents":"{\n { }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_tuple_t_address_t_address_t_uint256_t_uint256_t_bool_t_bool_t_bool_t_bool_t_bytes32__to_t_address_t_address_t_uint256_t_uint256_t_bool_t_bool_t_bool_t_bool_t_bytes32__fromStack_reversed(headStart, value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 288)\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n mstore(add(headStart, 128), iszero(iszero(value4)))\n mstore(add(headStart, 160), iszero(iszero(value5)))\n mstore(add(headStart, 192), iszero(iszero(value6)))\n mstore(add(headStart, 224), iszero(iszero(value7)))\n mstore(add(headStart, 256), value8)\n }\n function abi_encode_tuple_t_contract$_IERC20Minimal_$154__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function validator_revert_address(value)\n {\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_addresst_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_address(value_1)\n value1 := value_1\n value2 := calldataload(add(headStart, 64))\n value3 := calldataload(add(headStart, 96))\n }\n function abi_encode_tuple_t_contract$_IFeeManager_$165__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_decode_tuple_t_uint256t_bytes32(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_tuple_t_stringliteral_731f33b295e233aefb9dcf3c9c3b0c5adc598e2caa884e11471cca058d3bf720__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 9)\n mstore(add(headStart, 64), \"NO_ESCROW\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_dcf476ff17a7ebd9cbcc4b84f5f8c6762a17e3a81eefc2604e134712a8320495__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 10)\n mstore(add(headStart, 64), \"NOT_FUNDED\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_3975a5700b323adfdb3c776a82af2bc693a554230b1f095d462d5f7cbcbe16ab__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 13)\n mstore(add(headStart, 64), \"NOT_DELIVERED\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_d3aad24f34896c938a64eb4dbab258c214e25deb98195125480ea4fb0e38c65a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 16)\n mstore(add(headStart, 64), \"ALREADY_RELEASED\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_0ae202c5d1ff9dcd4329d24acbf3bddff6279ad182d19d899440adb36d927795__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 8)\n mstore(add(headStart, 64), \"REFUNDED\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_569a09ac82f8b56ba3fe6fdf0989c223cb884a2e7e3848ac92374edb56fa2000__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 9)\n mstore(add(headStart, 64), \"NOT_BUYER\")\n tail := add(headStart, 96)\n }\n function abi_decode_tuple_t_uint16_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n if iszero(eq(value, and(value, 0xffff))) { revert(0, 0) }\n value0 := value\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n product := mul(x, y)\n if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n }\n function checked_div_t_uint256(x, y) -> r\n {\n if iszero(y)\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n r := div(x, y)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_address(value)\n value0 := value\n }\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\n }\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n value0 := value\n }\n function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_stringliteral_7ab00cfe800b10dc82fc5541a5da25bcf1584e99371ffc27fd1ca718af83bb84__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 16)\n mstore(add(headStart, 64), \"ALREADY_REFUNDED\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_b251d86be083dc84f03be506b90372c0befae10863aebd9ea097e2ab08ae69dd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 11)\n mstore(add(headStart, 64), \"NOT_TIMEOUT\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_5189e2114e79d4db9df2fad423312a08ad735f032a13f38ab147c021741a9855__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 14)\n mstore(add(headStart, 64), \"ALREADY_FUNDED\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n tail := add(headStart, 96)\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), value2)\n }\n function abi_encode_tuple_t_stringliteral_d577570ccf94435e2de6c4a5bfd146c81963e2ad6fd15c35bf79eacac9a2aeb4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 10)\n mstore(add(headStart, 64), \"ZERO_BUYER\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_5edb2795144c22ce6ca24b76512d47c79b999bf69905af2ba1ea0385fb566e7e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 10)\n mstore(add(headStart, 64), \"ZERO_AGENT\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_ad8e292265788ac5c19f708ed96612bf3229f5fbdf9e1b9b3466c3f5a1b60243__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 11)\n mstore(add(headStart, 64), \"ZERO_AMOUNT\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_0cbf8f818d240d5cfaf7062c77faf5dec75a2e58baabd1716870d82ee027ce8d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 12)\n mstore(add(headStart, 64), \"BAD_DEADLINE\")\n tail := add(headStart, 96)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_stringliteral_69b5a58ca9c213a5ca2f702ca2c00e26caa409bca046be7033452fe7b315c74c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 17)\n mstore(add(headStart, 64), \"ALREADY_DELIVERED\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_497353054b8aaf467e1467445993a7540100e465c9d4ad766c3377a3c173bf69__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 9)\n mstore(add(headStart, 64), \"NOT_AGENT\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n}","id":12,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"187":[{"length":32,"start":382},{"length":32,"start":1358},{"length":32,"start":1512},{"length":32,"start":2068},{"length":32,"start":2471}],"190":[{"length":32,"start":525},{"length":32,"start":1020},{"length":32,"start":1184}]},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100935760003560e01c8063675ac67a11610066578063675ac67a146101cb578063ca1d209d146101e2578063ccbae5f6146101f5578063d0fb020314610208578063d8dc8c281461022f57600080fd5b8063012f52ee1461009857806319b05f49146101645780633e413bee146101795780635f789edb146101b8575b600080fd5b61010a6100a6366004610e90565b60016020819052600091825260409091208054918101546002820154600383015460048401546005909401546001600160a01b0395861695909316939192909160ff8082169261010083048216926201000081048316926301000000909104169089565b604080516001600160a01b039a8b1681529990981660208a01529688019590955260608701939093529015156080860152151560a0850152151560c0840152151560e0830152610100820152610120015b60405180910390f35b610177610172366004610e90565b610242565b005b6101a07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161015b565b6101776101c6366004610e90565b61069a565b6101d460005481565b60405190815260200161015b565b6101776101f0366004610e90565b6108b1565b6101d4610203366004610ec1565b610a55565b6101a07f000000000000000000000000000000000000000000000000000000000000000081565b61017761023d366004610f07565b610d48565b600081815260016020526040902080546001600160a01b03166102805760405162461bcd60e51b815260040161027790610f29565b60405180910390fd5b600481015460ff166102a45760405162461bcd60e51b815260040161027790610f4c565b6004810154610100900460ff166102ed5760405162461bcd60e51b815260206004820152600d60248201526c1393d517d11153125591549151609a1b6044820152606401610277565b600481015462010000900460ff161561033b5760405162461bcd60e51b815260206004820152601060248201526f1053149150511657d49153115054d15160821b6044820152606401610277565b60048101546301000000900460ff16156103825760405162461bcd60e51b8152602060048201526008602482015267149151955391115160c21b6044820152606401610277565b80546001600160a01b031633146103c75760405162461bcd60e51b81526020600482015260096024820152682727aa2fa12aaca2a960b91b6044820152606401610277565b6004808201805462ff0000191662010000179055604080516324a9d85360e01b81529051600092612710926001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016926324a9d853928281019260209291908290030181865afa158015610445573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104699190610f70565b61ffff16836002015461047c9190610fb1565b6104869190610fce565b9050600081836002015461049a9190610ff0565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166361d027b36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105209190611003565b905082156105bd5760405163a9059cbb60e01b81526001600160a01b038281166004830152602482018590527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015610597573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105bb9190611020565b505b600184015460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018490527f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303816000875af1158015610633573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106579190611020565b50604080518481526020810184905286917fc38bb5c166e54eae7908734f28ecb2a4416e09b298c0e80278340ad887184887910160405180910390a25050505050565b600081815260016020526040902080546001600160a01b03166106cf5760405162461bcd60e51b815260040161027790610f29565b600481015460ff166106f35760405162461bcd60e51b815260040161027790610f4c565b600481015462010000900460ff16156107415760405162461bcd60e51b815260206004820152601060248201526f1053149150511657d49153115054d15160821b6044820152606401610277565b60048101546301000000900460ff16156107905760405162461bcd60e51b815260206004820152601060248201526f1053149150511657d49151955391115160821b6044820152606401610277565b806003015442116107d15760405162461bcd60e51b815260206004820152600b60248201526a1393d517d512535153d55560aa1b6044820152606401610277565b6004818101805463ff000000191663010000001790558154600283015460405163a9059cbb60e01b81526001600160a01b039283169381019390935260248301527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af115801561085d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108819190611020565b5060405182907f2babb5cd458b6d41108d6d793a75e29ca524e7caa20e2da6c994462010920a7290600090a25050565b600081815260016020526040902080546001600160a01b03166108e65760405162461bcd60e51b815260040161027790610f29565b600481015460ff161561092c5760405162461bcd60e51b815260206004820152600e60248201526d1053149150511657d1955391115160921b6044820152606401610277565b60048101546301000000900460ff16156109735760405162461bcd60e51b8152602060048201526008602482015267149151955391115160c21b6044820152606401610277565b805460028201546040516323b872dd60e01b81526001600160a01b03928316600482015230602482015260448101919091527f0000000000000000000000000000000000000000000000000000000000000000909116906323b872dd906064016020604051808303816000875af11580156109f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a169190611020565b5060048101805460ff1916600117905560405182907f3b4f5a74452cddb80ae5a0d279eb7db6afd5e556e72ca2883016b1da7c9d211690600090a25050565b60006001600160a01b038516610a9a5760405162461bcd60e51b815260206004820152600a6024820152692d22a927afa12aaca2a960b11b6044820152606401610277565b6001600160a01b038416610add5760405162461bcd60e51b815260206004820152600a60248201526916915493d7d051d1539560b21b6044820152606401610277565b60008311610b1b5760405162461bcd60e51b815260206004820152600b60248201526a16915493d7d05353d5539560aa1b6044820152606401610277565b428211610b595760405162461bcd60e51b815260206004820152600c60248201526b4241445f444541444c494e4560a01b6044820152606401610277565b6001600080828254610b6b9190611042565b92505081905550600080549050604051806101200160405280876001600160a01b03168152602001866001600160a01b031681526020018581526020018481526020016000151581526020016000151581526020016000151581526020016000151581526020016000801b8152506001600083815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160010160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550604082015181600201556060820151816003015560808201518160040160006101000a81548160ff02191690831515021790555060a08201518160040160016101000a81548160ff02191690831515021790555060c08201518160040160026101000a81548160ff02191690831515021790555060e08201518160040160036101000a81548160ff0219169083151502179055506101008201518160050155905050846001600160a01b0316866001600160a01b0316827f59e4b8728799382406714f1c57de5c893d2772f9a8bf9950c5afe4397e6486548787604051610d37929190918252602082015260400190565b60405180910390a495945050505050565b600082815260016020526040902080546001600160a01b0316610d7d5760405162461bcd60e51b815260040161027790610f29565b600481015460ff16610da15760405162461bcd60e51b815260040161027790610f4c565b6004810154610100900460ff1615610def5760405162461bcd60e51b81526020600482015260116024820152701053149150511657d11153125591549151607a1b6044820152606401610277565b60018101546001600160a01b03163314610e375760405162461bcd60e51b81526020600482015260096024820152681393d517d051d1539560ba1b6044820152606401610277565b60048101805461ff0019166101001790556005810182905560405183907f8853009c985857f833cf474baf9bee52eda8a1e3ee4af346c5722d1eb1b0a29090610e839085815260200190565b60405180910390a2505050565b600060208284031215610ea257600080fd5b5035919050565b6001600160a01b0381168114610ebe57600080fd5b50565b60008060008060808587031215610ed757600080fd5b8435610ee281610ea9565b93506020850135610ef281610ea9565b93969395505050506040820135916060013590565b60008060408385031215610f1a57600080fd5b50508035926020909101359150565b6020808252600990820152684e4f5f455343524f5760b81b604082015260600190565b6020808252600a90820152691393d517d1955391115160b21b604082015260600190565b600060208284031215610f8257600080fd5b815161ffff81168114610f9457600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610fc857610fc8610f9b565b92915050565b600082610feb57634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610fc857610fc8610f9b565b60006020828403121561101557600080fd5b8151610f9481610ea9565b60006020828403121561103257600080fd5b81518015158114610f9457600080fd5b80820180821115610fc857610fc8610f9b56fea264697066735822122072b51f00b68be86ff39358a1e9d1aad58f846c9fb92f91c0b27add51ff20bdf664736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x93 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x675AC67A GT PUSH2 0x66 JUMPI DUP1 PUSH4 0x675AC67A EQ PUSH2 0x1CB JUMPI DUP1 PUSH4 0xCA1D209D EQ PUSH2 0x1E2 JUMPI DUP1 PUSH4 0xCCBAE5F6 EQ PUSH2 0x1F5 JUMPI DUP1 PUSH4 0xD0FB0203 EQ PUSH2 0x208 JUMPI DUP1 PUSH4 0xD8DC8C28 EQ PUSH2 0x22F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x12F52EE EQ PUSH2 0x98 JUMPI DUP1 PUSH4 0x19B05F49 EQ PUSH2 0x164 JUMPI DUP1 PUSH4 0x3E413BEE EQ PUSH2 0x179 JUMPI DUP1 PUSH4 0x5F789EDB EQ PUSH2 0x1B8 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x10A PUSH2 0xA6 CALLDATASIZE PUSH1 0x4 PUSH2 0xE90 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 DUP1 SLOAD SWAP2 DUP2 ADD SLOAD PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x3 DUP4 ADD SLOAD PUSH1 0x4 DUP5 ADD SLOAD PUSH1 0x5 SWAP1 SWAP5 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 DUP7 AND SWAP6 SWAP1 SWAP4 AND SWAP4 SWAP2 SWAP3 SWAP1 SWAP2 PUSH1 0xFF DUP1 DUP3 AND SWAP3 PUSH2 0x100 DUP4 DIV DUP3 AND SWAP3 PUSH3 0x10000 DUP2 DIV DUP4 AND SWAP3 PUSH4 0x1000000 SWAP1 SWAP2 DIV AND SWAP1 DUP10 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP11 DUP12 AND DUP2 MSTORE SWAP10 SWAP1 SWAP9 AND PUSH1 0x20 DUP11 ADD MSTORE SWAP7 DUP9 ADD SWAP6 SWAP1 SWAP6 MSTORE PUSH1 0x60 DUP8 ADD SWAP4 SWAP1 SWAP4 MSTORE SWAP1 ISZERO ISZERO PUSH1 0x80 DUP7 ADD MSTORE ISZERO ISZERO PUSH1 0xA0 DUP6 ADD MSTORE ISZERO ISZERO PUSH1 0xC0 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0xE0 DUP4 ADD MSTORE PUSH2 0x100 DUP3 ADD MSTORE PUSH2 0x120 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x177 PUSH2 0x172 CALLDATASIZE PUSH1 0x4 PUSH2 0xE90 JUMP JUMPDEST PUSH2 0x242 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1A0 PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x15B JUMP JUMPDEST PUSH2 0x177 PUSH2 0x1C6 CALLDATASIZE PUSH1 0x4 PUSH2 0xE90 JUMP JUMPDEST PUSH2 0x69A JUMP JUMPDEST PUSH2 0x1D4 PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x15B JUMP JUMPDEST PUSH2 0x177 PUSH2 0x1F0 CALLDATASIZE PUSH1 0x4 PUSH2 0xE90 JUMP JUMPDEST PUSH2 0x8B1 JUMP JUMPDEST PUSH2 0x1D4 PUSH2 0x203 CALLDATASIZE PUSH1 0x4 PUSH2 0xEC1 JUMP JUMPDEST PUSH2 0xA55 JUMP JUMPDEST PUSH2 0x1A0 PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH2 0x177 PUSH2 0x23D CALLDATASIZE PUSH1 0x4 PUSH2 0xF07 JUMP JUMPDEST PUSH2 0xD48 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x280 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x277 SWAP1 PUSH2 0xF29 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0xFF AND PUSH2 0x2A4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x277 SWAP1 PUSH2 0xF4C JUMP JUMPDEST PUSH1 0x4 DUP2 ADD SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND PUSH2 0x2ED JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x1393D517D11153125591549151 PUSH1 0x9A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x277 JUMP JUMPDEST PUSH1 0x4 DUP2 ADD SLOAD PUSH3 0x10000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x33B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x1053149150511657D49153115054D151 PUSH1 0x82 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x277 JUMP JUMPDEST PUSH1 0x4 DUP2 ADD SLOAD PUSH4 0x1000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x382 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x8 PUSH1 0x24 DUP3 ADD MSTORE PUSH8 0x1491519553911151 PUSH1 0xC2 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x277 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x3C7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x9 PUSH1 0x24 DUP3 ADD MSTORE PUSH9 0x2727AA2FA12AACA2A9 PUSH1 0xB9 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x277 JUMP JUMPDEST PUSH1 0x4 DUP1 DUP3 ADD DUP1 SLOAD PUSH3 0xFF0000 NOT AND PUSH3 0x10000 OR SWAP1 SSTORE PUSH1 0x40 DUP1 MLOAD PUSH4 0x24A9D853 PUSH1 0xE0 SHL DUP2 MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH2 0x2710 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND SWAP3 PUSH4 0x24A9D853 SWAP3 DUP3 DUP2 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x445 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x469 SWAP2 SWAP1 PUSH2 0xF70 JUMP JUMPDEST PUSH2 0xFFFF AND DUP4 PUSH1 0x2 ADD SLOAD PUSH2 0x47C SWAP2 SWAP1 PUSH2 0xFB1 JUMP JUMPDEST PUSH2 0x486 SWAP2 SWAP1 PUSH2 0xFCE JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 DUP4 PUSH1 0x2 ADD SLOAD PUSH2 0x49A SWAP2 SWAP1 PUSH2 0xFF0 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x61D027B3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x4FC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x520 SWAP2 SWAP1 PUSH2 0x1003 JUMP JUMPDEST SWAP1 POP DUP3 ISZERO PUSH2 0x5BD JUMPI PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 DUP3 ADD DUP6 SWAP1 MSTORE PUSH32 0x0 AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x597 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x5BB SWAP2 SWAP1 PUSH2 0x1020 JUMP JUMPDEST POP JUMPDEST PUSH1 0x1 DUP5 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP5 SWAP1 MSTORE PUSH32 0x0 SWAP1 SWAP2 AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x633 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x657 SWAP2 SWAP1 PUSH2 0x1020 JUMP JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP5 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 SWAP1 MSTORE DUP7 SWAP2 PUSH32 0xC38BB5C166E54EAE7908734F28ECB2A4416E09B298C0E80278340AD887184887 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x6CF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x277 SWAP1 PUSH2 0xF29 JUMP JUMPDEST PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0xFF AND PUSH2 0x6F3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x277 SWAP1 PUSH2 0xF4C JUMP JUMPDEST PUSH1 0x4 DUP2 ADD SLOAD PUSH3 0x10000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x741 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x1053149150511657D49153115054D151 PUSH1 0x82 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x277 JUMP JUMPDEST PUSH1 0x4 DUP2 ADD SLOAD PUSH4 0x1000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x790 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x1053149150511657D491519553911151 PUSH1 0x82 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x277 JUMP JUMPDEST DUP1 PUSH1 0x3 ADD SLOAD TIMESTAMP GT PUSH2 0x7D1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xB PUSH1 0x24 DUP3 ADD MSTORE PUSH11 0x1393D517D512535153D555 PUSH1 0xAA SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x277 JUMP JUMPDEST PUSH1 0x4 DUP2 DUP2 ADD DUP1 SLOAD PUSH4 0xFF000000 NOT AND PUSH4 0x1000000 OR SWAP1 SSTORE DUP2 SLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND SWAP4 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x24 DUP4 ADD MSTORE PUSH32 0x0 AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x85D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x881 SWAP2 SWAP1 PUSH2 0x1020 JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP3 SWAP1 PUSH32 0x2BABB5CD458B6D41108D6D793A75E29CA524E7CAA20E2DA6C994462010920A72 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x8E6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x277 SWAP1 PUSH2 0xF29 JUMP JUMPDEST PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x92C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x1053149150511657D19553911151 PUSH1 0x92 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x277 JUMP JUMPDEST PUSH1 0x4 DUP2 ADD SLOAD PUSH4 0x1000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x973 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x8 PUSH1 0x24 DUP3 ADD MSTORE PUSH8 0x1491519553911151 PUSH1 0xC2 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x277 JUMP JUMPDEST DUP1 SLOAD PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x23B872DD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE ADDRESS PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH32 0x0 SWAP1 SWAP2 AND SWAP1 PUSH4 0x23B872DD SWAP1 PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x9F2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA16 SWAP2 SWAP1 PUSH2 0x1020 JUMP JUMPDEST POP PUSH1 0x4 DUP2 ADD DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH1 0x40 MLOAD DUP3 SWAP1 PUSH32 0x3B4F5A74452CDDB80AE5A0D279EB7DB6AFD5E556E72CA2883016B1DA7C9D2116 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0xA9A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH10 0x2D22A927AFA12AACA2A9 PUSH1 0xB1 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x277 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0xADD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH10 0x16915493D7D051D15395 PUSH1 0xB2 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x277 JUMP JUMPDEST PUSH1 0x0 DUP4 GT PUSH2 0xB1B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xB PUSH1 0x24 DUP3 ADD MSTORE PUSH11 0x16915493D7D05353D55395 PUSH1 0xAA SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x277 JUMP JUMPDEST TIMESTAMP DUP3 GT PUSH2 0xB59 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xC PUSH1 0x24 DUP3 ADD MSTORE PUSH12 0x4241445F444541444C494E45 PUSH1 0xA0 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x277 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0xB6B SWAP2 SWAP1 PUSH2 0x1042 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x0 DUP1 SLOAD SWAP1 POP PUSH1 0x40 MLOAD DUP1 PUSH2 0x120 ADD PUSH1 0x40 MSTORE DUP1 DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP6 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP1 SHL DUP2 MSTORE POP PUSH1 0x1 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB MUL NOT AND SWAP1 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB MUL NOT AND SWAP1 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SSTORE PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x3 ADD SSTORE PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x4 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0xA0 DUP3 ADD MLOAD DUP2 PUSH1 0x4 ADD PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0xC0 DUP3 ADD MLOAD DUP2 PUSH1 0x4 ADD PUSH1 0x2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0xE0 DUP3 ADD MLOAD DUP2 PUSH1 0x4 ADD PUSH1 0x3 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH2 0x100 DUP3 ADD MLOAD DUP2 PUSH1 0x5 ADD SSTORE SWAP1 POP POP DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH32 0x59E4B8728799382406714F1C57DE5C893D2772F9A8BF9950C5AFE4397E648654 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH2 0xD37 SWAP3 SWAP2 SWAP1 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xD7D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x277 SWAP1 PUSH2 0xF29 JUMP JUMPDEST PUSH1 0x4 DUP2 ADD SLOAD PUSH1 0xFF AND PUSH2 0xDA1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x277 SWAP1 PUSH2 0xF4C JUMP JUMPDEST PUSH1 0x4 DUP2 ADD SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xDEF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x11 PUSH1 0x24 DUP3 ADD MSTORE PUSH17 0x1053149150511657D11153125591549151 PUSH1 0x7A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x277 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xE37 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x9 PUSH1 0x24 DUP3 ADD MSTORE PUSH9 0x1393D517D051D15395 PUSH1 0xBA SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x277 JUMP JUMPDEST PUSH1 0x4 DUP2 ADD DUP1 SLOAD PUSH2 0xFF00 NOT AND PUSH2 0x100 OR SWAP1 SSTORE PUSH1 0x5 DUP2 ADD DUP3 SWAP1 SSTORE PUSH1 0x40 MLOAD DUP4 SWAP1 PUSH32 0x8853009C985857F833CF474BAF9BEE52EDA8A1E3EE4AF346C5722D1EB1B0A290 SWAP1 PUSH2 0xE83 SWAP1 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xEA2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xEBE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xED7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0xEE2 DUP2 PUSH2 0xEA9 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0xEF2 DUP2 PUSH2 0xEA9 JUMP JUMPDEST SWAP4 SWAP7 SWAP4 SWAP6 POP POP POP POP PUSH1 0x40 DUP3 ADD CALLDATALOAD SWAP2 PUSH1 0x60 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xF1A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x9 SWAP1 DUP3 ADD MSTORE PUSH9 0x4E4F5F455343524F57 PUSH1 0xB8 SHL PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xA SWAP1 DUP3 ADD MSTORE PUSH10 0x1393D517D19553911151 PUSH1 0xB2 SHL PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF82 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0xFFFF DUP2 AND DUP2 EQ PUSH2 0xF94 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xFC8 JUMPI PUSH2 0xFC8 PUSH2 0xF9B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0xFEB JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xFC8 JUMPI PUSH2 0xFC8 PUSH2 0xF9B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1015 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0xF94 DUP2 PUSH2 0xEA9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1032 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xF94 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xFC8 JUMPI PUSH2 0xFC8 PUSH2 0xF9B JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH19 0xB51F00B68BE86FF39358A1E9D1AAD58F846C9F 0xB9 0x2F SWAP2 0xC0 0xB2 PUSH27 0xDD51FF20BDF664736F6C6343000814003300000000000000000000 ","sourceMap":"393:3920:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;783:41;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;783:41:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;602:15:12;;;584:34;;654:15;;;;649:2;634:18;;627:43;686:18;;;679:34;;;;744:2;729:18;;722:34;;;;800:14;;793:22;787:3;772:19;;765:51;860:14;853:22;564:3;832:19;;825:51;920:14;913:22;907:3;892:19;;885:51;980:14;973:22;967:3;952:19;;945:51;1027:3;1012:19;;1005:35;533:3;518:19;783:41:2;;;;;;;;3107:727;;;;;;:::i;:::-;;:::i;:::-;;664:35;;;;;;;;-1:-1:-1;;;;;1236:32:12;;;1218:51;;1206:2;1191:18;664:35:2;1051:224:12;3840:471:2;;;;;;:::i;:::-;;:::i;751:26::-;;;;;;;;;1426:25:12;;;1414:2;1399:18;751:26:2;1280:177:12;2289:358:2;;;;;;:::i;:::-;;:::i;1480:803::-;;;;;;:::i;:::-;;:::i;705:39::-;;;;;2653:448;;;;;;:::i;:::-;;:::i;3107:727::-;3160:16;3179:17;;;:7;:17;;;;;3214:7;;-1:-1:-1;;;;;3214:7:2;3206:43;;;;-1:-1:-1;;;3206:43:2;;;;;;;:::i;:::-;;;;;;;;;3267:8;;;;;;3259:31;;;;-1:-1:-1;;;3259:31:2;;;;;;;:::i;:::-;3308:11;;;;;;;;;3300:37;;;;-1:-1:-1;;;3300:37:2;;3486:2:12;3300:37:2;;;3468:21:12;3525:2;3505:18;;;3498:30;-1:-1:-1;;;3544:18:12;;;3537:43;3597:18;;3300:37:2;3284:337:12;3300:37:2;3356:10;;;;;;;;;3355:11;3347:40;;;;-1:-1:-1;;;3347:40:2;;3828:2:12;3347:40:2;;;3810:21:12;3867:2;3847:18;;;3840:30;-1:-1:-1;;;3886:18:12;;;3879:46;3942:18;;3347:40:2;3626:340:12;3347:40:2;3406:10;;;;;;;;;3405:11;3397:32;;;;-1:-1:-1;;;3397:32:2;;4173:2:12;3397:32:2;;;4155:21:12;4212:1;4192:18;;;4185:29;-1:-1:-1;;;4230:18:12;;;4223:38;4278:18;;3397:32:2;3971:331:12;3397:32:2;3461:7;;-1:-1:-1;;;;;3461:7:2;3447:10;:21;3439:43;;;;-1:-1:-1;;;3439:43:2;;4509:2:12;3439:43:2;;;4491:21:12;4548:1;4528:18;;;4521:29;-1:-1:-1;;;4566:18:12;;;4559:39;4615:18;;3439:43:2;4307:332:12;3439:43:2;3493:10;;;;:17;;-1:-1:-1;;3493:17:2;;;;;3547:19;;;-1:-1:-1;;;3547:19:2;;;;3493:17;;3570:6;;-1:-1:-1;;;;;3547:10:2;:17;;;;:19;;;;;;;;;;;;;:17;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3536:30;;:1;:8;;;:30;;;;:::i;:::-;3535:41;;;;:::i;:::-;3521:55;;3586:11;3611:3;3600:1;:8;;;:14;;;;:::i;:::-;3586:28;;3625:16;3644:10;-1:-1:-1;;;;;3644:19:2;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3625:40;-1:-1:-1;3679:7:2;;3675:66;;3702:28;;-1:-1:-1;;;3702:28:2;;-1:-1:-1;;;;;6033:32:12;;;3702:28:2;;;6015:51:12;6082:18;;;6075:34;;;3702:4:2;:13;;;;5988:18:12;;3702:28:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3675:66;3764:7;;;;3750:27;;-1:-1:-1;;;3750:27:2;;-1:-1:-1;;;;;3764:7:2;;;3750:27;;;6015:51:12;6082:18;;;6075:34;;;3750:4:2;:13;;;;;;5988:18:12;;3750:27:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;3793:34:2;;;6576:25:12;;;6632:2;6617:18;;6610:34;;;3808:8:2;;3793:34;;6549:18:12;3793:34:2;;;;;;;3150:684;;;;3107:727;:::o;3840:471::-;3902:16;3921:17;;;:7;:17;;;;;3956:7;;-1:-1:-1;;;;;3956:7:2;3948:43;;;;-1:-1:-1;;;3948:43:2;;;;;;;:::i;:::-;4009:8;;;;;;4001:31;;;;-1:-1:-1;;;4001:31:2;;;;;;;:::i;:::-;4051:10;;;;;;;;;4050:11;4042:40;;;;-1:-1:-1;;;4042:40:2;;3828:2:12;4042:40:2;;;3810:21:12;3867:2;3847:18;;;3840:30;-1:-1:-1;;;3886:18:12;;;3879:46;3942:18;;4042:40:2;3626:340:12;4042:40:2;4101:10;;;;;;;;;4100:11;4092:40;;;;-1:-1:-1;;;4092:40:2;;6857:2:12;4092:40:2;;;6839:21:12;6896:2;6876:18;;;6869:30;-1:-1:-1;;;6915:18:12;;;6908:46;6971:18;;4092:40:2;6655:340:12;4092:40:2;4168:1;:10;;;4150:15;:28;4142:52;;;;-1:-1:-1;;;4142:52:2;;7202:2:12;4142:52:2;;;7184:21:12;7241:2;7221:18;;;7214:30;-1:-1:-1;;;7260:18:12;;;7253:41;7311:18;;4142:52:2;7000:335:12;4142:52:2;4205:10;;;;:17;;-1:-1:-1;;4205:17:2;;;;;4246:7;;4255:8;;;;4232:32;;-1:-1:-1;;;4232:32:2;;-1:-1:-1;;;;;4246:7:2;;;4232:32;;;6015:51:12;;;;6082:18;;;6075:34;4232:4:2;:13;;;;5988:18:12;;4232:32:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;4280:24:2;;4295:8;;4280:24;;;;;3892:419;3840:471;:::o;2289:358::-;2340:16;2359:17;;;:7;:17;;;;;2394:7;;-1:-1:-1;;;;;2394:7:2;2386:43;;;;-1:-1:-1;;;2386:43:2;;;;;;;:::i;:::-;2448:8;;;;;;2447:9;2439:36;;;;-1:-1:-1;;;2439:36:2;;7542:2:12;2439:36:2;;;7524:21:12;7581:2;7561:18;;;7554:30;-1:-1:-1;;;7600:18:12;;;7593:44;7654:18;;2439:36:2;7340:338:12;2439:36:2;2494:10;;;;;;;;;2493:11;2485:32;;;;-1:-1:-1;;;2485:32:2;;4173:2:12;2485:32:2;;;4155:21:12;4212:1;4192:18;;;4185:29;-1:-1:-1;;;4230:18:12;;;4223:38;4278:18;;2485:32:2;3971:331:12;2485:32:2;2545:7;;2569:8;;;;2527:51;;-1:-1:-1;;;2527:51:2;;-1:-1:-1;;;;;2545:7:2;;;2527:51;;;7923:34:12;2562:4:2;7973:18:12;;;7966:43;8025:18;;;8018:34;;;;2527:4:2;:17;;;;;;7858:18:12;;2527:51:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2588:8:2;;;:15;;-1:-1:-1;;2588:15:2;2599:4;2588:15;;;2618:22;;2631:8;;2618:22;;2588:8;;2618:22;2330:317;2289:358;:::o;1480:803::-;1582:7;-1:-1:-1;;;;;1609:19:2;;1601:42;;;;-1:-1:-1;;;1601:42:2;;8265:2:12;1601:42:2;;;8247:21:12;8304:2;8284:18;;;8277:30;-1:-1:-1;;;8323:18:12;;;8316:40;8373:18;;1601:42:2;8063:334:12;1601:42:2;-1:-1:-1;;;;;1661:19:2;;1653:42;;;;-1:-1:-1;;;1653:42:2;;8604:2:12;1653:42:2;;;8586:21:12;8643:2;8623:18;;;8616:30;-1:-1:-1;;;8662:18:12;;;8655:40;8712:18;;1653:42:2;8402:334:12;1653:42:2;1722:1;1713:6;:10;1705:34;;;;-1:-1:-1;;;1705:34:2;;8943:2:12;1705:34:2;;;8925:21:12;8982:2;8962:18;;;8955:30;-1:-1:-1;;;9001:18:12;;;8994:41;9052:18;;1705:34:2;8741:335:12;1705:34:2;1768:15;1757:8;:26;1749:51;;;;-1:-1:-1;;;1749:51:2;;9283:2:12;1749:51:2;;;9265:21:12;9322:2;9302:18;;;9295:30;-1:-1:-1;;;9341:18:12;;;9334:42;9393:18;;1749:51:2;9081:336:12;1749:51:2;1826:1;1811:11;;:16;;;;;;;:::i;:::-;;;;;;;;1837;1856:11;;1837:30;;1897:283;;;;;;;;1925:5;-1:-1:-1;;;;;1897:283:2;;;;;1951:5;-1:-1:-1;;;;;1897:283:2;;;;;1978:6;1897:283;;;;2008:8;1897:283;;;;2038:5;1897:283;;;;;;2068:5;1897:283;;;;;;2097:5;1897:283;;;;;;2126:5;1897:283;;;;;;2167:1;2159:10;;1897:283;;;1877:7;:17;1885:8;1877:17;;;;;;;;;;;:303;;;;;;;;;;;;;-1:-1:-1;;;;;1877:303:2;;;;;-1:-1:-1;;;;;1877:303:2;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1877:303:2;;;;;-1:-1:-1;;;;;1877:303:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2227:5;-1:-1:-1;;;;;2196:55:2;2220:5;-1:-1:-1;;;;;2196:55:2;2210:8;2196:55;2234:6;2242:8;2196:55;;;;;;6576:25:12;;;6632:2;6617:18;;6610:34;6564:2;6549:18;;6402:248;2196:55:2;;;;;;;;2268:8;1480:803;-1:-1:-1;;;;;1480:803:2:o;2653:448::-;2736:16;2755:17;;;:7;:17;;;;;2790:7;;-1:-1:-1;;;;;2790:7:2;2782:43;;;;-1:-1:-1;;;2782:43:2;;;;;;;:::i;:::-;2843:8;;;;;;2835:31;;;;-1:-1:-1;;;2835:31:2;;;;;;;:::i;:::-;2885:11;;;;;;;;;2884:12;2876:42;;;;-1:-1:-1;;;2876:42:2;;9754:2:12;2876:42:2;;;9736:21:12;9793:2;9773:18;;;9766:30;-1:-1:-1;;;9812:18:12;;;9805:47;9869:18;;2876:42:2;9552:341:12;2876:42:2;2950:7;;;;-1:-1:-1;;;;;2950:7:2;2936:10;:21;2928:43;;;;-1:-1:-1;;;2928:43:2;;10100:2:12;2928:43:2;;;10082:21:12;10139:1;10119:18;;;10112:29;-1:-1:-1;;;10157:18:12;;;10150:39;10206:18;;2928:43:2;9898:332:12;2928:43:2;2981:11;;;:18;;-1:-1:-1;;2981:18:2;;;;;3009:14;;;:29;;;3053:41;;3071:8;;3053:41;;;;3026:12;1426:25:12;;1414:2;1399:18;;1280:177;3053:41:2;;;;;;;;2726:375;2653:448;;:::o;14:180:12:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:12;;14:180;-1:-1:-1;14:180:12:o;1462:131::-;-1:-1:-1;;;;;1537:31:12;;1527:42;;1517:70;;1583:1;1580;1573:12;1517:70;1462:131;:::o;1598:525::-;1684:6;1692;1700;1708;1761:3;1749:9;1740:7;1736:23;1732:33;1729:53;;;1778:1;1775;1768:12;1729:53;1817:9;1804:23;1836:31;1861:5;1836:31;:::i;:::-;1886:5;-1:-1:-1;1943:2:12;1928:18;;1915:32;1956:33;1915:32;1956:33;:::i;:::-;1598:525;;2008:7;;-1:-1:-1;;;;2062:2:12;2047:18;;2034:32;;2113:2;2098:18;2085:32;;1598:525::o;2355:248::-;2423:6;2431;2484:2;2472:9;2463:7;2459:23;2455:32;2452:52;;;2500:1;2497;2490:12;2452:52;-1:-1:-1;;2523:23:12;;;2593:2;2578:18;;;2565:32;;-1:-1:-1;2355:248:12:o;2608:332::-;2810:2;2792:21;;;2849:1;2829:18;;;2822:29;-1:-1:-1;;;2882:2:12;2867:18;;2860:39;2931:2;2916:18;;2608:332::o;2945:334::-;3147:2;3129:21;;;3186:2;3166:18;;;3159:30;-1:-1:-1;;;3220:2:12;3205:18;;3198:40;3270:2;3255:18;;2945:334::o;4644:276::-;4713:6;4766:2;4754:9;4745:7;4741:23;4737:32;4734:52;;;4782:1;4779;4772:12;4734:52;4814:9;4808:16;4864:6;4857:5;4853:18;4846:5;4843:29;4833:57;;4886:1;4883;4876:12;4833:57;4909:5;4644:276;-1:-1:-1;;;4644:276:12:o;4925:127::-;4986:10;4981:3;4977:20;4974:1;4967:31;5017:4;5014:1;5007:15;5041:4;5038:1;5031:15;5057:168;5130:9;;;5161;;5178:15;;;5172:22;;5158:37;5148:71;;5199:18;;:::i;:::-;5057:168;;;;:::o;5230:217::-;5270:1;5296;5286:132;;5340:10;5335:3;5331:20;5328:1;5321:31;5375:4;5372:1;5365:15;5403:4;5400:1;5393:15;5286:132;-1:-1:-1;5432:9:12;;5230:217::o;5452:128::-;5519:9;;;5540:11;;;5537:37;;;5554:18;;:::i;5585:251::-;5655:6;5708:2;5696:9;5687:7;5683:23;5679:32;5676:52;;;5724:1;5721;5714:12;5676:52;5756:9;5750:16;5775:31;5800:5;5775:31;:::i;6120:277::-;6187:6;6240:2;6228:9;6219:7;6215:23;6211:32;6208:52;;;6256:1;6253;6246:12;6208:52;6288:9;6282:16;6341:5;6334:13;6327:21;6320:5;6317:32;6307:60;;6363:1;6360;6353:12;9422:125;9487:9;;;9508:10;;;9505:36;;;9521:18;;:::i"},"methodIdentifiers":{"accept(uint256)":"19b05f49","createEscrow(address,address,uint256,uint256)":"ccbae5f6","escrowCount()":"675ac67a","escrows(uint256)":"012f52ee","feeManager()":"d0fb0203","fund(uint256)":"ca1d209d","refundOnTimeout(uint256)":"5f789edb","submitDelivery(uint256,bytes32)":"d8dc8c28","usdc()":"3e413bee"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_usdc\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"deliveryHash\",\"type\":\"bytes32\"}],\"name\":\"DeliverySubmitted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"net\",\"type\":\"uint256\"}],\"name\":\"EscrowAccepted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"EscrowCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"}],\"name\":\"EscrowFunded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"}],\"name\":\"EscrowRefunded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"}],\"name\":\"accept\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"createEscrow\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"escrowCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"escrows\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"funded\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"delivered\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"released\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"refunded\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"deliveryHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeManager\",\"outputs\":[{\"internalType\":\"contract IFeeManager\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"}],\"name\":\"fund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"}],\"name\":\"refundOnTimeout\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"deliveryHash\",\"type\":\"bytes32\"}],\"name\":\"submitDelivery\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"usdc\",\"outputs\":[{\"internalType\":\"contract IERC20Minimal\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/TokenEscrow.sol\":\"TokenEscrow\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/TokenEscrow.sol\":{\"keccak256\":\"0xdc82bf23982b28dd1d92e7f615efd3591f056fb2e1e8ce19602cb59d0a1bf8d1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10cd82ae2b3e4b8bfeb2eb574e91cb153f6f4a58e4b8f5e8c3a9cec217caafad\",\"dweb:/ipfs/QmQ7FKJ1UdopjJhaqidHGjkawy3eQn8Ewudn4nMJkvY6zx\"]}},\"version\":1}"}},"contracts/USDCMock.sol":{"USDCMock":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"608060405234801561001057600080fd5b506106d5806100206000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806340c10f191161006657806340c10f191461014757806370a082311461015c57806395d89b411461017c578063a9059cbb1461019f578063dd62ed3e146101b257600080fd5b806306fdde03146100a3578063095ea7b3146100e057806318160ddd1461010357806323b872dd1461011a578063313ce5671461012d575b600080fd5b6100ca604051806040016040528060088152602001672aa9a21021b7b4b760c11b81525081565b6040516100d7919061053e565b60405180910390f35b6100f36100ee3660046105a8565b6101dd565b60405190151581526020016100d7565b61010c60005481565b6040519081526020016100d7565b6100f36101283660046105d2565b61024a565b610135600681565b60405160ff90911681526020016100d7565b61015a6101553660046105a8565b610333565b005b61010c61016a36600461060e565b60016020526000908152604090205481565b6100ca604051806040016040528060048152602001635553444360e01b81525081565b6100f36101ad3660046105a8565b6103fb565b61010c6101c0366004610630565b600260209081526000928352604080842090915290825290205481565b3360008181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906102389086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383166000908152600260209081526040808320338452909152812054828110156102af5760405162461bcd60e51b8152602060048201526009602482015268414c4c4f57414e434560b81b60448201526064015b60405180910390fd5b600019811461031d576102c28382610679565b6001600160a01b038616600081815260026020908152604080832033808552908352928190208590555193845290927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35b610328858585610411565b506001949350505050565b6001600160a01b0382166103735760405162461bcd60e51b81526020600482015260076024820152665a45524f5f544f60c81b60448201526064016102a6565b80600080828254610384919061068c565b90915550506001600160a01b038216600090815260016020526040812080548392906103b190849061068c565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6000610408338484610411565b50600192915050565b6001600160a01b0382166104515760405162461bcd60e51b81526020600482015260076024820152665a45524f5f544f60c81b60448201526064016102a6565b6001600160a01b038316600090815260016020526040902054818110156104a45760405162461bcd60e51b815260206004820152600760248201526642414c414e434560c81b60448201526064016102a6565b6104ae8282610679565b6001600160a01b0380861660009081526001602052604080822093909355908516815290812080548492906104e490849061068c565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161053091815260200190565b60405180910390a350505050565b600060208083528351808285015260005b8181101561056b5785810183015185820160400152820161054f565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146105a357600080fd5b919050565b600080604083850312156105bb57600080fd5b6105c48361058c565b946020939093013593505050565b6000806000606084860312156105e757600080fd5b6105f08461058c565b92506105fe6020850161058c565b9150604084013590509250925092565b60006020828403121561062057600080fd5b6106298261058c565b9392505050565b6000806040838503121561064357600080fd5b61064c8361058c565b915061065a6020840161058c565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561024457610244610663565b808201808211156102445761024461066356fea26469706673582212208ad5dd6c01a2b77f8311cac7272ef9e844a134e55837f1ad6322ef810702c96a64736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6D5 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x9E JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x40C10F19 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x147 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x15C JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x17C JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x19F JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x1B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xA3 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xE0 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x103 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x11A JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x12D JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xCA PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x8 DUP2 MSTORE PUSH1 0x20 ADD PUSH8 0x2AA9A21021B7B4B7 PUSH1 0xC1 SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD7 SWAP2 SWAP1 PUSH2 0x53E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xF3 PUSH2 0xEE CALLDATASIZE PUSH1 0x4 PUSH2 0x5A8 JUMP JUMPDEST PUSH2 0x1DD JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xD7 JUMP JUMPDEST PUSH2 0x10C PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xD7 JUMP JUMPDEST PUSH2 0xF3 PUSH2 0x128 CALLDATASIZE PUSH1 0x4 PUSH2 0x5D2 JUMP JUMPDEST PUSH2 0x24A JUMP JUMPDEST PUSH2 0x135 PUSH1 0x6 DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xD7 JUMP JUMPDEST PUSH2 0x15A PUSH2 0x155 CALLDATASIZE PUSH1 0x4 PUSH2 0x5A8 JUMP JUMPDEST PUSH2 0x333 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x10C PUSH2 0x16A CALLDATASIZE PUSH1 0x4 PUSH2 0x60E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0xCA PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x4 DUP2 MSTORE PUSH1 0x20 ADD PUSH4 0x55534443 PUSH1 0xE0 SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH2 0xF3 PUSH2 0x1AD CALLDATASIZE PUSH1 0x4 PUSH2 0x5A8 JUMP JUMPDEST PUSH2 0x3FB JUMP JUMPDEST PUSH2 0x10C PUSH2 0x1C0 CALLDATASIZE PUSH1 0x4 PUSH2 0x630 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP1 SWAP2 MSTORE SWAP1 DUP3 MSTORE SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP6 SWAP1 SSTORE MLOAD SWAP2 SWAP3 SWAP1 SWAP2 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP1 PUSH2 0x238 SWAP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP PUSH1 0x1 JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD DUP3 DUP2 LT ISZERO PUSH2 0x2AF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x9 PUSH1 0x24 DUP3 ADD MSTORE PUSH9 0x414C4C4F57414E4345 PUSH1 0xB8 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 NOT DUP2 EQ PUSH2 0x31D JUMPI PUSH2 0x2C2 DUP4 DUP3 PUSH2 0x679 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE MLOAD SWAP4 DUP5 MSTORE SWAP1 SWAP3 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 JUMPDEST PUSH2 0x328 DUP6 DUP6 DUP6 PUSH2 0x411 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x373 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x7 PUSH1 0x24 DUP3 ADD MSTORE PUSH7 0x5A45524F5F544F PUSH1 0xC8 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x2A6 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0x384 SWAP2 SWAP1 PUSH2 0x68C JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0x3B1 SWAP1 DUP5 SWAP1 PUSH2 0x68C JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH1 0x0 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x408 CALLER DUP5 DUP5 PUSH2 0x411 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x451 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x7 PUSH1 0x24 DUP3 ADD MSTORE PUSH7 0x5A45524F5F544F PUSH1 0xC8 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x2A6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0x4A4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x7 PUSH1 0x24 DUP3 ADD MSTORE PUSH7 0x42414C414E4345 PUSH1 0xC8 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x2A6 JUMP JUMPDEST PUSH2 0x4AE DUP3 DUP3 PUSH2 0x679 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP4 SWAP1 SWAP4 SSTORE SWAP1 DUP6 AND DUP2 MSTORE SWAP1 DUP2 KECCAK256 DUP1 SLOAD DUP5 SWAP3 SWAP1 PUSH2 0x4E4 SWAP1 DUP5 SWAP1 PUSH2 0x68C JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0x530 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x56B JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x54F JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x40 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x40 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x5A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5C4 DUP4 PUSH2 0x58C JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x5E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5F0 DUP5 PUSH2 0x58C JUMP JUMPDEST SWAP3 POP PUSH2 0x5FE PUSH1 0x20 DUP6 ADD PUSH2 0x58C JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x620 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x629 DUP3 PUSH2 0x58C JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x643 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64C DUP4 PUSH2 0x58C JUMP JUMPDEST SWAP2 POP PUSH2 0x65A PUSH1 0x20 DUP5 ADD PUSH2 0x58C JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x244 JUMPI PUSH2 0x244 PUSH2 0x663 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x244 JUMPI PUSH2 0x244 PUSH2 0x663 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP11 0xD5 0xDD PUSH13 0x1A2B77F8311CAC7272EF9E844 LOG1 CALLVALUE 0xE5 PC CALLDATACOPY CALL 0xAD PUSH4 0x22EF8107 MUL 0xC9 PUSH11 0x64736F6C63430008140033 ","sourceMap":"58:1819:3:-:0;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_transfer_916":{"entryPoint":1041,"id":916,"parameterSlots":3,"returnSlots":0},"@allowance_695":{"entryPoint":null,"id":695,"parameterSlots":0,"returnSlots":0},"@approve_776":{"entryPoint":477,"id":776,"parameterSlots":2,"returnSlots":1},"@balanceOf_689":{"entryPoint":null,"id":689,"parameterSlots":0,"returnSlots":0},"@decimals_683":{"entryPoint":null,"id":683,"parameterSlots":0,"returnSlots":0},"@mint_748":{"entryPoint":819,"id":748,"parameterSlots":2,"returnSlots":0},"@name_677":{"entryPoint":null,"id":677,"parameterSlots":0,"returnSlots":0},"@symbol_680":{"entryPoint":null,"id":680,"parameterSlots":0,"returnSlots":0},"@totalSupply_685":{"entryPoint":null,"id":685,"parameterSlots":0,"returnSlots":0},"@transferFrom_863":{"entryPoint":586,"id":863,"parameterSlots":3,"returnSlots":1},"@transfer_795":{"entryPoint":1019,"id":795,"parameterSlots":2,"returnSlots":1},"abi_decode_address":{"entryPoint":1420,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":1550,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_address":{"entryPoint":1584,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_addresst_uint256":{"entryPoint":1490,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":1448,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":1342,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_3a289c61653ad39bcc02fc718bcd8cf414a97d9269457b6e48ff906f0af04804__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_a7049c10f39fa732244630b4955cf2769dd3dfcc2a4cc3e4af29dcd82c8c412a__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_e7adc2a634555a2311bea63e676d74c6fefbf82b2d0687906d769a0eb91e84ed__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":1676,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":1657,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x11":{"entryPoint":1635,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:3755:12","statements":[{"nodeType":"YulBlock","src":"6:3:12","statements":[]},{"body":{"nodeType":"YulBlock","src":"135:427:12","statements":[{"nodeType":"YulVariableDeclaration","src":"145:12:12","value":{"kind":"number","nodeType":"YulLiteral","src":"155:2:12","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"149:2:12","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"173:9:12"},{"name":"_1","nodeType":"YulIdentifier","src":"184:2:12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"166:6:12"},"nodeType":"YulFunctionCall","src":"166:21:12"},"nodeType":"YulExpressionStatement","src":"166:21:12"},{"nodeType":"YulVariableDeclaration","src":"196:27:12","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"216:6:12"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"210:5:12"},"nodeType":"YulFunctionCall","src":"210:13:12"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"200:6:12","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"243:9:12"},{"name":"_1","nodeType":"YulIdentifier","src":"254:2:12"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"239:3:12"},"nodeType":"YulFunctionCall","src":"239:18:12"},{"name":"length","nodeType":"YulIdentifier","src":"259:6:12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"232:6:12"},"nodeType":"YulFunctionCall","src":"232:34:12"},"nodeType":"YulExpressionStatement","src":"232:34:12"},{"nodeType":"YulVariableDeclaration","src":"275:10:12","value":{"kind":"number","nodeType":"YulLiteral","src":"284:1:12","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"279:1:12","type":""}]},{"body":{"nodeType":"YulBlock","src":"344:90:12","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"373:9:12"},{"name":"i","nodeType":"YulIdentifier","src":"384:1:12"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"369:3:12"},"nodeType":"YulFunctionCall","src":"369:17:12"},{"kind":"number","nodeType":"YulLiteral","src":"388:2:12","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"365:3:12"},"nodeType":"YulFunctionCall","src":"365:26:12"},{"arguments":[{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"407:6:12"},{"name":"i","nodeType":"YulIdentifier","src":"415:1:12"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"403:3:12"},"nodeType":"YulFunctionCall","src":"403:14:12"},{"name":"_1","nodeType":"YulIdentifier","src":"419:2:12"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"399:3:12"},"nodeType":"YulFunctionCall","src":"399:23:12"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"393:5:12"},"nodeType":"YulFunctionCall","src":"393:30:12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"358:6:12"},"nodeType":"YulFunctionCall","src":"358:66:12"},"nodeType":"YulExpressionStatement","src":"358:66:12"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"305:1:12"},{"name":"length","nodeType":"YulIdentifier","src":"308:6:12"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"302:2:12"},"nodeType":"YulFunctionCall","src":"302:13:12"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"316:19:12","statements":[{"nodeType":"YulAssignment","src":"318:15:12","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"327:1:12"},{"name":"_1","nodeType":"YulIdentifier","src":"330:2:12"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"323:3:12"},"nodeType":"YulFunctionCall","src":"323:10:12"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"318:1:12"}]}]},"pre":{"nodeType":"YulBlock","src":"298:3:12","statements":[]},"src":"294:140:12"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"458:9:12"},{"name":"length","nodeType":"YulIdentifier","src":"469:6:12"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"454:3:12"},"nodeType":"YulFunctionCall","src":"454:22:12"},{"kind":"number","nodeType":"YulLiteral","src":"478:2:12","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"450:3:12"},"nodeType":"YulFunctionCall","src":"450:31:12"},{"kind":"number","nodeType":"YulLiteral","src":"483:1:12","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"443:6:12"},"nodeType":"YulFunctionCall","src":"443:42:12"},"nodeType":"YulExpressionStatement","src":"443:42:12"},{"nodeType":"YulAssignment","src":"494:62:12","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"510:9:12"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"529:6:12"},{"kind":"number","nodeType":"YulLiteral","src":"537:2:12","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"525:3:12"},"nodeType":"YulFunctionCall","src":"525:15:12"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"546:2:12","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"542:3:12"},"nodeType":"YulFunctionCall","src":"542:7:12"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"521:3:12"},"nodeType":"YulFunctionCall","src":"521:29:12"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"506:3:12"},"nodeType":"YulFunctionCall","src":"506:45:12"},{"kind":"number","nodeType":"YulLiteral","src":"553:2:12","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"502:3:12"},"nodeType":"YulFunctionCall","src":"502:54:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"494:4:12"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"104:9:12","type":""},{"name":"value0","nodeType":"YulTypedName","src":"115:6:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"126:4:12","type":""}],"src":"14:548:12"},{"body":{"nodeType":"YulBlock","src":"616:124:12","statements":[{"nodeType":"YulAssignment","src":"626:29:12","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"648:6:12"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"635:12:12"},"nodeType":"YulFunctionCall","src":"635:20:12"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"626:5:12"}]},{"body":{"nodeType":"YulBlock","src":"718:16:12","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"727:1:12","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"730:1:12","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"720:6:12"},"nodeType":"YulFunctionCall","src":"720:12:12"},"nodeType":"YulExpressionStatement","src":"720:12:12"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"677:5:12"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"688:5:12"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"703:3:12","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"708:1:12","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"699:3:12"},"nodeType":"YulFunctionCall","src":"699:11:12"},{"kind":"number","nodeType":"YulLiteral","src":"712:1:12","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"695:3:12"},"nodeType":"YulFunctionCall","src":"695:19:12"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"684:3:12"},"nodeType":"YulFunctionCall","src":"684:31:12"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"674:2:12"},"nodeType":"YulFunctionCall","src":"674:42:12"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"667:6:12"},"nodeType":"YulFunctionCall","src":"667:50:12"},"nodeType":"YulIf","src":"664:70:12"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"595:6:12","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"606:5:12","type":""}],"src":"567:173:12"},{"body":{"nodeType":"YulBlock","src":"832:167:12","statements":[{"body":{"nodeType":"YulBlock","src":"878:16:12","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"887:1:12","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"890:1:12","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"880:6:12"},"nodeType":"YulFunctionCall","src":"880:12:12"},"nodeType":"YulExpressionStatement","src":"880:12:12"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"853:7:12"},{"name":"headStart","nodeType":"YulIdentifier","src":"862:9:12"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"849:3:12"},"nodeType":"YulFunctionCall","src":"849:23:12"},{"kind":"number","nodeType":"YulLiteral","src":"874:2:12","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"845:3:12"},"nodeType":"YulFunctionCall","src":"845:32:12"},"nodeType":"YulIf","src":"842:52:12"},{"nodeType":"YulAssignment","src":"903:39:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"932:9:12"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"913:18:12"},"nodeType":"YulFunctionCall","src":"913:29:12"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"903:6:12"}]},{"nodeType":"YulAssignment","src":"951:42:12","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"978:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"989:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"974:3:12"},"nodeType":"YulFunctionCall","src":"974:18:12"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"961:12:12"},"nodeType":"YulFunctionCall","src":"961:32:12"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"951:6:12"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"790:9:12","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"801:7:12","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"813:6:12","type":""},{"name":"value1","nodeType":"YulTypedName","src":"821:6:12","type":""}],"src":"745:254:12"},{"body":{"nodeType":"YulBlock","src":"1099:92:12","statements":[{"nodeType":"YulAssignment","src":"1109:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1121:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"1132:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1117:3:12"},"nodeType":"YulFunctionCall","src":"1117:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1109:4:12"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1151:9:12"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1176:6:12"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1169:6:12"},"nodeType":"YulFunctionCall","src":"1169:14:12"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1162:6:12"},"nodeType":"YulFunctionCall","src":"1162:22:12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1144:6:12"},"nodeType":"YulFunctionCall","src":"1144:41:12"},"nodeType":"YulExpressionStatement","src":"1144:41:12"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1068:9:12","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1079:6:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1090:4:12","type":""}],"src":"1004:187:12"},{"body":{"nodeType":"YulBlock","src":"1297:76:12","statements":[{"nodeType":"YulAssignment","src":"1307:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1319:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"1330:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1315:3:12"},"nodeType":"YulFunctionCall","src":"1315:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1307:4:12"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1349:9:12"},{"name":"value0","nodeType":"YulIdentifier","src":"1360:6:12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1342:6:12"},"nodeType":"YulFunctionCall","src":"1342:25:12"},"nodeType":"YulExpressionStatement","src":"1342:25:12"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1266:9:12","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1277:6:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1288:4:12","type":""}],"src":"1196:177:12"},{"body":{"nodeType":"YulBlock","src":"1482:224:12","statements":[{"body":{"nodeType":"YulBlock","src":"1528:16:12","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1537:1:12","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1540:1:12","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1530:6:12"},"nodeType":"YulFunctionCall","src":"1530:12:12"},"nodeType":"YulExpressionStatement","src":"1530:12:12"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1503:7:12"},{"name":"headStart","nodeType":"YulIdentifier","src":"1512:9:12"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1499:3:12"},"nodeType":"YulFunctionCall","src":"1499:23:12"},{"kind":"number","nodeType":"YulLiteral","src":"1524:2:12","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1495:3:12"},"nodeType":"YulFunctionCall","src":"1495:32:12"},"nodeType":"YulIf","src":"1492:52:12"},{"nodeType":"YulAssignment","src":"1553:39:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1582:9:12"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1563:18:12"},"nodeType":"YulFunctionCall","src":"1563:29:12"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1553:6:12"}]},{"nodeType":"YulAssignment","src":"1601:48:12","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1634:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"1645:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1630:3:12"},"nodeType":"YulFunctionCall","src":"1630:18:12"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1611:18:12"},"nodeType":"YulFunctionCall","src":"1611:38:12"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1601:6:12"}]},{"nodeType":"YulAssignment","src":"1658:42:12","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1685:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"1696:2:12","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1681:3:12"},"nodeType":"YulFunctionCall","src":"1681:18:12"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1668:12:12"},"nodeType":"YulFunctionCall","src":"1668:32:12"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"1658:6:12"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1432:9:12","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1443:7:12","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1455:6:12","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1463:6:12","type":""},{"name":"value2","nodeType":"YulTypedName","src":"1471:6:12","type":""}],"src":"1378:328:12"},{"body":{"nodeType":"YulBlock","src":"1808:87:12","statements":[{"nodeType":"YulAssignment","src":"1818:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1830:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"1841:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1826:3:12"},"nodeType":"YulFunctionCall","src":"1826:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1818:4:12"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1860:9:12"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1875:6:12"},{"kind":"number","nodeType":"YulLiteral","src":"1883:4:12","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1871:3:12"},"nodeType":"YulFunctionCall","src":"1871:17:12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1853:6:12"},"nodeType":"YulFunctionCall","src":"1853:36:12"},"nodeType":"YulExpressionStatement","src":"1853:36:12"}]},"name":"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1777:9:12","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1788:6:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1799:4:12","type":""}],"src":"1711:184:12"},{"body":{"nodeType":"YulBlock","src":"1970:116:12","statements":[{"body":{"nodeType":"YulBlock","src":"2016:16:12","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2025:1:12","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2028:1:12","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2018:6:12"},"nodeType":"YulFunctionCall","src":"2018:12:12"},"nodeType":"YulExpressionStatement","src":"2018:12:12"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1991:7:12"},{"name":"headStart","nodeType":"YulIdentifier","src":"2000:9:12"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1987:3:12"},"nodeType":"YulFunctionCall","src":"1987:23:12"},{"kind":"number","nodeType":"YulLiteral","src":"2012:2:12","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1983:3:12"},"nodeType":"YulFunctionCall","src":"1983:32:12"},"nodeType":"YulIf","src":"1980:52:12"},{"nodeType":"YulAssignment","src":"2041:39:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2070:9:12"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2051:18:12"},"nodeType":"YulFunctionCall","src":"2051:29:12"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2041:6:12"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1936:9:12","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1947:7:12","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1959:6:12","type":""}],"src":"1900:186:12"},{"body":{"nodeType":"YulBlock","src":"2178:173:12","statements":[{"body":{"nodeType":"YulBlock","src":"2224:16:12","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2233:1:12","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2236:1:12","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2226:6:12"},"nodeType":"YulFunctionCall","src":"2226:12:12"},"nodeType":"YulExpressionStatement","src":"2226:12:12"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2199:7:12"},{"name":"headStart","nodeType":"YulIdentifier","src":"2208:9:12"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2195:3:12"},"nodeType":"YulFunctionCall","src":"2195:23:12"},{"kind":"number","nodeType":"YulLiteral","src":"2220:2:12","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2191:3:12"},"nodeType":"YulFunctionCall","src":"2191:32:12"},"nodeType":"YulIf","src":"2188:52:12"},{"nodeType":"YulAssignment","src":"2249:39:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2278:9:12"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2259:18:12"},"nodeType":"YulFunctionCall","src":"2259:29:12"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2249:6:12"}]},{"nodeType":"YulAssignment","src":"2297:48:12","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2330:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"2341:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2326:3:12"},"nodeType":"YulFunctionCall","src":"2326:18:12"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2307:18:12"},"nodeType":"YulFunctionCall","src":"2307:38:12"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2297:6:12"}]}]},"name":"abi_decode_tuple_t_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2136:9:12","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2147:7:12","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2159:6:12","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2167:6:12","type":""}],"src":"2091:260:12"},{"body":{"nodeType":"YulBlock","src":"2530:158:12","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2547:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"2558:2:12","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2540:6:12"},"nodeType":"YulFunctionCall","src":"2540:21:12"},"nodeType":"YulExpressionStatement","src":"2540:21:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2581:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"2592:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2577:3:12"},"nodeType":"YulFunctionCall","src":"2577:18:12"},{"kind":"number","nodeType":"YulLiteral","src":"2597:1:12","type":"","value":"9"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2570:6:12"},"nodeType":"YulFunctionCall","src":"2570:29:12"},"nodeType":"YulExpressionStatement","src":"2570:29:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2619:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"2630:2:12","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2615:3:12"},"nodeType":"YulFunctionCall","src":"2615:18:12"},{"hexValue":"414c4c4f57414e4345","kind":"string","nodeType":"YulLiteral","src":"2635:11:12","type":"","value":"ALLOWANCE"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2608:6:12"},"nodeType":"YulFunctionCall","src":"2608:39:12"},"nodeType":"YulExpressionStatement","src":"2608:39:12"},{"nodeType":"YulAssignment","src":"2656:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2668:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"2679:2:12","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2664:3:12"},"nodeType":"YulFunctionCall","src":"2664:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2656:4:12"}]}]},"name":"abi_encode_tuple_t_stringliteral_3a289c61653ad39bcc02fc718bcd8cf414a97d9269457b6e48ff906f0af04804__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2507:9:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2521:4:12","type":""}],"src":"2356:332:12"},{"body":{"nodeType":"YulBlock","src":"2725:95:12","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2742:1:12","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2749:3:12","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2754:10:12","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2745:3:12"},"nodeType":"YulFunctionCall","src":"2745:20:12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2735:6:12"},"nodeType":"YulFunctionCall","src":"2735:31:12"},"nodeType":"YulExpressionStatement","src":"2735:31:12"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2782:1:12","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2785:4:12","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2775:6:12"},"nodeType":"YulFunctionCall","src":"2775:15:12"},"nodeType":"YulExpressionStatement","src":"2775:15:12"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2806:1:12","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2809:4:12","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2799:6:12"},"nodeType":"YulFunctionCall","src":"2799:15:12"},"nodeType":"YulExpressionStatement","src":"2799:15:12"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"2693:127:12"},{"body":{"nodeType":"YulBlock","src":"2874:79:12","statements":[{"nodeType":"YulAssignment","src":"2884:17:12","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2896:1:12"},{"name":"y","nodeType":"YulIdentifier","src":"2899:1:12"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2892:3:12"},"nodeType":"YulFunctionCall","src":"2892:9:12"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"2884:4:12"}]},{"body":{"nodeType":"YulBlock","src":"2925:22:12","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"2927:16:12"},"nodeType":"YulFunctionCall","src":"2927:18:12"},"nodeType":"YulExpressionStatement","src":"2927:18:12"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"2916:4:12"},{"name":"x","nodeType":"YulIdentifier","src":"2922:1:12"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2913:2:12"},"nodeType":"YulFunctionCall","src":"2913:11:12"},"nodeType":"YulIf","src":"2910:37:12"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"2856:1:12","type":""},{"name":"y","nodeType":"YulTypedName","src":"2859:1:12","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"2865:4:12","type":""}],"src":"2825:128:12"},{"body":{"nodeType":"YulBlock","src":"3132:156:12","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3149:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"3160:2:12","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3142:6:12"},"nodeType":"YulFunctionCall","src":"3142:21:12"},"nodeType":"YulExpressionStatement","src":"3142:21:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3183:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"3194:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3179:3:12"},"nodeType":"YulFunctionCall","src":"3179:18:12"},{"kind":"number","nodeType":"YulLiteral","src":"3199:1:12","type":"","value":"7"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3172:6:12"},"nodeType":"YulFunctionCall","src":"3172:29:12"},"nodeType":"YulExpressionStatement","src":"3172:29:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3221:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"3232:2:12","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3217:3:12"},"nodeType":"YulFunctionCall","src":"3217:18:12"},{"hexValue":"5a45524f5f544f","kind":"string","nodeType":"YulLiteral","src":"3237:9:12","type":"","value":"ZERO_TO"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3210:6:12"},"nodeType":"YulFunctionCall","src":"3210:37:12"},"nodeType":"YulExpressionStatement","src":"3210:37:12"},{"nodeType":"YulAssignment","src":"3256:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3268:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"3279:2:12","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3264:3:12"},"nodeType":"YulFunctionCall","src":"3264:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3256:4:12"}]}]},"name":"abi_encode_tuple_t_stringliteral_a7049c10f39fa732244630b4955cf2769dd3dfcc2a4cc3e4af29dcd82c8c412a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3109:9:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3123:4:12","type":""}],"src":"2958:330:12"},{"body":{"nodeType":"YulBlock","src":"3341:77:12","statements":[{"nodeType":"YulAssignment","src":"3351:16:12","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"3362:1:12"},{"name":"y","nodeType":"YulIdentifier","src":"3365:1:12"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3358:3:12"},"nodeType":"YulFunctionCall","src":"3358:9:12"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"3351:3:12"}]},{"body":{"nodeType":"YulBlock","src":"3390:22:12","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"3392:16:12"},"nodeType":"YulFunctionCall","src":"3392:18:12"},"nodeType":"YulExpressionStatement","src":"3392:18:12"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"3382:1:12"},{"name":"sum","nodeType":"YulIdentifier","src":"3385:3:12"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3379:2:12"},"nodeType":"YulFunctionCall","src":"3379:10:12"},"nodeType":"YulIf","src":"3376:36:12"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"3324:1:12","type":""},{"name":"y","nodeType":"YulTypedName","src":"3327:1:12","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"3333:3:12","type":""}],"src":"3293:125:12"},{"body":{"nodeType":"YulBlock","src":"3597:156:12","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3614:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"3625:2:12","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3607:6:12"},"nodeType":"YulFunctionCall","src":"3607:21:12"},"nodeType":"YulExpressionStatement","src":"3607:21:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3648:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"3659:2:12","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3644:3:12"},"nodeType":"YulFunctionCall","src":"3644:18:12"},{"kind":"number","nodeType":"YulLiteral","src":"3664:1:12","type":"","value":"7"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3637:6:12"},"nodeType":"YulFunctionCall","src":"3637:29:12"},"nodeType":"YulExpressionStatement","src":"3637:29:12"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3686:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"3697:2:12","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3682:3:12"},"nodeType":"YulFunctionCall","src":"3682:18:12"},{"hexValue":"42414c414e4345","kind":"string","nodeType":"YulLiteral","src":"3702:9:12","type":"","value":"BALANCE"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3675:6:12"},"nodeType":"YulFunctionCall","src":"3675:37:12"},"nodeType":"YulExpressionStatement","src":"3675:37:12"},{"nodeType":"YulAssignment","src":"3721:26:12","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3733:9:12"},{"kind":"number","nodeType":"YulLiteral","src":"3744:2:12","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3729:3:12"},"nodeType":"YulFunctionCall","src":"3729:18:12"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3721:4:12"}]}]},"name":"abi_encode_tuple_t_stringliteral_e7adc2a634555a2311bea63e676d74c6fefbf82b2d0687906d769a0eb91e84ed__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3574:9:12","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3588:4:12","type":""}],"src":"3423:330:12"}]},"contents":"{\n { }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n mstore(headStart, _1)\n let length := mload(value0)\n mstore(add(headStart, _1), length)\n let i := 0\n for { } lt(i, length) { i := add(i, _1) }\n {\n mstore(add(add(headStart, i), 64), mload(add(add(value0, i), _1)))\n }\n mstore(add(add(headStart, length), 64), 0)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xff))\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function abi_encode_tuple_t_stringliteral_3a289c61653ad39bcc02fc718bcd8cf414a97d9269457b6e48ff906f0af04804__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 9)\n mstore(add(headStart, 64), \"ALLOWANCE\")\n tail := add(headStart, 96)\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_stringliteral_a7049c10f39fa732244630b4955cf2769dd3dfcc2a4cc3e4af29dcd82c8c412a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 7)\n mstore(add(headStart, 64), \"ZERO_TO\")\n tail := add(headStart, 96)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_stringliteral_e7adc2a634555a2311bea63e676d74c6fefbf82b2d0687906d769a0eb91e84ed__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 7)\n mstore(add(headStart, 64), \"BALANCE\")\n tail := add(headStart, 96)\n }\n}","id":12,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b506004361061009e5760003560e01c806340c10f191161006657806340c10f191461014757806370a082311461015c57806395d89b411461017c578063a9059cbb1461019f578063dd62ed3e146101b257600080fd5b806306fdde03146100a3578063095ea7b3146100e057806318160ddd1461010357806323b872dd1461011a578063313ce5671461012d575b600080fd5b6100ca604051806040016040528060088152602001672aa9a21021b7b4b760c11b81525081565b6040516100d7919061053e565b60405180910390f35b6100f36100ee3660046105a8565b6101dd565b60405190151581526020016100d7565b61010c60005481565b6040519081526020016100d7565b6100f36101283660046105d2565b61024a565b610135600681565b60405160ff90911681526020016100d7565b61015a6101553660046105a8565b610333565b005b61010c61016a36600461060e565b60016020526000908152604090205481565b6100ca604051806040016040528060048152602001635553444360e01b81525081565b6100f36101ad3660046105a8565b6103fb565b61010c6101c0366004610630565b600260209081526000928352604080842090915290825290205481565b3360008181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906102389086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383166000908152600260209081526040808320338452909152812054828110156102af5760405162461bcd60e51b8152602060048201526009602482015268414c4c4f57414e434560b81b60448201526064015b60405180910390fd5b600019811461031d576102c28382610679565b6001600160a01b038616600081815260026020908152604080832033808552908352928190208590555193845290927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35b610328858585610411565b506001949350505050565b6001600160a01b0382166103735760405162461bcd60e51b81526020600482015260076024820152665a45524f5f544f60c81b60448201526064016102a6565b80600080828254610384919061068c565b90915550506001600160a01b038216600090815260016020526040812080548392906103b190849061068c565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6000610408338484610411565b50600192915050565b6001600160a01b0382166104515760405162461bcd60e51b81526020600482015260076024820152665a45524f5f544f60c81b60448201526064016102a6565b6001600160a01b038316600090815260016020526040902054818110156104a45760405162461bcd60e51b815260206004820152600760248201526642414c414e434560c81b60448201526064016102a6565b6104ae8282610679565b6001600160a01b0380861660009081526001602052604080822093909355908516815290812080548492906104e490849061068c565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161053091815260200190565b60405180910390a350505050565b600060208083528351808285015260005b8181101561056b5785810183015185820160400152820161054f565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146105a357600080fd5b919050565b600080604083850312156105bb57600080fd5b6105c48361058c565b946020939093013593505050565b6000806000606084860312156105e757600080fd5b6105f08461058c565b92506105fe6020850161058c565b9150604084013590509250925092565b60006020828403121561062057600080fd5b6106298261058c565b9392505050565b6000806040838503121561064357600080fd5b61064c8361058c565b915061065a6020840161058c565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561024457610244610663565b808201808211156102445761024461066356fea26469706673582212208ad5dd6c01a2b77f8311cac7272ef9e844a134e55837f1ad6322ef810702c96a64736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x9E JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x40C10F19 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x147 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x15C JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x17C JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x19F JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x1B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xA3 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xE0 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x103 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x11A JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x12D JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xCA PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x8 DUP2 MSTORE PUSH1 0x20 ADD PUSH8 0x2AA9A21021B7B4B7 PUSH1 0xC1 SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD7 SWAP2 SWAP1 PUSH2 0x53E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xF3 PUSH2 0xEE CALLDATASIZE PUSH1 0x4 PUSH2 0x5A8 JUMP JUMPDEST PUSH2 0x1DD JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xD7 JUMP JUMPDEST PUSH2 0x10C PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xD7 JUMP JUMPDEST PUSH2 0xF3 PUSH2 0x128 CALLDATASIZE PUSH1 0x4 PUSH2 0x5D2 JUMP JUMPDEST PUSH2 0x24A JUMP JUMPDEST PUSH2 0x135 PUSH1 0x6 DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xD7 JUMP JUMPDEST PUSH2 0x15A PUSH2 0x155 CALLDATASIZE PUSH1 0x4 PUSH2 0x5A8 JUMP JUMPDEST PUSH2 0x333 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x10C PUSH2 0x16A CALLDATASIZE PUSH1 0x4 PUSH2 0x60E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0xCA PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x4 DUP2 MSTORE PUSH1 0x20 ADD PUSH4 0x55534443 PUSH1 0xE0 SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH2 0xF3 PUSH2 0x1AD CALLDATASIZE PUSH1 0x4 PUSH2 0x5A8 JUMP JUMPDEST PUSH2 0x3FB JUMP JUMPDEST PUSH2 0x10C PUSH2 0x1C0 CALLDATASIZE PUSH1 0x4 PUSH2 0x630 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP1 SWAP2 MSTORE SWAP1 DUP3 MSTORE SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP6 SWAP1 SSTORE MLOAD SWAP2 SWAP3 SWAP1 SWAP2 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP1 PUSH2 0x238 SWAP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP PUSH1 0x1 JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD DUP3 DUP2 LT ISZERO PUSH2 0x2AF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x9 PUSH1 0x24 DUP3 ADD MSTORE PUSH9 0x414C4C4F57414E4345 PUSH1 0xB8 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 NOT DUP2 EQ PUSH2 0x31D JUMPI PUSH2 0x2C2 DUP4 DUP3 PUSH2 0x679 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE MLOAD SWAP4 DUP5 MSTORE SWAP1 SWAP3 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 JUMPDEST PUSH2 0x328 DUP6 DUP6 DUP6 PUSH2 0x411 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x373 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x7 PUSH1 0x24 DUP3 ADD MSTORE PUSH7 0x5A45524F5F544F PUSH1 0xC8 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x2A6 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP1 DUP3 DUP3 SLOAD PUSH2 0x384 SWAP2 SWAP1 PUSH2 0x68C JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0x3B1 SWAP1 DUP5 SWAP1 PUSH2 0x68C JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH1 0x0 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x408 CALLER DUP5 DUP5 PUSH2 0x411 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x451 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x7 PUSH1 0x24 DUP3 ADD MSTORE PUSH7 0x5A45524F5F544F PUSH1 0xC8 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x2A6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0x4A4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x7 PUSH1 0x24 DUP3 ADD MSTORE PUSH7 0x42414C414E4345 PUSH1 0xC8 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x2A6 JUMP JUMPDEST PUSH2 0x4AE DUP3 DUP3 PUSH2 0x679 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP4 SWAP1 SWAP4 SSTORE SWAP1 DUP6 AND DUP2 MSTORE SWAP1 DUP2 KECCAK256 DUP1 SLOAD DUP5 SWAP3 SWAP1 PUSH2 0x4E4 SWAP1 DUP5 SWAP1 PUSH2 0x68C JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0x530 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x56B JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x54F JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x40 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x40 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x5A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5C4 DUP4 PUSH2 0x58C JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x5E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5F0 DUP5 PUSH2 0x58C JUMP JUMPDEST SWAP3 POP PUSH2 0x5FE PUSH1 0x20 DUP6 ADD PUSH2 0x58C JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x620 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x629 DUP3 PUSH2 0x58C JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x643 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64C DUP4 PUSH2 0x58C JUMP JUMPDEST SWAP2 POP PUSH2 0x65A PUSH1 0x20 DUP5 ADD PUSH2 0x58C JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x244 JUMPI PUSH2 0x244 PUSH2 0x663 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x244 JUMPI PUSH2 0x244 PUSH2 0x663 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP11 0xD5 0xDD PUSH13 0x1A2B77F8311CAC7272EF9E844 LOG1 CALLVALUE 0xE5 PC CALLDATACOPY CALL 0xAD PUSH4 0x22EF8107 MUL 0xC9 PUSH11 0x64736F6C63430008140033 ","sourceMap":"58:1819:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;82:40;;;;;;;;;;;;;;;-1:-1:-1;;;82:40:3;;;;;;;;;;;;:::i;:::-;;;;;;;;749:203;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:12;;1162:22;1144:41;;1132:2;1117:18;749:203:3;1004:187:12;213:26:3;;;;;;;;;1342:25:12;;;1330:2;1315:18;213:26:3;1196:177:12;1105:445:3;;;;;;:::i;:::-;;:::i;172:34::-;;205:1;172:34;;;;;1883:4:12;1871:17;;;1853:36;;1841:2;1826:18;172:34:3;1711:184:12;528:215:3;;;;;;:::i;:::-;;:::i;:::-;;246:44;;;;;;:::i;:::-;;;;;;;;;;;;;;128:38;;;;;;;;;;;;;;;-1:-1:-1;;;128:38:3;;;;;958:141;;;;;;:::i;:::-;;:::i;296:64::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;749:203;843:10;817:4;833:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;833:30:3;;;;;;;;;;:39;;;887:37;817:4;;833:30;;887:37;;;;866:6;1342:25:12;;1330:2;1315:18;;1196:177;887:37:3;;;;;;;;-1:-1:-1;941:4:3;749:203;;;;;:::o;1105:445::-;-1:-1:-1;;;;;1221:15:3;;1187:4;1221:15;;;:9;:15;;;;;;;;1237:10;1221:27;;;;;;;;1266:17;;;;1258:39;;;;-1:-1:-1;;;1258:39:3;;2558:2:12;1258:39:3;;;2540:21:12;2597:1;2577:18;;;2570:29;-1:-1:-1;;;2615:18:12;;;2608:39;2664:18;;1258:39:3;;;;;;;;;-1:-1:-1;;1311:7:3;:28;1307:179;;1385:16;1395:6;1385:7;:16;:::i;:::-;-1:-1:-1;;;;;1355:15:3;;;;;;:9;:15;;;;;;;;1371:10;1355:27;;;;;;;;;;:46;;;1420:55;1342:25:12;;;1371:10:3;;1420:55;;1315:18:12;1420:55:3;;;;;;;1307:179;1495:27;1505:4;1511:2;1515:6;1495:9;:27::i;:::-;-1:-1:-1;1539:4:3;;1105:445;-1:-1:-1;;;;1105:445:3:o;528:215::-;-1:-1:-1;;;;;597:16:3;;589:36;;;;-1:-1:-1;;;589:36:3;;3160:2:12;589:36:3;;;3142:21:12;3199:1;3179:18;;;3172:29;-1:-1:-1;;;3217:18:12;;;3210:37;3264:18;;589:36:3;2958:330:12;589:36:3;650:6;635:11;;:21;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;666:13:3;;;;;;:9;:13;;;;;:23;;683:6;;666:13;:23;;683:6;;666:23;:::i;:::-;;;;-1:-1:-1;;704:32:3;;1342:25:12;;;-1:-1:-1;;;;;704:32:3;;;721:1;;704:32;;1330:2:12;1315:18;704:32:3;;;;;;;528:215;;:::o;958:141::-;1022:4;1038:33;1048:10;1060:2;1064:6;1038:9;:33::i;:::-;-1:-1:-1;1088:4:3;958:141;;;;:::o;1556:319::-;-1:-1:-1;;;;;1644:16:3;;1636:36;;;;-1:-1:-1;;;1636:36:3;;3160:2:12;1636:36:3;;;3142:21:12;3199:1;3179:18;;;3172:29;-1:-1:-1;;;3217:18:12;;;3210:37;3264:18;;1636:36:3;2958:330:12;1636:36:3;-1:-1:-1;;;;;1696:15:3;;1682:11;1696:15;;;:9;:15;;;;;;1729:13;;;;1721:33;;;;-1:-1:-1;;;1721:33:3;;3625:2:12;1721:33:3;;;3607:21:12;3664:1;3644:18;;;3637:29;-1:-1:-1;;;3682:18:12;;;3675:37;3729:18;;1721:33:3;3423:330:12;1721:33:3;1782:12;1788:6;1782:3;:12;:::i;:::-;-1:-1:-1;;;;;1764:15:3;;;;;;;:9;:15;;;;;;:30;;;;1804:13;;;;;;;;:23;;1821:6;;1764:15;1804:23;;1821:6;;1804:23;:::i;:::-;;;;;;;;1857:2;-1:-1:-1;;;;;1842:26:3;1851:4;-1:-1:-1;;;;;1842:26:3;;1861:6;1842:26;;;;1342:25:12;;1330:2;1315:18;;1196:177;1842:26:3;;;;;;;;1626:249;1556:319;;;:::o;14:548:12:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:12;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:12:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1900:186::-;1959:6;2012:2;2000:9;1991:7;1987:23;1983:32;1980:52;;;2028:1;2025;2018:12;1980:52;2051:29;2070:9;2051:29;:::i;:::-;2041:39;1900:186;-1:-1:-1;;;1900:186:12:o;2091:260::-;2159:6;2167;2220:2;2208:9;2199:7;2195:23;2191:32;2188:52;;;2236:1;2233;2226:12;2188:52;2259:29;2278:9;2259:29;:::i;:::-;2249:39;;2307:38;2341:2;2330:9;2326:18;2307:38;:::i;:::-;2297:48;;2091:260;;;;;:::o;2693:127::-;2754:10;2749:3;2745:20;2742:1;2735:31;2785:4;2782:1;2775:15;2809:4;2806:1;2799:15;2825:128;2892:9;;;2913:11;;;2910:37;;;2927:18;;:::i;3293:125::-;3358:9;;;3379:10;;;3376:36;;;3392:18;;:::i"},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","mint(address,uint256)":"40c10f19","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/USDCMock.sol\":\"USDCMock\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/USDCMock.sol\":{\"keccak256\":\"0xd0b7c462c3660a5477ee4aadda1732c926490897947ad7735fedbe0b48e5dc99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aa4306680e76a1ce296d5539e761f198c40c81cafeb4f5d199b205ba491446f4\",\"dweb:/ipfs/QmRHJhBG3UJimUZgdwLNk7BP9R5L53grKu8ywCZVqrVqZ1\"]}},\"version\":1}"}},"contracts/interfaces/IAgentRegistry.sol":{"IAgentRegistry":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"agent","type":"address"},{"indexed":false,"internalType":"string","name":"manifestCID","type":"string"},{"indexed":false,"internalType":"uint256","name":"stake","type":"uint256"}],"name":"AgentRegistered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"agent","type":"address"},{"indexed":false,"internalType":"uint256","name":"newStake","type":"uint256"}],"name":"AgentStakeChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"agent","type":"address"},{"indexed":false,"internalType":"enum IAgentRegistry.AgentStatus","name":"status","type":"uint8"}],"name":"AgentStatusChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"agent","type":"address"},{"indexed":false,"internalType":"string","name":"manifestCID","type":"string"}],"name":"AgentUpdated","type":"event"},{"inputs":[],"name":"addStake","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"agent","type":"address"}],"name":"getAgent","outputs":[{"components":[{"internalType":"address","name":"agent","type":"address"},{"internalType":"string","name":"manifestCID","type":"string"},{"internalType":"uint256","name":"stake","type":"uint256"},{"internalType":"uint256","name":"reputationScore","type":"uint256"},{"internalType":"enum IAgentRegistry.AgentStatus","name":"status","type":"uint8"}],"internalType":"struct IAgentRegistry.AgentInfo","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"manifestCID","type":"string"}],"name":"register","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"agent","type":"address"},{"internalType":"enum IAgentRegistry.AgentStatus","name":"status","type":"uint8"}],"name":"setStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"manifestCID","type":"string"}],"name":"updateManifest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawStake","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"addStake()":"5a627dbc","getAgent(address)":"fb3551ff","register(string)":"f2c298be","setStatus(address,uint8)":"278e07ce","updateManifest(string)":"57200a9e","withdrawStake(uint256)":"25d5971f"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"manifestCID\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"stake\",\"type\":\"uint256\"}],\"name\":\"AgentRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newStake\",\"type\":\"uint256\"}],\"name\":\"AgentStakeChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum IAgentRegistry.AgentStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"AgentStatusChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"manifestCID\",\"type\":\"string\"}],\"name\":\"AgentUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"addStake\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"}],\"name\":\"getAgent\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"manifestCID\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"stake\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reputationScore\",\"type\":\"uint256\"},{\"internalType\":\"enum IAgentRegistry.AgentStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"internalType\":\"struct IAgentRegistry.AgentInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"manifestCID\",\"type\":\"string\"}],\"name\":\"register\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"enum IAgentRegistry.AgentStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"setStatus\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"manifestCID\",\"type\":\"string\"}],\"name\":\"updateManifest\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IAgentRegistry.sol\":\"IAgentRegistry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/interfaces/IAgentRegistry.sol\":{\"keccak256\":\"0xcdbd6081b86862e08671de2712b56a9ac5322ce1bc98931b22f829c2afb7329f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3a7857c5a6bd6f5aabbe1b4bfd2ec69ca76a72845babfb7c71d4ac7a9e15d78\",\"dweb:/ipfs/QmYADPJith5sJhQNUwA3ENaro2A9SqkP66eH8aV3FeYm7G\"]}},\"version\":1}"}},"contracts/interfaces/IArbitration.sol":{"IArbitration":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"disputeId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"escrowId","type":"uint256"},{"indexed":true,"internalType":"address","name":"opener","type":"address"},{"indexed":false,"internalType":"string","name":"evidenceCID","type":"string"}],"name":"DisputeCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"disputeId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ruling","type":"uint256"}],"name":"RulingGiven","type":"event"},{"inputs":[{"internalType":"uint256","name":"escrowId","type":"uint256"},{"internalType":"address","name":"opener","type":"address"},{"internalType":"string","name":"evidenceCID","type":"string"}],"name":"createDispute","outputs":[{"internalType":"uint256","name":"disputeId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"disputeId","type":"uint256"},{"internalType":"uint256","name":"ruling","type":"uint256"}],"name":"rule","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"createDispute(uint256,address,string)":"721b8776","rule(uint256,uint256)":"311a6c56"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"opener\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"evidenceCID\",\"type\":\"string\"}],\"name\":\"DisputeCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"ruling\",\"type\":\"uint256\"}],\"name\":\"RulingGiven\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"opener\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"evidenceCID\",\"type\":\"string\"}],\"name\":\"createDispute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ruling\",\"type\":\"uint256\"}],\"name\":\"rule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IArbitration.sol\":\"IArbitration\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/interfaces/IArbitration.sol\":{\"keccak256\":\"0x65650ee63ed26565d94de0fa40295051205d26a1e54d8be1d217ed2719a1ecfe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5c9fb0874a7fe1b2f3132cb41bb47dd58bcf85af3bcdfec4db4c5bba69853bd\",\"dweb:/ipfs/QmSyMZDDC3wvt4MsEf7Ebe6UtvxzgqNiopRLjB7DQsXwCi\"]}},\"version\":1}"}},"contracts/interfaces/IEscrow.sol":{"IEscrow":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"escrowId","type":"uint256"},{"indexed":true,"internalType":"address","name":"buyer","type":"address"}],"name":"DeliveryAccepted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"escrowId","type":"uint256"},{"indexed":true,"internalType":"address","name":"buyer","type":"address"},{"indexed":false,"internalType":"string","name":"reasonCID","type":"string"}],"name":"DeliveryRejected","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"escrowId","type":"uint256"},{"indexed":false,"internalType":"string","name":"deliveryCID","type":"string"},{"indexed":false,"internalType":"bytes32","name":"receiptHash","type":"bytes32"}],"name":"DeliverySubmitted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"disputeId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"escrowId","type":"uint256"},{"indexed":true,"internalType":"address","name":"opener","type":"address"}],"name":"DisputeOpened","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"disputeId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"escrowId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ruling","type":"uint256"}],"name":"DisputeResolved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"escrowId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"jobId","type":"uint256"},{"indexed":true,"internalType":"address","name":"buyer","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"EscrowFunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"escrowId","type":"uint256"},{"indexed":true,"internalType":"address","name":"buyer","type":"address"},{"indexed":false,"internalType":"uint256","name":"refundAmount","type":"uint256"}],"name":"EscrowRefunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"escrowId","type":"uint256"},{"indexed":true,"internalType":"address","name":"agent","type":"address"},{"indexed":false,"internalType":"uint256","name":"payout","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fee","type":"uint256"}],"name":"EscrowSettled","type":"event"},{"inputs":[{"internalType":"uint256","name":"escrowId","type":"uint256"}],"name":"accept","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"disputeId","type":"uint256"},{"internalType":"uint256","name":"ruling","type":"uint256"}],"name":"executeRuling","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"jobId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"paymentToken","type":"address"},{"internalType":"uint64","name":"deliveryDeadline","type":"uint64"}],"name":"fund","outputs":[{"internalType":"uint256","name":"escrowId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"escrowId","type":"uint256"}],"name":"getEscrow","outputs":[{"components":[{"internalType":"uint256","name":"escrowId","type":"uint256"},{"internalType":"uint256","name":"jobId","type":"uint256"},{"internalType":"address","name":"buyer","type":"address"},{"internalType":"address","name":"agent","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"paymentToken","type":"address"},{"internalType":"enum IEscrow.EscrowStatus","name":"status","type":"uint8"},{"internalType":"uint64","name":"fundedAt","type":"uint64"},{"internalType":"uint64","name":"deliveryDeadline","type":"uint64"}],"internalType":"struct IEscrow.EscrowInfo","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"escrowId","type":"uint256"},{"internalType":"string","name":"evidenceCID","type":"string"}],"name":"openDispute","outputs":[{"internalType":"uint256","name":"disputeId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"escrowId","type":"uint256"}],"name":"refundOnTimeout","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"escrowId","type":"uint256"},{"internalType":"string","name":"reasonCID","type":"string"}],"name":"reject","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"escrowId","type":"uint256"},{"internalType":"string","name":"deliveryCID","type":"string"},{"internalType":"bytes32","name":"receiptHash","type":"bytes32"},{"internalType":"bytes","name":"agentSignature","type":"bytes"}],"name":"submitDelivery","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"accept(uint256)":"19b05f49","executeRuling(uint256,uint256)":"d96152c3","fund(uint256,uint256,address,uint64)":"e72c93b2","getEscrow(uint256)":"7d19e596","openDispute(uint256,string)":"36f691c4","refundOnTimeout(uint256)":"5f789edb","reject(uint256,string)":"71d68a97","submitDelivery(uint256,string,bytes32,bytes)":"b231bd30"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"}],\"name\":\"DeliveryAccepted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reasonCID\",\"type\":\"string\"}],\"name\":\"DeliveryRejected\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"deliveryCID\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"receiptHash\",\"type\":\"bytes32\"}],\"name\":\"DeliverySubmitted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"opener\",\"type\":\"address\"}],\"name\":\"DisputeOpened\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"ruling\",\"type\":\"uint256\"}],\"name\":\"DisputeResolved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"jobId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"EscrowFunded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"refundAmount\",\"type\":\"uint256\"}],\"name\":\"EscrowRefunded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"payout\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"EscrowSettled\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"}],\"name\":\"accept\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ruling\",\"type\":\"uint256\"}],\"name\":\"executeRuling\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"jobId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"paymentToken\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"deliveryDeadline\",\"type\":\"uint64\"}],\"name\":\"fund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"}],\"name\":\"getEscrow\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"jobId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"paymentToken\",\"type\":\"address\"},{\"internalType\":\"enum IEscrow.EscrowStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"fundedAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"deliveryDeadline\",\"type\":\"uint64\"}],\"internalType\":\"struct IEscrow.EscrowInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"evidenceCID\",\"type\":\"string\"}],\"name\":\"openDispute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"}],\"name\":\"refundOnTimeout\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"reasonCID\",\"type\":\"string\"}],\"name\":\"reject\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"deliveryCID\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"receiptHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"agentSignature\",\"type\":\"bytes\"}],\"name\":\"submitDelivery\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IEscrow.sol\":\"IEscrow\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/interfaces/IEscrow.sol\":{\"keccak256\":\"0x7334c0de6a31fc1939219aad299278e6f0f1fff768afd8b14f2fb649aaa7a663\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b6dd059e6d00a2828b68b62284c48df525abeffd383fe0cb4b2f0eaf870199a\",\"dweb:/ipfs/QmP8Y7sVhKZCyWZKpdgheKGdRCdgzaXxxeSah6i8b4ztfP\"]}},\"version\":1}"}},"contracts/interfaces/IFeeManager.sol":{"IFeeManager":{"abi":[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"feeBps","type":"uint256"}],"name":"ProtocolFeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"treasury","type":"address"}],"name":"TreasuryUpdated","type":"event"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"computeFee","outputs":[{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"uint256","name":"net","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"protocolFeeBps","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"treasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"computeFee(uint256)":"e1bf9c08","protocolFeeBps()":"35659fb8","treasury()":"61d027b3"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"feeBps\",\"type\":\"uint256\"}],\"name\":\"ProtocolFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"treasury\",\"type\":\"address\"}],\"name\":\"TreasuryUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"computeFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"net\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"protocolFeeBps\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"treasury\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IFeeManager.sol\":\"IFeeManager\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/interfaces/IFeeManager.sol\":{\"keccak256\":\"0x01e479f125f6ea8aba54db53862251d4abd281bbc27e49dda9a5dbeaab183417\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9407ad54ee880973b80f0e48ada24a44212ae47e8ad8f15bd938f3fe473dd381\",\"dweb:/ipfs/QmcWkj9aFtDkTZk8KvzAtcLYvM8RivaXd8jReqRhAKm5bw\"]}},\"version\":1}"}},"contracts/interfaces/IMarketplace.sol":{"IMarketplace":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"bidId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"jobId","type":"uint256"},{"indexed":true,"internalType":"address","name":"agent","type":"address"},{"indexed":false,"internalType":"uint256","name":"price","type":"uint256"}],"name":"BidPlaced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"jobId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"bidId","type":"uint256"},{"indexed":true,"internalType":"address","name":"agent","type":"address"}],"name":"BidSelected","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"jobId","type":"uint256"},{"indexed":true,"internalType":"address","name":"buyer","type":"address"}],"name":"JobCancelled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"jobId","type":"uint256"},{"indexed":true,"internalType":"address","name":"buyer","type":"address"},{"indexed":false,"internalType":"string","name":"jobSpecCID","type":"string"},{"indexed":false,"internalType":"uint256","name":"budget","type":"uint256"}],"name":"JobPublished","type":"event"},{"inputs":[{"internalType":"uint256","name":"jobId","type":"uint256"}],"name":"cancelJob","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"bidId","type":"uint256"}],"name":"getBid","outputs":[{"components":[{"internalType":"uint256","name":"bidId","type":"uint256"},{"internalType":"uint256","name":"jobId","type":"uint256"},{"internalType":"address","name":"agent","type":"address"},{"internalType":"string","name":"bidCID","type":"string"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint64","name":"eta","type":"uint64"}],"internalType":"struct IMarketplace.BidInfo","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"jobId","type":"uint256"}],"name":"getJob","outputs":[{"components":[{"internalType":"uint256","name":"jobId","type":"uint256"},{"internalType":"address","name":"buyer","type":"address"},{"internalType":"string","name":"jobSpecCID","type":"string"},{"internalType":"uint256","name":"budget","type":"uint256"},{"internalType":"address","name":"paymentToken","type":"address"},{"internalType":"uint64","name":"deadline","type":"uint64"},{"internalType":"enum IMarketplace.JobStatus","name":"status","type":"uint8"}],"internalType":"struct IMarketplace.JobInfo","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"jobId","type":"uint256"},{"internalType":"string","name":"bidCID","type":"string"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint64","name":"eta","type":"uint64"}],"name":"placeBid","outputs":[{"internalType":"uint256","name":"bidId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"jobSpecCID","type":"string"},{"internalType":"uint256","name":"budget","type":"uint256"},{"internalType":"address","name":"paymentToken","type":"address"},{"internalType":"uint64","name":"deadline","type":"uint64"}],"name":"publishJob","outputs":[{"internalType":"uint256","name":"jobId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"jobId","type":"uint256"},{"internalType":"uint256","name":"bidId","type":"uint256"}],"name":"selectBid","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"cancelJob(uint256)":"1dffa3dc","getBid(uint256)":"3c889e6f","getJob(uint256)":"bf22c457","placeBid(uint256,string,uint256,uint64)":"0e88d708","publishJob(string,uint256,address,uint64)":"2adcd4b9","selectBid(uint256,uint256)":"d6f5f120"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"bidId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"jobId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"BidPlaced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"jobId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"bidId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"}],\"name\":\"BidSelected\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"jobId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"}],\"name\":\"JobCancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"jobId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"jobSpecCID\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"budget\",\"type\":\"uint256\"}],\"name\":\"JobPublished\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"jobId\",\"type\":\"uint256\"}],\"name\":\"cancelJob\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"bidId\",\"type\":\"uint256\"}],\"name\":\"getBid\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"bidId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"jobId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"bidCID\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"eta\",\"type\":\"uint64\"}],\"internalType\":\"struct IMarketplace.BidInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"jobId\",\"type\":\"uint256\"}],\"name\":\"getJob\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"jobId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"jobSpecCID\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"budget\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"paymentToken\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"deadline\",\"type\":\"uint64\"},{\"internalType\":\"enum IMarketplace.JobStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"internalType\":\"struct IMarketplace.JobInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"jobId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"bidCID\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"eta\",\"type\":\"uint64\"}],\"name\":\"placeBid\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"bidId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"jobSpecCID\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"budget\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"paymentToken\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"deadline\",\"type\":\"uint64\"}],\"name\":\"publishJob\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"jobId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"jobId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bidId\",\"type\":\"uint256\"}],\"name\":\"selectBid\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IMarketplace.sol\":\"IMarketplace\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/interfaces/IMarketplace.sol\":{\"keccak256\":\"0xf724c6e88c8a428d964b06d9766ae476e806ff2fe9353c73a079e0897a6649b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4b44d2ceef7fe023220470d9202a86d8383d0d5b148186288d56cd93d238d2f3\",\"dweb:/ipfs/QmPbG5aqDZNfX8TMXvJdHPpx86qxJZrCXhA2iUqnyoWK89\"]}},\"version\":1}"}},"contracts/interfaces/IReputation.sol":{"IReputation":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"subject","type":"address"},{"indexed":false,"internalType":"int256","name":"delta","type":"int256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"},{"indexed":false,"internalType":"uint256","name":"relatedJobId","type":"uint256"}],"name":"ReputationUpdated","type":"event"},{"inputs":[{"internalType":"address","name":"subject","type":"address"}],"name":"scoreOf","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"subject","type":"address"},{"internalType":"int256","name":"delta","type":"int256"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"uint256","name":"relatedJobId","type":"uint256"}],"name":"update","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"scoreOf(address)":"133af456","update(address,int256,string,uint256)":"77ab1153"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"subject\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"delta\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"relatedJobId\",\"type\":\"uint256\"}],\"name\":\"ReputationUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"subject\",\"type\":\"address\"}],\"name\":\"scoreOf\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"subject\",\"type\":\"address\"},{\"internalType\":\"int256\",\"name\":\"delta\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"relatedJobId\",\"type\":\"uint256\"}],\"name\":\"update\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IReputation.sol\":\"IReputation\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/interfaces/IReputation.sol\":{\"keccak256\":\"0xeaae861ca029f3bbe714fa09506c36ede12fe6c63b9d2533e3bc5ca1b8d177ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d4969c2d439411a282f57e335a62cd4e7d8bca14feb9d944666e28b9b18c8309\",\"dweb:/ipfs/QmY8kC5npgdrYa6oAHS21VpPzNzTadF5zoH3THpLz4GFrb\"]}},\"version\":1}"}},"contracts/interfaces/ISignatures.sol":{"ISignatures":{"abi":[{"inputs":[],"name":"domainSeparator","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"jobId","type":"uint256"},{"internalType":"address","name":"agent","type":"address"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint64","name":"eta","type":"uint64"},{"internalType":"string","name":"bidCID","type":"string"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint64","name":"deadline","type":"uint64"}],"internalType":"struct ISignatures.BidSignature","name":"bid","type":"tuple"}],"name":"hashBid","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"escrowId","type":"uint256"},{"internalType":"uint256","name":"jobId","type":"uint256"},{"internalType":"address","name":"agent","type":"address"},{"internalType":"string","name":"deliveryCID","type":"string"},{"internalType":"bytes32","name":"deliveryHash","type":"bytes32"},{"internalType":"uint64","name":"timestamp","type":"uint64"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint64","name":"deadline","type":"uint64"}],"internalType":"struct ISignatures.DeliveryReceiptSignature","name":"receipt","type":"tuple"}],"name":"hashDeliveryReceipt","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"disputeId","type":"uint256"},{"internalType":"uint256","name":"escrowId","type":"uint256"},{"internalType":"address","name":"submitter","type":"address"},{"internalType":"string","name":"evidenceCID","type":"string"},{"internalType":"bytes32","name":"evidenceHash","type":"bytes32"},{"internalType":"uint64","name":"timestamp","type":"uint64"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint64","name":"deadline","type":"uint64"}],"internalType":"struct ISignatures.DisputeEvidenceSignature","name":"evidence","type":"tuple"}],"name":"hashDisputeEvidence","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"signer","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"jobId","type":"uint256"},{"internalType":"address","name":"agent","type":"address"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint64","name":"eta","type":"uint64"},{"internalType":"string","name":"bidCID","type":"string"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint64","name":"deadline","type":"uint64"}],"internalType":"struct ISignatures.BidSignature","name":"bid","type":"tuple"},{"internalType":"bytes","name":"signature","type":"bytes"}],"name":"verifyBidSignature","outputs":[{"internalType":"address","name":"signer","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"escrowId","type":"uint256"},{"internalType":"uint256","name":"jobId","type":"uint256"},{"internalType":"address","name":"agent","type":"address"},{"internalType":"string","name":"deliveryCID","type":"string"},{"internalType":"bytes32","name":"deliveryHash","type":"bytes32"},{"internalType":"uint64","name":"timestamp","type":"uint64"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint64","name":"deadline","type":"uint64"}],"internalType":"struct ISignatures.DeliveryReceiptSignature","name":"receipt","type":"tuple"},{"internalType":"bytes","name":"signature","type":"bytes"}],"name":"verifyDeliveryReceiptSignature","outputs":[{"internalType":"address","name":"signer","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"disputeId","type":"uint256"},{"internalType":"uint256","name":"escrowId","type":"uint256"},{"internalType":"address","name":"submitter","type":"address"},{"internalType":"string","name":"evidenceCID","type":"string"},{"internalType":"bytes32","name":"evidenceHash","type":"bytes32"},{"internalType":"uint64","name":"timestamp","type":"uint64"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint64","name":"deadline","type":"uint64"}],"internalType":"struct ISignatures.DisputeEvidenceSignature","name":"evidence","type":"tuple"},{"internalType":"bytes","name":"signature","type":"bytes"}],"name":"verifyDisputeEvidenceSignature","outputs":[{"internalType":"address","name":"signer","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"domainSeparator()":"f698da25","hashBid((uint256,address,uint256,uint64,string,uint256,uint64))":"d666a5ad","hashDeliveryReceipt((uint256,uint256,address,string,bytes32,uint64,uint256,uint64))":"bce28f06","hashDisputeEvidence((uint256,uint256,address,string,bytes32,uint64,uint256,uint64))":"fe310566","nonces(address)":"7ecebe00","verifyBidSignature((uint256,address,uint256,uint64,string,uint256,uint64),bytes)":"58019ab6","verifyDeliveryReceiptSignature((uint256,uint256,address,string,bytes32,uint64,uint256,uint64),bytes)":"8efc7043","verifyDisputeEvidenceSignature((uint256,uint256,address,string,bytes32,uint64,uint256,uint64),bytes)":"8f11a33d"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"domainSeparator\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"jobId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"eta\",\"type\":\"uint64\"},{\"internalType\":\"string\",\"name\":\"bidCID\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"deadline\",\"type\":\"uint64\"}],\"internalType\":\"struct ISignatures.BidSignature\",\"name\":\"bid\",\"type\":\"tuple\"}],\"name\":\"hashBid\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"jobId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"deliveryCID\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"deliveryHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"deadline\",\"type\":\"uint64\"}],\"internalType\":\"struct ISignatures.DeliveryReceiptSignature\",\"name\":\"receipt\",\"type\":\"tuple\"}],\"name\":\"hashDeliveryReceipt\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"evidenceCID\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"evidenceHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"deadline\",\"type\":\"uint64\"}],\"internalType\":\"struct ISignatures.DisputeEvidenceSignature\",\"name\":\"evidence\",\"type\":\"tuple\"}],\"name\":\"hashDisputeEvidence\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"jobId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"eta\",\"type\":\"uint64\"},{\"internalType\":\"string\",\"name\":\"bidCID\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"deadline\",\"type\":\"uint64\"}],\"internalType\":\"struct ISignatures.BidSignature\",\"name\":\"bid\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"verifyBidSignature\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"jobId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"deliveryCID\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"deliveryHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"deadline\",\"type\":\"uint64\"}],\"internalType\":\"struct ISignatures.DeliveryReceiptSignature\",\"name\":\"receipt\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"verifyDeliveryReceiptSignature\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"disputeId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"evidenceCID\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"evidenceHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"deadline\",\"type\":\"uint64\"}],\"internalType\":\"struct ISignatures.DisputeEvidenceSignature\",\"name\":\"evidence\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"verifyDisputeEvidenceSignature\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Note: Solidity interfaces cannot declare constants; typehash constants should live in a library or implementation.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"EIP-712 Signatures Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"domainSeparator()\":{\"notice\":\"Returns the EIP-712 domain separator used for hashing.\"},\"hashBid((uint256,address,uint256,uint64,string,uint256,uint64))\":{\"notice\":\"Hashes a BidSignature struct per EIP-712.\"},\"hashDeliveryReceipt((uint256,uint256,address,string,bytes32,uint64,uint256,uint64))\":{\"notice\":\"Hashes a DeliveryReceiptSignature struct per EIP-712.\"},\"hashDisputeEvidence((uint256,uint256,address,string,bytes32,uint64,uint256,uint64))\":{\"notice\":\"Hashes a DisputeEvidenceSignature struct per EIP-712.\"},\"nonces(address)\":{\"notice\":\"Returns the current nonce for a signer.\"},\"verifyBidSignature((uint256,address,uint256,uint64,string,uint256,uint64),bytes)\":{\"notice\":\"Verifies a BidSignature and returns the recovered signer.\"},\"verifyDeliveryReceiptSignature((uint256,uint256,address,string,bytes32,uint64,uint256,uint64),bytes)\":{\"notice\":\"Verifies a DeliveryReceiptSignature and returns the recovered signer.\"},\"verifyDisputeEvidenceSignature((uint256,uint256,address,string,bytes32,uint64,uint256,uint64),bytes)\":{\"notice\":\"Verifies a DisputeEvidenceSignature and returns the recovered signer.\"}},\"notice\":\"Defines typed data structs and verification helpers for v0 signatures.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/ISignatures.sol\":\"ISignatures\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/interfaces/ISignatures.sol\":{\"keccak256\":\"0x98834b05ccb5d5ca69ad7a2c7710fbfb413d05e7810bca7f9fdb32d1fe3459f9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a242cca2799b88353b2220eff9b0b5e95550125d668943ef2dfe7567e43ad42a\",\"dweb:/ipfs/QmeXhGnT3Z1JC4fwMgYLo4S2xgNSZnwBw5gnsyfVVw2wUE\"]}},\"version\":1}"}},"contracts/interfaces/ITokenEscrow.sol":{"ITokenEscrow":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"escrowId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"jobId","type":"uint256"},{"indexed":true,"internalType":"address","name":"buyer","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"EscrowFunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"escrowId","type":"uint256"},{"indexed":true,"internalType":"address","name":"buyer","type":"address"},{"indexed":false,"internalType":"uint256","name":"refundAmount","type":"uint256"}],"name":"EscrowRefunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"escrowId","type":"uint256"},{"indexed":true,"internalType":"address","name":"agent","type":"address"},{"indexed":false,"internalType":"uint256","name":"payout","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fee","type":"uint256"}],"name":"EscrowReleased","type":"event"},{"inputs":[{"internalType":"uint256","name":"jobId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint64","name":"deliveryDeadline","type":"uint64"}],"name":"fundUSDC","outputs":[{"internalType":"uint256","name":"escrowId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"escrowId","type":"uint256"}],"name":"getEscrow","outputs":[{"components":[{"internalType":"uint256","name":"escrowId","type":"uint256"},{"internalType":"uint256","name":"jobId","type":"uint256"},{"internalType":"address","name":"buyer","type":"address"},{"internalType":"address","name":"agent","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"paymentToken","type":"address"},{"internalType":"enum ITokenEscrow.EscrowStatus","name":"status","type":"uint8"},{"internalType":"uint64","name":"fundedAt","type":"uint64"},{"internalType":"uint64","name":"deliveryDeadline","type":"uint64"}],"internalType":"struct ITokenEscrow.TokenEscrowInfo","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paymentToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"protocolFeeBps","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"escrowId","type":"uint256"}],"name":"refundToBuyer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"escrowId","type":"uint256"}],"name":"releaseToAgent","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"fundUSDC(uint256,uint256,uint64)":"8bc7d27c","getEscrow(uint256)":"7d19e596","paymentToken()":"3013ce29","protocolFeeBps()":"35659fb8","refundToBuyer(uint256)":"b4050fc8","releaseToAgent(uint256)":"b6060548"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"jobId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"EscrowFunded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"refundAmount\",\"type\":\"uint256\"}],\"name\":\"EscrowRefunded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"payout\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"EscrowReleased\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"jobId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"deliveryDeadline\",\"type\":\"uint64\"}],\"name\":\"fundUSDC\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"}],\"name\":\"getEscrow\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"jobId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"paymentToken\",\"type\":\"address\"},{\"internalType\":\"enum ITokenEscrow.EscrowStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"fundedAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"deliveryDeadline\",\"type\":\"uint64\"}],\"internalType\":\"struct ITokenEscrow.TokenEscrowInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paymentToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"protocolFeeBps\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"}],\"name\":\"refundToBuyer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"escrowId\",\"type\":\"uint256\"}],\"name\":\"releaseToAgent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"USDC Token Escrow Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"fundUSDC(uint256,uint256,uint64)\":{\"notice\":\"Funds a new escrow in USDC using safeTransferFrom.\"},\"getEscrow(uint256)\":{\"notice\":\"Returns escrow info.\"},\"paymentToken()\":{\"notice\":\"Returns the USDC token address used for escrow.\"},\"protocolFeeBps()\":{\"notice\":\"Returns the current protocol fee in basis points.\"},\"refundToBuyer(uint256)\":{\"notice\":\"Refunds escrowed funds to the buyer.\"},\"releaseToAgent(uint256)\":{\"notice\":\"Releases escrowed funds to the agent and protocol fee to treasury.\"}},\"notice\":\"ERC20 USDC-specific escrow operations and events.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/ITokenEscrow.sol\":\"ITokenEscrow\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/interfaces/ITokenEscrow.sol\":{\"keccak256\":\"0xff9ce730aad60f6d8deb5c30053f5bd150dcd59b1f71218b3a7f603b8fd96fc3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ecdef32f66d03f21bf94ca28e333b4d3acdeba70bebc5f4560ca902ed634ccde\",\"dweb:/ipfs/QmfJryGgSPmSMkSjqTiuvrxeYNNV5YrQxzGfKuD5nPRJeG\"]}},\"version\":1}"}}}}}