{"version":3,"sources":["../../src/contracts/atomic-queue-abi.ts"],"sourcesContent":["export const AtomicQueueAbi = [\n  {\n    type: \"function\",\n    name: \"getUserAtomicRequest\",\n    inputs: [\n      { name: \"user\", type: \"address\", internalType: \"address\" },\n      { name: \"offer\", type: \"address\", internalType: \"contract ERC20\" },\n      { name: \"want\", type: \"address\", internalType: \"contract ERC20\" },\n    ],\n    outputs: [\n      {\n        name: \"\",\n        type: \"tuple\",\n        internalType: \"struct AtomicQueue.AtomicRequest\",\n        components: [\n          { name: \"deadline\", type: \"uint64\", internalType: \"uint64\" },\n          { name: \"atomicPrice\", type: \"uint88\", internalType: \"uint88\" },\n          { name: \"offerAmount\", type: \"uint96\", internalType: \"uint96\" },\n          { name: \"inSolve\", type: \"bool\", internalType: \"bool\" },\n        ],\n      },\n    ],\n    stateMutability: \"view\",\n  },\n  {\n    type: \"function\",\n    name: \"isAtomicRequestValid\",\n    inputs: [\n      { name: \"offer\", type: \"address\", internalType: \"contract ERC20\" },\n      { name: \"user\", type: \"address\", internalType: \"address\" },\n      {\n        name: \"userRequest\",\n        type: \"tuple\",\n        internalType: \"struct AtomicQueue.AtomicRequest\",\n        components: [\n          { name: \"deadline\", type: \"uint64\", internalType: \"uint64\" },\n          { name: \"atomicPrice\", type: \"uint88\", internalType: \"uint88\" },\n          { name: \"offerAmount\", type: \"uint96\", internalType: \"uint96\" },\n          { name: \"inSolve\", type: \"bool\", internalType: \"bool\" },\n        ],\n      },\n    ],\n    outputs: [{ name: \"\", type: \"bool\", internalType: \"bool\" }],\n    stateMutability: \"view\",\n  },\n  {\n    type: \"function\",\n    name: \"solve\",\n    inputs: [\n      { name: \"offer\", type: \"address\", internalType: \"contract ERC20\" },\n      { name: \"want\", type: \"address\", internalType: \"contract ERC20\" },\n      { name: \"users\", type: \"address[]\", internalType: \"address[]\" },\n      { name: \"runData\", type: \"bytes\", internalType: \"bytes\" },\n      { name: \"solver\", type: \"address\", internalType: \"address\" },\n    ],\n    outputs: [],\n    stateMutability: \"nonpayable\",\n  },\n  {\n    type: \"function\",\n    name: \"updateAtomicRequest\",\n    inputs: [\n      { name: \"offer\", type: \"address\", internalType: \"contract ERC20\" },\n      { name: \"want\", type: \"address\", internalType: \"contract ERC20\" },\n      {\n        name: \"userRequest\",\n        type: \"tuple\",\n        internalType: \"struct AtomicQueue.AtomicRequest\",\n        components: [\n          { name: \"deadline\", type: \"uint64\", internalType: \"uint64\" },\n          { name: \"atomicPrice\", type: \"uint88\", internalType: \"uint88\" },\n          { name: \"offerAmount\", type: \"uint96\", internalType: \"uint96\" },\n          { name: \"inSolve\", type: \"bool\", internalType: \"bool\" },\n        ],\n      },\n    ],\n    outputs: [],\n    stateMutability: \"nonpayable\",\n  },\n  {\n    type: \"function\",\n    name: \"userAtomicRequest\",\n    inputs: [\n      { name: \"\", type: \"address\", internalType: \"address\" },\n      { name: \"\", type: \"address\", internalType: \"contract ERC20\" },\n      { name: \"\", type: \"address\", internalType: \"contract ERC20\" },\n    ],\n    outputs: [\n      { name: \"deadline\", type: \"uint64\", internalType: \"uint64\" },\n      { name: \"atomicPrice\", type: \"uint88\", internalType: \"uint88\" },\n      { name: \"offerAmount\", type: \"uint96\", internalType: \"uint96\" },\n      { name: \"inSolve\", type: \"bool\", internalType: \"bool\" },\n    ],\n    stateMutability: \"view\",\n  },\n  {\n    type: \"function\",\n    name: \"viewSolveMetaData\",\n    inputs: [\n      { name: \"offer\", type: \"address\", internalType: \"contract ERC20\" },\n      { name: \"want\", type: \"address\", internalType: \"contract ERC20\" },\n      { name: \"users\", type: \"address[]\", internalType: \"address[]\" },\n    ],\n    outputs: [\n      {\n        name: \"metaData\",\n        type: \"tuple[]\",\n        internalType: \"struct AtomicQueue.SolveMetaData[]\",\n        components: [\n          { name: \"user\", type: \"address\", internalType: \"address\" },\n          { name: \"flags\", type: \"uint8\", internalType: \"uint8\" },\n          { name: \"assetsToOffer\", type: \"uint256\", internalType: \"uint256\" },\n          { name: \"assetsForWant\", type: \"uint256\", internalType: \"uint256\" },\n        ],\n      },\n      { name: \"totalAssetsForWant\", type: \"uint256\", internalType: \"uint256\" },\n      { name: \"totalAssetsToOffer\", type: \"uint256\", internalType: \"uint256\" },\n    ],\n    stateMutability: \"view\",\n  },\n  {\n    type: \"event\",\n    name: \"AtomicRequestFulfilled\",\n    inputs: [\n      {\n        name: \"user\",\n        type: \"address\",\n        indexed: false,\n        internalType: \"address\",\n      },\n      {\n        name: \"offerToken\",\n        type: \"address\",\n        indexed: false,\n        internalType: \"address\",\n      },\n      {\n        name: \"wantToken\",\n        type: \"address\",\n        indexed: false,\n        internalType: \"address\",\n      },\n      {\n        name: \"offerAmountSpent\",\n        type: \"uint256\",\n        indexed: false,\n        internalType: \"uint256\",\n      },\n      {\n        name: \"wantAmountReceived\",\n        type: \"uint256\",\n        indexed: false,\n        internalType: \"uint256\",\n      },\n      {\n        name: \"timestamp\",\n        type: \"uint256\",\n        indexed: false,\n        internalType: \"uint256\",\n      },\n    ],\n    anonymous: false,\n  },\n  {\n    type: \"event\",\n    name: \"AtomicRequestUpdated\",\n    inputs: [\n      {\n        name: \"user\",\n        type: \"address\",\n        indexed: false,\n        internalType: \"address\",\n      },\n      {\n        name: \"offerToken\",\n        type: \"address\",\n        indexed: false,\n        internalType: \"address\",\n      },\n      {\n        name: \"wantToken\",\n        type: \"address\",\n        indexed: false,\n        internalType: \"address\",\n      },\n      {\n        name: \"amount\",\n        type: \"uint256\",\n        indexed: false,\n        internalType: \"uint256\",\n      },\n      {\n        name: \"deadline\",\n        type: \"uint256\",\n        indexed: false,\n        internalType: \"uint256\",\n      },\n      {\n        name: \"minPrice\",\n        type: \"uint256\",\n        indexed: false,\n        internalType: \"uint256\",\n      },\n      {\n        name: \"timestamp\",\n        type: \"uint256\",\n        indexed: false,\n        internalType: \"uint256\",\n      },\n    ],\n    anonymous: false,\n  },\n  {\n    type: \"error\",\n    name: \"AtomicQueue__RequestDeadlineExceeded\",\n    inputs: [{ name: \"user\", type: \"address\", internalType: \"address\" }],\n  },\n  {\n    type: \"error\",\n    name: \"AtomicQueue__UserNotInSolve\",\n    inputs: [{ name: \"user\", type: \"address\", internalType: \"address\" }],\n  },\n  {\n    type: \"error\",\n    name: \"AtomicQueue__UserRepeated\",\n    inputs: [{ name: \"user\", type: \"address\", internalType: \"address\" }],\n  },\n  {\n    type: \"error\",\n    name: \"AtomicQueue__ZeroOfferAmount\",\n    inputs: [{ name: \"user\", type: \"address\", internalType: \"address\" }],\n  },\n] as const;\n"],"mappings":"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","names":[]}