{
  "_format": "hh-sol-artifact-1",
  "contractName": "NonfungibleTokenPositionDescriptor",
  "sourceName": "contracts/NonfungibleTokenPositionDescriptor.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_WNativeToken",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "WNativeToken",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "token0",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "token1",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "chainId",
          "type": "uint256"
        }
      ],
      "name": "flipRatio",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "token",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "chainId",
          "type": "uint256"
        }
      ],
      "name": "tokenRatioPriority",
      "outputs": [
        {
          "internalType": "int256",
          "name": "",
          "type": "int256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract INonfungiblePositionManager",
          "name": "positionManager",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "tokenURI",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x60a03461007857601f61102f38819003918201601f19168301916001600160401b0383118484101761007d5780849260209460405283398101031261007857516001600160a01b038116810361007857608052604051610f9b90816100948239608051818181610295015281816108d10152610b1a0152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe608080604052600436101561001357600080fd5b60003560e01c9081637e5af771146108f5575080638af3ac85146108b15780639d7b0ea8146108825763e9dc63751461004b57600080fd5b346105dd5760403660031901126105dd576004356001600160a01b0381168091036105dd576040517f99fbab88000000000000000000000000000000000000000000000000000000008152602435600482015261016081602481855afa8015610587576000906000936000936000926107c4575b50906020600492604051938480927f3119049a0000000000000000000000000000000000000000000000000000000082525afa91821561058757600092610788575b50604051916040830183811067ffffffffffffffff821117610593576040526001600160a01b0384169283815260208101936001600160a01b03881690818652101561072a576001600160a01b038091511693511692604051936020850191825260408501526040845283606081011067ffffffffffffffff606086011117610593576060840160405283519020906001600160f81b031960808501526bffffffffffffffffffffffff199060601b16608184015260958301527fa360004fb86ddf4cd7fe9aa67d0c6a7f7812d9069142659003dc503e1d7d241f60b5830152605560608301526060820160e083011067ffffffffffffffff60e0840111176105935760e082016040526001600160a01b036060830151608084012016936102294685610b0b565b6102334688610b0b565b1293841596876000146107235780975b1561071b5750935b7fe76c01e40000000000000000000000000000000000000000000000000000000060e085810191825290600481895afa9384156105875760009461067f575b506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001696876001600160a01b03821614600014610670576102d1610a70565b975b6001600160a01b03871603610662576102ea610a70565b6040519663313ce56760e01b88526020886004816001600160a01b0387165afa97881561058757600098610626575b506040519763313ce56760e01b89526020896004816001600160a01b0386165afa928315610587576000936105ea575b6040517fd0c93a7c000000000000000000000000000000000000000000000000000000008152995060208a6004818e5afa998a156105875760009a6105a9575b506040519b8c67ffffffffffffffff6101a0828181011092011117610593578c60406001600160a01b0360ff9896818a986101a08601855260243586521660208501521691015260608d015260808c01521660a08a01521660c088015260e087015260020b61010086015260020b61012085015260020b61014084015260020b61016083015261018082015260006040518080937fc49917d700000000000000000000000000000000000000000000000000000000825260206004830152805160248301526001600160a01b0360208201511660448301526001600160a01b0360408201511660648301526001600160a01b036101806104b361049d60608501516101a060848801526101c4870190610979565b60808501518682036023190160a4880152610979565b9260ff60a08201511660c486015260ff60c08201511660e486015260e0810151151561010486015261010081015160020b61012486015261012081015160020b61014486015261014081015160020b61016486015261016081015160020b6101848601520151166101a4830152038173__$cea9be979eee3d87fb124d6cbb244bb0b5$__5af480156105875761056091600091610564575b50604051918291602083526020830190610979565b0390f35b61058191503d806000833e61057981836109d6565b810190610aa9565b3861054b565b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b9099506020813d6020116105e2575b816105c5602093836109d6565b810103126105dd576105d690610a0c565b9838610389565b600080fd5b3d91506105b8565b92506020893d60201161061e575b81610605602093836109d6565b810103126105dd57610618600499610a46565b92610349565b3d91506105f8565b9097506020813d60201161065a575b81610642602093836109d6565b810103126105dd5761065390610a46565b9638610319565b3d9150610635565b61066b86610c01565b6102ea565b61067981610c01565b976102d3565b90935060e0813d60e011610713575b8161069d60e0938484016109d6565b810103126105dd5760e08101516001600160a01b038116036105dd576101a06106c96101008301610a0c565b916106d76101208201610a0c565b506106e56101408201610a37565b506106f36101608201610a37565b506107016101808201610a46565b500151801515036105dd57923861028a565b3d915061068e565b90509361024b565b8197610243565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f496e76616c6964206f72646572206f6620746f6b656e730000000000000000006044820152fd5b9091506020813d6020116107bc575b816107a4602093836109d6565b810103126105dd576107b5906109f8565b9038610101565b3d9150610797565b935093505050610160813d6101601161087a575b816107e661016093836109d6565b810103126105dd5780516affffffffffffffffffffff8116036105dd5761080f602082016109f8565b5061081c604082016109f8565b91600461082b606084016109f8565b91602061083a60808601610a0c565b9561086f61014061084d60a08901610a0c565b9761085a60c08201610a1a565b506108686101208201610a1a565b5001610a1a565b5093959492506100bf565b3d91506107d8565b346105dd5760403660031901126105dd5760206108a96108a0610940565b60243590610b0b565b604051908152f35b346105dd5760003660031901126105dd5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b346105dd5760603660031901126105dd5761090e610940565b906024356001600160a01b03811681036105dd5761093b6020936109356044358092610b0b565b92610b0b565b128152f35b600435906001600160a01b03821682036105dd57565b60005b8381106109695750506000910152565b8181015183820152602001610959565b9060209161099281518092818552858086019101610956565b601f01601f1916010190565b6040810190811067ffffffffffffffff82111761059357604052565b6020810190811067ffffffffffffffff82111761059357604052565b90601f8019910116810190811067ffffffffffffffff82111761059357604052565b51906001600160a01b03821682036105dd57565b51908160020b82036105dd57565b51906fffffffffffffffffffffffffffffffff821682036105dd57565b519061ffff821682036105dd57565b519060ff821682036105dd57565b67ffffffffffffffff811161059357601f01601f191660200190565b60405190610a7d8261099e565b600582527f4d415449430000000000000000000000000000000000000000000000000000006020830152565b6020818303126105dd5780519067ffffffffffffffff82116105dd570181601f820112156105dd578051610adc81610a54565b92610aea60405194856109d6565b818452602082840101116105dd57610b089160208085019101610956565b90565b906001600160a01b03809216917f0000000000000000000000000000000000000000000000000000000000000000168214610bf957608914610b4d5750600090565b732791bca1f2de4661ed88a30c99a7a9449aa841748103610b6f575061012c90565b73c2132d05d31c914a87c6611c10748aeb04b58e8f8103610b90575060c890565b738f3cf7ad23cd3cadbd9735aff958023239c6a0638103610bb15750606490565b737ceb23fd6bc0add59e62ac25578270cff1b9f6198103610bd3575060c71990565b731bfd67037b42cf73acf2047067bd4f2c47d9bfd603610bf45761012b1990565b600090565b505060631990565b610c0a81610dd0565b90815115610c16575090565b9190506001600160a01b0360405192610c2e8461099e565b60068452602036818601371660005b600380821015610d53576013828103908111610d3d577f1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81168103610d3d5783911b1c60ff60f0821681831603908111610d3d57610ca1600f600493841c16610d8e565b9160019184831b937f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff86168603610d285790610cea9160001a610ce4868b610d67565b53610d8e565b918301809311610d13575090610d08610d0e939260001a9187610d67565b53610d58565b610c3d565b601190634e487b7160e01b6000525260246000fd5b601183634e487b7160e01b6000525260246000fd5b634e487b7160e01b600052601160045260246000fd5b505050565b6000198114610d3d5760010190565b908151811015610d78570160200190565b634e487b7160e01b600052603260045260246000fd5b60ff16600a811015610db55760300160ff8111610d3d5760f81b6001600160f81b03191690565b60370160ff8111610d3d5760f81b6001600160f81b03191690565b604090815190602091828101907f95d89b410000000000000000000000000000000000000000000000000000000082526004815284810181811067ffffffffffffffff8211176105935785526000928392839251915afa3d15610f86573d90610e3882610a54565b91610e45865193846109d6565b82523d838584013e5b158015610f7d575b610f6e578051838103610f3e57508281805181010312610f3a5782015191835190610e808261099e565b8082528036818401378293835b828110610efb575050610eab610ea285610a54565b955195866109d6565b838552601f19610eba85610a54565b01903690860137815b838110610ed1575050505090565b806001600160f81b0319610ee8610ef69385610d67565b5116841a610d088288610d67565b610ec3565b81811a6001600160f81b03198160f81b16610f20575b50610f1b90610d58565b610e8d565b86610f3391610d08610f1b949988610d67565b9590610f11565b5080fd5b8481959492939511610f5d575050505190610f58826109ba565b815290565b610b08945082018101925001610aa9565b509190505190610f58826109ba565b50805115610e56565b606090610e4e56fea164736f6c6343000811000a",
  "deployedBytecode": "0x608080604052600436101561001357600080fd5b60003560e01c9081637e5af771146108f5575080638af3ac85146108b15780639d7b0ea8146108825763e9dc63751461004b57600080fd5b346105dd5760403660031901126105dd576004356001600160a01b0381168091036105dd576040517f99fbab88000000000000000000000000000000000000000000000000000000008152602435600482015261016081602481855afa8015610587576000906000936000936000926107c4575b50906020600492604051938480927f3119049a0000000000000000000000000000000000000000000000000000000082525afa91821561058757600092610788575b50604051916040830183811067ffffffffffffffff821117610593576040526001600160a01b0384169283815260208101936001600160a01b03881690818652101561072a576001600160a01b038091511693511692604051936020850191825260408501526040845283606081011067ffffffffffffffff606086011117610593576060840160405283519020906001600160f81b031960808501526bffffffffffffffffffffffff199060601b16608184015260958301527fa360004fb86ddf4cd7fe9aa67d0c6a7f7812d9069142659003dc503e1d7d241f60b5830152605560608301526060820160e083011067ffffffffffffffff60e0840111176105935760e082016040526001600160a01b036060830151608084012016936102294685610b0b565b6102334688610b0b565b1293841596876000146107235780975b1561071b5750935b7fe76c01e40000000000000000000000000000000000000000000000000000000060e085810191825290600481895afa9384156105875760009461067f575b506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001696876001600160a01b03821614600014610670576102d1610a70565b975b6001600160a01b03871603610662576102ea610a70565b6040519663313ce56760e01b88526020886004816001600160a01b0387165afa97881561058757600098610626575b506040519763313ce56760e01b89526020896004816001600160a01b0386165afa928315610587576000936105ea575b6040517fd0c93a7c000000000000000000000000000000000000000000000000000000008152995060208a6004818e5afa998a156105875760009a6105a9575b506040519b8c67ffffffffffffffff6101a0828181011092011117610593578c60406001600160a01b0360ff9896818a986101a08601855260243586521660208501521691015260608d015260808c01521660a08a01521660c088015260e087015260020b61010086015260020b61012085015260020b61014084015260020b61016083015261018082015260006040518080937fc49917d700000000000000000000000000000000000000000000000000000000825260206004830152805160248301526001600160a01b0360208201511660448301526001600160a01b0360408201511660648301526001600160a01b036101806104b361049d60608501516101a060848801526101c4870190610979565b60808501518682036023190160a4880152610979565b9260ff60a08201511660c486015260ff60c08201511660e486015260e0810151151561010486015261010081015160020b61012486015261012081015160020b61014486015261014081015160020b61016486015261016081015160020b6101848601520151166101a4830152038173__$cea9be979eee3d87fb124d6cbb244bb0b5$__5af480156105875761056091600091610564575b50604051918291602083526020830190610979565b0390f35b61058191503d806000833e61057981836109d6565b810190610aa9565b3861054b565b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b9099506020813d6020116105e2575b816105c5602093836109d6565b810103126105dd576105d690610a0c565b9838610389565b600080fd5b3d91506105b8565b92506020893d60201161061e575b81610605602093836109d6565b810103126105dd57610618600499610a46565b92610349565b3d91506105f8565b9097506020813d60201161065a575b81610642602093836109d6565b810103126105dd5761065390610a46565b9638610319565b3d9150610635565b61066b86610c01565b6102ea565b61067981610c01565b976102d3565b90935060e0813d60e011610713575b8161069d60e0938484016109d6565b810103126105dd5760e08101516001600160a01b038116036105dd576101a06106c96101008301610a0c565b916106d76101208201610a0c565b506106e56101408201610a37565b506106f36101608201610a37565b506107016101808201610a46565b500151801515036105dd57923861028a565b3d915061068e565b90509361024b565b8197610243565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f496e76616c6964206f72646572206f6620746f6b656e730000000000000000006044820152fd5b9091506020813d6020116107bc575b816107a4602093836109d6565b810103126105dd576107b5906109f8565b9038610101565b3d9150610797565b935093505050610160813d6101601161087a575b816107e661016093836109d6565b810103126105dd5780516affffffffffffffffffffff8116036105dd5761080f602082016109f8565b5061081c604082016109f8565b91600461082b606084016109f8565b91602061083a60808601610a0c565b9561086f61014061084d60a08901610a0c565b9761085a60c08201610a1a565b506108686101208201610a1a565b5001610a1a565b5093959492506100bf565b3d91506107d8565b346105dd5760403660031901126105dd5760206108a96108a0610940565b60243590610b0b565b604051908152f35b346105dd5760003660031901126105dd5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b346105dd5760603660031901126105dd5761090e610940565b906024356001600160a01b03811681036105dd5761093b6020936109356044358092610b0b565b92610b0b565b128152f35b600435906001600160a01b03821682036105dd57565b60005b8381106109695750506000910152565b8181015183820152602001610959565b9060209161099281518092818552858086019101610956565b601f01601f1916010190565b6040810190811067ffffffffffffffff82111761059357604052565b6020810190811067ffffffffffffffff82111761059357604052565b90601f8019910116810190811067ffffffffffffffff82111761059357604052565b51906001600160a01b03821682036105dd57565b51908160020b82036105dd57565b51906fffffffffffffffffffffffffffffffff821682036105dd57565b519061ffff821682036105dd57565b519060ff821682036105dd57565b67ffffffffffffffff811161059357601f01601f191660200190565b60405190610a7d8261099e565b600582527f4d415449430000000000000000000000000000000000000000000000000000006020830152565b6020818303126105dd5780519067ffffffffffffffff82116105dd570181601f820112156105dd578051610adc81610a54565b92610aea60405194856109d6565b818452602082840101116105dd57610b089160208085019101610956565b90565b906001600160a01b03809216917f0000000000000000000000000000000000000000000000000000000000000000168214610bf957608914610b4d5750600090565b732791bca1f2de4661ed88a30c99a7a9449aa841748103610b6f575061012c90565b73c2132d05d31c914a87c6611c10748aeb04b58e8f8103610b90575060c890565b738f3cf7ad23cd3cadbd9735aff958023239c6a0638103610bb15750606490565b737ceb23fd6bc0add59e62ac25578270cff1b9f6198103610bd3575060c71990565b731bfd67037b42cf73acf2047067bd4f2c47d9bfd603610bf45761012b1990565b600090565b505060631990565b610c0a81610dd0565b90815115610c16575090565b9190506001600160a01b0360405192610c2e8461099e565b60068452602036818601371660005b600380821015610d53576013828103908111610d3d577f1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81168103610d3d5783911b1c60ff60f0821681831603908111610d3d57610ca1600f600493841c16610d8e565b9160019184831b937f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff86168603610d285790610cea9160001a610ce4868b610d67565b53610d8e565b918301809311610d13575090610d08610d0e939260001a9187610d67565b53610d58565b610c3d565b601190634e487b7160e01b6000525260246000fd5b601183634e487b7160e01b6000525260246000fd5b634e487b7160e01b600052601160045260246000fd5b505050565b6000198114610d3d5760010190565b908151811015610d78570160200190565b634e487b7160e01b600052603260045260246000fd5b60ff16600a811015610db55760300160ff8111610d3d5760f81b6001600160f81b03191690565b60370160ff8111610d3d5760f81b6001600160f81b03191690565b604090815190602091828101907f95d89b410000000000000000000000000000000000000000000000000000000082526004815284810181811067ffffffffffffffff8211176105935785526000928392839251915afa3d15610f86573d90610e3882610a54565b91610e45865193846109d6565b82523d838584013e5b158015610f7d575b610f6e578051838103610f3e57508281805181010312610f3a5782015191835190610e808261099e565b8082528036818401378293835b828110610efb575050610eab610ea285610a54565b955195866109d6565b838552601f19610eba85610a54565b01903690860137815b838110610ed1575050505090565b806001600160f81b0319610ee8610ef69385610d67565b5116841a610d088288610d67565b610ec3565b81811a6001600160f81b03198160f81b16610f20575b50610f1b90610d58565b610e8d565b86610f3391610d08610f1b949988610d67565b9590610f11565b5080fd5b8481959492939511610f5d575050505190610f58826109ba565b815290565b610b08945082018101925001610aa9565b509190505190610f58826109ba565b50805115610e56565b606090610e4e56fea164736f6c6343000811000a",
  "linkReferences": {
    "contracts/libraries/NFTDescriptor.sol": {
      "NFTDescriptor": [
        {
          "length": 20,
          "start": 1464
        }
      ]
    }
  },
  "deployedLinkReferences": {
    "contracts/libraries/NFTDescriptor.sol": {
      "NFTDescriptor": [
        {
          "length": 20,
          "start": 1316
        }
      ]
    }
  }
}
