From 81dfb0af963681ff6970f8a8fd528797fe2020ee Mon Sep 17 00:00:00 2001 From: Velenir Date: Mon, 9 Dec 2024 11:07:56 +0100 Subject: [PATCH] update docs --- docs/html/assets/highlight.css | 8 +- docs/html/assets/navigation.js | 2 +- docs/html/assets/search.js | 2 +- docs/html/classes/_internal_.Duplex.html | 4 +- docs/html/classes/_internal_.Readable.html | 4 +- .../html/classes/_internal_.ReadableBase.html | 4 +- docs/html/classes/_internal_.Socket.html | 2 +- docs/html/classes/_internal_.Wallet.html | 2 +- .../_internal_.internal.PassThrough.html | 4 +- .../_internal_.internal.Transform.html | 4 +- ...ib_commonjs_index_.fromTwosComplement.html | 2 +- .../constructAllDeltaOrdersHandlers.html | 2 + .../constructApproveTokenForDelta.html | 1 + .../functions/constructBuildDeltaOrder.html | 1 + docs/html/functions/constructFullSDK.html | 2 +- .../functions/constructGetDeltaContract.html | 1 + .../functions/constructGetDeltaOrders.html | 1 + .../functions/constructGetDeltaPrice.html | 1 + .../functions/constructGetPartnerFee.html | 1 + docs/html/functions/constructGetQuote.html | 1 + docs/html/functions/constructGetSpender.html | 2 +- docs/html/functions/constructPartialSDK.html | 2 +- .../functions/constructPostDeltaOrder.html | 1 + .../functions/constructSignDeltaOrder.html | 1 + docs/html/functions/constructSimpleSDK.html | 2 +- .../functions/constructSubmitDeltaOrder.html | 1 + docs/html/index.html | 10 +- .../_internal_.AdaptersContractsResult.html | 6 +- .../interfaces/_internal_.GetQuoteFunc.html | 1 + docs/html/media/DELTA.md | 89 ++++++++++++++ docs/html/media/passed_tests.png | Bin 0 -> 80339 bytes docs/html/modules.html | 36 +++++- docs/html/modules/_internal_.html | 25 ++++ docs/html/types/AllSDKMethods.html | 2 +- .../types/ApproveTokenForDeltaFunctions.html | 2 + .../html/types/BuildDeltaOrderDataParams.html | 12 ++ docs/html/types/BuildDeltaOrderFunctions.html | 2 + docs/html/types/DeltaAuctionOrder.html | 12 ++ docs/html/types/DeltaOrderHandlers.html | 1 + docs/html/types/DeltaPrice.html | 1 + docs/html/types/DeltaPriceParams.html | 8 ++ .../html/types/GetDeltaContractFunctions.html | 2 + docs/html/types/GetDeltaOrdersFunctions.html | 1 + docs/html/types/GetDeltaPriceFunctions.html | 1 + docs/html/types/GetPartnerFeeFunctions.html | 1 + docs/html/types/GetQuoteFunctions.html | 1 + docs/html/types/ParaswapDeltaAuction.html | 1 + docs/html/types/PostDeltaOrderFunctions.html | 1 + docs/html/types/PostDeltaOrderParams.html | 1 + docs/html/types/QuoteParams.html | 10 ++ docs/html/types/QuoteResponse.html | 1 + docs/html/types/QuoteWithDeltaPrice.html | 1 + docs/html/types/QuoteWithMarketPrice.html | 1 + .../types/QuoteWithMarketPriceAsFallback.html | 1 + docs/html/types/SDKConfig.html | 2 +- docs/html/types/SignDeltaOrderFunctions.html | 1 + docs/html/types/SignableDeltaOrderData.html | 1 + docs/html/types/SimpleFetchSDK.html | 2 +- docs/html/types/SimpleSDK.html | 2 +- docs/html/types/SimpleSDKProviderOptions.html | 2 +- docs/html/types/SubmitDeltaOrderParams.html | 2 + .../types/_internal_.BuildDeltaOrder.html | 1 + .../types/_internal_.DeltaAuctionStatus.html | 1 + .../_internal_.DeltaAuctionTransaction.html | 1 + .../types/_internal_.DeltaFetchMethods.html | 1 + .../_internal_.DeltaOrderApiResponse.html | 1 + .../types/_internal_.DeltaOrderToPost.html | 4 + .../html/types/_internal_.FallbackReason.html | 1 + .../html/types/_internal_.FetcherOptions.html | 2 +- .../types/_internal_.GetDeltaContract.html | 1 + .../types/_internal_.GetDeltaOrderById.html | 1 + .../html/types/_internal_.GetDeltaOrders.html | 1 + docs/html/types/_internal_.GetDeltaPrice.html | 1 + docs/html/types/_internal_.GetPartnerFee.html | 1 + .../types/_internal_.InferWithTxResponse.html | 2 +- .../_internal_.IntersectionOfReturns.html | 2 +- .../_internal_.LimitOrdersFetchMethods.html | 2 +- .../types/_internal_.MergeExtendableOnce.html | 2 +- ..._internal_.MergeExtendableRecursively.html | 2 +- .../_internal_.NFTOrdersFetchMethods.html | 2 +- docs/html/types/_internal_.OrderFromAPI.html | 1 + docs/html/types/_internal_.OrdersFilter.html | 4 + .../_internal_.PartnerFeeQueryParams.html | 1 + .../types/_internal_.PartnerFeeResponse.html | 1 + .../html/types/_internal_.PostDeltaOrder.html | 1 + .../types/_internal_.QuoteFetchMethods.html | 1 + docs/html/types/_internal_.SDKFunction.html | 2 +- .../html/types/_internal_.SignDeltaOrder.html | 1 + docs/html/types/_internal_.SimpleOptions.html | 2 +- .../types/_internal_.SubmitDeltaOrder.html | 1 + .../_internal_.SubmitDeltaOrderFuncs.html | 1 + .../types/_internal_.SwapFetchMethods.html | 2 +- docs/html/types/_internal_.SwapSideUnion.html | 1 + docs/html/types/_internal_.TradeMode.html | 1 + docs/html/types/_internal_.WalletActions.html | 2 +- docs/html/variables/_internal_.Order-1.html | 1 + docs/md/-internal-/README.md | 25 ++++ .../interfaces/AdaptersContractsResult.md | 24 ++++ docs/md/-internal-/interfaces/GetQuoteFunc.md | 71 +++++++++++ .../type-aliases/BuildDeltaOrder.md | 23 ++++ .../type-aliases/DeltaAuctionStatus.md | 13 ++ .../type-aliases/DeltaAuctionTransaction.md | 91 ++++++++++++++ .../type-aliases/DeltaFetchMethods.md | 13 ++ .../type-aliases/DeltaOrderApiResponse.md | 13 ++ .../type-aliases/DeltaOrderToPost.md | 47 ++++++++ .../-internal-/type-aliases/FallbackReason.md | 23 ++++ .../-internal-/type-aliases/FetcherOptions.md | 2 +- .../type-aliases/GetDeltaContract.md | 21 ++++ .../type-aliases/GetDeltaOrderById.md | 23 ++++ .../-internal-/type-aliases/GetDeltaOrders.md | 23 ++++ .../-internal-/type-aliases/GetDeltaPrice.md | 23 ++++ .../-internal-/type-aliases/GetPartnerFee.md | 23 ++++ .../type-aliases/InferWithTxResponse.md | 4 +- .../type-aliases/IntersectionOfReturns.md | 2 +- .../type-aliases/LimitOrdersFetchMethods.md | 2 +- .../type-aliases/MergeExtendableOnce.md | 2 +- .../MergeExtendableRecursively.md | 4 +- .../type-aliases/NFTOrdersFetchMethods.md | 2 +- .../-internal-/type-aliases/OrderFromAPI.md | 13 ++ .../-internal-/type-aliases/OrdersFilter.md | 39 ++++++ .../type-aliases/PartnerFeeQueryParams.md | 19 +++ .../type-aliases/PartnerFeeResponse.md | 27 +++++ .../-internal-/type-aliases/PostDeltaOrder.md | 23 ++++ .../type-aliases/QuoteFetchMethods.md | 13 ++ .../md/-internal-/type-aliases/SDKFunction.md | 2 +- .../-internal-/type-aliases/SignDeltaOrder.md | 21 ++++ .../-internal-/type-aliases/SimpleOptions.md | 2 +- .../type-aliases/SubmitDeltaOrder.md | 21 ++++ .../type-aliases/SubmitDeltaOrderFuncs.md | 19 +++ .../type-aliases/SwapFetchMethods.md | 2 +- .../-internal-/type-aliases/SwapSideUnion.md | 13 ++ docs/md/-internal-/type-aliases/TradeMode.md | 13 ++ docs/md/-internal-/variables/Order.md | 2 +- docs/md/README.md | 114 +++++++++++++++++- docs/md/_media/DELTA.md | 89 ++++++++++++++ docs/md/_media/passed_tests.png | Bin 0 -> 80339 bytes .../constructAllDeltaOrdersHandlers.md | 29 +++++ .../constructApproveTokenForDelta.md | 25 ++++ docs/md/functions/constructBuildDeltaOrder.md | 21 ++++ docs/md/functions/constructFullSDK.md | 2 +- .../md/functions/constructGetDeltaContract.md | 21 ++++ docs/md/functions/constructGetDeltaOrders.md | 21 ++++ docs/md/functions/constructGetDeltaPrice.md | 21 ++++ docs/md/functions/constructGetPartnerFee.md | 21 ++++ docs/md/functions/constructGetQuote.md | 21 ++++ docs/md/functions/constructGetSpender.md | 2 +- docs/md/functions/constructPartialSDK.md | 2 +- docs/md/functions/constructPostDeltaOrder.md | 21 ++++ docs/md/functions/constructSignDeltaOrder.md | 21 ++++ docs/md/functions/constructSimpleSDK.md | 4 +- .../md/functions/constructSubmitDeltaOrder.md | 21 ++++ docs/md/globals.md | 34 ++++++ docs/md/type-aliases/AllSDKMethods.md | 18 ++- .../ApproveTokenForDeltaFunctions.md | 27 +++++ .../type-aliases/BuildDeltaOrderDataParams.md | 103 ++++++++++++++++ .../type-aliases/BuildDeltaOrderFunctions.md | 23 ++++ docs/md/type-aliases/DeltaAuctionOrder.md | 103 ++++++++++++++++ docs/md/type-aliases/DeltaOrderHandlers.md | 17 +++ docs/md/type-aliases/DeltaPrice.md | 71 +++++++++++ docs/md/type-aliases/DeltaPriceParams.md | 71 +++++++++++ .../type-aliases/GetDeltaContractFunctions.md | 23 ++++ .../type-aliases/GetDeltaOrdersFunctions.md | 23 ++++ .../md/type-aliases/GetDeltaPriceFunctions.md | 19 +++ .../md/type-aliases/GetPartnerFeeFunctions.md | 19 +++ docs/md/type-aliases/GetQuoteFunctions.md | 19 +++ docs/md/type-aliases/ParaswapDeltaAuction.md | 71 +++++++++++ .../type-aliases/PostDeltaOrderFunctions.md | 19 +++ docs/md/type-aliases/PostDeltaOrderParams.md | 13 ++ docs/md/type-aliases/QuoteParams.md | 91 ++++++++++++++ docs/md/type-aliases/QuoteResponse.md | 13 ++ docs/md/type-aliases/QuoteWithDeltaPrice.md | 19 +++ docs/md/type-aliases/QuoteWithMarketPrice.md | 19 +++ .../QuoteWithMarketPriceAsFallback.md | 19 +++ docs/md/type-aliases/SDKConfig.md | 2 +- .../type-aliases/SignDeltaOrderFunctions.md | 19 +++ .../md/type-aliases/SignableDeltaOrderData.md | 31 +++++ docs/md/type-aliases/SimpleFetchSDK.md | 10 +- docs/md/type-aliases/SimpleSDK.md | 10 +- .../type-aliases/SimpleSDKProviderOptions.md | 2 +- .../md/type-aliases/SubmitDeltaOrderParams.md | 23 ++++ 180 files changed, 2366 insertions(+), 76 deletions(-) create mode 100644 docs/html/functions/constructAllDeltaOrdersHandlers.html create mode 100644 docs/html/functions/constructApproveTokenForDelta.html create mode 100644 docs/html/functions/constructBuildDeltaOrder.html create mode 100644 docs/html/functions/constructGetDeltaContract.html create mode 100644 docs/html/functions/constructGetDeltaOrders.html create mode 100644 docs/html/functions/constructGetDeltaPrice.html create mode 100644 docs/html/functions/constructGetPartnerFee.html create mode 100644 docs/html/functions/constructGetQuote.html create mode 100644 docs/html/functions/constructPostDeltaOrder.html create mode 100644 docs/html/functions/constructSignDeltaOrder.html create mode 100644 docs/html/functions/constructSubmitDeltaOrder.html create mode 100644 docs/html/interfaces/_internal_.GetQuoteFunc.html create mode 100644 docs/html/media/DELTA.md create mode 100644 docs/html/media/passed_tests.png create mode 100644 docs/html/types/ApproveTokenForDeltaFunctions.html create mode 100644 docs/html/types/BuildDeltaOrderDataParams.html create mode 100644 docs/html/types/BuildDeltaOrderFunctions.html create mode 100644 docs/html/types/DeltaAuctionOrder.html create mode 100644 docs/html/types/DeltaOrderHandlers.html create mode 100644 docs/html/types/DeltaPrice.html create mode 100644 docs/html/types/DeltaPriceParams.html create mode 100644 docs/html/types/GetDeltaContractFunctions.html create mode 100644 docs/html/types/GetDeltaOrdersFunctions.html create mode 100644 docs/html/types/GetDeltaPriceFunctions.html create mode 100644 docs/html/types/GetPartnerFeeFunctions.html create mode 100644 docs/html/types/GetQuoteFunctions.html create mode 100644 docs/html/types/ParaswapDeltaAuction.html create mode 100644 docs/html/types/PostDeltaOrderFunctions.html create mode 100644 docs/html/types/PostDeltaOrderParams.html create mode 100644 docs/html/types/QuoteParams.html create mode 100644 docs/html/types/QuoteResponse.html create mode 100644 docs/html/types/QuoteWithDeltaPrice.html create mode 100644 docs/html/types/QuoteWithMarketPrice.html create mode 100644 docs/html/types/QuoteWithMarketPriceAsFallback.html create mode 100644 docs/html/types/SignDeltaOrderFunctions.html create mode 100644 docs/html/types/SignableDeltaOrderData.html create mode 100644 docs/html/types/SubmitDeltaOrderParams.html create mode 100644 docs/html/types/_internal_.BuildDeltaOrder.html create mode 100644 docs/html/types/_internal_.DeltaAuctionStatus.html create mode 100644 docs/html/types/_internal_.DeltaAuctionTransaction.html create mode 100644 docs/html/types/_internal_.DeltaFetchMethods.html create mode 100644 docs/html/types/_internal_.DeltaOrderApiResponse.html create mode 100644 docs/html/types/_internal_.DeltaOrderToPost.html create mode 100644 docs/html/types/_internal_.FallbackReason.html create mode 100644 docs/html/types/_internal_.GetDeltaContract.html create mode 100644 docs/html/types/_internal_.GetDeltaOrderById.html create mode 100644 docs/html/types/_internal_.GetDeltaOrders.html create mode 100644 docs/html/types/_internal_.GetDeltaPrice.html create mode 100644 docs/html/types/_internal_.GetPartnerFee.html create mode 100644 docs/html/types/_internal_.OrderFromAPI.html create mode 100644 docs/html/types/_internal_.OrdersFilter.html create mode 100644 docs/html/types/_internal_.PartnerFeeQueryParams.html create mode 100644 docs/html/types/_internal_.PartnerFeeResponse.html create mode 100644 docs/html/types/_internal_.PostDeltaOrder.html create mode 100644 docs/html/types/_internal_.QuoteFetchMethods.html create mode 100644 docs/html/types/_internal_.SignDeltaOrder.html create mode 100644 docs/html/types/_internal_.SubmitDeltaOrder.html create mode 100644 docs/html/types/_internal_.SubmitDeltaOrderFuncs.html create mode 100644 docs/html/types/_internal_.SwapSideUnion.html create mode 100644 docs/html/types/_internal_.TradeMode.html create mode 100644 docs/html/variables/_internal_.Order-1.html create mode 100644 docs/md/-internal-/interfaces/GetQuoteFunc.md create mode 100644 docs/md/-internal-/type-aliases/BuildDeltaOrder.md create mode 100644 docs/md/-internal-/type-aliases/DeltaAuctionStatus.md create mode 100644 docs/md/-internal-/type-aliases/DeltaAuctionTransaction.md create mode 100644 docs/md/-internal-/type-aliases/DeltaFetchMethods.md create mode 100644 docs/md/-internal-/type-aliases/DeltaOrderApiResponse.md create mode 100644 docs/md/-internal-/type-aliases/DeltaOrderToPost.md create mode 100644 docs/md/-internal-/type-aliases/FallbackReason.md create mode 100644 docs/md/-internal-/type-aliases/GetDeltaContract.md create mode 100644 docs/md/-internal-/type-aliases/GetDeltaOrderById.md create mode 100644 docs/md/-internal-/type-aliases/GetDeltaOrders.md create mode 100644 docs/md/-internal-/type-aliases/GetDeltaPrice.md create mode 100644 docs/md/-internal-/type-aliases/GetPartnerFee.md create mode 100644 docs/md/-internal-/type-aliases/OrderFromAPI.md create mode 100644 docs/md/-internal-/type-aliases/OrdersFilter.md create mode 100644 docs/md/-internal-/type-aliases/PartnerFeeQueryParams.md create mode 100644 docs/md/-internal-/type-aliases/PartnerFeeResponse.md create mode 100644 docs/md/-internal-/type-aliases/PostDeltaOrder.md create mode 100644 docs/md/-internal-/type-aliases/QuoteFetchMethods.md create mode 100644 docs/md/-internal-/type-aliases/SignDeltaOrder.md create mode 100644 docs/md/-internal-/type-aliases/SubmitDeltaOrder.md create mode 100644 docs/md/-internal-/type-aliases/SubmitDeltaOrderFuncs.md create mode 100644 docs/md/-internal-/type-aliases/SwapSideUnion.md create mode 100644 docs/md/-internal-/type-aliases/TradeMode.md create mode 100644 docs/md/_media/DELTA.md create mode 100644 docs/md/_media/passed_tests.png create mode 100644 docs/md/functions/constructAllDeltaOrdersHandlers.md create mode 100644 docs/md/functions/constructApproveTokenForDelta.md create mode 100644 docs/md/functions/constructBuildDeltaOrder.md create mode 100644 docs/md/functions/constructGetDeltaContract.md create mode 100644 docs/md/functions/constructGetDeltaOrders.md create mode 100644 docs/md/functions/constructGetDeltaPrice.md create mode 100644 docs/md/functions/constructGetPartnerFee.md create mode 100644 docs/md/functions/constructGetQuote.md create mode 100644 docs/md/functions/constructPostDeltaOrder.md create mode 100644 docs/md/functions/constructSignDeltaOrder.md create mode 100644 docs/md/functions/constructSubmitDeltaOrder.md create mode 100644 docs/md/type-aliases/ApproveTokenForDeltaFunctions.md create mode 100644 docs/md/type-aliases/BuildDeltaOrderDataParams.md create mode 100644 docs/md/type-aliases/BuildDeltaOrderFunctions.md create mode 100644 docs/md/type-aliases/DeltaAuctionOrder.md create mode 100644 docs/md/type-aliases/DeltaOrderHandlers.md create mode 100644 docs/md/type-aliases/DeltaPrice.md create mode 100644 docs/md/type-aliases/DeltaPriceParams.md create mode 100644 docs/md/type-aliases/GetDeltaContractFunctions.md create mode 100644 docs/md/type-aliases/GetDeltaOrdersFunctions.md create mode 100644 docs/md/type-aliases/GetDeltaPriceFunctions.md create mode 100644 docs/md/type-aliases/GetPartnerFeeFunctions.md create mode 100644 docs/md/type-aliases/GetQuoteFunctions.md create mode 100644 docs/md/type-aliases/ParaswapDeltaAuction.md create mode 100644 docs/md/type-aliases/PostDeltaOrderFunctions.md create mode 100644 docs/md/type-aliases/PostDeltaOrderParams.md create mode 100644 docs/md/type-aliases/QuoteParams.md create mode 100644 docs/md/type-aliases/QuoteResponse.md create mode 100644 docs/md/type-aliases/QuoteWithDeltaPrice.md create mode 100644 docs/md/type-aliases/QuoteWithMarketPrice.md create mode 100644 docs/md/type-aliases/QuoteWithMarketPriceAsFallback.md create mode 100644 docs/md/type-aliases/SignDeltaOrderFunctions.md create mode 100644 docs/md/type-aliases/SignableDeltaOrderData.md create mode 100644 docs/md/type-aliases/SubmitDeltaOrderParams.md diff --git a/docs/html/assets/highlight.css b/docs/html/assets/highlight.css index 767c358d..21f919c5 100644 --- a/docs/html/assets/highlight.css +++ b/docs/html/assets/highlight.css @@ -19,10 +19,10 @@ --dark-hl-8: #B5CEA8; --light-hl-9: #267F99; --dark-hl-9: #4EC9B0; - --light-hl-10: #CD3131; - --dark-hl-10: #F44747; - --light-hl-11: #000000FF; - --dark-hl-11: #D4D4D4; + --light-hl-10: #000000FF; + --dark-hl-10: #D4D4D4; + --light-hl-11: #CD3131; + --dark-hl-11: #F44747; --light-hl-12: #EE0000; --dark-hl-12: #D7BA7D; --light-hl-13: #811F3F; diff --git a/docs/html/assets/navigation.js b/docs/html/assets/navigation.js index 35101d9c..674e4f9a 100644 --- a/docs/html/assets/navigation.js +++ b/docs/html/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "data:application/octet-stream;base64,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" \ No newline at end of file +window.navigationData = "data:application/octet-stream;base64,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" \ No newline at end of file diff --git a/docs/html/assets/search.js b/docs/html/assets/search.js index bd48869d..fc670d14 100644 --- a/docs/html/assets/search.js +++ b/docs/html/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/docs/html/classes/_internal_.Duplex.html b/docs/html/classes/_internal_.Duplex.html index 2aa40e34..d8101662 100644 --- a/docs/html/classes/_internal_.Duplex.html +++ b/docs/html/classes/_internal_.Duplex.html @@ -356,7 +356,7 @@
  • Parameters

    • event: "data"
    • listener: ((chunk: any) => void)
        • (chunk): void
        • Parameters

          • chunk: any

          Returns void

    Returns this

  • Parameters

    • event: "drain"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "end"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "error"
    • listener: ((err: Error) => void)
        • (err): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: "finish"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "pause"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "pipe"
    • listener: ((src: Readable) => void)
        • (src): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: "readable"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "resume"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "unpipe"
    • listener: ((src: Readable) => void)
        • (src): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    Returns this

    • The readable.pause() method will cause a stream in flowing mode to stop emitting 'data' events, switching out of flowing mode. Any data that becomes available will remain in the internal buffer.

      -
      const readable = getReadableStreamSomehow();
      readable.on('data', (chunk) => {
      console.log(`Received ${chunk.length} bytes of data.`);
      readable.pause();
      console.log('There will be no additional data for 1 second.');
      setTimeout(() => {
      console.log('Now data will start flowing again.');
      readable.resume();
      }, 1000);
      }); +
      const readable = getReadableStreamSomehow();
      readable.on('data', (chunk) => {
      console.log(`Received ${chunk.length} bytes of data.`);
      readable.pause();
      console.log('There will be no additional data for 1 second.');
      setTimeout(() => {
      console.log('Now data will start flowing again.');
      readable.resume();
      }, 1000);
      });

      The readable.pause() method has no effect if there is a 'readable' event listener.

      @@ -326,7 +326,7 @@

      The readable.read() method should only be called on Readable streams operating in paused mode. In flowing mode, readable.read() is called automatically until the internal buffer is fully drained.

      -
      const readable = getReadableStreamSomehow();

      // 'readable' may be triggered multiple times as data is buffered in
      readable.on('readable', () => {
      let chunk;
      console.log('Stream is readable (new data received in buffer)');
      // Use a loop to make sure we read all currently available data
      while (null !== (chunk = readable.read())) {
      console.log(`Read ${chunk.length} bytes of data...`);
      }
      });

      // 'end' will be triggered once when there is no more data available
      readable.on('end', () => {
      console.log('Reached end of stream.');
      }); +
      const readable = getReadableStreamSomehow();

      // 'readable' may be triggered multiple times as data is buffered in
      readable.on('readable', () => {
      let chunk;
      console.log('Stream is readable (new data received in buffer)');
      // Use a loop to make sure we read all currently available data
      while (null !== (chunk = readable.read())) {
      console.log(`Read ${chunk.length} bytes of data...`);
      }
      });

      // 'end' will be triggered once when there is no more data available
      readable.on('end', () => {
      console.log('Reached end of stream.');
      });

      Each call to readable.read() returns a chunk of data, or null. The chunks diff --git a/docs/html/classes/_internal_.ReadableBase.html b/docs/html/classes/_internal_.ReadableBase.html index 39f14d54..8bb4caff 100644 --- a/docs/html/classes/_internal_.ReadableBase.html +++ b/docs/html/classes/_internal_.ReadableBase.html @@ -287,7 +287,7 @@

    • Parameters

      • event: "data"
      • listener: ((chunk: any) => void)
          • (chunk): void
          • Parameters

            • chunk: any

            Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err: Error) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "pause"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "resume"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args: any[]) => void)
          • (...args): void
          • Parameters

            • Rest...args: any[]

            Returns void

      Returns this

    • The readable.pause() method will cause a stream in flowing mode to stop emitting 'data' events, switching out of flowing mode. Any data that becomes available will remain in the internal buffer.

      -
      const readable = getReadableStreamSomehow();
      readable.on('data', (chunk) => {
      console.log(`Received ${chunk.length} bytes of data.`);
      readable.pause();
      console.log('There will be no additional data for 1 second.');
      setTimeout(() => {
      console.log('Now data will start flowing again.');
      readable.resume();
      }, 1000);
      }); +
      const readable = getReadableStreamSomehow();
      readable.on('data', (chunk) => {
      console.log(`Received ${chunk.length} bytes of data.`);
      readable.pause();
      console.log('There will be no additional data for 1 second.');
      setTimeout(() => {
      console.log('Now data will start flowing again.');
      readable.resume();
      }, 1000);
      });

      The readable.pause() method has no effect if there is a 'readable' event listener.

      @@ -331,7 +331,7 @@

      The readable.read() method should only be called on Readable streams operating in paused mode. In flowing mode, readable.read() is called automatically until the internal buffer is fully drained.

      -
      const readable = getReadableStreamSomehow();

      // 'readable' may be triggered multiple times as data is buffered in
      readable.on('readable', () => {
      let chunk;
      console.log('Stream is readable (new data received in buffer)');
      // Use a loop to make sure we read all currently available data
      while (null !== (chunk = readable.read())) {
      console.log(`Read ${chunk.length} bytes of data...`);
      }
      });

      // 'end' will be triggered once when there is no more data available
      readable.on('end', () => {
      console.log('Reached end of stream.');
      }); +
      const readable = getReadableStreamSomehow();

      // 'readable' may be triggered multiple times as data is buffered in
      readable.on('readable', () => {
      let chunk;
      console.log('Stream is readable (new data received in buffer)');
      // Use a loop to make sure we read all currently available data
      while (null !== (chunk = readable.read())) {
      console.log(`Read ${chunk.length} bytes of data...`);
      }
      });

      // 'end' will be triggered once when there is no more data available
      readable.on('end', () => {
      console.log('Reached end of stream.');
      });

      Each call to readable.read() returns a chunk of data, or null. The chunks diff --git a/docs/html/classes/_internal_.Socket.html b/docs/html/classes/_internal_.Socket.html index c8f9fa56..7aa9612f 100644 --- a/docs/html/classes/_internal_.Socket.html +++ b/docs/html/classes/_internal_.Socket.html @@ -495,7 +495,7 @@

      The readable.read() method should only be called on Readable streams operating in paused mode. In flowing mode, readable.read() is called automatically until the internal buffer is fully drained.

      -
      const readable = getReadableStreamSomehow();

      // 'readable' may be triggered multiple times as data is buffered in
      readable.on('readable', () => {
      let chunk;
      console.log('Stream is readable (new data received in buffer)');
      // Use a loop to make sure we read all currently available data
      while (null !== (chunk = readable.read())) {
      console.log(`Read ${chunk.length} bytes of data...`);
      }
      });

      // 'end' will be triggered once when there is no more data available
      readable.on('end', () => {
      console.log('Reached end of stream.');
      }); +
      const readable = getReadableStreamSomehow();

      // 'readable' may be triggered multiple times as data is buffered in
      readable.on('readable', () => {
      let chunk;
      console.log('Stream is readable (new data received in buffer)');
      // Use a loop to make sure we read all currently available data
      while (null !== (chunk = readable.read())) {
      console.log(`Read ${chunk.length} bytes of data...`);
      }
      });

      // 'end' will be triggered once when there is no more data available
      readable.on('end', () => {
      console.log('Reached end of stream.');
      });

      Each call to readable.read() returns a chunk of data, or null. The chunks diff --git a/docs/html/classes/_internal_.Wallet.html b/docs/html/classes/_internal_.Wallet.html index 2e6bbce8..c2cef3e3 100644 --- a/docs/html/classes/_internal_.Wallet.html +++ b/docs/html/classes/_internal_.Wallet.html @@ -106,7 +106,7 @@

      Parameters

      • password: string

        The password which will be used for encryption

      • Optionaloptions: Record<string, unknown>

        encryption options

      Returns Promise<KeyStore[]>

      An array of the encrypted keystore v3.

      -
      web3.eth.accounts.wallet.create(1)
      web3.eth.accounts.wallet.encrypt("abc").then(console.log);
      > [
      '{"version":3,"id":"fa46e213-a7c3-4844-b903-dd14d39cc7db",
      "address":"fa3e41a401609103c241431cbdee8623ae2a321a","crypto":
      {"ciphertext":"8d179a911d6146ad2924e86bf493ed89b8ff3596ffec0816e761c542016ab13c",
      "cipherparams":{"iv":"acc888c6cf4a19b86846cef0185a7164"},"cipher":"aes-128-ctr",
      "kdf":"scrypt","kdfparams":{"n":8192,"r":8,"p":1,"dklen":32,"salt":"6a743c9b367d15f4758e4f3f3378ff0fd443708d1c64854e07588ea5331823ae"},
      "mac":"410544c8307e3691fda305eb3722d82c3431f212a87daa119a21587d96698b57"}}'
      ] +
      web3.eth.accounts.wallet.create(1)
      web3.eth.accounts.wallet.encrypt("abc").then(console.log);
      > [
      '{"version":3,"id":"fa46e213-a7c3-4844-b903-dd14d39cc7db",
      "address":"fa3e41a401609103c241431cbdee8623ae2a321a","crypto":
      {"ciphertext":"8d179a911d6146ad2924e86bf493ed89b8ff3596ffec0816e761c542016ab13c",
      "cipherparams":{"iv":"acc888c6cf4a19b86846cef0185a7164"},"cipher":"aes-128-ctr",
      "kdf":"scrypt","kdfparams":{"n":8192,"r":8,"p":1,"dklen":32,"salt":"6a743c9b367d15f4758e4f3f3378ff0fd443708d1c64854e07588ea5331823ae"},
      "mac":"410544c8307e3691fda305eb3722d82c3431f212a87daa119a21587d96698b57"}}'
      ]
    • Returns an iterable of key, value pairs for every entry in the array

      diff --git a/docs/html/classes/_internal_.internal.PassThrough.html b/docs/html/classes/_internal_.internal.PassThrough.html index a775da5d..3ff5d904 100644 --- a/docs/html/classes/_internal_.internal.PassThrough.html +++ b/docs/html/classes/_internal_.internal.PassThrough.html @@ -352,7 +352,7 @@
    • Parameters

      • event: "data"
      • listener: ((chunk: any) => void)
          • (chunk): void
          • Parameters

            • chunk: any

            Returns void

      Returns this

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err: Error) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "finish"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pause"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pipe"
      • listener: ((src: Readable) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "resume"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "unpipe"
      • listener: ((src: Readable) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args: any[]) => void)
          • (...args): void
          • Parameters

            • Rest...args: any[]

            Returns void

      Returns this

    • The readable.pause() method will cause a stream in flowing mode to stop emitting 'data' events, switching out of flowing mode. Any data that becomes available will remain in the internal buffer.

      -
      const readable = getReadableStreamSomehow();
      readable.on('data', (chunk) => {
      console.log(`Received ${chunk.length} bytes of data.`);
      readable.pause();
      console.log('There will be no additional data for 1 second.');
      setTimeout(() => {
      console.log('Now data will start flowing again.');
      readable.resume();
      }, 1000);
      }); +
      const readable = getReadableStreamSomehow();
      readable.on('data', (chunk) => {
      console.log(`Received ${chunk.length} bytes of data.`);
      readable.pause();
      console.log('There will be no additional data for 1 second.');
      setTimeout(() => {
      console.log('Now data will start flowing again.');
      readable.resume();
      }, 1000);
      });

      The readable.pause() method has no effect if there is a 'readable' event listener.

      @@ -396,7 +396,7 @@

      The readable.read() method should only be called on Readable streams operating in paused mode. In flowing mode, readable.read() is called automatically until the internal buffer is fully drained.

      -
      const readable = getReadableStreamSomehow();

      // 'readable' may be triggered multiple times as data is buffered in
      readable.on('readable', () => {
      let chunk;
      console.log('Stream is readable (new data received in buffer)');
      // Use a loop to make sure we read all currently available data
      while (null !== (chunk = readable.read())) {
      console.log(`Read ${chunk.length} bytes of data...`);
      }
      });

      // 'end' will be triggered once when there is no more data available
      readable.on('end', () => {
      console.log('Reached end of stream.');
      }); +
      const readable = getReadableStreamSomehow();

      // 'readable' may be triggered multiple times as data is buffered in
      readable.on('readable', () => {
      let chunk;
      console.log('Stream is readable (new data received in buffer)');
      // Use a loop to make sure we read all currently available data
      while (null !== (chunk = readable.read())) {
      console.log(`Read ${chunk.length} bytes of data...`);
      }
      });

      // 'end' will be triggered once when there is no more data available
      readable.on('end', () => {
      console.log('Reached end of stream.');
      });

      Each call to readable.read() returns a chunk of data, or null. The chunks diff --git a/docs/html/classes/_internal_.internal.Transform.html b/docs/html/classes/_internal_.internal.Transform.html index b280dd3d..9608054f 100644 --- a/docs/html/classes/_internal_.internal.Transform.html +++ b/docs/html/classes/_internal_.internal.Transform.html @@ -359,7 +359,7 @@

    • Parameters

      • event: "data"
      • listener: ((chunk: any) => void)
          • (chunk): void
          • Parameters

            • chunk: any

            Returns void

      Returns this

    • Parameters

      • event: "drain"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "end"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "error"
      • listener: ((err: Error) => void)
          • (err): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "finish"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pause"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "pipe"
      • listener: ((src: Readable) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: "readable"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "resume"
      • listener: (() => void)
          • (): void
          • Returns void

      Returns this

    • Parameters

      • event: "unpipe"
      • listener: ((src: Readable) => void)
          • (src): void
          • Parameters

            Returns void

      Returns this

    • Parameters

      • event: string | symbol
      • listener: ((...args: any[]) => void)
          • (...args): void
          • Parameters

            • Rest...args: any[]

            Returns void

      Returns this

    • The readable.pause() method will cause a stream in flowing mode to stop emitting 'data' events, switching out of flowing mode. Any data that becomes available will remain in the internal buffer.

      -
      const readable = getReadableStreamSomehow();
      readable.on('data', (chunk) => {
      console.log(`Received ${chunk.length} bytes of data.`);
      readable.pause();
      console.log('There will be no additional data for 1 second.');
      setTimeout(() => {
      console.log('Now data will start flowing again.');
      readable.resume();
      }, 1000);
      }); +
      const readable = getReadableStreamSomehow();
      readable.on('data', (chunk) => {
      console.log(`Received ${chunk.length} bytes of data.`);
      readable.pause();
      console.log('There will be no additional data for 1 second.');
      setTimeout(() => {
      console.log('Now data will start flowing again.');
      readable.resume();
      }, 1000);
      });

      The readable.pause() method has no effect if there is a 'readable' event listener.

      @@ -403,7 +403,7 @@

      The readable.read() method should only be called on Readable streams operating in paused mode. In flowing mode, readable.read() is called automatically until the internal buffer is fully drained.

      -
      const readable = getReadableStreamSomehow();

      // 'readable' may be triggered multiple times as data is buffered in
      readable.on('readable', () => {
      let chunk;
      console.log('Stream is readable (new data received in buffer)');
      // Use a loop to make sure we read all currently available data
      while (null !== (chunk = readable.read())) {
      console.log(`Read ${chunk.length} bytes of data...`);
      }
      });

      // 'end' will be triggered once when there is no more data available
      readable.on('end', () => {
      console.log('Reached end of stream.');
      }); +
      const readable = getReadableStreamSomehow();

      // 'readable' may be triggered multiple times as data is buffered in
      readable.on('readable', () => {
      let chunk;
      console.log('Stream is readable (new data received in buffer)');
      // Use a loop to make sure we read all currently available data
      while (null !== (chunk = readable.read())) {
      console.log(`Read ${chunk.length} bytes of data...`);
      }
      });

      // 'end' will be triggered once when there is no more data available
      readable.on('end', () => {
      console.log('Reached end of stream.');
      });

      Each call to readable.read() returns a chunk of data, or null. The chunks diff --git a/docs/html/functions/_internal_.__home_velenir_gnx570_Projects_Paraswap_paraswap_sdk_node_modules_web3_utils_lib_commonjs_index_.fromTwosComplement.html b/docs/html/functions/_internal_.__home_velenir_gnx570_Projects_Paraswap_paraswap_sdk_node_modules_web3_utils_lib_commonjs_index_.fromTwosComplement.html index c6570727..662a7a96 100644 --- a/docs/html/functions/_internal_.__home_velenir_gnx570_Projects_Paraswap_paraswap_sdk_node_modules_web3_utils_lib_commonjs_index_.fromTwosComplement.html +++ b/docs/html/functions/_internal_.__home_velenir_gnx570_Projects_Paraswap_paraswap_sdk_node_modules_web3_utils_lib_commonjs_index_.fromTwosComplement.html @@ -1,5 +1,5 @@ fromTwosComplement | @paraswap/sdk

      Converts the twos complement into a decimal number or big int.

      -
      console.log(web3.utils.fromTwosComplement('0x0000000000000000000000000000000d', 32'));
      > 13

      console.log(web3.utils.fromTwosComplement('0x00000000000000000020000000000000', 32));
      > 9007199254740992n +
      console.log(web3.utils.fromTwosComplement('0x0000000000000000000000000000000d', 32'));
      > 13

      console.log(web3.utils.fromTwosComplement('0x00000000000000000020000000000000', 32));
      > 9007199254740992n
      • Parameters

        • value: Numbers

          The value to be converted.

          diff --git a/docs/html/functions/constructAllDeltaOrdersHandlers.html b/docs/html/functions/constructAllDeltaOrdersHandlers.html new file mode 100644 index 00000000..b52dcb20 --- /dev/null +++ b/docs/html/functions/constructAllDeltaOrdersHandlers.html @@ -0,0 +1,2 @@ +constructAllDeltaOrdersHandlers | @paraswap/sdk

          Function constructAllDeltaOrdersHandlers

          construct SDK with every Delta Order-related method, fetching from API and Order signing

          +
          diff --git a/docs/html/functions/constructApproveTokenForDelta.html b/docs/html/functions/constructApproveTokenForDelta.html new file mode 100644 index 00000000..475c760f --- /dev/null +++ b/docs/html/functions/constructApproveTokenForDelta.html @@ -0,0 +1 @@ +constructApproveTokenForDelta | @paraswap/sdk

          Function constructApproveTokenForDelta

          diff --git a/docs/html/functions/constructBuildDeltaOrder.html b/docs/html/functions/constructBuildDeltaOrder.html new file mode 100644 index 00000000..5dc8d8da --- /dev/null +++ b/docs/html/functions/constructBuildDeltaOrder.html @@ -0,0 +1 @@ +constructBuildDeltaOrder | @paraswap/sdk

          Function constructBuildDeltaOrder

          diff --git a/docs/html/functions/constructFullSDK.html b/docs/html/functions/constructFullSDK.html index a51184ef..4bf1b60e 100644 --- a/docs/html/functions/constructFullSDK.html +++ b/docs/html/functions/constructFullSDK.html @@ -1,2 +1,2 @@ constructFullSDK | @paraswap/sdk

          Function constructFullSDK

          construct SDK with every method, for swap and limitOrders

          -
          +
      diff --git a/docs/html/functions/constructGetDeltaContract.html b/docs/html/functions/constructGetDeltaContract.html new file mode 100644 index 00000000..c3ccbcfc --- /dev/null +++ b/docs/html/functions/constructGetDeltaContract.html @@ -0,0 +1 @@ +constructGetDeltaContract | @paraswap/sdk

      Function constructGetDeltaContract

      diff --git a/docs/html/functions/constructGetDeltaOrders.html b/docs/html/functions/constructGetDeltaOrders.html new file mode 100644 index 00000000..57c43a03 --- /dev/null +++ b/docs/html/functions/constructGetDeltaOrders.html @@ -0,0 +1 @@ +constructGetDeltaOrders | @paraswap/sdk

      Function constructGetDeltaOrders

      diff --git a/docs/html/functions/constructGetDeltaPrice.html b/docs/html/functions/constructGetDeltaPrice.html new file mode 100644 index 00000000..b9edd606 --- /dev/null +++ b/docs/html/functions/constructGetDeltaPrice.html @@ -0,0 +1 @@ +constructGetDeltaPrice | @paraswap/sdk

      Function constructGetDeltaPrice

      diff --git a/docs/html/functions/constructGetPartnerFee.html b/docs/html/functions/constructGetPartnerFee.html new file mode 100644 index 00000000..3902b00f --- /dev/null +++ b/docs/html/functions/constructGetPartnerFee.html @@ -0,0 +1 @@ +constructGetPartnerFee | @paraswap/sdk

      Function constructGetPartnerFee

      diff --git a/docs/html/functions/constructGetQuote.html b/docs/html/functions/constructGetQuote.html new file mode 100644 index 00000000..f6166161 --- /dev/null +++ b/docs/html/functions/constructGetQuote.html @@ -0,0 +1 @@ +constructGetQuote | @paraswap/sdk

      Function constructGetQuote

      diff --git a/docs/html/functions/constructGetSpender.html b/docs/html/functions/constructGetSpender.html index 26deb4c1..db09ffcb 100644 --- a/docs/html/functions/constructGetSpender.html +++ b/docs/html/functions/constructGetSpender.html @@ -1 +1 @@ -constructGetSpender | @paraswap/sdk

      Function constructGetSpender

      +constructGetSpender | @paraswap/sdk

      Function constructGetSpender

      diff --git a/docs/html/functions/constructPartialSDK.html b/docs/html/functions/constructPartialSDK.html index c7845edc..5bb102ac 100644 --- a/docs/html/functions/constructPartialSDK.html +++ b/docs/html/functions/constructPartialSDK.html @@ -1,2 +1,2 @@ constructPartialSDK | @paraswap/sdk

      Function constructPartialSDK

      construct composable SDK with methods you choose yourself

      -
      +
    diff --git a/docs/html/functions/constructPostDeltaOrder.html b/docs/html/functions/constructPostDeltaOrder.html new file mode 100644 index 00000000..c429d05f --- /dev/null +++ b/docs/html/functions/constructPostDeltaOrder.html @@ -0,0 +1 @@ +constructPostDeltaOrder | @paraswap/sdk

    Function constructPostDeltaOrder

    diff --git a/docs/html/functions/constructSignDeltaOrder.html b/docs/html/functions/constructSignDeltaOrder.html new file mode 100644 index 00000000..397f2173 --- /dev/null +++ b/docs/html/functions/constructSignDeltaOrder.html @@ -0,0 +1 @@ +constructSignDeltaOrder | @paraswap/sdk

    Function constructSignDeltaOrder

    diff --git a/docs/html/functions/constructSimpleSDK.html b/docs/html/functions/constructSimpleSDK.html index 48c79333..827c7465 100644 --- a/docs/html/functions/constructSimpleSDK.html +++ b/docs/html/functions/constructSimpleSDK.html @@ -1,2 +1,2 @@ constructSimpleSDK | @paraswap/sdk

    Function constructSimpleSDK

    +
  • Parameters

    Returns SimpleSDK

  • diff --git a/docs/html/functions/constructSubmitDeltaOrder.html b/docs/html/functions/constructSubmitDeltaOrder.html new file mode 100644 index 00000000..697e85ec --- /dev/null +++ b/docs/html/functions/constructSubmitDeltaOrder.html @@ -0,0 +1 @@ +constructSubmitDeltaOrder | @paraswap/sdk

    Function constructSubmitDeltaOrder

    diff --git a/docs/html/index.html b/docs/html/index.html index ed7456de..7e26266b 100644 --- a/docs/html/index.html +++ b/docs/html/index.html @@ -17,7 +17,7 @@

    If optional providerOptions is provided as the second parameter, then the resulting SDK will also be able to approve Tokens for swap.

    -
      // with ethers.js
    const providerOptionsEther = {
    ethersProviderOrSigner: provider, // JsonRpcProvider
    EthersContract: ethers.Contract,
    account: senderAddress,
    };

    // or with viem (from wagmi or standalone)
    const providerOptionsViem = {
    viemClient, // made with createWalletClient()
    account: senderAddress,
    };

    // or with web3.js
    const providerOptionsWeb3 = {
    web3, // new Web3(...) instance
    account: senderAddress,
    };

    const paraSwap = constructSimpleSDK({chainId: 1, axios}, providerOptionsEther);

    // approve token through sdk
    const txHash = await paraSwap.approveToken(amountInWei, DAI);

    // await tx somehow
    await provider.waitForTransaction(txHash); +
      // with ethers@5
    const providerOptionsEtherV5 = {
    ethersProviderOrSigner: provider, // JsonRpcProvider
    EthersContract: ethers.Contract,
    account: senderAddress,
    };

    // with ethers@6
    const providerOptionsEtherV6 = {
    ethersV6ProviderOrSigner: provider, // JsonRpcProvider
    EthersV6Contract: ethers.Contract,
    account: senderAddress,
    };

    // or with viem (from wagmi or standalone)
    const providerOptionsViem = {
    viemClient, // made with createWalletClient()
    account: senderAddress,
    };

    // or with web3.js
    const providerOptionsWeb3 = {
    web3, // new Web3(...) instance
    account: senderAddress,
    };

    const paraSwap = constructSimpleSDK({chainId: 1, axios}, providerOptionsEtherV5);

    // approve token through sdk
    const txHash = await paraSwap.approveToken(amountInWei, DAI);

    // await tx somehow
    await provider.waitForTransaction(txHash);
    import { constructFullSDK, constructAxiosFetcher, constructEthersContractCaller } from '@paraswap/sdk';

    const signer = ethers.Wallet.fromMnmemonic('__your_mnemonic__'); // or any other signer/provider
    const account = '__signer_address__';

    const contractCaller = constructEthersContractCaller({
    ethersProviderOrSigner: signer,
    EthersContract: ethers.Contract,
    }, account); // alternatively constructViemContractCaller or constructWeb3ContractCaller
    const fetcher = constructAxiosFetcher(axios); // alternatively constructFetchFetcher

    const paraswap = constructFullSDK({
    chainId: 1,
    fetcher,
    contractCaller,
    }); @@ -28,7 +28,11 @@
    import { constructPartialSDK, constructFetchFetcher, constructGetRate, constructGetBalances } from '@paraswap/sdk';

    const fetcher = constructFetchFetcher(window.fetch);

    const minParaSwap = constructPartialSDK({
    chainId: 1,
    fetcher,
    }, constructGetRate, constructGetBalances);

    const priceRoute = await minParaSwap.getRate(params);
    const allowance = await minParaSwap.getAllowance(userAddress, tokenAddress);
    -

    The ParaSwap class is exposed for backwards compatibility with previous versions of the SDK.

    +

    The easiest way to make a trade is to rely on Quote method that communicates with /quote API endpoint

    +
    import axios from 'axios';
    import { ethers } from 'ethersV5';
    import { constructSimpleSDK } from '@paraswap/sdk';

    const ethersProvider = new ethers.providers.Web3Provider(window.ethereum);

    const accounts = await ethersProvider.listAccounts();
    const account = accounts[0]!;
    const signer = ethersProvider.getSigner(account);

    const simpleSDK = constructSimpleSDK(
    { chainId: 1, axios },
    {
    ethersProviderOrSigner: signer,
    EthersContract: ethers.Contract,
    account,
    }
    );

    const amount = '1000000000000'; // wei
    const Token1 = '0x1234...'
    const Token2 = '0xabcde...'

    const quote = await simpleSDK.quote.getQuote({
    srcToken: Token1,
    destToken: Token2,
    amount,
    userAddress: account,
    srcDecimals: 18,
    destDecimals: 18,
    mode: 'all', // Delta quote if possible, with fallback to Market price
    side: 'SELL',
    // partner: "..." // if available
    });

    if ('delta' in quote) {
    const deltaPrice = quote.delta;

    const DeltaContract = await simpleSDK.delta.getDeltaContract();

    // or sign a Permit1 or Permit2 TransferFrom for DeltaContract
    await simpleSDK.delta.approveTokenForDelta(amount, Token1);

    const slippagePercent = 0.5;
    const destAmountAfterSlippage = BigInt(
    // get rid of exponential notation

    +(+deltaPrice.destAmount * (1 - slippagePercent / 100)).toFixed(0)
    // get rid of decimals
    ).toString(10);

    const deltaAuction = await simpleSDK.delta.submitDeltaOrder({
    deltaPrice,
    owner: account,
    // beneficiary: anotherAccount, // if need to send destToken to another account
    // permit: "0x1234...", // if signed a Permit1 or Permit2 TransferFrom for DeltaContract
    srcToken: Token1,
    destToken: Token2,
    srcAmount: amount,
    destAmount: destAmountAfterSlippage, // minimum acceptable destAmount
    });

    // poll if necessary
    const auction = await simpleSDK.delta.getDeltaOrderById(deltaAuction.id);
    if (auction?.status === 'EXECUTED') {
    console.log('Auction was executed');
    }
    } else {
    console.log(
    `Delta Quote failed: ${quote.fallbackReason.errorType} - ${quote.fallbackReason.details}`
    );
    const priceRoute = quote.market;

    const TokenTransferProxy = await simpleSDK.swap.getSpender();

    // or sign a Permit1 or Permit2 TransferFrom for TokenTransferProxy
    const approveTxHash = simpleSDK.swap.approveToken(amount, Token1);

    const txParams = await simpleSDK.swap.buildTx({
    srcToken: Token1,
    destToken: Token2,
    srcAmount: amount,
    slippage: 250, // 2.5%
    priceRoute,
    userAddress: account,
    // partner: '...' // if available
    });

    const swapTx = await signer.sendTransaction(txParams);
    } +
    + +

    The ParaSwap class is exposed for backwards compatibility with previous versions of the SDK.

    import { ParaSwap } from '@paraswap/sdk';
    import axios from 'axios';
    import Web3 from 'web3';

    const web3Provider = new Web3(window.ethereum);
    const account = '__user_address__';

    const paraswap = new ParaSwap({chainId: 1, web3Provider, account, axios});
    @@ -44,4 +48,4 @@

    Refer to SDK API documentation for detailed documentation on the methods provided in this SDK.

    To run yarn test it is necessary to provide PROVIDER_URL=<mainnet_rpc_url> environment variable. If it is necessary to run tests against a different API endpoint, provide API_URL=url_to_API environment variable.

    -
    +
    diff --git a/docs/html/interfaces/_internal_.AdaptersContractsResult.html b/docs/html/interfaces/_internal_.AdaptersContractsResult.html index 7824d0dd..ccfa002d 100644 --- a/docs/html/interfaces/_internal_.AdaptersContractsResult.html +++ b/docs/html/interfaces/_internal_.AdaptersContractsResult.html @@ -1,4 +1,6 @@ -AdaptersContractsResult | @paraswap/sdk

    Interface AdaptersContractsResult

    interface AdaptersContractsResult {
        AugustusRFQ: string;
        AugustusSwapper: string;
        TokenTransferProxy: string;
    }

    Properties

    AugustusRFQ +AdaptersContractsResult | @paraswap/sdk

    Interface AdaptersContractsResult

    interface AdaptersContractsResult {
        AugustusRFQ: string;
        AugustusSwapper: string;
        Executors: {
            [key: `Executor${number}`]: string;
        };
        ParaswapDelta?: string;
        TokenTransferProxy: string;
    }

    Properties

    AugustusRFQ: string
    AugustusSwapper: string
    TokenTransferProxy: string
    +

    Properties

    AugustusRFQ: string
    AugustusSwapper: string
    Executors: {
        [key: `Executor${number}`]: string;
    }
    ParaswapDelta?: string
    TokenTransferProxy: string
    diff --git a/docs/html/interfaces/_internal_.GetQuoteFunc.html b/docs/html/interfaces/_internal_.GetQuoteFunc.html new file mode 100644 index 00000000..902f61a8 --- /dev/null +++ b/docs/html/interfaces/_internal_.GetQuoteFunc.html @@ -0,0 +1 @@ +GetQuoteFunc | @paraswap/sdk
    diff --git a/docs/html/media/DELTA.md b/docs/html/media/DELTA.md new file mode 100644 index 00000000..5cee9647 --- /dev/null +++ b/docs/html/media/DELTA.md @@ -0,0 +1,89 @@ +**ParaSwap Delta** is an intent-based protocol that enables a ParaSwap user to make gasless swaps where multiple agents compete to execute the trade at the best price possible. +This way the user doesn't need to make a transaction themselve but only to sign a Delta Order. +The easiest way to make use of the Delta Order is to use the SDK following these steps: + +### 1. Construct an SDK object + +```ts +const account = userAddress; +const paraSwap = constructSimpleSDK( + {chainId: 1, axios}, + { + ethersProviderOrSigner: provider, // JsonRpcProvider + EthersContract: ethers.Contract, + account, + }); + // for usage with different web3 provider libraries refer to the main [README](./README.md) +``` + +### 2. Request prices for a Token pair + +```ts +const DAI_TOKEN = '0x6b175474e89094c44da98b954eedeac495271d0f'; +const PSP_TOKEN = '0xcafe001067cdef266afb7eb5a286dcfd277f3de5'; +const amount = '1000000000000'; // in wei + +const deltaPrice = await deltaSDK.getDeltaPrice({ + srcToken: DAI_TOKEN, + destToken: PSP_TOKEN, + amount, + userAddress: account, + srcDecimals: 18, + destDecimals: 18, + // partner: "..." // if available +}); +``` + + +### 3. Approve srcToken for DeltaContract + +```ts +const tx = await deltaSDK.approveTokenForDelta(amount, DAI_TOKEN); +await tx.wait(); +``` + +Alternatively sign Permit (DAI or Permit1) or Permit2 TransferFrom with DeltaContract as the verifyingContract + +```ts +const DeltaContract = await deltaSDK.getDeltaContract(); + +// values depend on the Permit type and the srcToken +const signature = await signer._signTypedData(domain, types, message); +``` + +See more on accepted Permit variants in [ParaSwap documentation](https://developers.paraswap.network/api/paraswap-delta/build-and-sign-a-delta-order#supported-permits) + + +### 4. Sign and submit a Delta Order + +```ts +// calculate acceptable destAmount +const slippagePercent = 0.5; + const destAmountAfterSlippage = ( + +deltaPrice.destAmount * + (1 - slippagePercent / 100) + ).toString(10); + +const signableOrderData = await deltaSDK.buildDeltaOrder({ + deltaPrice, + owner: account, + // beneficiary: anotherAccount, // if need to send destToken to another account + // permit: "0x1234...", // if signed a Permit1 or Permit2 TransferFrom for DeltaContract + srcToken: DAI_TOKEN, + destToken: PSP_TOKEN, + srcAmount: amount, + destAmount: destAmountAfterSlippage, // minimum acceptable destAmount +}); +``` + +### 5. Wait for Delta Order execution + +```ts +// poll if necessary +const auction = await deltaSDK.getDeltaOrderById(deltaAuction.id); +if (auction?.status === 'EXECUTED') { + console.log('Auction was executed'); +} +``` + +#### A more detailed example of Delta Order usage can be found in [examples/delta](./src/examples/delta.ts) \ No newline at end of file diff --git a/docs/html/media/passed_tests.png b/docs/html/media/passed_tests.png new file mode 100644 index 0000000000000000000000000000000000000000..cdf08a6eb8e65044828b810a4e7924caf83ab436 GIT binary patch literal 80339 zcmce;1#nx zCm~4{=syo{XydRyud$p(HJp|0Or6~f98JK?Z0&4J=$wokO-yW^%(5+=n42ZvF??)o|K9IiAq37;>U~-OeYL<7#^D7VBf0xhNb3) zs$aRUuDb3T^)gN=G@O!%CnBE!G!e|NpN~0froMip{-mTCVk2!w_q_bEqkK+>EW(%R z(^*_jF|6yDWkiprJH?f676mz9v}8XKOt%NSeO)Ak4*07%^R+%RuxcZS0(qXErl8#Q zNe%w)hfarmYjLI}Zce;NowcaDVo-;P0y4}#%(%sPz7$EuUgM?BoJWo=xVAA*#M_EW(4z(cG%BQ`VOhbZ63E&Abzdkh({`_-ivnppy|7ZDTP9V!1lff*C}hcGS# z$FMVj8eiQUY_?A_yg7*Wz*E@81S#T6XPCJ3YK>;HziJvZRv|N9Q>9H{RI6w5ngB$zz!tjj- z)3oke_NgK^1rU#EyT6rcRyb25ChEX+n^7&rI`w<=`zLC{)_C0+jdZ#()yQl$RG5+* z%|BK|#tS%--L>tT8%HmWP4$Y}>rNoDf4R5ZoAN{67J(cMEL}*q<8s(o4pXGw$CiYZwlRRmxH-fN+ z_8Hlabv=Q^81_UJ#7mB^a`J-q~}6t`w14Bu%Gm!hgy4fvJokUJ}uF(`gBS;4s{>d7Z=Ygv-g8i zyWtWtS;7EENv|}KLH{m zI^rjZ^{YDxuyx~peF_|k0_L0xSF*bcJ3>JT3wu4yS~F zrs`*$q_ZfEDsNn$uI1J!2EyPVP5qF-fOW;CC^7J*p9~qK&Sz=cLzzqUjsFY{>nJ?V zBYyt4b-VYF71Ie^31A-#6q6mYkjtfpG(+_67dip7F!*lDnUkfHo-YsX1g0l(7&m2y zb=v^{;VI@N`lIvd9vnsumaa2#BA#Cs-W%d@{t?%pv+q~}BSap^{vK-2)tD1zks&eo z_ep=FFH|Fth5bj^Nli_=68I~mLF~ZJf~#}`Zl#823$X~69gBqjxW~+nlNC`KA85QA z_galH*{3aH&w+nTQuXa$VkqdfMRzz;R1&vZYWLb-99p%?S>SKa!t_^w-SJCs=$o&g z;+i;v^AQzZCXsB>|B!D=x!h)8*)TW2G8TMNJ>D)=L9jSt%2Gque@liqb~eA1D}C>% zk^kCm_GoQ97&eF~)>XJ0g&@9M?N{mJ%~F47Dq>~$%#BKCbt&q?xYYpi?> zC_Ue^#@Z{Tb*b{_F{~V+Q|sP|#juyZEm(7>Gmp;{{obhRbEzzU(oC@Y@Ku|Iy9nYS z*9c-@=w~fW`~?al%BNkDx+YWB4Y7xzhHcZ1;n*HlOHO)!TM1-y$#G8pGX(0k7q4PO zlH>N|yGX}R=fAyc()vFbntU(CNxBFwDGXiVF0LS5%eHh!;??CAY*5@O`rY_~CASxn1giYZG7U#QzDdhNC11DJ2Lw z7LS|6BW@JqYNu~8BlO59ip)0(M`r^ECGV<;tk#+Ph_OE23~P>NVO-wb5l*N>YS4Blh#p;oe0vRx z%%C}-+WWj%0^M3IKd*;*MW|B(wZrZ5mER7~6TTGVkl(2IW%qHv@X5_)SBVAU@Yi^%hB#|9f0z9Q(2*_Ju?=( z5yN*677Va1A$`D2!6uPQ#6ap`#fHkJsX_$BZ*DP=voy{|=b8>Bpvphj8sb*B!eSha z&%e`)uFEdlh2}SCbq1HQT_w2IJ#R~jXW6wtA&7FpsHu%SqO^q`*U1|N6Kxx2%x-&WDIsEBmzFka8j{bj*U}F$?e|B^KklB6*~bN8bOOKBH#EH z5bIo#ojOhp8#`@xvXwt#fnqRg;T$bCb6#0i<~j#p=yss+t=Of)^w{g^_{b+}Sx8+7 zL_CfDIYC(l`liGW!<_*)3EN)|YP{hcMpSMa9%%g}Zw~X?l;bk{PeZESpdrg$*t06y zu~Go=y{QPI*l$>yrlSQE@8FJxyI;T6B{tU44J;vxZ%N5Eeb4n9F1M;Pf4m=Ij49az znE3n6ZzA_cVXSC98}`TBA3i_R`m#M6zS~57^m({o^;A&c8}{B8!oWQYC{`9!5a!-G zP;k~ca((C}YN@-4@3l@0uN^+|NPbNpUpI#;Te92v?jcQfu0p5Z*Nfp)!?tR0($&8l z*o@4ygm(AYA$&$ynAnt0YAmUiR82z=;9rBqLN8Bj3QcjH3}x@ctlWAF@giyD(6VoW zhNFs;qP+07lyi%Dm)X{*wJ7G;)M$ULg@sn067Rdu9HnUwGkD|=b zKZ!>f7*8?DWtIPGw|Ak;as9nTjCJ)Z5$o9UaJ`vnpWSk)@lE%f*VtfP1uE$p7t`|mVPnjgEj|Vjw5;N zsgC7RY5yhQHH+t60>q`V`*Hj1Z|rQQu^;0S=pCK_9(MlW-b>7qxy`5heA*XVGI<$S zE7t3EJUcVDj@J+*gN^Y}E2WcKVe2+JU##4dM6A+g2g56-jIFibvo$8oGr?7wHL43A zL{&hg@oBi$rm$0^_7SfSpSp(w*UR`k`k)`N-NeRO+J*WVjF_^RpP;raH>5qS z!Z91OmVJ=VE>JK5orvRm%x$DZ7(qD&Rw%WrTKk13$Bt*+a@-WG(_(JHRH7q|KhA%w zZiN+d`;~p^UWH<#i_824Zk`>0f+H7;Ix0jOy)mln|h7w+pmtPqO@4PIPh=8 z=`U%F<^;*Z_ReNZ6nFaxS?}f0X0wp1TNMtKy#pJnLFk+a-_N7?N1k89xqhF+7NOU; zy~9)}4}E78LFSu{wo^+g03U)u!8|1eXGi9+rYPUhGUFLuf;+64CG;PM&slw;7;50& zlrMhVV7UH0>5o|x-~PPS@jT=@_h)|(aHER-Fd*)Fui6<+b+bQ?xo5qDlklV&&h1Qe zvq8MQ98a`&V2^uQ&F)C34deJ=!(qtng@;w+Ok1Afag?Sdm}twWc0qQWne1q=r22gS zo$s2w+ru5D2>VA!(Y5zGmyP}#8TPT*=0qjRdR%Q{_azzV?leNpCExUli+Zn=>Eq8xD_=1POTk}btW8vKoBnKO-&)jlemjJcV|3jQa z(NaGCVSiYKn{W0Z+Qs0mjSp7ylVwc8t&QRMk+S2!x8?H74}?zpbWa+3l#(6LI^Tew zLsdUa9P2r`XRO2L^E5y2;3o`r1>K7vVSCD|`KqGS;puGY=&>h=x(j7!EH+GWW-ZA) z$enIw3{pevn~ZnNCDzwQ(tOeTUR!Gw`Yue#&$u$npUD)~6{88&SL61^zyDP4A2Ods z(zv<6Y(gbju^w?q|I?1~qL+v72R&u&e#7a0T+nUJk37j?%H|1^IcUcyR=Eu=A77A- z|KenxGzb!T7&bBDN5lSs-zoS>R@7>fd$o*`=EPbi`jApUf{bZg{^73roGq_@bmpD(g20UKm!_7m;X8aN_k%^eJM^1+0 z2D|gZl8uu?(!jo9^?(6=Znw!lJFo;PB*L{whPzYq1yN)2Vx1Rs1D?Gtg#x11)`e`2 z9xYudNkOUuRk9=u(|B)l3@aWK`S!+c(8J&sOdW?$K$OG-s^jWyN~kiYza3w6b1M9U z&W*l%}Z5um2Nun1f+o_1FOxTalXp9!`LX|MZ}Pz9rdM`ipH2n41a|7>Z>L ze91za;F~MM?-1bEgwGFW1*KT}LAFaC&Y^Je<0_?e}t^9?agn>ox%CiWPtL!Gv9H+CHX;{r5r# znGDE!teUi1a~FX21a?L%$ZQlm^zvBO#_o;G)w&jnQ_B;Dg%|B*{Q(FQ0@-_jzPx1gZBFocZajx<$Am&7#W#gasH))4;9z$4InoCMu)}(MHR^<0X)1&D%NK%s62T{ zR{d>G*xG7%?l0Ry=q!fO#dZSb2|2kDhP@qixO~2*q!N{&{(&aPA2}armg%df6O>Sx z|AlpJY8Y;9Qg7L|fr!kwP(L|}e(kHr3MTuja(z#s(}5QR6mAx2&5^zFGdZ$0j+G&O z@skjZImHnmx2DdJdyfK<*wEH5L<-rQojM_==3*~;;KGepOgfnP1Dq4Y4k0*!82dzi$WymJ$?E6z)InGpNx6&e|ia2gGa)So| z){$dEZszg{yz={JhApHhP-T(Kxt)ju-1p-SNcimLA7l)u_D@CP&;5Xy#mC|Y-VKay zgiN$JRMc#U?j$u%guF*D0%Y!fC`r1!r@`0ok7M|aRU)G_k)F@-BPxpcW<$=e#4=$1 zJNKP3$Zfs#$3A8ZW1#x=^)~6 zMWO>Nf>?o3IA$=8q$efx$$=LTmYulu%Qia;SaUiD(vu2!Q8i%d#4X0as>o5Yy4*|p zx24tVlIk~*wDY@mVr2`Xji}Xc%OsXYjn7)?IO2=>uzhs{0dG>&b!9}^G{Q=JGg@t& zP0ep;CcQd^;IM~TsB?2`Pa`6gghu09%uN-duB;=_5Fo5EGE%Ach8T^LdDO7D|M9aFTTiXuHIQH z!zXbF$P)A|8$gP6`ez+60MJ&bP(HrR4=(v2dOAMfb`s9sEkS@qxoh{;RgRv9?bPE; z2ED>?8&f??AF(OTo{o5l{bS9 zo)m9vBFmBceZ}jE-0x|zU%erHGYzm2kX@g;91zFi)DVA)Do@koLGAo~y_cFL@+rN1o zTRuX^P&ps}M24lQthhk!7;|p?9-m#|_lnSwN^7>kljtx9$ztBZqhzf(-(A@>;M5x1 z%mQpqRg)Y`xBk821O1h$=a*XXcL#ito;s7e-2Gr^S)7tGV_WdfOsJ)%`{vfB8-Q_wHev?>mgbIqD$AQujF#bT|G+ zVwk2>JdW+j>yshg+L>W>lBv*YW;l^%rB`_!Ias@*Fn@M{fhe|C8e)?@N=E2cY8nMs z)5XUMN%LOY`}>AwZ@034OD^6e?|4h6(*B)D%wP-s!F7w}bt-K*hXa_O|C3CFcu#gW z+&ins8Aa&+#z%G(aXQ4nX74z>Pn^G?qUbV8_}nx!-}{2*C#HuNW2E{CU^D%Ekn>ra zn1`dtVS4);{NB|beI^RBt0RXUN!O^f3bLH9;8Xf3)VH>$U1tOHJSd;O7o+;m=D+uU zCaT8|3^Bww4UZSvJ7Nxfwo2IpF1ig2U>G<#5BptHlGCM4KixdGI9wh%+gfU*_mp4l zY?9@Sn5$Is4w_jhnFD`+wp1h0~e@QP*igo4Q`MH>Rj#>?E#x}v-dZ|seI1A5Q`y- zJmxM-6S$0ap4>k$3z2*In+`j^K_AxOK!bGmgxJgc-h$pj*xWkAce*LtY~>ipzAe3o z4<)Fhf?@#ysj$n;R4?vyXtH0P$2q4ogsz3;1^T4K;)`y^zu12U;oiZ}IcvMW7-YLR zbg2KaZ=A}MC=?5gkWl3JZJXoAVkNcm04=d0e+byK>hD^Y;OxFw12%35rmOYx-+bTT zv0B--&;9k?DSJUN#+4F>BHr(LCWE0!vFnrHywFd8>8R*SdEA~eX8Yd)_$rL6V~7fi z(95HN&Od!ib`r6$C>1*_IAG}Hl2)=hZ6hKmgrJ!{cObt{n@l6tPST%qi}60v*)ae+ zeu|4?xl`ETx7LFw;M)CIa)!I9N!|m^+}U18a=Pfjgs(*|pN>Q>&6_G+?6eKf4OK%| z>Pr$%)Z2+O#T>3U%3CqaxqE+geg@K{eVP0|YsI4BJSxX#O$Dg2^@77_V;}s>A)o-= z1TMNJACt%~LIs*$};jPzHajLhFV0uurZ)+-@mt@I*;3nr==NDUK~C_MonM*2x@ zm1)X1g2=M1eXta}MMcFGSzYcrME*$Ayi{=QFCO|AAL+yIUpb@FM6ZzQ>EB1PBtiNh zA=eT;Rh5}gd5Z1e69}D~^pKRUoOQm+w^wR^5q-1(mA3Q?p1}dMzG`_6Qp5XswbCCy zzazTXJhTR3AI3Z=qa~P%a_N4J$6vm}jN~GQI&f!l^rdrbMMK5QXr_4}>a3YOj`rL^ zkSNMNXipS-zFeqq$m}10A&P4AVB{7Rs{50ELWxEuI7hwE9HlrCXM8xN`~r_VREorX zu8Nj)RODd2V6lsss^3A?Nl_)n+TgGUKZ8q<}JX)M|CIHsZag z)PFEoUhl=UN?d8Y_s$%4Tlp(du!oQSSblb)1m{|NreO6>bMakr2jI5ev!b11|GJAM zf&e$PW-L%nRYJ)Z-lE&S()dCV(dN|?n=y=t2nZO4Lu9lYBmCsmYB)2R%FkwJ_NFyO z-}U6TDU-vR5C#r%e|Fz4s8`C#7J7TQ_XeJt4J0+jfi>~C3^2JaUDyX`r(04vcM4NF1;M(8`#xTvrnT55>0SJ*Wy5&FP?c$pS*m(Br~mz zXg**)myC0xMW(cePWXB5q4D7^fjXJo+Y65?mK~LUEqD6g+W84e-loEzj($F5^lFg- znQhfpmxI1QAV!l~GplvUS^NViJW=QbOmaM<- zt{mBgob`z}UU{u`J$?p( zROj>dzV>wOTcEI^CdrPvG^t?#;hX#%wS4W)g0ea{e7-8S2~@Yyb1w~ED4~vCfxO=|S@CE=;{)5Es)fzll}$ee!D9=N*tEYXbsrirGSlAxEr>?suX+E%CF)@k z13~zrfLjw+6;g)|YJb@e+_ikcD8~^WZ?%j8VA;?IS>0nHmdhDBtPm6?1@B}=LVris zj5=!;UqaC9{fDvD$yX5beC3&1=(nKpioik{wx8L<_F9_WKy~E2`TSO%{D<2Yx z(Zn~tex|1645_aAtRGoYf_DYk2EP6(=BBZR?^*L_yJgT#k=LACL*e2Yi|@-D!bnBa+M`quYC`;3z#le`LOv3%T-y zP3$^|ZB({%GzLMbaO99ISYd*?I|)A0Nf=++i5F0noE!nqQCjQiuZ_#Y9mIsUMZ7{!v6?6LfBRy^C`~SmV8)yEQP5{1*l2| zxDo;#kIW}#&M>*~jC`B4@ktBSGGUDSeiLV|97P$pyF-J#VXw z=U?$?8JrQ7NoNx~X6BmguZPm&n$NYKR1+9=ZwVvC zG{QaHA;VK?@$$F5&y<7Kmr5)cqTIe!%?H|Nb3^4e6KoGy4bxZkmcb8Pjfw*wFNu7t zauTs>PU$>3x;$L(`#t&)?jm!dPSQmOe3E?)Dzz=Hy#p>Y7Jiy3Fh3jM9)vPkV)M^~ z2q-RfC0*RM+*g$~Z!cX_ygR~*IDC7r)KKS8ZrlZ*xOC&fB+V7`HA0W`hoZcR;dBk@ zN==g*EhrU{mKoNQEhJz>N2s@VqsmlBQdJAHehsZIwJK&~-&B#_X}V0NEDj^CiP*7< z!;UM;9Te`*g#Up)3dd|l$oWH-$n5yVdF{pY%_;GTD$NqLQ}q?egVT`t(fgYdt$yT} z2iltLO?k<1?RZ|N;IMwna+2pn)pZEoNIJXqWlSv#aYQGh$f$B| zj0QRNoY3f}QuEvO=nAa|kCKcz-ft|PLu>V(k^|0s{Q3X`;0;=3T|VLa^78p#Ci1SN z5qEa>f{zFY`d^2)lxOTwDi;hTc|`{E6IF^ZzE^_#e3*ONr3cK4_A=fReHyAHcaV2; zi?m3x(VC3uTbc0M77OUs70b}Tl04pN`zbC1chk#W#UG!s|J9E#q)H?3#&Mq*!K?b^ zi&%X@R#oX4-x)!eY;M#}DZ;Z1(%eEc0nTc?GR@f-Rn_uk2+WX?BVz)@el^9x$`xfL_-=v(Y|g-OH@xsoR@4}yJhp2vn8%TPHm*bNpyTS1RgflUc)BhHkJin^C#Nla6w>~UBPsBWh zA?}KhliykE=4McOHiVSKXGkTY<^8wFBx5eFLo=?Pc6;k7y&#Icr*qVHO&e48L=ch@X1Y@p%8}(My$D`J3Eq9P z#E{pi@t3v?u16dA*2${RV?RXSjNa>`?n}F$+Jac#(;uO^6GFO*&f@9AJP3TpoH(Ei zTdrF_ZyG30z~hW2oecrkvjDYR^_keZKB&#zKu#7soR2ve~ecgyi5Kgk6csK(~6OZIf@dfzCjSJ7B_Ehor>q=%8yMb8Pfs}C#vQ1^I%_`Jr52) zdh4#sCDv>bCTUpBmDg4m8l1pSbcC~6tee$fItTlODyam7wUH2e)Zh6z=CzO# zWmpG$@0>$VMzNQ{baO$6GjCEGn>VSM(FrURl;Cll4(a@ng7`(oxM4Of_8tE!^|}n+ zQTbP?SALa&$OEaj5_HU>G5h;FiXqOU@ktg_s}>F$|3z$x&wX=`1(=c9o#51#{6zkt zI<6Tx2xuVYHS$Bu<;|1d!w%3G&*3yZM@fHy8F%9I2*>N=#7A~<5mGmB(_2ygtVKZtwJ{-Gp2DnvxcJ%bCNq>nu?*Z? z19qB&%T!v9HdC$AU~SQev>08n@Rt0h>&P7hRBZ8-H3aJJyj=_NUdSP=;mN;F$J*{s zu5FvtPzYACvA#H*3;d5O0mOQi=^!B;ked&*$|CNSZ=wPnfp@ZgST|RQV z6Z`g3;pyAoNX6m(J5NDdGjOTDns=EUurH@Kgx@fZPGd{HcnKeQY!m9Nla)oV3dG)S zgYNe>jp4yTBQyI~ni1Yvif5O@?mJQi`G@#qN5LhdGN(_n@&7k?WFTNiD0UGtJT0Wd z6fnd#=}Y$~uKLvA;3P*fh|PgPp*#q{pt`A$j3l$~KQUvTEYvV*IYXp)^Mue1O0eTN z>X83wp5i1A4nDPd^Emf?XziT`Uf5V$FoiJArKGmwOk?*`m^hsm#(&A~xT4}lKrPl2 zB|@M7Db}n0+C)7j#f_tEcA9#f#+oj8sW#WWJpFtqPXRBS&bWbsH8W95+x{Nwonj1S z!2`(;xS5N_mo0%(cwu?0s^yf3?7#-P%Z}!eBBcz#58FjpVVQ=6; zDbJ@QOC}a*!q7h!oh^$Tk&&@@uH?IQ)eCz;8V{z&fYGEfeLUN8IL}v3NP{U$_7D!L3m)O+`gn)KM06(?^?tcwuN`Ha&g7t7mTZmQCn2Pcaf^ zEKfwyj%ShfA6bZ;^Ea2E{|R%LL21L9)D|)J!0D7A-2mY@E4YI@AB|tu*Z$n-Z0|=A z`*$w**&$HRQ*G4b1O#ekO9$z0%&_t9m(urZsYFz^L1-(os}8#+zDf`0WXpEx5;Jms z(}!e|lR2KHpDv~9{Cv9njTX+EKIT=4Mse!5+bu*(Avai>LZAs}Qm6SQEU*ztxv`<*kK4Y5fuQS}}}iM%F{8nd41F4Y|2i8&QQ z5^T*~$oPB?*N3yEO_?p-0dKs~$Ed$%wVjabLZNJ#QS~qFx$S-bzXBs`CjVp}9sd>c zC{Pq0eI-zGy(eI59Xl4^lB4&32!LOLG*$5G`u?2H%%(iDuxEDC|VRSdKrG(@ZSC%bA?o@)Z)Uy?sJYPJjGCri8W4 zd01pK>;WZp`t1b1IkEC=$I_jk2+=LTPx=3_~CpxP+N zmBE4zel9*rj`hu>l#DD%-@Kg7GE$o9v#i)tYuipmLq1zFuETkX+EPys1^;gUQK9{F z>k8D}i>(LXC&`gG&2rDU8$_X>6&1=Wj^g?!Ol~`H;Ul{5qi~S8z9)*H>)68k&T2mS z$3eS(Q%F)s(Ir|qi|~0c&+bQ}d=~Gx-=8A%J93|5ry4$h&Soogsr+IKV^pt);$;|s zuzI;6Dpt(!dh;JCPgoAkNl0(6Jl9w_0lmFZWCnoN5B~65z{ihfMPV8Ss~hG|V346B z94D-e zkEZbQvX|w1gxRDpgk`XyL4|S+qB!)fL5tk{>R=75$r9Woisz)DWS)a z;cjStjg*BrSHVl(3s{{PE^pqbCqX(zf1ylsQj)Mb1G8%kh@!I^U9Ll4nGKRRr$k~Y zX7+s2sM6Gu0&Tg?&tkyv=ydbPDXNDWQUZGYH|VB!3RRaBv_Jf<9fwsz0$ym6dpAUG ze{KFQqqbB*h^wLSnKD|Ur)Vvr$uun~tI@14FN^*{=BAi%$QYuHkENIz^s5N>c{s7- zWrt|)mb$i0XF8Lrnt26?VRgcc#{-}i<=NV)-O1esII=446@+E5CsWOT*)_N}xMN{( zJd(fl;Akr0pFb&nS`dQ0y)dui$;m-BewWcS;`9M^M#Wk1OEl5K=5*x-B_DY%3jl{Y zo1(k3v71`hvf8~6j<8elL0)25q&;#rjxP+jk$AT$Hc4xy+a?P3xTqm=+`)~)>1h!r zS6&0M&+x6I$!NEj|DJ%F0a z9}kR)0Rcd_puWRGl{I8}ic>dyzHoz1)|;hEvex7hC@l-_^g-%b5VO<(X~AazA(<@X z=)kgOKZB1|9kqY`kxDVVT3lcV@}bH|SN$Y1{b+g~(WVNkmxpX+#ZN6rRG7|Kjw)mT zpm@}_o%4%WytdAmm?N+x)oX)7Ytpytd6+%n6p9BY1isjhrapa1UFtuf8OSOGp!4yY z1an<+L7D14?#k#336JK-1CBd`=2V*-`QA@B(;0iWpUVZsevvleM~(z`X1jI_l?h2K zE2Z_X-*63oC|Am??DB^FFd07vjKYn2$E;IaQaJcf3`;gj^jbXdJt0)`;u&F)ZGy9_QEIgN;nz z$k6p3^-b;#WTFPc)~LLVFOA+1-MsNL(0JlE0@)!)&_kz6xP{SJ zIymWegCHnfBX$$d^dG(j<&=9NGf7i9_S1P1=vNqd>7FOg$w+vyFp-wK*r_f;eCMzn zDN$yukPwEu?M1g0x}6a;fgGEfc*$XdpGBl+mp0DXm$VPU=;}yDZM;^^?ZpvT8t+`*DPD?X% zHIcIWI%M(a;Rh%7GvaI1zmudcB8IyN9El03~gT9hPFu77N&) zWszTiZr3BbsA{;>0|owS>EdFp^R*)XC7!WjXkY%L@|V_2hwWlc*kdf#UrP1aG8Nde z;C;H8yn9~Jd^7n}-4*JU>P}p!*m#4QTPbPb(p1zmFdu(Qg4hz;48RjT#VB8CBZ;}o zf>lx0FBpbgtQ`KOSxQ;nx-Ya=>`wm(oC7|sP0QU}7AEn#enu*UDtMJYFN$s3-@Nnm z!XirS6sR}i@`Z3(Mu7OJav;K40Qd^|_Gj>H7GCS4MhAYP^lw=NFsF1BT>HHtb*S{D zNX`yh{W51B(I0XcLJq+2{Dl3m;9#tm5O%`E*PP?OQ$o4w7LsvJeC}zdQ>+uY)zIaF z*RMJ}s=M^ZV@?@vhiK0(+7+E!e`WWvlUdplyt3eTdF2A3t%RO^EEp4bZ#^RlUj9jZ zyJwu<25VReF1ew0amZFm-?6fwy~esd)#jnr1rgbaE52V~!#?H|b5|p;zw9z`*Hrn; z&@PW@XAUdmUmX**C<;z&x&zIXj)83yNYXSyzrMuH2(4$53n!3RhM|zE`?sPVWZ`)k z`-rDl3QLU$=Fart^5ytynCaqPEo|Owi2b*+|Cc7&{}V~SJT5AM7_TFT@VVyCVKXHS zoxsy$!Q6OZ=!cqwPVSJX6s=1cV<2(^y@djxFC(tC2`l0K=E@r|jgz1vG zio|YDK6m{~MtV{q3}zv5hOB`B#eao&)c%+hTzlF2@T#ijLXdI>e!w7Y|r6$o>{>82qIUbU4v;eSL`m(rU#!-!}uDjOLyk#U}u| zYWFBO?N&u$K^@7-&(B{;OlQ3YDx?9-W(gmu-EkZHszNYi_OzR^u|?{Meb`!urU`zJ z9`y$icgIjsgJwO;=ns{KJTKr!T~p@*>jG#_13gtO|w zgvqw1uX0Qd!85m1op(8Y^?E3Cmk31-xOWb0KZ4Ma!svd_NJ%1i$RocP(@1civ-H<+ zqzh^bDbvj0RSC?gkeV@A3rCqFb(QLI*Zj(}lu$#v^K8(&TpoVxcQk``eGDmYT%WqR zDAdoL%fG-*`)?{Pj{3X}u-ULmxO~b`|CE3rz!iOLcRhLV^)EHreBAO~~GPX$7 z8`Mf2M_oPz-4*HYg9QYv&)iHQy}m!bweW>5nyy+X|AQ?3?p*qI=p2(xa7lE8QRS~S zE9rVgJwW%9q0=WzF*0%G3ZG669vQLpsY`Or;|N1Dl%S@9=_6dFJYE``0h~U$U``)3oK+4(B=rRh&?Mm4| z@o>Ise8Veh<7VgegLD6ixj;M_sS2!H<@ft8L)LTD^R2O3LyWgiZ`X`m0{|vXdD**p*>lfJI9*;*xw-yxS@6l^LW@k#;1QQ#@?tgX*w5lqq+BM52 z&Jj_D_5#)ERDZsMaa%$vHqn1wcjA9^6jtnHUAHa1de8?rT|4%A^CTUs ztsMAn8$qLcM|E~QY?%xXVUmCOGTi7LGY&3!p!iv-`AwL9uf-wq8}ZrDoTV9i!n4sS z8J}MU8mXx8+*$m+r}1D2A4l*F-B!ZOu$jcx!a1EBf-wUDJUu<77!;`&SxOQLs^2?% zc(-5bZq|@Ai)Ia4vH{0h+#T!)w{d5bnxequuh07oUg`DImHBNf(&JiXwF?>w7sz!5 zgjnzrX|*O4icKJvgpVhBvS1gcca8Zw90o+45rPlquP%e*9Zl@YcVRGmIe!(3s{Tvq z%P|mM*lrs%Tv%iGk#?Y8+>ikQ+vi8}A6VI3gPyf)Y(7`@tp*dd5!m25Ifz`|GvIwjgEA^`h!AS+U+_u-PYOq zPaW{FFCH#i8PNrA$o$xDWOo8s_SeY`n8sX;hf%?0Aw2qx-~TM{!8rJTS>Cg>cKqP( z46**8jXur(?Xj9elVB~~MLtOXKXb6(&&kzZ*1UWd?hG>s+fAvqCDSV=ysgw930%WJ zLF!1()3`Duq1)?Ah@Fap<+KItC#Ymr-Nd(Nm=mcLQMNq}FUT+a?tJ*dFL{NZZqqSu z_}wEXCb6>N>PlL77B6zVcR z=-$dC(yBb-L`foej<)2VkB2ZpV&)ka9VM`(*i4P-<`hhtLJ6G#m!fh_>`mUi)X zXGKOCpRgYe<&x{levijYfxaKPowr{jceOsA%uHQVHw8s3U<*o@1qKH;rK5%t%nc*M zPdJ#KiyqT5Gj)ujIQSIjQDhCTIx)@>YJdD7B#TtOfDDL;DD-+7}ZHD zR2Iw9;e;!j^2x&^EFHG^FvT_8P=Gtr?vl^yB2W=0@G=bvs6*a&ebXO8KG5>1K70QM zaP}L#o(YDwA?^k`5qEXgV`F3YB($ruF9=P{h5DoC+YlXWD`?g|{7*^Fp}X8Oj_CO( zAsB*{?7Tcv&Q<8+dSyvo^xjRjVaZBw)6nn1;<3JW_{ag(FOe)&|5O4rqp&B$?{?@g z8x?T1n@~{Dqb*J6W`yYDJ@f`WJ_h~N70IIPP%YcQ9!-w>RiDOh!>Ak3Y5)6lRJLOz z9AW(Fc^*x~R0TIHzT?txwL8bGug0|{zBgF58+ahk&fEQ>xoVN`+&>PV-jd)AHXBH< zd}+2H#vc^?WoEq}oJLR{v;aYWzSUP3i&1;wJ&S-A`F$w@B+oZA;LvGKupOkPLyX!s2Y_iD&VgGI?tvNCbH z@pf2Z=OuVOPFh!d7Q|G~shq$bSJ#;_vV{67z?znXm31mc8cK^5{Pc52rWL9AAd4Y_ZDP!5ZH{$)56omJUlHkZMdam;naP)q|Ee z1s-D}>`kuZ&mb0hRve*1zIhiW>3K~JAoycDdpbL{f3BxW$|6#0ov93Ha0sYR!|;Wj zR>4Zm#I)WOKEq7hHqb%HpxqiXNB%z$@l;6)#B-Zlx($UX*=VI9t-DO{) zIUh48l1^-9j0YTir!5?%8<$(Xw$auDZK;O2Tz)O<)czjL)e6!lBfflpomwRc*<)hU#_%Agf)>+;CP8X8C)aLGj%H95(*GT%+bE3Q(o294x#8c zx$7DC_H=`N8AI>@v!O)v<<2BpJm_xd9W9~bBX1)YAt1Lp z(1wRVs9_~UH;-aNi1^-^bo9!dk~zH{)t=3A2@-_Bd8jov!IgEDk}G^>*k!6=uxS*N zyWr8gz5ObRhuwYY{`HRIsA%qXKby8j=l6GvRU}EU{ZEc=_``4INeRujgdyVZv*Bu- z&TwLHWQ_(>JsrOQs+&LVJ5d~*Pz9Nk8mzHe@6*4Q!SuYoZb2U(Xk1EDI5){1d#`SP zUmiX<4ZPexEs@QttLQ7tg?T4*RKprqkoz-dVz{kcxU2-hEt4$9h z`(YluzKSk-7DQ`Gg6$Yr5RKWM+)6^^<|xXQ9z&Q)?BfS^2F)O|GszUfnXjRW|6E=9 zelaBR(5h_wIqY&75m(A96&LyIpZ{xc?ATsOj92D1#H&xv#W>$RZ4{E(75Jdy<$bsP zg2>w&dp1829D6L)&JV7EW4Qd(ie zw|lG24BX%VP5feMo1s-sg+obsTf^)17}wl{tQSnEx0kbW)=X)Np2ZSk7hZ;R3->9E ziC0~@>uWK6wG%F8#|nBWw0>gZZ5~H3UL3G)z;3N_<{znpBL0yk;gGvFQGxrc?ylsC z{7N)f2=wdaIqVSyAk=$IRhlk!t2q>w4YKR*jp)!+am_n=9d9dIyC01#7P#Ued4`yK z=FK{ki>opy7cw+XLyk+vc!kyl?dSILdGbKhd1_j)u{XBL*i+7Twyb4NHoia z7kdVux}A~|wZ6(tf*j%sze!0Ihyr9$V?8~m!{ika78Hnm%7jn=cM!rzKXRWjD1CG) zRNbMohUW4^i1qRv=fnUL>T(Kka4Oz@9I(wPhjhx)?QOwAg7a?iG9QqTXTGdZr@-4( zGU?!m2GF~spvzSi_YDNOfsOsYH7Dt)U<83HG8tYV2{?(@{MGaTk)uJ@)<*0Ffe;09 z%z10+L3%7iqGaDQzoBtpehj~lmp1kykZYBl6_CEMfs0=bLezvuE@u%^`S_~*ktU8T z6#xlo7WEO#a{CjARwD~2JW{b`n-wiSLt8iJ6s6NwDyOsFh0XRQ1yrl_iU_KdmAK@o zUlxedf%wkYQ*`CeP|#k=UxclZvkxZ@ILra<$usqwBdITswG0pU$eVY@vmc$@Y9QzP z;ddHnd>1ZzR7tbA<4_xcpBgElz7$3^CZD=EK2(w3i$r{RxOT|-!-@iyjF~r2%|syf zlRA8OHyC48GNLQP>D66*12xjhBP6t%lX2|ACl|RzAAv~EKA)^LwbUI$L59>o!KQ39 zVf)4lQV*yJnAl=u1nIR^52q9&X(T$49d&0D1#KPsH*a4t!tIA;rwFSVGTI|a z4B)SfoxI*#Hg1BxBLM;6qVc*)lxiR$QB_H#n7hrydA1biO>xp1i)1;I$XShQXrCi} zjX=Lcl1c3SYAb$wzVIuwHQU9rjLapd83_X>Z~j1Kmy9B8XQkln57`D(31G6%RnZU zXZ z-T7Jh_8Mrjkd7z(KK&c_VEgm@_00fV`px+;lCU+(SZDN@Y68qc_uUiFJe}@KP}h-J zo3bG`2ByGhvUo+jC&8bttYYAwoJ@>ov>Hhm=wudDQcjB{LBYOHLD1T~O(B#FRT!OR zT8;t~lyBuzlV>ksGfLW)siv&h^w)fEY~85~COtL|7V0zlYW9`6u)4BE>|&XUE!(DW zHNWvB&8pY+mSD(!ka<`+|De#V0^^0pTs2NFSW+X1J`eM>gKOutZ>1F+WPjPID&D0Llsghl#?OVoeL)G$^fMEy z_v-bTm}BR08nS}4J5lu2hMQrYnK5Y?(%#{!Z$qTleZA|1Z(seE7(Nc$F0^8Td$`5( zj?l9xH`d?>m>7hEu$V{@)SPcQS)~AV9>*Gy$6B76>gY$Bx_D`F6Z0Vmo1D%cS6*rq zN)f@wD#x4<>_I4Nj3G>Xc@j*I)7~2Ya_YqZwoFc5DL-Tf|%NmH#oq8g@KB8AG$5LIbbdbLlS(Uhmh3OlNN|DJSQg_v zZ>3p;gxeSWv5+b8)MtF5BRHWmUXZU4AF{nZW(rB9K@cepf4KM)f|TG82Pi}hUVj_) zY+9=RU%FowyK)B}?V{VP%RCUOVcIgIewsA9rBImIq28nDJAGodcXcAR*MoMU?9sx5 zdv_XKoOdP;j}dzqHN?A6_pRvHQ%_yvu6!{#8SwFk$&34wLKhoA~#l%>7SVcEXa94 zK%wyFb1t>r?WZbmX8D$dMZH8JPmwzpL;mjg9pB2@*~$%8dSL!;Sx1y!*cG6oDO6Jd z0#>@8;&HhWGAKi)4G-&uB@P`(OdWsBPhf^W956l<SNZT?EDGDadhvc2C^ zO=~-5NKt}eSdK9gJlA^FP;DPbRTT&WQSlEgDB! zu>ekN|ESPj5J;%75U8A+^F&W;>)dXkHX zYVRIV62IYn;#znSc=*tY26gPqV=uPs)Q(aYQmb6v!eT3wf+^gBq`I* zsq#LHFutKHtM895DnoFMS0z&H$VPoUFXn=T3RKQa%-uZq)ZIOIU7C~bSw>eq+1`T= zl0?O7W8(=Ffm&}oj09(Egj0@BugBh??bn^hgs=b>|Eh~!C*##(|3A{3*JoYLL=b~1 zQer9E8<;L z4L_z#Xk2O;HY4auYHH@R$m9lFd10`+;h_XaMf=)4x3UFJ`EO2Ql4@C)11%CwSD}{p z$jC+^-FqU;+>qUUl-Hr-^s@oJ;)kTGO!=a#6d6;20Zjz^uV3kOQFV36d=NDiBOA4t z!PyhlPm+|fkZ;H{1H*^PNdudymOuOJYL1ip3&7m;ERODE+1hazgN{~eiHk&edF+K?Z$zN2 zvcT$HWDe3OYiKw#{d9nf2$BN#g-{Jyu)R5Z<`Me-)|`%`P^0hOuIK^)Mh5lHgXO{) zUS!dSRqfRn?6)T2k&Nd$K4D_q;CVCkMyI`;g3CnK0#e?`=IJ84BB8g%}}V>J_4p|szT{LT#fcz>R-)iOOPf1KEUi;N<8Ji zcyiExD(FO|hkhAylIxrZxL}XHGjnF)c3l;{Iu#M|^_kob!>R&Mp;NMVN|I_8;Dbif zFn?pBPD7ctMj!eqm@K>2ASM|7)VEItHqXe04z)7AeTmWU|ETr1;wEm%jE_0rmvg1Z zzkA6I&wgLu#da64*q^$HrgwVkdQ1&nafr-3x+HG)&}1o>-CS0pa-TkrP=4mhAv~H^ z53l;IM*$q=gE2AqG$h(fQvsj(cfDM1xg~gf9GJx+d53~tiIMSwsg zeH}y?Nz{lTmIb5<6AuZrne?G+9Dk392HsJcPN~+=c9xR|=Pez1EG%};$V-ZI{EX?8 zBG{3W6>6i8UPs2<*ZMw-k@qR~QK%x+?x^aL$y{~&Hf5J=ggKCC(SmcM^Q`^YJu;G+ zjmMA`Q78K;h3DvXsLz!i-;9$aE~>&<+WUaSIn^~VsB(3%N2zMAvfB3+-dHn9q z{E)CIU5T2gue;(yM(4?yqKwjI?CFb^5sl(zH~5y4!A2WL0?2BhaievR&&>)CX8G z_iAif?mc!Ns%x82o_gRjzte*ftM5>t-*unh$vBVUCuD8lqg0pj0RkZK;9>o~jAJH? zeO&{_vPP8`TC*nDbO7J=>SO(JaLZM7S$X&r?+J;I;~QI-hTAqDMg1$CPtl?BtS#6B z#N4X@F~^^+76Vb<--`iUWeKjD;4(@S+Ym@Fz)T#m7@FGvhQgjNo%jVZJW}r{xTb(s z(w6x*I~;~l?9aQEI1O4!2NP+R1|fc0pachXlU6mUx79ptbj^~tQ3{z*VrA$4i7r+_ zeO$=X)o3=t$HFTf!O;e<0@QGnN&81>_~n*q8j9FO-1i&DCczQe{rAZY9L_{>ov@;T zQj8gFFqXziSFqBe!k7gW7w5`>#sDQFXs5hJ@;)o%G62g?YEyZ z7>se=de}pC=QsC{{R1P=;YuydH>!M}L!##;u*FH>`}4vyU!T_vKTsqEY2K2pi5vUT z$l1|xa4KeoMSc&7*k3;lytm$ysM@G;stT1gQYVNti4v!VYTondTFSLa$VCQD{Yi^F zHwXa2AX>VcOK(1<<|&Fj<~5funl^iqHFi2{Bi8T~_?h&|COw)e|RcTcH??h9_X)mI1!8K8k~BxNp-{)+e}$ykWT%|^$aT19Z>I9fS`g*QPOp^>l3}` z(Xh{YFM<*AFiZxl5Rd4{1t!TzCYI3l?PjL)8h;LZchykZY%o61nBaCYp))MS_j~gc z&>$vVG(zlH1NSSu6Vtxr!*q6;ujWCvZF+yksWoQEB*b9#h8M;ss&da;tqH$v=1%SH z4MPinqS}=Kk^KK!Er^rLfa{5^yR@!sT_$dhPGSKb8WtBLSc_Ao;DYTA6IAo6Rd z6B;|5&h~>lGyCI7-&y5_eL3CQVd-vT9QJeWOwhY!g{+>6N(QU}AYaPw50fS8JhG*}P!JbZSd^r=g#YdXc~7Z7I>X80|44>p%l zbg2f8)L&;bPFX9(ilCH6SKO)@Oa9QaZB~WaHSt}F7j;5%xb~e)Z5r=1g)A6G{rY74 zBP4y$g`$KU;;k8QwLJ;;%HFrKf)+&>b1$WUqyE6n@7WmC{EFA{3j)=UQ5~IF?P1cx z)8P*=`AInoXQDrIMUKazY}*ZgpwMMrmzwLb>|0*GBKJI}0joe3adCeBto$E`eyrqh zhyGu`KE3~t`iF;yOA_C@pu@|^h_kW!ShM>)y%*RM%Uu4&|M{;rFHg9QGmd zL8;-AUUoQr{^O>ysG<)0+st4pb|mrN8+~u3{Cxu=MPY>CJfm`)#`-QFS43}U2>Gpd z)L76Lu?Q<^_!D8hcb4ykM-38%tw;_l+IpYfA6>!=BSl}J%bOou)O9foKK9HF`KIxZ z95Ek(R-D{!4xxr02o>wzG=g&M-f4a6f28oHhcK9f!R-JiI~L1 z07r_PS+^`k^@SOoB0F1X!uA+!$#)g_EbCRGib+)5?ToOP>k=?YZ=R8d^%f=B=Lprd zt8PgknUtYt&l%VBErVtyTWFKV!>d#*1BVVH%RN6Ai0@LpW5LzFGwK`P#9{C2OYv=& zukReM+^xJSD3Togj=@hcBS>7)J#H`4plqg|5tKCsIZI)PZN}}KO!wcEB2f$1iL1LW zr~KFU)%si7Ru>sm#T+W$EdiKY{QVVnUDv(wk)o*nRB$4okc_~jEQrElw5TaW*^)vI zHDLRSg$p<0c|ECB4gRQscWI$adNv_6KM4=fzCA>Gw{2AEq<`4Cu&k2Q{ZZ6#H#onD zHmDR3#hXoIDMUThub$-)XThHj5m+OdwBZnX^*LMI9dw+$61Qo-hHWVX9D(H8O;q+U zN+Va|d8CctS|P?#^0bAK@}Cp($puK2KRROb1-7lRW_nP49fZ^JGn3X zY*Y0A+||ED$SJab`TrNf z{I6ikt)Ij*`jg<^uU(7cl7!eLn|-Ufs&0=noAvf=vEKIFQk$>rQpB~@2w|akj%oJ% z#A5e^G%UV{c<^da?zh!sw)$Ua$zJWDR!0$3sDTD=CC?Y#clC2ZC&8*1Z=JmXHj{ea z#=gzwlEdNr<1uqN2QgB-uDqvWWbVqAxM$!UQ;q&lW5}TnS5d~J>lk%%>3Z2*&GG6N z)M%4~b6@)QSM;H!S{RExU+IQYwoe50AbK1_F>^Y4GcRZG@2^t`rkmVg< z(pdxdW&tP2=RpN3a@M;dvX*LtQ#n-x-)GXE8=R8AmKAApEv4KRqvvqHEkpS zx#NVDucVOl2&vDCix%H%x3*ERVgKXV$bcuP=@psjbZ!Prjm8Q#rB+ugHdn$wndjYG zHHj60kq2v-veG%|jq5IyMkH+C=Fm?Gy586{(VLdJ{VFxU`|ESrSV*t%`Fe6+2STK= z+OvUs#2OBThrQd=~rDcWMAWXMc+jux5_HDm?B~y&giccYRvF#j03$%hvC2suVy*9DU~@o1j@X zFu4I*y^ZH6#W`6jHE`(PBKtW{^iG9jceRz$2w$Z2%Isghklcm^lJge+qTi#Y=`D2C zHh8xy>EkF|d}~-p3Th_oc0IQOTSMnl4JXTIb;4Lmt1m3%+BLOT(W=!T7XJm{Tb+)Y zq%%s&VVziW>YkGEm0A$Z-}zJW#V$5z8mj;#=t$1ck9*=twG?50T8-pe7ZU^^gm!xx4i!<7L}HtV*SXN`72aW2zIk<#G*>OB4QY@ zt5NkUW&%J144~d$Y^2a2|ILU!6B~eP)xTUhjtkY2Ks`F*2-bpn@&>9V=Bf{E6V2EU zHBe?RqoDb=78Q5yP%;dTxKV@8k@!f*NrJW{xvlBO#cprZa3EQFskLhSkTtYuG0=Hu}o(FZZwKoqkj2p0N2rTsi~#0judgH@6lRVbp(% z)XxOCU~$JVRQnzztLR>K8V8$_KbK%=FIpiAlIB7=JJCT*rjPE(|O@PYH7@?Qe-LP6v`BNO@Q7pXsj zCil!{`j8kDT2F}c4=YOk41-g53E+UQOF5)ak)3J_=MkLpj1+r=1v+)7gFSTLbz#C0 z^rQACLHyNLKd}%LfU*i3Y0T9Ah2{^U#;JdcBw#Pv_@kyf6e9^{V|~+AV&ow3zaqf%`2WKPQ*SF^tS08mEo-hJ&pE9u|Yq1`}TgeD-0 zsQe_&Hwe`qd6pPoOYo@dem`Tz<;p^0i2onhlj>jCv(oryMt0^ihdmIEFh!>_rIy^6 zO|)~?=}$NHJz!N?HvYBCwccz1RdNDy0-YUITRJGw)+$fW_x$J zbFf%ub|#xalf)=!Z4Pg!x9hC-P2G^WScUb2_UwlhX#WD@$K<6g`9xu7cX+p;m3<=; zBnMaa^0U2v)EDPxzuXC0=Vq7CdQhb#D^;^7;^rpfYrGI%7%7jV zCYKSg#P0k)#nX+OJ0AFG;iV5oi@JvXrY{>3WeZ{n3^w1<&&Hop65`^_B*LAd9vBRd z_oyXCF*2w1?s+u3N30#}|DKfw;q&HWNsvDZ`+>B z;KGcAY=l@}k8?vYXADbNAw|ujZ8ak<)Y9Pq20%y05g9JaM`RMI(qH*p5AURSweLM< zQ~Hj9u*^w6mlDRul+8$QN93o?t(fgYmC$JKd-q$=R=CS?>b^~5m$Jz1^N^Twb@Q~z zD+Aq%13yVN2=?r5+bw~zD*&1u{6(}|?iOJ65)P*{1+pBpv8Ud~gpLBxG&3%Rsa=$& zcM*{j1Gz#LNseGoW5N@lMXDj2KJ;xg;^2HG7=013-Q9YD6G3Y^TRwp`;nRcXAqJdi z5DsI5n{WRBqKg{@kDs9_K9UQ zq0B0768d`*c+}xX;^m$v@dXbADcj7;0%8HhP!#vM1`qq-s1X)P!2ZOyu1!)g^pSBX zoK4EVi`aq`GQ8RzkU7S#ds%^ss#xK>ee7$6QnCBXS{Ae_y&j}8aMv>8+$zLCo09#v zF=3I0y~X$s%j|af8+R2l#c=;~?Gru(_DGa>o3OA%W&Xb`J_IfgR&v+Fi;l=(@{#*u_(pF}*r8?K z1}boWES^E4cf5{|=@QqO=#s{?YmJfjfNNp{PtQEQ4A8jKqrPQS zvMrgHPfXiuV5z%Ut`~fMF2M%nOL@HPHFUh+6oYnt4BaeueZ|D}u&Fhqbw|)w>~>R& zF|Mp?WyFx1m?V(vc6E_ZhbV3z7F0l!1w{Tyy7qpiHU8kt{(;n_);!}I3Lm{J!TQGv z%%Xy}AwIq{8=>Si@52(ULvxLY(|yit9>5iqJ{-w;g7dP(?|QRmxD?!zffaSsg;W5H zNJ0_?)D$mr5+d>P{`a8IghcusA@2@6?*Y&6tB*h7CeKKhHsNznUyL+nou5sCV;V|LlEX|Ij z@n_WO;tZ+D>_Te5#RFkPvZ@(X&d!@YD<>@2TCIhj#zw?WCh1)_mcF+B5j4As@D9ei zDc}I83pOW45VYm~Qf^sT{EW^osaFFgkyJ7Wt3LTIe&hsJetY1zV$G~V#dHh!Lp+pt zq-3u%Q-{E-zcP9H}D0*AplZb!UH_a|CU4%>>Qtl`VOer_KvLFf>M&AqEqWF z1ia;(n4>Y;!;A5IC$&VtJ8(7t1$?NX^-mU6KgeVQQ;=c4$R=Gs+~_7(m*mMu6jxE^ z1YYppT+*nnUbu$?MFH-vt?Of>=CRxA}?M9OhcMj&uISYRBaxSVi4%H?geC8fyqmbXx6?DP8gg8MtX0l0v_L>&SdpD zoUVc$uDqKcpoGdFx?h5xu2(pdo6S`K(3jR65qgqx<(e_Aqqs$OB>z<98hTIF%VLy- z$iMzMunESmg%@D6G0ao@+`xqzX`SKf z?~t_~C2c7b#WP&`4#7Bzf}4lF^0Ltmvd?*9&$dgi<8>`Ut0O)G^Ln>G$-Da6_n=Ls+%(-TeKmE^O{q5vz~L?+{|*9nt_&Pr0b;A-4Eq+WsiK zA9hw}-H{5q!?Y=rle@|HwmOf{a%L)j0m|yL(-H+U|y-nEaE-k$7SSlr6 z(X)?wNyqBFwq(Ipe#fReHtg!!^Ql-j4jVaS{*Y3$C!`c}skyw9bG2E=xb*R^b`uxd z6MLhZWbgE7m_%qI?0mTCYNYtlpDiVttg(wOzu~8`c&yQ^@)~{hPBFwQ-k@M$T7(Kel=Mr;Su1_w{gy-8t#i=sQhA591RUN z(&3cjDGC5~t&A|+qB1(FwD}J)2`nydGPtSyA=*sO?Y_ z-{fxY{!S*~(KjYvIZ)gDzU2Iw0%PDj-}1b1g0Wm* zS%Enx7KBKyzQKr~RGRYT_&Qi$->4G$Y}sUpHTJ&4)n6j$8sH6srXcbZvMti)yzeO} z2BGwdre`F%9Trqm(qTp;JFxfA6hBHyNYL{MW<7_QJ+Ds;NzOMWFSANQWkw;M^uYNa z5i41M$e5yY2nWDYW$S#z(Dv}{#p>Y?!gM!&h}b^f6dgaNYHf z1~q#=q9ZA!VN_<_oFaJ9T9WBC2voO zd3l!=k@L2`i9#8-NW`~x@GNcnY8V2HXB+PGxZw9}tmUga-45o_%>)?hR`f2tz;cF6 zDms#a3PYK`_nESFcB!jTek%_+^jlOT=GM+k*Dhhx-lh~XGs7g#qP@C2Zg943&{%`W zn_G*i2+0h1O~Jhrw1I!jg^MFE4Q-kp;RP=V@2E-m?gs=IiEG%x3|KreH;?!-#*JU8 zCg{pTc-$$ofa2w*HGvHuvwup6iuV1%`%hT%J0F#Mq}u|VpX9U4RVeWb;5f4@0c?# zw`{M_A@b8(#3%RLQjIcEs@~?FF(b^)B=#Tt0Wj5u$5m>Zu2d3x(}BmU0%GMCu+@cq zzJ*6JDV>gYNW-hmA$P1BYx0z&uj0tS2wkIX%wt|zE}8g;*2Hqak_dH{3aG?7XQ2)A z@kkL(4CmM=rX<6YWO9vtrFme^J4lb0w0hgN5P%W}ycfeCF+e}rm*=M+F8E(O2cz;u z%(+Z$W0i?*9(@`Pp1L-x~# zB(Ej{aJ10DRmsL5(}CH|9%c}YRc$D}Wkoq2CWgbD0^VfH~V!*h+r^FR6d z<#GH?+?@~CUGRzLTjQJecI(X7*6&3L$_Q`yB5TFucvkKzb~1ym=bCgM*=m>E)D^Ap zMIuXi?CIa-uE)a+k|o2^oNYAGh!r_Q-4;;?xPh}4`Ma;zfa5PUVQ)W03y*&h=|B~* zNT|Y3=UjNriC-asjT-{(N3i{G!4}Y?2TocWniE&lFNk~`K!hgD+|H%gs_(dFV1&ji zjY8mHP)fPNMQ0%PvCN~%LSO^Fj%)}*S`0E55@xp0vtcy-^~n7^pyF7lE)deV8HPCX zATO)X-wMOWs4$_;?4K2mID%JgppY5UJ?$Ek-;F6Hqfq$Lzb~~%5mZ}e9b74_R-MTz z%E6WN`P@oxaCDuM{}8(^Y5EtlysKSSNcz#Wtn^|0a$st#-M#RM_GUfc6? zpTA8U9#FQWekdt!3`oe#>Ee%-l|I?+d}8u&7$N3meb~Cp=AjXygr_Y+G5kM^Jx8D!Wfo{CN&@8@=kk0L26OHw_ZqR?5#1hsK{u^tpQfj0QrHmCh>AfK0A5H7J1c#l=pzqe%T0&nmBx*#p_hp(P189 z??fM#)4Yea`6FbJcDjX|*bEktkXo9AqB1r~vH{VYv$}Ne%t-6;apxVTSGLM8 zpWQdJKZ8*I42Gn0#9G1h*fWZ@3~LL5R8mkdI~|6iem-5p(7N);^w2C_04RxAa;Arr z)DxV9ywIqMEN`JTm=!4cBwBtSQ0c_3>hYeGrO$9C7CM>^WLMwAZ(cN|2mEMhRT;f zWRsn|k$;>1wek0I7c}M2@7w(Ij!+=m*;V%|)3f@vE0haHN#tMS06q_z@!#kyci{IP zpWYnN`hvzR-N|6GtX2>8cuX!r-f%&{LAx_;dfd8EYyI1Q0(QPvCd z{WkIbzG$lMCLw!?Ea+5p+{nf6<=YVzUYR`NyBg;4bXGCW*ZV#)G4J0cLA1^Dh|+j) zzCS@2?eb{rkR)0ZeNgTH_l$#0s;!Bh z!1gBZ{=+%7?6$BF=-Y83Jz*vE#2qXOd|+V_$D3VFy2qJ9i1!>DbSCSXJ=-wX29-Kn ztM`SQm%eW1V`iK8M7Zou|*a$X(2VQ(s4{ez3J$uJ==W88Az z+j5IN?wWJI!gRkJ3lb>aL5N}Xv;@rSg$<+qxFXY4?o`uSPBGe+h3P88i7vwIZLdpv zE6qhPZ%^Q2z)cn>NQpIW&D|5gf;tcNw<5Av@cBYl+_MK*Q4&JewCgU`#QvGiqv;%%EEk_`a8LN zS|9(vf-$j$Vv?hRT#0fg?USh$r>5U*k|PLla|n*qn>s|6JryL))4!f&AM)HD znX#d>ojWLhVk6nM9!cPxniK4vkZM)z9>e7InR=EWR8A|Aakv>^ABI^S1Mz^rCn&|x z6#c2#A!F+^{6zL2awpUp%Z*lRIPp7z(Qkgpo+=%Qp!}1N8u!;@n-v7lO1(yPcmqAe z@B6Qg?>BTLXKTKB18uSjy-95P_7>vWNToZ>ZMZ;&iqK_H%daaT7^c|t%!c+KVJ~dD zf3#{#2a7Kvio6ggqvO1g9p!E*2@ATE0G)^iZVW0`q=cq%IYH(WAQ9Mu`*$fMV-w_w z781Bmo4r0&Xj{PyS(+|$Q4#sz<|V}<^zVJbED2%BJiJG$r~ts7pciC4?e2RpaUpx6 z9#gS{x0pNV4;6@i(B2FL%EjhG6^CYbuUONE;~(gQ7><_LopPCDl7d?N&Q7JX*3l_PdK%W8|gu|Ud8 z0!#~+Sg%{;R|8GUSH8fl3fl@6cn+QyWZGmoLdHp=0RVpc;Ur@OgA(13vt(PRBTh-F zifPwZy)BW5&UTJmZs{{OVYHR}H*9u5xr z_YT+p0v>LzITQUqH-Kv6dryPi&G#gYo9ot`jkvz@OJ9EcU_5}PraU)Fw#f;aI_P?~ z48u0eISJByCG>W8#;YmVJUGB4X|9dcuQ%~sn z=;Ha|%^{mFWOi@AiSt3WhHRmZa_oNNJ|81}U&etV@xOG$x~DI4c+oIcnSGZ2v+K2C z^y@(Y7Gq@CmO6aV>Ofv+f$g?cm7~7uwy7)L{Xo^dedDK~qtMbiID-jSjT6u!vYsTN z(Ne)BT5jAiS6+RYUBYjfyoz=wD%e$-U-lZ<1&Or z4^e-h?9*Ir3h%ex`^$ukoIk47Y;}RH)2WvaF@`)lcVL*|+)FENp9nV13^j*a<}zHQ zzdEK`0~H<5;HVMj(o2t}&maBHs<5p8bIr`vjL1x3RFwF?+6%k2L6cu^S9QI-y1J#3 zsEEu)XCe~_X_uqxh^3`S<9wa>8v4`cagv*-%-~}$$6@la z_$d%^mH>*>5hPCnr4W)xTp^K;=+Dz?)dscuPKkX7T0b3;K|nd=x8Ci9RN$Bp3=&F0 z9OQ&|#d-27Wc}q&0$#_yJsI?^>!ZUiE0is`?=M1cdZsKZg9i1hAb_(Ssb#*(DmGi zRznbI%8%#Okmctj9Y=((1uDu`dS4^l-LmclAr?{gbE=C6VAqsZQP6AXZah8tI9T?e zoP#@tWhs#1G@?3{oe*Q=039B}bIsAjG=l;>`lPR&JI7Ed9W#~@(+E`n(JSnDKO)h# zbd)91FQN@WIYP&rH|?v!BS=SQaoy2sXgh_UjO4L>Ah(T9L#U*yFaM>3Mszt%xt-_r z=V$XYAj?|5E55A%u(t>#K*Bb}rx*EIc|{tCPmW zL_e`d@V?JsoFG%yszeB?`z+g=L&A3lCrAwXH2i~$B9+NJtydm4Rk9K;Ofk5nxzbA+#chRM9(|T z>5&U#9hG6nPU(bc@XOZn$Sx9LU39C*k0z|V4`24cCm7ozRQVSHo}{3|jK=rp-6=Me z-Tex+`k@6J1>hY-XWR)QUP1>!3hT(E6_V^p_9r(f#OjcK^UkJt*hNBhueWg)%i>YM zvwEOu_OY{(-OAw-;|tsmI9)TWdi;!Sy)w<3yz%#;7nMB;HQY7s)Tz&kNLhmo>j)@j zaCo&^XMBd#t(>a;r8AS^{LyE}LRNe8V1!e-dT6F~ZOg1u+TM7^K)na?Z(4vF+D{Ez zbD3&Fzfg6LFiv^T1tXbxu*`0se01!F>%%W-u|G^b_dI-$f#0!$uZoU4Vk2j$fBGA(gC7UK3%(v9Y1yav zR0h8Oax=0IzjG8Jgrt@CmIKAZji}YdaFAK}+3e5;b?v;KaMs|^QzsKK5*`Je-K#hM zsnNc3JnC;;o!f1iH;aW6I(>Uf6sXctTy>&@YoAW|6`p_F{?y+hY%`B9`uBDN+AbRo zNn^8#OqaZ^x)`JjQV?jPn=`e?8yzYxneCpH4Z9ZWo26}jW8et%4MAq8`x2k+ftl)B z+6`IaaofbH;HYhnC|?XFKX#Rg;!3p0H?*5;Lu^WUAXHdR^a`Wl#rK+;_vMO`nmG%x zmnLl5i+tjlQFW5+_RpRTp%U_wn=_nD`X^ZE+X3O3@Pm#G!KHrvL zUIJ5Qs=d^1;*L%f7mS{^( z$xLs4N|T>&%`0&olz1>ec zY@SfM)~#i$Gln44!Qqn*TO@(Wjo~$Bw7U?e@Z*PAyGB%R@z1YjUpNYEn zB5bcp?T7bXl%3Afa+N@L%M=Pt`bq#I?lH>e7)*h#p@*n2*NnY=Lj1@NfWzj20&Wpa zNo|K^BRI=pCC`o3x zDE)k_L=>!Ix2*bGI&CDe3;H{!vMn8w~p(f-&njVEv zn4W&QqMvSw)~n6HrUO9}mYyWL5l8b9ZPH(+u7l*WO;7A+p(8ViSJE?mUUL-Qb%886 znwDpAt2tjw(6vyToAJV-!k9v|3G0@ysdL{~%3N=V5pFYFZo5Q)Crx7GfeQ!jz+*UO zq)46u@9@uW@<#hMnMKT9O_0uf|EBwk)%)We=Ml^^B~55Ew5hqqM1?EM0~}(romoYC z5qt%1+zyVFJzztKLIEPf>;ah*n@h!vj~U*P-loVdTimh3hw!17dG~JnPWhL|y?1>_ zHGA=q+nADnn+E2Y$SqA=;u{uJZdaOaAO}6bm7a3{hMGK?(x5yU*E(Bn>jgwIaQ`Lt zNiTe7A(AQ9wH;W{1}e(Db+;tX(^?-3a-p6!%badF3AhT4cAZKOS-QT=Y&~+TrPmni z6b7T^drb_@`%K;QCOVj-O&sZY9`{Z}Q*c3QDM_g+VC&NNf_7f}%bJGWcA*f|loVCY zWS;;XbqK47oE_mLzM+vMd+;P~ZlU_P*4luN?)rew*NNzGt{u<&l@9~cEL6xMitFJ?&dQr7jj>6|*r%nvH=oFD z(i`oC`qAf#HlSrfI0)CD{ocYl8uP)D<&8o{Odu|vo=%V3 z5bNbTjsUO5PebOk`{wB50lAvXZN_ls{r3?P$Pk%8;3g`Z z*m;z=u=8=Rb`|1BcTZAwXjAaxU>!o~NI0~s#K=nPy^hb$=z;xLJXHrH88L0{_@kTZClWBn!Q+sdc35i&Ilf zHwj_p2GF=r8ftFO`2}iiLNxGohZmGA?sjIF<^~voWv-`ppZcQ09SXZWE+_JIo8JFs zQO+|R$0wOdq6pkRViIqrW=)-NeTgJkK@0N2j6B-SLQ^r*GPXUPN0SF8rU=VurbrTh zu~T6E@LiX))NK~0yOMNpz&qH8{i7sE_3kbNuEx8{G(}>3*scT5$M)JJkKSL`j@NC% zT&TBDSxMLZ7@o#*@tNKhG~sly0Ty>c&HsilSQdcSq$9+i_lecFKAfmG5-Huc45frJ zxvG7zSt;@TFm#TcGQvchSKG)7XTjSja|`A}Y^fKgV3ZeRwISx0$wz<|tEwFtqXym3 zp^k;kGo^S!O^RWgH{j4Yos}_nMhw#r`uxBqO}@P_Ud}0O<+IOYuz1W;R20UsNlgiC z&m-bWDeVYWd)+NcChI22>J(T( zCb$F@)dzO6JjQBAiB*=Es?m)XFDFZ#1Pb2d-_y28*~T8Ua9nMFN|Ix>pFB_kh+6z& zjdZ$klH~lxJ#V+92ifY@-4P7Cm%?BFNGmG>Yvq;tTr&CzKy2Bf@SL^zzIHJT_yDQSbg*U(G~S-4qk@_mHS5qRS+DC)OXDw6XFPW3fr=?5IQJwLlD zE?S3Z1Cj}Z%=}VA#Bn6ByH}MJ`}yB8rUL<85_^y=O#!gUuK!+77SvbCWmzPMr_gDnT9wis{F|AWd(A{ z3{|ufKbiUH!l{yGYq;a)hmq9ykkFYBlF`ZRlp15JVWWh&&lk)kb7S0D-2aDBnfGm8g1 z?;blG>F-VPhExn@qH(yXXqllyn&U z2u>S;%LkI@>5QnjED%|Vl$*u-1*cJX(d#Ej^vSAyY27?^fgBUK%zzu7T`*r^7E^B2 zsGcc-5J7#8_=tw>)C4mDu+c6HFdiNujSax7>gVqOmnOqWLM~DjeG_)pf6tF$UWXnRJw)=Vuzfp zgx2Tzk9Lu zrw!ZBwAerE9Fbw$8G|h>+jIFfgR)2sHd-)0rP@fm0Y*y!T5NFTJ$)6IFQ&RL^&0<7 zhM=#P`6e@z?q+fOwSBE~s=PXHO-wpXH9ot`9a;>_Kjgy%_cxxbmS)VydjsMCPI)LB zTPO-)^&t$kI+7TZBWVdutTm}^XF(@nE+KAB(($to?Qye$9AG%33U8kcB$Bs^s#_b8 zPwQf{r=mB0SKH5;iviCr(|%eSaSW%;P%w6#ec)3>^0OMt=*h`$dK(%e*K`mIZ?TRc z!3wsUwf1_qTEf<~5B^i0T5VHYu*Yn3!zp0jWPdQ1hIfQ^V+`tB%u(Ws%o-7{LAo>( zltZAmV^8&&fJ;a^-uC^S!=Y%vX^4ZAXB~wNR)MU+ENQ1Y>ZxItha0)jUhNF$3~fcY z>>%&FsuIu3oTOMK$V)YDI-LvR++3UMNTOR^kB#?QMUpDue;}t)LJy3>npzV_UMisY z>`|nCu_Cu!@9X=pLf7C0qoIVC1dVB=^512!TCCt8A-SSXn|1<}V_L98|A~^T}HbzdE3Ru@fvXD=^XJP=YNpi4(BmLARMUtXRfZ-G{D$L^3xBxPZa{@ z>m!js26oCmZ&JXo8+p!U=Vh#mXgRng0kkcGLT{xtb>^sN@~Jr+5d@O)Vnr;|lvpIF zr>*k@SppQ4Id66FPQ!x!<;OJD?y=#D-*ouTPCk1=M(#85NwZ%+as)&sD>3N5et12Y@b)WQ_+L_Tr?kb3|HnkEX3$OFev)$r9|OxTLpBzHI+pA6e^7 zB#nNn6Zm&NZQr02H9YAzhW6p`?=D@XaU%ogI;QRB<6QbUC}0q3??eaqG!pyAVN2@> zGOQ-Daa3P#PxRijRdpu61-e^Is0Y;Tg*oBE6GQSBNb*OLol^VVCS-gc$?ja}d#@c1 z7Zn2PFF*L-W&}s+whk^0=l`PA_kxIO9YdE~EEI6*jxfaBZ%lFN_A|uQ-V026HSitP z7&aWN7xTva(M`gY!r$CZN?YQ5z;U6ajS0hc79zR|NYSh!GSFRhntsR>sOlX2;E>a{ z%Bp@QUf}o@N52}-=vK}S%swtH49-Zp4_z?bnp!IOM}NN465{}h(?E5)U)=+<_qIF= zv{u3NSjqIO2ly2p*3?!0<7k&D4^97<5FHsgt{@70&8Kf$oUzK4c5HI);Z9F43W@$# zsxGbne?WXX;783LgzqBNcl|Lr(R<+=xGE7VKlg>ic$-D^OR^iX;8D%|Gwk7Ap;$m0 z6MApQR8RRue7&_TfBD^B2AqGSXCO7$?%k!_X8*FT|R|^?fY|Vt5`#dLJqdzaeH0V3QY8ueXN{mD;-kvGq$&5?46P~qH?#f}f zm3lFabrnIuMedhwU^53Y!0ehpBqJ!#l2F$I5l{mXvU9%|T0%p41&+k(>bv&VC8G zFLdPI(Y{YzDrR*CnXQ21OU z%1Xt}v2ThfZT+f1;~Lbni$A07TD98399Sgp!$Q?~R8%wh?9AFY;y18B=d7HSoi&5N zJP4kAg@VmzU7#1|Nl!490UQ4y-J30SMi}vOryCy}A0I^xR?9f5ieq97+#+C&X3(!3 ztRTMPj^f-@l}`~4kpJ*i!N(Y-5#>$zl`I3+U&W4qIu!<>>Tiz@L4X>oWw(s}^&^)7 zTzFsK@~xny)E2eHd|SF8hOoEx7~kO2$0r*?S$=i!qwCj#vo2)pWoX`XLU`CQo5!X; z{YLFoSG7P@n{||A|9L8!~g(( zsIx^jq&%goy8}MEeVf1?J%fLys7`}lY4q$as7@@RF!B%i5r0y%G57JqBhM+%@5Fh9p+k{tamIhQ<=TR*n47Yp*jNei?^RAqT9 zhc6jf+w5V*G0tN985keSRg|KZVCMAgI-4Aip7MhvO4`j8fDlI^i*w4+1C{x}kn~a+ zzSCb|vLw^5X(!NdCJ2DH77xO>*8RUZ~iC z>PY(Z!TEB{lGMv}8`r$GPSDky_fzoc=`DVcHYVclK9B#aDQ6#zP=n_$B-5`YsJx30 z`ha)4M9J=97dGBqP0vKP8KEg%n|TH`aL&QFS|p~SfT6*_vs~s561WxBhWtB4#Sa^H zwJllk;fRw{Q5 zvJB!Q^cbg8csD3u+Q_n(xr+niAV=tr)&kLSZ`ovEpzd-6e~S^N2LOJ!f;}Uh!r}I+ z-sYgM7pYR@T7*8O%5U`e;P+Z&gsJ0|su19?D-wV@Tv?3}Z)_k=en zMKn^&Pf_-w*`RkanK7g96CxwM5}JO+1=-~UlT@lBsD+_6LFe~EJjy`7Q!QB)s?-Kxq6}mf+UL^Vhf=WPL2ZrM2$xC#p-y5?r2JK3 zqy{Z4_6UCvJ+hlDzBEiSpB>zb81gjZ$*IEkzfQ1P0evqI$2MG%a!-wRa-bgDT$#HG za=^}Q&4c!wTwDL7PNy^`M9Md#<_zJ}w20E5UvB5#HHp6F=v1wU)v+M&3v49X5XDL`*b4Q!)|+umpI zd@sUbf>RvV<9;afN9Lr&&=O$F`ql2gf^WkwU-5dJDNKjb_Fg0t2}ZLp569C5C7ErP z`pCI_qw#VxSTPnO+Gb92S)3!2Hw0)NKDZ)y#6qH6Q^;LcYd#EF5Q8VcfXp}eV`_dA zKRS%AIqiw&#GHs8=MGf1*Jyemv&VP3L=F1Qi&+8#D1xCnnYf0&-ZwauLvo!aJPFp_ zH{Vc@)eptSz+d;m-v?`*^Kc}V+p`bt&6L%!uO`t{3G$?dn36c3sdEy&t(}J>KP1%z zDFky)XNz0{)1H)K$0W|-FpjKD24+$}O7djJ5T7UXY($yLgB)#5vAEp{JC(0CuHg36 zvm^wZVZVSBGS&VJo7<`i{Oc!m?i!2r?!)3ND}@j2!SYaesn>O}z*z4wi*Byi8^Z@l zv|II%8X0$@(D}K`jf=MW{K^`uNia6wwzF$qt=ew8Y^wX-yz@8HK~%yElzOF1 z!>1(snv$K=m?%A#cDl<%`uYp?g3+-Y^V&w?jnI`*j?DaY=7J~p*A_+mG_c%Q3qB3apCn8W(`<)k2ceiwa(4#M)1?(!+>4hfKRC~U4?LXCpITyaohQ;w&X^HY=T7l$JK>CN?S}#SE_zU# zVK%+%x7km`x7*pBkHFLlXzUB)7a7Ao zmx_ID9pu{{R?qQX6Dr-fUI^n(O=5p<9NEOkt);F1gBwLEvj<@p7$~|KFH!$3U!n?4 zI6=j_#h_Fb_8zaYg5(y?^MOd%M~RGP`{FQoSI77~Dk%7V3>~D+qp(Y`JDewmOg9#_ zY+GqO_|p}+k-O!E_?8BRJS%jc>}6+JK9H?t*ig}4m9;(4a=MehGC%n+(Vg>eTlMuvD@dC^V^+wFdv z4JynL9o|Fbn!RYVK?4&6-eS0hy)?EJg<(w(00wQ)#K-mrmpD-`1H2`!uQxn;J`VdO zBE0;ev4wTV-b>3S5&CLK#BH7X);0FS4d3n>;ize+%BZPw2Eq8A4|P_3^lc{seCBPk z{P7;x-My_Y-s^%-$cnNLrj@lzgn$DES5y0X_(F|3CRr-U~d@3YPkix_gBg{`?I5|V!OQ#Q` zXf|1VckY|zC769H+UKD!zGlv!4HJ-{Mp^_G&}_YUaOUMlpKZ$z`zuRYs-SULmLp6f z+KG|mERoaQ9KEjTOJ_+)ZS$a=S))vua(@%9jN#kNd0yft*b(Nr>&Wdiydd($Tc|-vTjmd=W!&vHL}BhDzdbgI@MUT3 zI-HHAyd7vh+-HBhLTKr2LMV^Z)U|JlX|QUdE??UmRFd6nf2L)>(4F#kV+5;NykEx> ze{?TsojcnqM8ye}X%HbXA18hdn`UcgEi!K+qBQ-hX5rN|_AMe=sa2U0YM<>*MMr#7 zV&x7wHiT2yicG1Ow)%nZ~5IFbCmJTwfBr4~iu81q00 zyld7s>b#T1-#4w`h}_&TM$_c(W0KQ-9^t1hHUl@qiA3CoXIPLKS(Las8QW4V{+ zWDVtz0u#G)xynKd_4%{>ji;rrL|h3u5~hnNSxx;pp|+p-X5NpH-N>IpO_aPHC_Wx% zU0)T_qXUUatgIVFtJ4v*l=x^R&_AEJ#!LBwqa+7uNYR6Ef%1rrj_*4Jir72yf$bgU zB#HlN1*H8O@!sF)+0OOC*l<~jNqLsKmHM{ ziGqzoL7j|Q3#*B<>BQr^m95X^?GOUgSn`>)Kw$jLQIFNmPGv~3k~&_nfV?^Q`1~Q~fPD~dA@{kt4}gslRC|K`=DuVahpXL#TAEuV7QhRrC@!6t z)e&{Hm$A%;meIVX=+zAQPOx=&fj$pwGs7}OPqv(pA*;=Uv1C&iMrBX>Ls!>3rwoci zfAe5ob=)k<*i!I~LusSC__cDD4ylB_?9u#H$GcjI#N#cDf6fgDRAtWfdLiek70G1h z((ZQt1?A)JTj_^jW?U@iXLh*XX}23-T?*|q&1H0qwJ1E-(+4iz-UeJW1#}-5V!WLo zD9=~%`O+V{)V0AdQ>=gd{5fF}4r}AhO%hdjOg5jqN;dkXjHaD+MWk$M*-{=%Z03ohimPrF&` zj~m}tLvRN?IcEYoQV2sLehFp^iv*7<%-vpO1=B=o$>Jo4RPWM@%t$iH0g0Sd`<9i`*;c8qmS6HM-W4HRyfuog^(;nNk;E`QhvI*0^e7zJQU3 zEK}Vrnt{sG#56MxV#CL3>kE#FB^(idTXa$l5l<7r^T&$s-6JI!eZG1?P4!2BHETQxsRSll(1HV8jCWy}CQR-WtLn=PeSc>^+O|%p-e?N$-;p&%;lGfz&UlCT z%?S_x>zNw=<5|*V57ot5jJn_5b}n$QxL5F>VlIR^2Rd08nKIV+5@FGSbHRLhSGS&5 z?O;5@{V*L(8k5p@*SnOXwGsglxt`zHEUzwlzP`L=XJ&)a+z5FJ6Bc>-i;Zz;ytLJ+ z?3oqO(l-uqRRJk_fXi^*-)3`Bs(K+W<6BhF9BjI_q1zWM+%_Qh6n7pu-Jq}MG9}pU z$&p2TZA}LPib_OM7ZaTfhhk{KHf0?iu(M6DWYVljczNaaq<%oc#%F^Ai%e%I0+wZb zvG_h-p1c?In-4+1&{kVRn=oWmTZBI&#D2&tnbSXg%`4y2D!&-p$|uw9hk`JSTkEi? z&2wpS_Phy>1fZ`o0~*V^Dv~wraWGNvLNWLXU!e|d8#PJQO;PEm&$@kx%q@OQs}5H% z-{-E*-OQoRdk(GB-Qa)*aNED6Nt5d3-vIH0wd=uuM{tRE4v2z#!xn>Pn{gD=^ufBJ zZP7x<;PaJpGei{ya&^h-Ifnu&+QutKHt_GFVNbx>Hzi%R%h7E4)go6rA{oeL_DoUV z9_oq(Z-^NKEo3CzgbfZ01`OdXaih5>S)p>r9r(mDxyrJ4ocCcb!D+Krz{j{4 zSy`*divyiGss~}=PJ~Z*w0+dkaZ$6po7HW4Yi!Gjn zzg(Q-tyUEYWlR1GR34h(A1HLTP_p`y^$oF;1&w`nmB)3~hFabtslopT`X$Tpjxx3p;k?(n(KxgGdD7pUdR8YMxx_c@wzlP}LC z9?}HUTTLq6u{isHEEy>mUYc90gM$<@K5rE4#RO$0GMp+?>6)6*MYTAATRt}eVfEj_ zTf;fzdJd)|vaDP@l!&CIxM?(^wgzgkxuhllhv2IDb!ltKh5s9xiBz||k`hX5 zxeR}+Z6d{%7!0>ZTy_1gUm3|W21hkpa$Z*Q$Q`r(@_uDRYBqz`8+K**AmsdONXB>T zV(Gq%91v>rI{us9IS4`LV%`6m#VUGp4-1?Y){<4v^NFw%Y9H+~IRQ&mGH`Nejmx2JV9RklcY`a*#~so5y_ z2#NBf(gs#`oR{&ca{nnM_|#8|TeOd|rIN~P1C>39#C-E#PP0phZVb?A##2h(mP7ex zyOi|g;Fp&*6Cfc&TIvqDkrp{Bn%GL&cazz}Hr7fS?qGtBm;!Hrivm`HPpfhGL-BPJ zQ!x(MsY3c&@F{*TL6ylfaAR;;HdX&bvJPd_YO@7Spu>te4O7kals`->hy2rM4g>5@ zw#56IfMsVBdA^^8s6ckSycv3NuKD)aqtyuow=0xw%d zZsn=p_EY;6e_`YyUn7uCN2ZOYanzl}(B#rIV8G^6PZGga$Ui|1E{ zlS{_Ojbq^&*N6r+1szGMot)5al!Kyjn9uia=De3si)+ri=dY4d(Up<^Jn{bmS34HGZ zdf-opBz~NO_`Y{JE@IP+OOyJa^Y(bz@US4rI8r=J1>h~%w0^#xSseg4wLigo*hYwS%;6<=T0|AchcagKQUKJfT&o#%?Yz*Dmhx2Hc_}0U~n`CfUu8+ZA z6z4RxW@b*Ng?bwjYkWP=fU8K|?{Ka?xze~~rBP$(*LpL*ka|dZ%OAJ3Z2hPPIwOBD zd?g5QRl=9ELl;!Jgs48A&Sur@rw)5v9c3}>rb;cp5FYWb65KB_Y2VqQA_zWd0fC{? z&;K>xWGMR=;Pf+dCqJus@clGG1a_hebeOKpeQo{Ly74NKB19651@zbZ7L)t?wv#l- zZHs4PQ}$BRUSsgj++_BAFu?5kF3CD%6Noo~vhjbxn_MsgRNMXu zFJ@qluy>O3wIfbav%w_S|3~O^(*ON#KwO!U z6=MA_IT`3Dmv4{*DeB=&*ohoK?Q1t`z-J{T>(6dtBR-9S(LP`Ir>kPzT7g4D&GSr^ z;o;2B{|Q{$Jv;o*;PNf+*cBxO($u1}j@VWxdSSea&JZS0^5@=Z$i_I-eIT+t3ZmAw zHKX`j-A~KLYAHHTh$6#TL>D_*TG@Dip|~SUL6a6xks^^>_m)AT!#JLK2nkE!=Tc!n z$#U z$!fvzX*I+EQ601Mq^$Ef@1mGv(L=XOI`AIr@URT3QWjmR_};?!5mK@}q*81j{ezA3 z@arouSC^qXZLZ0D9uEoG^VP-Rdy2*rq2ZOC6{ij5)b&M#E}am0JGj^@Po#Sd<-^os zvU*JqZUBFokm$`IXj|BucI=0YLcY=EQ?dUipIONxzqQfFMD`iq*=zQG@iKbE4SjFRJwl95y5nV2y> zt!fXBY0e3iE%Lv-!m-dN8En2wn|WDo3q(GOrfdepK!&)2sd|IXf0_UsJo+w-EId<6 z`-;%I-`?`Gww;AJ@-&Qx#H(+xrBO?`{JvSbplR9xCylf#X&bVJip*xaVwtFK2 zsw!iOsSs;A_px*oKcQ@>D}HN&)Z_SH*AhG1g7hE0?!}6o=RONBpC_4)(JatC?ZzcBn_FiEKDw+I0+-tA6`ndAOHwQYS8hJ{8AQ zr9^-R@>*b`^L!rkF)J!3KKWZ{G<8IqXWRGC%R~IV7W|!y(@>=IQ}5~B!`{{rZIGd4 zg^d|qZiZH~ofZ4%Q~U@|PeGUE&7uCwGylJ|0jz_V8$1@&xe~h1hiMmUeC{mifvrcn z(abI+6z7_bPU|!P3`EQKpH7#RL&`&eXuSNw6LX-@!O^EHO2zc6itQWtbvSXTD+^Ex zaZoT9Uj$`ezmE?mgikZ$xC8VmZ@bADpZLQKLog3WWfhCRFPPXo4=-&aqr-C5n(IzG zN=^|-ogn487zjk11mxnel9q-%8=skS6uZ-&1R@9+*-PciQW-SE6cS| zKdwZ&7;IzW)qk<%9dVeUKXepX#FNnL?_BWt!EU$4KCmhCCmtw3iLqR~J}{?QuK{gK ze*vg@2TLl^V1CC$`D84N#4OL$q+W;p(e}I0(+Y=ow_RMBYmv|Ro}6^Dl10W-$=-=2 zj3OtL$?Uh8pI!d9_Me}ve3nGSi5|9W6QA{g8d9>1T-hCb+a~vMPdf%~JL<6JXGCS` zuz?v-d5RVQp-0pChuxCrx^!%1zbjR)AE3IjnCg`2YG1fh$*rgfPNd$i-$k3hQ9~+r zvm|MM3C5rxY!iLOV!#zT#(%?MDH0;G-xilStXuq4=~;h6zii6izTr2;qUOJu!GXWT z3T-V7?z)G1wtn4ze@ezdc0A`z7{Q!8h|TTePN76=JYd)oaF2OU>N;h2<6J1)6j>ex z*=UA@U6^+KF+khn@4(^2v&f*k4hY;?%QRLJ7$2;kYl3+gR$(k*=8J-J8VT2L4^dho zU-yuYnR;u-EPnb*k-YT2=7WAo)Pk)m z`wGeWMcu&WYkJq*O6zZ3)}YA zGY221H*VonN%7b_9mAzS&LDeeTTH5U34RjkTTCujMjqy4y42oR;LDvCrH&drb}6eY zQOUjqAASl6UCyh=SlIMf{rDYNvq>A7`!`1D)+QPx7!SoXbYY7xXXWs1w7go)nFVJN zo(`tY|H=6)I<^hdaOa}$Bbye(5ivIZ^7pNL6u|VbU!hpP#SfexYHKF>v}W#rJn8p6 z_b+b-#vXrg@kesnd*+ep6kS}kPQVIsKu!2FBCfD5m%y=q`0gGDWDWmy?ubv#0K-Cz zuyCDI*G+d2++5x7y5g%hd+bc;j;DtfZf3mw=gX1CB@-Lc!x6XabSw#^oN(PdgQi9M zJ!J+pKGlf``VC}>w24@o|G@~8|JRJrLFNAtBV2as$q!NM-Qu`uYsN7^IVo$jC=XIAHG}Hy1kf!{>>ald- z_A27JEh;~qTDLi}-)2pE8FBmMm17s&?}cF3Z==fhG-!GiOyALFBf3+jVgk7+*px5M z)OUyT6%p}=j9#U;{qYw!*AjA7xiEin@KIs2r&YFcR~3L&rac@Z@FWobD7x@L81o(_ z2143GA-$0HP1hueEwJ6gMLvgL8Q=O*uO-yMR{kK5S5h$WB%OE;?9%W>3%D3B+4~vNl7u5$!!T1QU-e!7((xa1SR?$_+b@>{$ zZz=y{|9pa5r+I4jKbWAG-M=$ITu_QGGJfv1X9`V%d$YgqRM^P$B#;Oe&vwAZB?_sv zqiy#>@|TY^h504N=fF5bX$x={%3gi|vLOKnsD|$#ywr>B3UtphbT|o`r|F{Ynsr~B z0}7H*%iP&mRa% z$MaQHP@?ZjuEP^GnB+z<$gqo!Vv=#S>`G~AjBawc9%Kq)PiBs?T7 zRoz|xU3oe0JEnL^xGYvYV>cx^Nq3q|MuyMKb(}mgIcSoMwDQcc*ByUGhR3wuOpedY zOYT$G@rHTyL3#(W(*TG%1ogJaaGBJ!pTGa`r|(-Gpgq$a3j%~Uh3;!Cs4P`Q(|iDT z8RjdBiHh`@KEj)jNEQj7RG&!U{SV=DJSoxa2VEIXNV>3o1I$~ZjsqR6i7;eHw8+(wSivTN+KDye z?6W>xn}C9XdGlvtlj@R-H+QNb;NtISA&>XzimbT-?zWqEua!Rw71U_hRz(;)e66Nx zT|`Ah&Cgo)1-6e&YEEEO;w~(U+iN;ROXM&!%@a_Umq5oJJFM4#Q|4`|`VnqT6fH{$ zNsP}^j6VfRKbWJ_b5h7nk$@&;T{Y%>hnh4BrY`WMt}c>%nBYxbKTXRyv`l2EB(9O1 zyjQMmSd=`E3Tg*Bg!KjT>ov6xW|>8>=au)UhKYA^C*Uy>B5DXBRRo?$7sClHrSoM5 z0qO2jg&=wHAf)afqbhi2Ls9sA^dJjrzbY`HHQ1}su)tgM@Me1d89{r1%#w@AQ>z?QJhA=hUakkb?5`NWvF~!) zz2B!zekcltjno|4n6yyVWRnRjV3L^HTs=W_y4Qf@JUk_E^$CTI6raKt{_^;d>iG6j z!(=)~{54y5=b`n4y+^XYliAUNTqRd$rCJ65p%AC((&QWbhK(Q@-{nThSM|rs{RbqIW<4oCvmNpl~!d#v`7F%)2+Wq+3ski9{Y};GMBo`clqd69ZQBXka9369?2R zBD%`U2sq%ZxL|nAP@0;PlrN-^mePCs9?Ls#X!7Q1M5{nH9ES&gJ!NXPLO=bcm1oda zK>n^?oi&Mdl);tLk9{-wu7;r9(igw<{nGZcV8_CjWpvGF6m5}(dURZ95hSxFwREY_ zINM1kob5vc*S-7Xt>@sLD02F})^V>IyhH(?g+xPDPN*q0CL&i;1O2zx5F-;k3*~>- z0_bVQ9!BTa2n1biR@#GexYFLUmM&elDA7By(4zmfE15Y&3iNq0cSkpvYD11GKR>GX zy!*J={+&U9*ZTYP{CYLv#Ik)+$KdZ%@ZC0?&Sbz4QZEREIM3nnTI}v$Dc+PkfuY@H ze_^OQ_qN;38zs>Xj%qPT(}kA(Sx_6QweC;MoZ(i9?I)qc?bldVve4OfkNMg!Ggn_B z%)_%R>D7SRQ6;f+Wa*QbBz_+K)dSxq+~syfMX`&S#xIj?%*e=Ea{BKB$CUvrmhVK= zt9N7)y8h%}S&QhD%VU;&_irVL;}F!KpB$P_a{e{!`;{_u=^Wzm1Y~PiyK3iWV-r#n zcN+*Jh^B8JyKF);Gh!3S*mKQ2ScH*2-qcrB8`NR*ECK%TY8{B$r{8-bihU&=7cQ8f ztH0a9p5WLT{thOy$QrAfr0SLYnQ=ShLr;q{@mpn6CVeAeEAm^v!r0uU@7I+xVm2Mi zxy5aZ@2@}-vQr%M_|H>GMRww`p-X=KSmZL@$yDnAaVr=^eGu5lULk*u0kudb|IbA+ zT__5QhbIt8cg`0J98o%Vyv5d^D$2^HLaZVZ{v;`XaByNiLCZ*8kHv5Mj_GRv?eCz- zJQJSo=J-ciN34ZK1PsKPTWaRBKI8D_LMa0+7FWAUGuJ!xi*}k_71zHGdbygizw9>{ zh397FVgJ%y)6Nkrni!1KzY&)e`|bKiDxHKpvKEAdnX2>^R6TFpaPh{*iPLP0&tDUg zZKBytY^#QtZ3@A_oyh#1`pNS$J6tL?OiG2~C8H5rC#@$tT$-m%4rqL2*a^6Dj@`nE zy1T#^-M^szoCA-JqcnP79OTay+l70o|7y-@o4I?VHAl<**0!id+66*f@n^sfJ=Zpqgp%4A^s^Z@O$^zVPhn^^rDADB(rZdB9t+a}?6A<|-8405i z2asE@k}x#ej1-6KCFO!aAs%Pq{cSApXME`sN0^Bp0B`54d020?9-h!3G(KaR&xon> z01}@a_0sr6b72dFp{?9DY7A6?Rk>Y)@CWiPJf5*)%tb@80z7PsifU@QU{~F~pd)8lnaI4c8?RZXE-(8$uwFKX`&&KND60X; zV4;Xce}+u4{hYLd8Ft~l0oRi{94X5ld0#vz*JnPv&({PD2fYb$_ARl>KcQh%h-(DN za>oC{gWn$GzeAV7?T&fD16%nifF}5b&tKri2=^JwD&dB>Ei-#q#%XU#nuJYI>AioSiXHe3f~~Rs-Ltg( zFM^EagM^;7J7bwn4Dc!t_usG^z@Dv6w@{PaiwlP0%8nQq8?;-gqbD>wK-n06gfmn? zmacG<`gH-yU=H69ab@zLMIJL_@cBFd-Db0!CyUF0rAq;QopJT1jTW+hHXaJmG*va;*ls8tE{yO{IP1%I4^>}BV^yV2Qy+MhrQ-5VuGe_#GtK2FY!B{N zzVH55-tU4(2CKIlG16lH{5w4?eT6=|^qjAwf8j+@Q`{QyhGI(Sy|0$Ox{W{Li*tdn z`@Xp!|BclX5rDS5_Dac=Z&xuhB%oAXb04X*i_r;v7!)eCR*9shc}&(uLs&0yvHIHS zcJ;hL8dNy-yaH-esK7O9C4A64(dc*QyNw6Cct5pw2ja*w`2mrkE4LpEo(Th7hC`21 zT$=hsrQhGZbNncJE5xJ=C zdppN2{$apHFFdtM##`h!U~(PsKI1NvkwE_Myno#>_ZCXe}5T zpoV;ii2p!2#x+R9G_g#2DpZdr7%Nt-lj9^p-_CjGJmvxOn>zhf;c$({N84#I=t_Gi zHTU}4`08h0TJeS>-K7GiH-ATbtB>ylNfDiC?S)}VZ%J9>*$0AWb5^Jel2G;Z@fqHL zvLB@5NSG3-!KS#x%=z;NAig7~`Hgx)Xk%#70?MTEaW|F%4%+{atp$H{;1W&zM_f>J zHcN`}kb~pm0TT6nVSy&!_IMQ>R3c#4q(`?g?jRa9`p+Xg4(?9~VQv~4+B&Mj3RJdR z&7(;~5s97eO=(YQrL~#-qRY+xPxd{-S+LROme8NsXLoTOHIV`UVXcdXv^q^-T4qO=s*$<($Jc+R?kE zX>UK4N3_ZRXOv*ezT0~D@CG(0rNwtT37Kh^AkXIRh_Glpbvo`b3a+D9Nxq2)z~qN8 z;317xjBSH3kPRvx6r_Mshd<}D4aM*ML~;0OidarB&R1LXbO+u5&oy2EKN)tmiYZjg zPzzIb-whlbCgHHE{=7kr4pgDC@^nOPH zhIFMXt`Y6?g|?C%&iNugSzur2mRwHg@uXU~W9@8Ll*d;hKFfo^GVaGrjzF5ZR;oAd zC}+AjqtmVx{+J_{Jw@XwGG!vCkoVk!JJjBC4jvorcX6!>9;z_Hs@`4)5FmAX=xem| zAsQ3KE8D=qd5~Pi;e)e1C$T8E!6fvIEQ$fUtk-jN2df+Hb3$w)p0; zr{&xJYT@jJEBf+*%F!Z z-H>f=#75XQwb55gwBzg&o8NwN&vnLEoT(>e!>IblY(dhWnUe?>FMiF~p?auss?P{j zhe`bYXib60_qMvmAd#V4W4%kqu##!SgS1eQjs=%Yp+F~y4N5H|KB$F`h@J z49Zd57TdR{Hh1hYO=0VpCgA4%&^cBkxe+Q^=m?vmH zxxs5bYWA zIBCnr1Eu|{2b7CLXY%JJ*^L_h52Cf{Ob?*ShVIZ7NqiB zHgTopX1nXR>9=bp*>XO+EBS+{3@zv9%+(FY1#U<{1R4EoFf|h;(+l<6QjNvtp2mS! z1+Mroui(2Bc9G;GRe=k6!EWDkh8}tum9x>qvhVZ8o2`}XuPUpP7l$8y-H*KmpTJwb zW#t9R(bi;aWK6!>hZW7cXQ)2!tdq};R`83g(-}zU-`IoShK=iS+Sp>10S{8-y{{N0 z{}+3285?=f{Q22lGp(8JF*7qW+iPZKW_!)d%*<@BnVFfHnVFd#KNp>pyfqP&dM zFM3+jBTaWt&#yjJ^(~gaLZd23rdl!k&yHc4?2y~32+U)4ML79(ufv5MjYwk1Y=$bF zGDHq7a0sDZ-$eH%j??{YV_)3wbc}4VZ`bsKArFJyhFsM80%oM>R};jNOLY4O8e2uNl?u zasO}9IoOCL5+n(xydj-wOFmwikZGUc#b+yS!+@C-L5;Ij+xWK@y6&UcrI4>_nti_J zqr1Bq?3bGpFs8z!OflM)$AEZUd`bFFvgh9EtcfON357rjVss4AF@vpCpU7BCo8vq9 zy47wu`GR7H@jsX19@k)BWFjlJ;2bFN%((JBPd>c8PfJfigmIZcl26kfsU>5g`VsH~ ze>m6oqlqg+{C$`&+zuJgCblU7mJis1&!2ouKp&NI z7hN}QpJ<(NU7WDA1~2iSr6X)bpl@vYg%ozcJy*bW=psgd;#cPk(If&^c^L{lNMi*?10Q3)>zJ2JwJqR~eq( z#nJtZolrtUD9bFn8t$V?y5WL7U!pC%{FJAr6?9No9N+Sn$THb;(xp6s+`8D1CGlQ; z8wLXI8Q0M6iAR-RCAVTD{4!z>?Ot+DOAX_5DyG9V3oxc`?G%4BsW-ImVXk1A|5xwn zdAzlGxtV+A>bIxrYGR*8nP))X;`i=pdvb0*64xiNNt8vj0}0Y7UEH>nurw4-pV#(B zNLr^=2^Wke`z%ji*wt)~{IW{{_Y-ZGJ#&BW80+m)B!_32A329W+bpcHBr!TQr#heK zplVwq9)Sso^M&wR!>Imno8cd1{cgQ6_$vKV0U+d0BpcJE(t0VCFyXuNAyE9grn^(* zd$n?4@)unvxO&!Vxy`7cr_?T_Y=`aK2 zUfi~MpFP)L7t5jkR!8;*&Js+Rk0Qfd8=h#6B4=Ug!4`6O9zn2O(LWTnsMo}QM2=_L zV{TvC|MJNT((S+UB+MXpAB@A@Jtv71$5Rrhw1gPbUEX#S&HdyJZaAsKV)<`8=G5E- z5uYXLYCv|HOdTGnr_8Vs!~@kQ;2^PyFpOdq*e967bDJoKntCZ-4Y3+{<@Z*B`VXG)DO zD+5};k!2w#6MM2UQs|rC)6!nAc<3BILzmfAm{4}Cy{4C6`K}=svdGS=P;Mh~?~r7T z@cEGEby89esW4PwiwyGVAlZt+G-n7o_pwmJ_0h>GI8sw^dYw8%U&B!i%}}nk@-XbX zFuq9TU=#Bl77A8VRkHcVOHsRTZ-oHcz^dPR!l{`0C*&ka!{1vM$ba#WEhM|mOsxlPL zo!U)7tKUA)VM{fSV7nUtm5O2`yY>8yLF0L^~{zx)X}{yxo2^)d&fmS-R1$& z9Ta%#wXRUV0k`#O$T64=yi3AIs%niZufmYI#DBG0=YdgXu#<9yjYLL6^j%lg^RM#>*<<6#!MP z;1@jM1Y2m$leV~>^}!{H1hY%H*e6DdHaLjf0zKy=v=CRKvSIpw#L*Bg&0g4Y!^$fg z)5T*{2PYROs-NNPH73`wN9Ny)^k@u>AR9$~$c0IBvn}TZ(_Dkd>wxx7zQuc^d_}Iz z=M}{1>z>S`Q`|;;t>xi@oH(+71cDzk5bt@_Qg@ zwaB<&Ol?l&(8ql2xR3@qUFXkGmx7ng!>Tzq5a{86u6-K)*!o?_T5W5uU4CVQX*SdwyyDS_C|g z>`>0`Quj2p7P^foD@8u3EG$AWkWri%?*9}`4v@valGsh%8WsEpZ-IiUzm^>BoD0da ztd1IowFq|{h##m+ezp6R+V${)iXK#+0EIx_{@d`A8@WhODDYkXA#&hS^W2JcPA5{j zhowiwxSI}YybK4W1gb#QLn}cLQ6G`LKzUdcPa!41j8Wng5#0Xt|!leigEZ=JRIGSuc+9)Gz_R%*`GqdeX_1+1iEo|`c z|IM$I6vD+0v{9j7gTPOWr`$DR%0gpLvPm>R51$WG(C|x7)O;SYi0nLz@Nk6`1eUC? z>2SoEOpqxe<-+#{owA|K7XxkMK~^-zclRetJf`jA_5mDG153h(f74S!d~7(Jpz%W) z4OFHe<{jKELX=Zj$uCyVne2hOufihfrcF1Sml$q~K51-unDQxpZDrLe?y0$w&$jnw zk>j71oK*@iSA2P|Seqyn`4e#|Fo-(mTdKkpA|!|tH{QsEt|FgoRZ>1nz-5hfME-kB zr{Jv}7%Y{`-QVg=!wphpq7^1OYjdN{_T+nKvoaYTqOp2=^Kd3^xn|oVu^$W} zN_}fTZ}~`{B^Fkb|Fwtl_Fi)8BLVpGJT^<>EZ zDoe8tMF0!G2(?Jcii=3z|5ss`e?=4cwOfgYs<{4V?`%}SZqF;Z$~?MgBuap&NfUxu zeri@btWm|{tnk|@maqWbev?a&aQ58X#Un*x!utV@H0oMH$rrQehyxvU<@4Zc6)CKc zRtJh5}2laFCeCKOy+=ke>KfMRX1%sG}^hr*UViuP2ie>DfLqcem%Q2gpa2? zARbNG(7$dU`{iI4&ht*y$6#1%(E9t0C;{0@jZ5}e_P1wmF`sRTxKI4Z{=f5jZp%oIWu1n)#2!ST=zH zYDh#GyP;)1qRS@>>;nsX*NNj(gEXNT9LmKPD~fz{LBmxeiKG+-GPHM>v-D09g5rMl z{_AzNQ7KCr+;wNq`g;5bm9u{C+|!wutCI;A^Pm6N9SZ2xfvLN8ayF3s0(@`4&pKT@ z6Ux4ekho$tf62^Zo1a*&F5mIuJ|P(NPJqC*xPxcWT}W1trgFu;rz(^c-Mn0=E~yJs zV(&iRxf$33Z7i>ew+ay%3i&P@E{V@gosG)e+XPtDHN2^sbeCUM>4Qb{G=cPUZKQ>) zWzbQ;JT0B8O#(YPEp^50q3MHm@X*yr`T}A84ti6c!^lN!>O~dawPrWQzwn3vBnRHq z7zt@HIu#K_o9!NKyde`%y(~bkJ~in}LWkB>+hld^)G5?-Wkf4wC7^yuf~`Exw^f=f zz#}+2o|BzxzB?RNT%}UF)INMiH}!4l``^Vo1RC@&%LZr&Q4KDmw-efN{QTmc(ogKq zuQ8CcMxGsQcJgE$Ei)aXvI{cy+JB6+#{Er%N&C?LVIK4S+RjshaS|$;`-$!cq>4P} z$TL=1`Eqy@_K}sY5@NK?u<} z0|$

    MOrpFHk;?%sCdOCB2Q?f464hiFT+GM!p!0X!$hNRfoc|?)VcrZlFdf4^27s zLFMF^10@16HYQh=vM&;B5U2#0kDMi{Su7#(8rJSVfTuLJN+1HZ;d6EM!?QU;_>*A|7Jm*Uv!Uh^pfh2aL z)@*aVpt%X{j&#bJVo>1;3KR_ZN{gYLU*0x+4}5d&lRH&VP3~_TV4CY{YvAr0Hr=c% z+@j$usim~I_8wz2)8eG%2TsQexo=H7uMkP8Va<#`J{43CH=nR)H|9n}p8Q!M9*MVh znf$B}GOREi?b43k$kRZ7hBhJP2RJ_m@@C4npDc6*Qha`3M|^i5uC*mbNSI-cPHp8Y z4ePZbc@8oRV@1wlp+WK>o0`?x{mbkCEV*J2Q`$- zt1`2`)hcaQ_I;Zyen_y2m!0(^AFUK}LcZy!8H2FP+}^LZJ!|k)sxJL&#b2jfjbwk55kUkdXIGnZDDV4l-nXYqP)Qr*49r)2^p=JJ&lD*pGm?8{d*QR>5v zW(QKEzn8j9pm%&!HJ!fhIO(J$al8tD1bqm%{gEcL_pj=MV5x#x`VpObL|rS|3T%p5 z81{!j1y(#4eK^P-z8Q2tM7WNM@Y8Ik)$51hmX9OHyMk1CVEnva!9$v~CY5q^rxdD-o@y?eOUJqn4$LYht*sscDboo)r4u&QXK zL8#q-Y`ea%@RP>C3W*#K%r(E7bi>Sqra4e0yf2~CaP1Sve=KrUY-k!bY|OkhExcAM zqc3+EcYGTw+()hv8QAHds-W6S^7}vM zkH16Emnd*J6hqck6j*G2^=Iuhlk<<1x%FKDpX^;xT>iye|Ey=EK<$dnuEpA?w8X0!=%sY8m z03xA&LtO2d;f0sIflt2qP86bLeL7V1meDVLFzf{8 zzP1OGo4`2O3-qA$x}YN2&!Fz^x{NntgZ?qLI+wbu5J7*==fdw723Xv=FkgRbPp9Jm z&poW^hgyANpP$HBh_kp|P=3w;o|eV<_u zt}kiZ`)Rdy_?w}cay7f$Lp&+XdA8$cAH%x_k;(5JJ&A|{@K;B9I-mUYHv}xRArtWa ze~MaiQ(*;Q7wl@HVV-Zdwh)8<49w6j%lMHm{E>2wi}wsn2{&$M7#7wnE94&kooJE< z^Q*U_uA?9C{=1Jy<0pB@H`n5|M&N;X$QRq5YPePX_i|w~G@php+SaXR6Yz3nH67laJH|$?^$E!CvV@|ftepqwEtMXTKQ{+NhDvCF zu~7R)xWDDt1DB~F6Ci#C3ct+LuqMc=pefu)K@PW!uXJ!HqJP~7BO}xJD2;>S zu1XE~s>I2WSSaR2tv;-o>VONG4{+I#U4oZF@J>dwU%Y%|`hg&&S@2ojA zZ*d7li(ctLC)h`~PnroB-_`GGtseqQDtu5|C4gpL9~%2H`!Cy}#t#oK29O)CXW%Uz zdkDqvzid=0d{Z&e_qvLs)iM7Qep~pK)P*Kko#xo;wnXyqCzQD7qLBO%vOU>n3WAQ- zME5FfTj7I~Y4?jO&3+KSZ6IjJkez&N^yr`~XQj&w*p~JdXP7Zj44&FZ^dJqc#CT)- zwd&zITh#`hmm?`7o6C8u89ar~{O`u_yxY6$rOQ2s64LO6J}a|G|FkMtIz69x(_Eu2 zxfkae)blbuR6w``n~2+CA>O3vygk`*vKyuKo2cU>0v9XTMvzFw2W0|L5r`5Xcrw&b zd?byi`z_%Sl`z<8r_CEp2^PLm(!fU!TlDFMWPp-WRI!vMj7dtu!RKnl_~V-u8=MR9(eSbX z1zQhFc)clm@FPyandmCae{eA^;`4uS@wCew6T{_Sw^Pr`kO{gKf3#W5<@(D{W-M2+6dBFUV5n)x5Dk3 zX6se&w@4k6HETysI`bgo;bjmvD-Zbizo%(QwG`mU>$#lS`QW>i!jKoz#rf1!F8h7c zh!!6u{wQ#UQ2K5BzBLzu-p07*6yn{-#Kz^r49urDQJpMY|L~sLljq2+d#|iakWn{L z`5UO31O!U~us|IFcV}ebREwhT12xg+dG<{n%a?Q(&tDY{3^*UI8*b4Z@IgC);#H++ z`d~p7FPsqtMSr4ZC<33t3^X)z6xnp;jPMIe)MmQG^)<6VN5I$0O^}8L8S@e_D~DXX z0<4{&nh>{VQ<9|SIWA767jyNBWvr#F{-TUp70u_G`PXHdRWg?A$(vxab~}+CCc9R5*9{q|7qWP6?7M3!_Q{hE|Va-4%36WH@|GEv-F>GL%^$ z!eB{1(%Q43ou$7C%BE(c)<>(=1>`5H;6m(lw{o(D_GXhWtv_bu*;j7&a$e8Luu69$ zJzr$CusUO6zHbQL%c~`bLOO$3ep?j`=WPEx_P*;)ZuOu2R*k16JYlmYWb0({_sg<1 zzS`%qbJgtn2cwwN5kg_W$JK1Dx2(F#-ax-Mtknls?KLoC(`-N9pJDFcNDkbAWLVQlxcFh~8{{A#KW%4|hK2#eqOb?$CBQaz&t$(|I4^b6J`b84zo}K?vJyXJU zeS?~6{T?1TmKSq(wi*1XMBnz05%tHr#}3pc%^?cnwW;FS3qefyhICeg)h?|Lv(%kk zv6;wx#turXf=ajaAI!`1)U04Hu7|U2r7YmkuuK542)!*bCd{BDqiz-3+LB$GBn@8V z1#ho==m5%L;>Z(A@xA> zNAWqIk^yr6GyKl^{}#Wy+Z1+Ur1@It6iG|sOSUSnU5j>CgFIeLkwppAEFV|ejH5Sf=M#cyt+c3s6(Jvsp zO?8Fkt(ow8xnR4Enk$9+2|I=MMxqPCl94U@OiBP%{@QK+jFVa~s=uEvGW}Dm%B9u+ z%jYbB#}X_i+S@nDTv<#xM|aB5Qs?;21MhGx#`NZjV6*(r9&lK1Iefde#XM#q+9iG8 z`ZZ4HW_Puz^)wViEg7d@d(^{4Q2f{EZZhCjxo1SPw_~;Xrqi@`b~kJI7P~H3Y)B0f zhc8H9U|dZFUk(K1=6)l$s!kBv0h+=YMJ_XAsJ8N4&3y=XY*b2`@VDIKhazqQ`8d&| zxIt$*DYk0YfuKlBW+5Kkk$7-9MM6BeO46BL%+(wP)$%{PQ>DcAkx7S|Z=7uwu|Niz zUYQydlD=fGq|sZ>R)GJV0ofrC8e0@pv65?`KBgV95Q3){sJ+Qe*i%84ieUVfxJSRF zpg%4QKBc7EyEd&D55Z=p71>hLZDfSXO&DBmXJcvrEr3%vLk=h}rT#Sowh0|N7bT>U zC}F=**FkrUo>Oc$TB#HX&)n>FQrQk}mx!N>7D1LcR})pZnI4t~W)iN&v4%Tt5R*WC zF|3Ia?ynU>n|iMqz*kPPEHGozNn=N;O+H+kTn1gz9Lz$&W;3{h;i-)7YL@^KjC`{1 zZpxlnwn6@nGyex<=BAQx45X6>Y4I5U1E?(dw05A|7w?2RNFol(x4shmOY7k?I(ZYQ zNf&oYl_aIq*Bv~B%%2Fel}}H((%g!HDDx5AkNqOeP=zWoYI~G#>c4WdDF1=}D5dPz zMBYiP$Ye9)Cb2JLo?U;qHuW%8E#0oOKBZqhT!v)A40rQ{ujlNAfhG8qV**+JOJ9K{ z+K;2=3AD|n9P6t*Pcbcpp;3ovkSw_c0~Ok7qn)k3;KpJo$V^z9EoLy`+Vnek@?xbW z=#Q??bo4-RP(vr(HooyI$X9}mn1Ea>U9DR(ffQDt9s5e-WKVI~OYqBFYrt<@cQJ(J z-l;p1Q=D7ISLJDneIsLpEHC^TDK3-d-(*yqy`v9|GQ>&o8lF$!14~2EllMO68Vvs? z(|xH%r0wN+D2T^!GDnaHM99fam;_jJ8{(d1sH_9Z-L(hFeE&IuoblA!{l17eirpr3_urBs$RrU6y({#C-lZ zTzQ_e$q|w9TO}2C`DZl2?;Bkmr3sY5qU!G6tbomnk9D32O=UG(9|EAy7iVv7cb5I6 zzg8TDLM3OvH7%w@{tvzi@CwdTKHS2Q6A`Uv_*C%+&dH%IW2AaOXOP6c2NJ5D=)c#D zaOex~ADQdPAl1vtGk~wH5RwE6!1F@cna~t-dMdL2V@ylbsi6Q&c>X86{l{6+dr{)B z@-)Hoar%mz=;}t}q1!bzYHZ8oljbs<#0)2|GL)^@O37h$jy3rQ{aye5+0>N|5N-YM z#zt6GXX1HVV@5P+hCoiFF*VEzAZ+xG4-Rji(8d#0?VOmyLN-ee8eWEwI+IKwmY|-q zszt;nU~C*!7bqaoh#Vf?I)(ds{}euBabTYPOXOc2TX~5}LKt+`7}j%Ox!~|*wWn@I zZc~eg+Z4YFcya$^i+&cuPANyCqtIX4jC=xW=v+PN6WK#l0cH8p`n<)H6G_He>YDwI zS|0aQa8_*59P&tBc{>r3wPlZ*3Tkc|AZ){HLz`T?IRvzx{46vI_+v~$75kPl!b&)b zD?xz>y$h=AyMsu6_^I|RzAjJSa3)x%F-a-}wcAHFf;yGkXW;Tu9afXm^N2r)7(Xcz znuUAN&OX@TE+Bl z9*MX)>v7XbgVY>%l|3xkaT2jXLdpc9-cGSGA(`M`sRM;fJ{~rXud#saZU*D0? z2#kgyF~ah3T0jHmsZ=QKSj#xCj%sziu;=*Nam~iD<`;Z~#xxnsOAo+C>gkO^d5`>C zcW86GS8wZ`6iI0$7_ut59zlSon<6P!r^N*W0HPEf6~cojk+TFbTFwFueYSL3q7)Si zMD>BCx~GVqsoQ4NX%Uv@pTd><%j_smmy8y@Hwj_Ee!@Z8z!1RChL{(QtdRbjAI9hZ zJ3kCnNd-y;9a+H=Haue)ElRt$M)P9i8gQS@*I-ypgs#pA6H`COTiUJuYil0(SB;OZRk#^|z_Hv?5rTCud0 zdM;A;jW@1fQ1rXcOl;Sa`3Nb?cl`W^*!}z3Rwz<7jaWhZ5|XOR2S;GF05b8 z2BbT)xB%Tb?RecWt*Xw6vVwfq=?$Bq3d)d!t3^036d}sv z2`_p9ztD3_(bj?&zok-&QexB9d)|1GPJAh-1MR&k9^cNRR1xjFUR1j8?tirN$t*4$ z{dOR=DwCnn>+0+A)2gZ2( z1X?_V!aWqGExwM{ce7^Vjc_OzPP7;fW$`f8RS!?UG&d6Z#Xy}z4u)#_h1%9L9hm>i z*qD5AjE510sPHY-BofcBJJVc(#y>*WJI2)3raunddwNs$!!>y_^{;~WN0_Hj!G0)k zX02h=o@@@{COxLe#kxajl5n67NQ>5pZv{=TP!5w-zt|&!k}K zjsj4k8XlqGA*ISWBpJ!@vGd5{$PTSLZ4hecVsFJ(=P?}>9Q#}kl|RMDsuVo7yppZx*fgCuEs|oKaDd$0rxL0D%_AmdsZkVRU9i zZmzVL8ufsPlI=BqS@OReRDq={tEa!wd9uEe>tEKV8Hr=j{$U*7KtLwrnS}F>Jry9#aJe~;sZjcFz6?O)$19o zB$=N!gNV^jPSQp7N~7SjK+LZvjCWIHv_!!q$TlCYECgpSV6zbXUPk@6m_zfjym{qy zp)f}`+*Ie~9Ub+)bYJxp2d6y?fL|c?@h}yVnv2$CuAz?5BRwQNl?MjNg*3DLG$U_{;^KDU4$&EokQ0O7@pPLJ; zX##5OGUwNo7yq$Z@0VsGN7hl`&gU5<3bL(SoZLE33&4@jch<8>GFVggvG71j`?Xx1 zhP<%C(ey)+G7(Z@c*%jfyCF59E6Qz%m_cZ_glP2O1X|jFc&7Z8pKSsE`bb~DclcyR zQzYKkQ6HKAxnsDm;lFMcmK=Ez`&->8wuyE6{}kAoEZv}XwA6wEuRv_{RX}-%CPb(; zEk*DQSP+GeOgj=as2OmX)pYZko5ptTVL$P*#C9KX&5_CIPfE@3ed2X3oj$Wfr>(Fg5~1+{1M!6BF~*Yu{T1oqAhJ?&eL>_ItJ zY5Urm^#z}?t~tk7+v*eBv=#aW)6vF<#?t9w7uY>OcevZ>{+bn)J{)VD| z*_X?4!H1ksD9aEYe{Ft@l_F{-;~0bWi0#)-6un%+7=x%&FGt3dN``u_U8ZrCHL09jA!Dd0+Cn% zvGU_GCv<aK^ zXHkFLn?}C9XxO}M8*tL74?__}6R1Y#cTz+d`?y6_PS%!+CDs@oI**b5K0bQZ9eUaZ zNYMQa$R3@NU5Y)Kbr+p0>3F&R*YP-l@>NR^&LGtkuisE~-5~K0QFU+wGhK6{$AeTV zaM=EO`n}$MeL`N=?6<$2wz~O{Er%rT%Zvos>0&-70tQMkhe-7ljryqUoxj2_PzVLB z0D6jBC`9fDDGH{7biX|&CA)D>3P*7r}cSx8xr%8@weAI zgkzh{fiQCm^SNlX4Rnc%$j(Op&(iYWy=||4*^s?;v4*VTVMDbRi?L`MZ$Fnq{WC*+ z`Bk-di2r7{6zQFK-#>JBP>R=Jbrw_}0M9~}RXDC6c(K)grK~AVX%?`svPu0lkVKoM ziLj%Ijm}19#R5KO*vHXs$P>}6Hqsm46`xvNd$oFO_jY3b<^oq}L&N2S)w;6n78FCb z;ZqiNvwy3`Qj;eGhx@dIRpEqGM&L7hJ&vx(;mjKG(EdVMWMb-Y5i0o0h3dz*UE8Ek z6RYG<|De^LK2>W-p+(z&(W{P*%#NZb#P%B#=C^7a%Y>2j$>xS?dAt*0`lbxa$=V9I zX_lnBCwMOeGQ0eq#gp;IRt1@n6fsnn4D-*;7F~{p4FeTvQa5)W8Zk=vVF11g)}E@U zsMf7hr08MlX=yfl@~8#%M^Ci_m*`Dx%iDEy3LYDZo&*Wo%csnMQe<)s;}eFlxzsFi z{CRK5gXwN5!OZg2&~*f?z6g_o5$`gco_U$faWJxj0Arlm7B*{>esRW+_xGz7_1Yf} z3|$y%9irs)K<6wlQa*?Y78?0Wr_wr13Kkd+X86e=Dz@Ux(wV0rYGyuwpv`_*ZI1oeDvTp^+Zg&zfDv4E(4wPBelF^z5J85F#4(Jl~VhdB+K~trzY&jbE@$Ngrv^yq^FPs1O3Oh$`62CKa?s)<*2@cKgbDEqD=>a*3tp{La zh@krmP1zZ@8%PaF%mL8q-Hh*y!MUv4qy~$Kv=$ND`?hs#X}ndxUBE-10u|BWrRh+y zcA)O}FVc|M>0t(52g-z!hrIrkTeSp{zSd6av|FD0lt4KL9kr%?Y?<$YhThc zqbNei0SJ&wE)>D|%fYiUUoU}XQN$}VeW65^%E|2A6G4iE2}>gc*43K{X235M+P=k! zK$Pc>XuP-}|7YS+Z#JViLf}|Za}FjiT$=o%J>>U)n>HAV#UOwHDu573Nf=BD_TRc? zq2dESBR}oG?2Y)aBF@8ognOmwgPLX;9zKZvei9t^ms5!X8GWrqUv+ekXWBTOT8CMT zjeM^kXU{|xy?OLGZFlWVXpzuCC@awXVkF`6ahJ`Qh!tDg(VYg%B1j6PQibH}h{-Bn zuD2EgP20m8cZlmGtJ_(@W}fx;e)o9rFybJoGP>6-sU5s=z=nlG;TKtR2QBBDhsIN) z=iP+!s$ciAm5XD=9kQ6@Q5#e*1<~--{fr6%F!ztShOb%&*Y5N^vQ#@cW%-1v_gmZ6 zBPE1|rU_xbeVw*zI;s7eUb)0}WiX?vZtd=AVx*2xejH{?Xxk?<;cmym#GEFeV=9(1 z#!*EG^w!hHf&RRyF2p7SBm!+md^V+SjL=PfresIH)XB0>cu0RXJKFbT_}>H z<7B1Q=m-6q{x{vjCyq`1Ov6tEHc5lLh^7&yBQ~9Mqmf+Hh&%_$70t)E8ne+uv!dNL zXH2&zDbqst2{`H0Cu7#L4@Fn`0i!RS?BgKH7rM_SY7WHDIq3Emo=Epy@-`#sK^Utx z)G^s=&DbVM@nj6p$nvk5+1`+6yP)N<~9f{x-{>*-U)$}Ls5 z!r}4#>ur12Hz2d%!W?U7z%{=0&X)|3ZZ#hC7+p%)qT}hG>8-rIcNm(>6wwgmRuz(Q zaC)8oXyNonN?}dFg-pNWpyT$*cmXyd!-`6uXu0h)N0fuXrici?-^s?N`J-=mGXXK-O85KVX`Gxs7IEc-l%>L!W6onfs|HyDIJz_d1_bXFA z;?cKsWSA(zC30nnu-a7MDH$i^s3Ff^07bpw^*DgM(UZZ+zSpXfP=q8`+Y5NINN_lX zn!fqDXJr7aJ_XK%3r^gmumR_w#+5mPP~IToVOVX=;7l1H1Vg5zN>jEPm>3s=k`?Sg zj&yl@(Y~&;q<UVXm$${Sf>s&eW-_3Aun3&4te!y0nVE4s% z%BVh@&&2w4q^O}frsfGW!Rjv8g?TaeW(bvG7;4AI5ME5s2Ek5HRC`fv&k6b5Vj zFt|&h1QDIZlJk(ppJR;^24~vT{tuB7agQBZc>kMix!BM&2CRuvU*h&Xqg#4t=i0#wiR@X z8eIEE`+>%60C2F^geIxYm6)zo`0;Pss8Z<@4$j1wthnau8S0_2mqMvsdYbXBGC3~Uzfo!DK zyI!bDrkc{$)(k9lV$bUI>4oRNSM@xLS={+1X{L)b%;dGL88YH+{#1;$cUlG6drCdf zR6;*ekCis!Ff2L@Ec8J|R8Qp+qcdNyoag(@0uui84xu@xf-@7*F-DY8>o2gR{oFB2 z#|vC^^;hAj$m8|(Loot|n)%}#6X}O8w?!h8dn*-euFo!DMr@qjkCeZcq4ZZ_B5X-r zjzDEf(0CP9nBDi$k2>a2B3=|P)H=d28qp>Jr~RcIS!Rb^*%H?PqVoLVV?ARkEoXz zwefW0^Od??&|3B8_CgBwcXm6Yr}YZ%Q_1fbokA&Xu-2)5?u}byc&n~7&J#n~8v8?w zCR?tlpip85<|@!XnNuP28v4g`Y4WlxMw?=$ww33x)Hl}Z0sGsX(|}==bXhOIJZs#z z%M7NcMZ6CV8)QsMGY#0?u;{0e)X?v9MI9eYT*S1c1+yKYf~^3zfmJ!lUj;jBGfDf~ z-NR#wv=3=to=~^rEm5vH%^}PEf(i^;TZ7d(l?R!tF~GJmMVh~GuVVfjU-E>w+2}Bv zd_o;PUG>{yL9IGM=2T?{cB8>UbeY`MV~=)sm7O40Z<$e3;(d3k;nF>L;r7G^JDU^N zO_f}{k2zy-aUGK3zM(KfFjA6{N(^aDgSd&2uR%g7y4Xg-HRzrC)>dPuzb?mCxhNDC z<#GJTL$Shf$meVmEfx{HZAF(h(PD6|<-L~U)6)Hh<;CI`;k3t#NU|4ig)YmWIT~tY zSVM7h8E@@e;{XzpD*w0?BAl_7;GeUkhgj^NSq58dM0+C$Q~SaRDWpt&V{SUWY~8Hca;8e%zd2;JalhKo{08UP(Q$R&M|d_3#HxJW{Q?Kiaf~JZNp! zXO{y>dTo$)_w`>f;Cvfe{~LU8_|)(Cuu!b1wm!(JqN}Ii{H7%JY4tnh>NcIZzrGo$ z%lmMcQp(#mgf$#Q=6ShtVqOi>O*f$>`g)64CgmCS1;E#GOFBhB^>t51;nfBjU*9HI z!vQ*0(ActYAMx-88$!hH1l>_WlBW*aF?}3ZiwgN1k~*?<@2A?S#FbF{&YlYQ#s18U zG`TJ~3X;d&c{cj*PdDV37fEj>N7=_t#d}I&8Wf z;*L^UZQAzSzlb$7C)J*BMHRRGxfuU7x`nsy4?Yl^B`GOLd8$rPNG9rddt<+DT z=RCPr*_@n^OPN`|+3EUG$JLp07TF1lL8Qj}1?J733S*_OTN+)&RkBx5TlAO;>`I#| zRY(z1cmo*^w3_HyfG#yDvo{uWgLIu<;rj8dupC0%NP5sMIIF`D;KK3r{Me(WNyv8_ zDk@P`(F0AwOG%!hwD22*UR}HtPMd*hSuWC-0eBN)IoIxYX@%G-Qq;yKVuDJa)-;~- z*of>#1v49RCO45n8?b~e|JZ~`w0Pml0LbC0PE+s7ET%FDV|8AJ4^&Yuw`5l)*jCmI zTcSMnVxJLi2rBRB0-H1)B=zFMkOuJ@hmYTut{(p}x-qsNWRp0D3S^se?~ z;4(N`M=LamNMd0@udo+2?hn2hs*4MR9yc*6%`m~YEOSgEFP zvKX}(4E@x}99967gw*>F-=tNXJtLVu;q9z+1zhNMXBqAm!L_EgI#V{_zfzHSYYTy3 zTgC!8PUtw}j(65Je=RsaiAWC(s|r9t_H82(QrVfFZVmt%cTK&+YefY~=!i4JqocR@ z7>~AqF*;B}J3?(NIXvo#X^N*B?<_|r+{oXNY#tOgc~D=a?n~g}EgK zMfE!<{DH=r;rNO3v{O643XuLpmi$B#CWryX*RArs#B|0 ziMKq82voZOy?f9LZ=+XUZXG#9!n8)0Q}14u&HkqSZ{!y6`n|g%R}0LDj*N-SjtDw_ zkFy9myLG^p-CdDhrZ`?6EJOV|5lSyS3XZi+pVKlh6p-H*B3+^7M!IX`*S433&n}lY z7f%=o-`A*bU~2liT!E^(I{ja4(FzZY<_p_aZ_1A*5w7=~dHvr-uM_VzB+Z>FW{ra$ z;7Z7t6hYxfi%xU%RWWet`qoL`)E0f)o~&yymlqOF7J5+zx*?>WA#;V_azoyUJ#n%* z$BT3^aq@xzUc)am7d4BA-$pVL1f6!YWyNtCu_Th=G)=5XMoD~BrLG^ORbMTvOvXCJ(}@tYYe^Vl*|(a0Z)NnIeIGVpo$|yf+>ADc>Tbl+I9>pf9f7F+nn8a5~uB@pQ_(78x)IHmE zZ9EZN($Lns^r}v9Aqo6k2~3PE0G|vO(e?szLPX?1pMtp(4OU}>MlS+@v_tW3mFdkA z`GUnVh|3{)%J}+~dV~Io$IgzLU9Y_3=xFPfQL4n+BQ71QCjTW`rTJ$NKQL@iF z_x|L>sRjz#ww5UEsbOh4fg+gY{A5R^T{Uj5hUK*nO@1-&mtV3O^)LgUw-yvO^KQ_N zV~5;aRyYvaq^pxOetL)A(ifTvm}AJl1EYgnNtKlqO1XpbG9$x)#zKRUu_`^=#$eHX zvbiaWq)X)NgGW9jm`*Y1sP?Tt7e7W|}$NIM&E zZEb-{ENe04?fvb*r4QB#+cp$sX15-XLKF4=xA$;anYavp`BJbX_hS#yQ4~dWZ<1{< zQJKla5v^9trS|KDcFBheX1Vq!f!9U5X3iCHWdiY3Sm6~L>(fn8DDvSlSH$^RI^_rr zhcENHQFHx;fD=tx*aDho@^ypoJv}nDiZ72arK?yeXkWFI%Z~7u=E3hjXR@DzAB(6J zLa%HyoO%~>Gmgm#fk)!T)2JkdHhbZ3veMoTdl&w#GQGO|Ht-6Zdgg9S9P?xao2kB@ zotKX_!&(Z~^N%*9i-9Op6{U{x z)vQE9*TXW@gbGxiB1B_n|Epr;Qz+9J18l!xq84xo1HV(7l>PZ2ZcR8kjy)9mqhMfV z*X6u*mAdG|Q)+X-R^I$8aO^M8J@!^YZz+B{k|G*Z)%0}L+5;_L-#hhSjA;Q+3!Lrs zI{;kpn&WdRw;V9o zxNwD1h*EtM`B0(WZ?y=7H)X(Zb!s|i{DA!uO6>U3-+%c{N7EE$*A5TX+~ZDm(d^J+ zJ-K6N=iyRhg?!TT0MvWt7BQtYMeLd{II$*M6)BzTJTc~Y5LE_T=K)Ec`3x4eX#6E z=|Z!&BbN@rk%?;i(Sqgv`Ig_}mJh7(<5<^)uQAmvZ?lPm)09VESO$foDis(3-w7ve z=Z$;bvpJ96P_LTZJW!!-gB6loy8K-T*G56#J}t1ENiWzz|6R4=>BHP+_w^Mu6rWA4 zbr(m5w={C!z=7ezG-g+r1ExBcs{g}~r)oHzYVS&;kIyj)<8*8P!&>vow*o8t16r7f zSQth+@R595oy4?fGbHEADI#>o&4{@I($a7^6xPWeFOD6ZcJ@bYCq_fmJ39DZO~8{9|J=kV z!PpEzPV*fImr6uN<~?ip72)I67p1}a3U5f?CU3!qCk31NV9I+l7w;$gT-qoUM2K|s zX{SA1U}Sic`qP=A1u(ZxWfWKI;>FsRD>M1}{BA3!+%x#L65h`=JHHtn_>F6Qi@(yu#=J6O1~* zWub#({$pnEb&H6? zP4V?x9XGcqWG<9~f*6~oR(3=!b_;StnY>f-YdVSuwu`?P5at`B=ZbS6N;CD7>M5cA_Rhnx+DPZ`O!) z$(Dkyl6pHb+1dB-trXt)@a~{;=UQRNnD0k}wIwdg{Cy-cALf1d-~1jqYU(tKa~9SX zUCLH(6JqA+n8=&v?Sul4#f9cp5x6~AEJr+NWVA|%NSB=w4t&VmEjD;HS@-j8xc13pxfXF1C|q9QYT(pANi*rOd#pF~aUEg%;QyhS&U#iA#^CM?lvO0B8YcHOAY4h;s)*90jpACdEXkRZb#O?u$1y~gC2I=j$LU}+Yug$>VeSNJZ~>QJVI>wT87 zpr94auLM~ur^3-Z9dY8<(wK#{fvF?i&)`$fGvNV+mAq#6)kAc;=!0J;m>!0uiLqx_ zoW?V(z4g`ErKA!f6rh`-QiZJPU<_lBu_6I7^r{Xxcs;6*BLRk0%R0OXnh|BUw&P(_ zppcr+g_z4Bu=lj5Jnt%8H9q}Z_e^*~neDIiy1Q|5c(TP2mQgC`Ec7c7mE4cxesQcU z#4Jn?0qD;-;mr12dFZy)<#Yblz1`Zev{5@p(yp67E9=_jajGDMH9jtg5$z(tg`C3v z5CAQbpNiq8&v$XG;hvzK)wCQ=sXB|nY${~jx8g1GupfS#d%&DFS>(^Xm+k|c>S<@5 zCWL|bHk{EZlt>a^-0xF2W@3oGk_A&D^}fkVn+rkqqeSwf6uRl3EO;3pN#J9L!an++ zMx_~&qfgjfN+{HPOcB(GS$)tZd4hj^6^YX0-YlN)Z869>~=X6 z^{DhlJc=m|HrUF|bu^b37(C;lG@zbj41WrfrTwd$Xo^A4^38CzHa$}m5o&!%YiLyo z(R@gV{NTV`)bmz`=FObsAu6&^6&h> z*C{p@B)=01I_~vxb`}}CIf2;4^ltILP_--!s6wO z_SrXB!Q?_+cWi5WHh)fnC(h<7j0;wV+VHH%n1?=(uxff~7tQtSYhF5gUZfXuTHG9e zW7)NtzKz~UCp(^`JLD~Dx{K*s#K%CI-yu60Z5P{ZbyL9f?U}>(pQ>VRl~JfG4{c`+ z+%4#hmR;aVA8t-Bnwo9-$xEzgtfP&rY%&#toSw`nAzf`p_sBc8lE^F+RO3v_Y#`otUbTcqaX>;T_T$6KIPD_i0Zoi7RD)_Pk%a_ zlEsBu64|M)yp)Lg)>ador&W$5ho@`%tp0gYMcS#J)_6vziU$M&RruzmNLPEM3UQ1HiYUKbAVfhL4zm6$RJ#(Va=5hdu zr^{%2F~(Y1Hxm_`_n)BlE8v(4qd zSEGfG4i?xf1lBv=5~z|s?s3#mcQrNu^@TyPWA`m7n!DbKR`zz&l&KKe5H@Xh6G{;Q z?5|hvb4+x%tPNe+h1{>1NkkN&(kK>sq*L=@GI^F9v99`+6Q!N1u_hw8nrui#Ca2nFEcH5qcZL2xBYZqCr9LC0l zE=_G$xU~=Vc?zVUV&59Uq^VEb>DBnR2HFT`v#!d3=l=N!J*+^Y=V4UI(*o#j)B^Mf z5}$>uiLbHS>O9`kzN2pL#|YD>2?wmh0ha~R(pc{AGls%Xw-RWHICS5;Eh9_tP;Ay= ze*`%?{KX!(;g<}+j?uL%fB$p(hmUgOfb?s}GilSP%(0!$_ZgxtKO(a`z#ZNQVuQIF zz5;xoUENf3@1~57fsxGf8?l(MA{Vy^)Sc;*gN?#{AXYj&QS$6_+CJ}UOi!qT#Wk`6 zt*1cbq4J@GK7~`)r+55AL`2B)B$h|_#Xaw1$RRL7xE+`HV$qDBWkN%w^`K87QlmZ zs{FCk)OVljswa#S_!9K+C4OI!K3%5bg-2+U|(x_+h+_b%}k*IkYE>Ws9A@)8ja zNDkeOeASPrqOeplq9Xnq|-zfRT}par0K7L(^nf}~K0Rt03Hok*PU>ka)oqu3)Z zY5W@GY)#gU9!Eji+>gu5+fG!1es>Z_+o#uoCVWe7C#w1?c1?)0V-2k93Ig2O!Y19 z-3`V0_yfrs&no=ut>^@Ko(3oNN*lT^DAw>IPjP}>2GsqpwR*<#5l|?Z;JI!7jRY`h z$VR;tS&ODD##5?XkTf&mOXgsrM*)~JLz}C&9*$<-T~%)EPyTe0ef|l$W1+fF8q_Yb$v#zRVfP*| zC#b?8oY7F@TF`Hn_&p6PSdoYFDZszB06% z4oM9ayVNPG

    UzGYiG1Y$hM`6ulIKkLVe>c>v+=emU{Dup#e4txjUe5Iv+XYWURU2|!n;isX%E(Gv6RGmknDk-PcL7188uCXmBc zx$4OGxS<-g2C{=mMnGL@)~9&5|C)H(FI7_ZP(#v5X8ztY|CcY@9dS>v!!fi(IJvk&94NX$P(T1#nuzTq$l^R(R+UVfK#gUt_S#X5o@zq zXShlWft=sPSdJd_s3K3X@V*(ioxLwwK4x}wNk)N<<|Rh(Q-MD+lF;~vDD-y2CIrSm zg3bGFZrK0NNNqj!@|XcRcrD)T4(#z^-q%EFd+7Nwx)Lg{eO%oEBNc_yiqEW>8bCfY zb%B%#g$RW=i>zd`X->Bz&S4Nx zDa*s~mCtZ}7t#{K{cQV8ZJZkJDUZ${ zTY1U9oVXbg!&Zrp{T!7it5vU_9$GNK)bNR2Zcw{BO6wp_=qZtP}{p$i44D*k^HlzSdY>v&W_Li-Wby9F`4I#WwEq z*uS$h-=8oan%KCzr)mWhv!e&6JIqnN4wURUI{m5({7%&{rBx-A<6cv?8!dP8{!}WJ zB;)&HQQM+c&+;hEJ$SaMPT<`c-a=v<+52RZ|L$5%#=`}3XTBTqEe>dk0#%_BJ{ff*+GFCE3-~tZHt6rV4BqCb_L13c?I*NIX(^eSK|qAHi)}qkM+}Z z<&0oSC_TRu<)vwUJZ?|mBx#zfLr-JS>plDoj6A>72SM=c?m}7{L27`Nuu|I`g5}|u z%w_SXmN;mztI8WI-v0R9*Je}uG%8~yQaWD71m+Ca>|SNYLffa58NM${K;T1C2>;uL zoZHA!A~gjt;o@Z<2gbKimNvGwCGiH5mDoXXaz0H4*+5$wHS}HP@O3S-sBrp1*-r_{ znTT;1nFG3=Nhky7)ihdP+PhHe3Ua~cw$lX(W1}uE3$k1EuXoN`2DlB+%{Sn_Xu8DjPMqWkYkN+gwm5V;T(%elTJs6GTcTk-TaQI4} z$ByU7M=9;=>Lx=p;>H8&i}n`Z<2D*3jZ?NZKBOX~6PgJ)>PyFZT1Dpg3I~5}lUZt; zK6cwGTDxyxnoDM~a{L=uTv%pvx?<^Z=Ab6_o{cACXvCy~mE${Bqch7Fop~x9fj>Kt zPh!zF4KVVm6CEb%7^d^oWc2{0%CnJWm6apD~JoIc!cT-c4#w{zzNhlR&JHFa3(Ce1}D#3cV z`lUWJTw##8eUfshQ3ARIJ6PNpV|;Mu!hl$vGUev+Ww{QvCHw>j@^|*w;o=(c2?F(N zfRTxZI5c0WBX zQ6p>rd%`+_k|dQ#zk zxfbr5i?nja#`NW`W-si;H7+DI`8N%ia(95Sh1F(4_$q5|4!Clkd8j=R{`~de#L)G> zYOpF%+k{ra{#?x8Yv9U(tGoHtxzl;;dZ+J;(dbkwlIlKJI^H&u1hn0{=6dHF@C0qy zJ72#y61eQOJ(v+%JmJy+{2Cm|{vnpSTOX>)>(Vh_OK8+q?p7B?v9Xfh#YOxv%}}X0 zRE{$*4bakX$;VDRTC25oI3hJhyAPzfGZkq_7a%?CLYj6MGf<-5|HY4kN^Hq}1V@tO z#_>=pEp)La&xM9T%gBmol~J-diCDdqB+1r31g_V*_4f!P8OtV-F$QoYPw2g8=SQqB z#3g4ThHL{VO@E8$eP;Z^2-}|OYiIl{p55Wbc*%J;Uzp#*ntsXlSmltH8(O`o{Twjz_OX;0hzJ{(LJ>q`@EoROmyPk`9TpEP8< zyZA~hByD3RH3c_!bffRYyWBjM^7Y#LLq(r~Gf|pouK3FQiGt*bqc!0)I&EL-v*?{W zEscyLwzuNGX3TLF%EeAZZ$4sCXZ@9eB>lW;JSk4{N2^2U_IrJ58T&l3OcnM?W;1+j z{VU8IZ5_y$k7sGd%8!a7B2_0jZoIhb`0rsjBesS!Y?r_kJ)<4wNcF$y-~r43Csg?V z<=Q*AD>O}P3ATgGDhW#qO`*dPK(DCp3Gb&@YZkj z8@OyqjKWHwZCtd!Vxy^9t7A#Be>4}(`8LgN6wY8n>ApDI#X!=V}hc?7JpRbZRBk|j~xSmdGjB@J8-pa zx7lKIKT4GUU7>+aA8vQkD$&%QA$fXD8Ya1S`dDm{D#p2O@_;Dp0OP|mM=Os0=|$nD z!vElJi~I-vb}i*ztR3kYw&>F&k)jJ#vfn2@H)c%vYD#T1Qjq7P$BfJHhqWi+Hb1bY zJLDA*6M^~09}}@P&fNxc*;iXWZa+YILPY3cP{Zj+JsJE6#nPT?WO#WP8?V%A=78eS z3s|9*`PyfL#NJQ&N#stqCxRlLP1w`9Z0{~lgnA>JMRQbIX_8-gx$pZr$)|u?=JXww z;3y5}VeK`9m1~V|-&dLHDK|UKx;xOF?_3P9xT9CU?HsI%xW~pcTj~PuS3*jiuVe;= zxWXs@hG*;Cu-lJVWSPef+!^YocGcpjOTBn&0f_yFsCf?gi|1>e4+Iv2WtV`6T`Tv$ zkT|j~<&MG8%;iPkgqZ>?^4@)h&ViTYlOIe}N=Wl>AZk_dK+r+o-=u8fyFvDm*RrGd$24uFYa+jmE_~E9jGb&%p@U8x{ zYdUdl*nn>{&;pZ8i5?Lbnq0LRv2l0&m7{6YWUk{)VBAMIVU6dT)NZ!4n9TGUAu&KN z`>~Wz&UsmQdS0B%)<;5AsJ8nCjLPtXaruvG-~Jpq4;bM%xB6t@s?sW4urIa%Vukvc z?vA>?dCG&)OhkbH&$Rn8nPx6?4_54m;y0z2vt9)ba#WgK46;3N*y8940r)y@G?G|X zQ}1P{Yi|l~=JbwWa$B+FO+B17g3fa)QMuj>fW08E#5iZ?Tl3l%QC^vY?VO&uLP#1$4p%%iR!pk z6sZElRFZ=n(q;I>2G~{OjCz9#Jsml~KM=z5cP`#Q`>Q3tB1Z*_@`O%?Cryl~_P^0c z?*sa}MdnmL?lBHs2A`glE7o>3#k#h2jTY@bSiHX-L04G6752~a4W>^*-%fUHo=Y@; z?Jei+ffS!C4V@=kgw?$FKPQ_0{xS30v#GU&4}ir}6ns&AXW+ZbG>D!mzZ)rGi{2ga z980?%0Z9ax6PwFU;h(o>0tC<4-t|L*kdN&y#ktzEeeFMC zb=}~*WBbf)GW*9VG;l39Lh{1_J)(jf&DL~$I^p^gS1qehoA|l`ePkL$fk+B57KT`| zaF-bEq=#|FA5-fJz4~pvX}nNJb$$1Z6?Ss&SmBwV^9xT;+3MxkR{(kr(|u#7l5F{* zwBJ@R64OQ!M9aX0<)=lj8W&`m9v3%0vIV3H)3t7siIpL{9^oH!DLeruR+QK$B5$8zCR!+Y#eG)oH!nvb}T|znn3s+T7!014`hQ2^X+GY zQGpGbjp6yhN)A^GT2z}3lD03|$&+jqSa&(7L9qI3Ztg@he6il8aTK|+_e}LSC&_84 za!rhemd23?Hgf%Hov%LC!V+ZqD?{frI#!1?A2W<^wAqkXAG*aV&qzeMOCIjC~-lfsEGVdo8p<>6?p%VNH%D# z->DiN+;y9%EYpsC^;<3Lc^7FfQMkwz2i)Xvgmf$%;08}nIKdWeWa7>y%fB^`0| zLnhsxhu7fSsK*l#7%odO(8MER4eMGwj3<3X0uB}hIpl(rB_BX*9xsNcdwU#Ty$!DI zx;)rOY3onZUtzL;5uvm;mMdO0t4lMq@S^_`=fTD&{?a4Koaor|B?XUd>AK=NyWMlV z2=wvpcQSab)lV_DnWz9@aXQJ1dUH@p{O!hqal+d!q`^}~(;4bU(;xs(gG!oF5hh$_ z@9;}o{R?`KswigBsOGq>KG;=R1XTT=j@eIpdZ;tN@zTwo5p7?g7@SiolN_c42ZyeBx zo6dWShDbgvdZ;XG^=8CMIxs-Wx5M;b+@P{rs>+n4U#G|CN|;1{iLn(xoSdYEmMA_^6)bYtXu^5+8X8PEHGq+oTgZ(!1R^Y$#sbBzljKI7+POYY+D(RZ4k;ncY*^M4#j zLu4pSR6ajpD<)&s+S^JcBbU8f^u&sGZWfQ!8(FF>R1B~F!+*&nLNo(sZSjG@nH-wf z8cn!3IJB58VsQKAQ*9@0CH~cT6kkkWV-v?FyS@99LK0^BNXgYqif;~?U~|U%o`V4W z>a~XJdg|i~p{^_qvm^HZ0!mF%CDF*bdGUO51=_i>cWZy`2)N}qE2H0sX~RAWP?$lG-jOfLlbbsacVbBK)Vk8ir7}3d4vFG$`l(~ zu1@hQwBzc&m^iVOLh1@PU(|FBkOrTe>T3$fC4ZlNYoT(@t4Go2j3;=}?Mk0mYtQ^v zK&99A6xK(N50NaR-<}?oqt;EiDM{!N8*qk{UO9Plz&Zh*)vTS#g@!J4hR7%i|EkdI zj-un>%$o8qXV+Df{iYnV6NZ(?(?gS0IP9l0PP7J>?J3qBv~b4;P>AE DN>PH3 literal 0 HcmV?d00001 diff --git a/docs/html/modules.html b/docs/html/modules.html index eb183015..4b0bc200 100644 --- a/docs/html/modules.html +++ b/docs/html/modules.html @@ -19,10 +19,13 @@

    Type Aliases

    Address AddressOrSymbol AllSDKMethods +ApproveTokenForDeltaFunctions ApproveTokenForLimitOrderFunctions ApproveTokenForNFTOrderFunctions ApproveTokenFunctions AssetTypeVariant +BuildDeltaOrderDataParams +BuildDeltaOrderFunctions BuildLimitOrderFunctions BuildLimitOrderInput BuildLimitOrdersTxFunctions @@ -43,15 +46,24 @@ CancelLimitOrderFunctions CancelNFTOrderFunctions ContractMethod +DeltaAuctionOrder +DeltaOrderHandlers +DeltaPrice +DeltaPriceParams EthersProviderDeps FetcherFunction FillOrderDirectlyFunctions GetAdaptersFunctions GetBalancesFunctions +GetDeltaContractFunctions +GetDeltaOrdersFunctions +GetDeltaPriceFunctions GetLimitOrdersContractFunctions GetLimitOrdersFunctions GetNFTOrdersContractFunctions GetNFTOrdersFunctions +GetPartnerFeeFunctions +GetQuoteFunctions GetRateFunctions GetSpenderFunctions GetSwapTxFunctions @@ -81,19 +93,30 @@ OptimalRate OptionalRate OrderData +ParaswapDeltaAuction ParaSwapVersion +PostDeltaOrderFunctions +PostDeltaOrderParams PostLimitOrderFunctions PostNFTOrderFunctions PriceString +QuoteParams +QuoteResponse +QuoteWithDeltaPrice +QuoteWithMarketPrice +QuoteWithMarketPriceAsFallback SDKConfig +SignableDeltaOrderData SignableNFTOrderData SignableOrderData SignableTypedData +SignDeltaOrderFunctions SignLimitOrderFunctions SignNFTOrderFunctions SimpleFetchSDK SimpleSDK SimpleSDKProviderOptions +SubmitDeltaOrderParams SubmitLimitOrderFuncs SubmitNFTOrderFuncs SwappableNFTOrder @@ -106,12 +129,15 @@ AssetType ContractMethod DEFAULT_VERSION -

    Functions

    Functions

    constructAllDeltaOrdersHandlers +constructAllLimitOrdersHandlers constructAllNFTOrdersHandlers constructApproveToken +constructApproveTokenForDelta constructApproveTokenForLimitOrder constructApproveTokenForNFTOrder constructAxiosFetcher +constructBuildDeltaOrder constructBuildLimitOrder constructBuildLimitOrderTx constructBuildNFTOrder @@ -126,19 +152,27 @@ constructFullSDK constructGetAdapters constructGetBalances +constructGetDeltaContract +constructGetDeltaOrders +constructGetDeltaPrice constructGetLimitOrders constructGetLimitOrdersContract constructGetNFTOrders constructGetNFTOrdersContract +constructGetPartnerFee +constructGetQuote constructGetRate constructGetSpender constructGetTokens constructPartialSDK +constructPostDeltaOrder constructPostLimitOrder constructPostNFTOrder +constructSignDeltaOrder constructSignLimitOrder constructSignNFTOrder constructSimpleSDK +constructSubmitDeltaOrder constructSubmitLimitOrder constructSubmitNFTOrder constructSwapSDK diff --git a/docs/html/modules/_internal_.html b/docs/html/modules/_internal_.html index acf390d0..2075879b 100644 --- a/docs/html/modules/_internal_.html +++ b/docs/html/modules/_internal_.html @@ -272,6 +272,7 @@ GenericHTMLFormElement GenesisBlockConfig GethConfigOpts +GetQuoteFunc HardforkConfig HeadersDefaults Hexable @@ -494,6 +495,7 @@ BlockTag Branded BufferEncoding +BuildDeltaOrder BuildLimitOrder BuildLimitOrdersTx BuildNFTOrder @@ -590,6 +592,11 @@ DefaultEventParameterOptions DefaultRegister Deferrable +DeltaAuctionStatus +DeltaAuctionTransaction +DeltaFetchMethods +DeltaOrderApiResponse +DeltaOrderToPost DeployContractParameters DeployContractReturnType DeriveAccount @@ -647,6 +654,7 @@ ExtractChainFormatterParameters ExtractChainFormatterReturnType ExtraFetchParams +FallbackReason FallbackTransport FeeHistory FeeHistoryResultAPI @@ -703,6 +711,10 @@ GetContractEventsParameters GetContractEventsReturnType GetContracts +GetDeltaContract +GetDeltaOrderById +GetDeltaOrders +GetDeltaPrice GetEip712DomainParameters GetEip712DomainReturnType GetEnsAddressParameters @@ -735,6 +747,7 @@ GetNFTOrderByHash GetNFTOrders GetNFTOrdersRate +GetPartnerFee GetPermissionsReturnType GetPollOptions GetProofParameters @@ -863,6 +876,8 @@ OptimalRoute OptimalSwap OptimalSwapExchange +OrderFromAPI +OrdersFilter OrphanFilter PaginationParams Parameters @@ -872,8 +887,11 @@ ParseAccount Partial PartialBy +PartnerFeeQueryParams +PartnerFeeResponse PaymasterRpcSchema Pick +PostDeltaOrder PostfixOverrides PostLimitOrder PostNFTOrder @@ -892,6 +910,7 @@ PublicActions PublicRpcSchema Quantity +QuoteFetchMethods Range RateOptions RawAxiosRequestHeaders @@ -958,6 +977,7 @@ SignatureLike SignatureObject SignAuthorizationReturnType +SignDeltaOrder SignedAuthorization SignedAuthorizationList SignMessageParameters @@ -1000,6 +1020,8 @@ StaticContractCallerFn Status StorageProof +SubmitDeltaOrder +SubmitDeltaOrderFuncs SubmitLimitOrder SubmitNFTOrder SubmitP2POrder @@ -1008,6 +1030,7 @@ SwapFetchMethods SwapQueryParams SwapRateOptions +SwapSideUnion SwapTxInput SwapTxInputFields SwapTxInputListFields @@ -1023,6 +1046,7 @@ TokenType TopicFilter Topics +TradeMode Transaction TransactionBase TransactionBuilder @@ -1176,6 +1200,7 @@ NOT_FOUND_RESPONSE Object Order +Order OrderNFT ReadableByteStreamController ReadableStream diff --git a/docs/html/types/AllSDKMethods.html b/docs/html/types/AllSDKMethods.html index 077a45a9..6d7fe13c 100644 --- a/docs/html/types/AllSDKMethods.html +++ b/docs/html/types/AllSDKMethods.html @@ -1 +1 @@ -AllSDKMethods | @paraswap/sdk

    Type Alias AllSDKMethods<TxResponse>

    AllSDKMethods<TxResponse>: {
        limitOrders: LimitOrderHandlers<TxResponse>;
        nftOrders: NFTOrderHandlers<TxResponse>;
        swap: SwapSDKMethods<TxResponse>;
    }

    Type Parameters

    • TxResponse
    +AllSDKMethods | @paraswap/sdk

    Type Alias AllSDKMethods<TxResponse>

    AllSDKMethods<TxResponse>: {
        delta: DeltaOrderHandlers<TxResponse>;
        limitOrders: LimitOrderHandlers<TxResponse>;
        nftOrders: NFTOrderHandlers<TxResponse>;
        quote: GetQuoteFunctions;
        swap: SwapSDKMethods<TxResponse>;
    } & Required<ConstructBaseInput>

    Type Parameters

    • TxResponse
    diff --git a/docs/html/types/ApproveTokenForDeltaFunctions.html b/docs/html/types/ApproveTokenForDeltaFunctions.html new file mode 100644 index 00000000..5db94394 --- /dev/null +++ b/docs/html/types/ApproveTokenForDeltaFunctions.html @@ -0,0 +1,2 @@ +ApproveTokenForDeltaFunctions | @paraswap/sdk

    Type Alias ApproveTokenForDeltaFunctions<T>

    ApproveTokenForDeltaFunctions<T>: {
        approveTokenForDelta: ApproveToken<T>;
    }

    Type Parameters

    • T

    Type declaration

    • approveTokenForDelta: ApproveToken<T>

      approving ParaswapDelta as spender for Token

      +
    diff --git a/docs/html/types/BuildDeltaOrderDataParams.html b/docs/html/types/BuildDeltaOrderDataParams.html new file mode 100644 index 00000000..29fda736 --- /dev/null +++ b/docs/html/types/BuildDeltaOrderDataParams.html @@ -0,0 +1,12 @@ +BuildDeltaOrderDataParams | @paraswap/sdk

    Type Alias BuildDeltaOrderDataParams

    BuildDeltaOrderDataParams: {
        beneficiary?: string;
        deadline?: number;
        deltaPrice: Pick<DeltaPrice, "destAmount" | "partner" | "partnerFee">;
        destAmount: string;
        destToken: string;
        nonce?: number | string;
        owner: string;
        partner?: string;
        permit?: string;
        srcAmount: string;
        srcToken: string;
    } & Partial<PartnerFeeResponse>

    Type declaration

    • Optionalbeneficiary?: string

      The address of the order beneficiary

      +
    • Optionaldeadline?: number

      The deadline for the order

      +
    • deltaPrice: Pick<DeltaPrice, "destAmount" | "partner" | "partnerFee">

      price response received from /delta/prices (getDeltaPrice method)

      +
    • destAmount: string

      The minimum amount of dest token to receive

      +
    • destToken: string

      The address of the dest token

      +
    • Optionalnonce?: number | string

      The nonce of the order

      +
    • owner: string

      The address of the order owner

      +
    • Optionalpartner?: string

      Partner string.

      +
    • Optionalpermit?: string
    • srcAmount: string

      The amount of src token to swap

      +
    • srcToken: string

      The address of the src token

      +
    diff --git a/docs/html/types/BuildDeltaOrderFunctions.html b/docs/html/types/BuildDeltaOrderFunctions.html new file mode 100644 index 00000000..cb5076ff --- /dev/null +++ b/docs/html/types/BuildDeltaOrderFunctions.html @@ -0,0 +1,2 @@ +BuildDeltaOrderFunctions | @paraswap/sdk

    Type Alias BuildDeltaOrderFunctions

    BuildDeltaOrderFunctions: {
        buildDeltaOrder: BuildDeltaOrder;
    }

    Type declaration

    • buildDeltaOrder: BuildDeltaOrder

      Build Orders to be posted to Delta API for execution

      +
    diff --git a/docs/html/types/DeltaAuctionOrder.html b/docs/html/types/DeltaAuctionOrder.html new file mode 100644 index 00000000..5ac910bc --- /dev/null +++ b/docs/html/types/DeltaAuctionOrder.html @@ -0,0 +1,12 @@ +DeltaAuctionOrder | @paraswap/sdk

    Type Alias DeltaAuctionOrder

    DeltaAuctionOrder: {
        beneficiary: string;
        deadline: number;
        destAmount: string;
        destToken: string;
        expectedDestAmount: string;
        nonce: string;
        owner: string;
        partnerAndFee: string;
        permit: string;
        srcAmount: string;
        srcToken: string;
    }

    Type declaration

    • beneficiary: string

      The address of the order beneficiary

      +
    • deadline: number

      The deadline for the order

      +
    • destAmount: string

      The minimum amount of dest token to receive

      +
    • destToken: string

      The address of the dest token

      +
    • expectedDestAmount: string

      The expected amount of dest token to receive

      +
    • nonce: string

      The nonce of the order

      +
    • owner: string

      The address of the order owner

      +
    • partnerAndFee: string

      Encoded partner address, fee bps, and flags for the order. partnerAndFee = (partner << 96) | (partnerTakesSurplus << 8) | fee in bps (max fee is 2%)

      +
    • permit: string

      Optional permit signature for the src token

      +
    • srcAmount: string

      The amount of src token to swap

      +
    • srcToken: string

      The address of the src token

      +
    diff --git a/docs/html/types/DeltaOrderHandlers.html b/docs/html/types/DeltaOrderHandlers.html new file mode 100644 index 00000000..a6fa7696 --- /dev/null +++ b/docs/html/types/DeltaOrderHandlers.html @@ -0,0 +1 @@ +DeltaOrderHandlers | @paraswap/sdk
    diff --git a/docs/html/types/DeltaPrice.html b/docs/html/types/DeltaPrice.html new file mode 100644 index 00000000..628f8441 --- /dev/null +++ b/docs/html/types/DeltaPrice.html @@ -0,0 +1 @@ +DeltaPrice | @paraswap/sdk

    Type Alias DeltaPrice

    DeltaPrice: {
        destAmount: string;
        destAmountBeforeFee: string;
        destToken: string;
        destUSD: string;
        destUSDBeforeFee: string;
        gasCost: string;
        gasCostBeforeFee: string;
        gasCostUSD: string;
        gasCostUSDBeforeFee: string;
        partner: string;
        partnerFee: number;
        srcAmount: string;
        srcToken: string;
        srcUSD: string;
    }
    diff --git a/docs/html/types/DeltaPriceParams.html b/docs/html/types/DeltaPriceParams.html new file mode 100644 index 00000000..5bebee45 --- /dev/null +++ b/docs/html/types/DeltaPriceParams.html @@ -0,0 +1,8 @@ +DeltaPriceParams | @paraswap/sdk

    Type Alias DeltaPriceParams

    DeltaPriceParams: {
        amount: string;
        destDecimals: number;
        destToken: string;
        partner?: string;
        srcDecimals: number;
        srcToken: string;
        userAddress?: string;
    }

    Type declaration

    • amount: string

      srcToken amount in wei

      +
    • destDecimals: number

      Destination Token Decimals

      +
    • destToken: string

      Destination Token Address

      +
    • Optionalpartner?: string

      Partner string.

      +
    • srcDecimals: number

      Source Token Decimals

      +
    • srcToken: string

      Source Token Address. Not Native Token

      +
    • OptionaluserAddress?: string

      User's Wallet Address

      +
    diff --git a/docs/html/types/GetDeltaContractFunctions.html b/docs/html/types/GetDeltaContractFunctions.html new file mode 100644 index 00000000..0d56097e --- /dev/null +++ b/docs/html/types/GetDeltaContractFunctions.html @@ -0,0 +1,2 @@ +GetDeltaContractFunctions | @paraswap/sdk

    Type Alias GetDeltaContractFunctions

    GetDeltaContractFunctions: {
        getDeltaContract: GetDeltaContract;
    }

    Type declaration

    • getDeltaContract: GetDeltaContract

      returns ParaswapDelta contract address when Delta is available on current chain

      +
    diff --git a/docs/html/types/GetDeltaOrdersFunctions.html b/docs/html/types/GetDeltaOrdersFunctions.html new file mode 100644 index 00000000..1f6b3225 --- /dev/null +++ b/docs/html/types/GetDeltaOrdersFunctions.html @@ -0,0 +1 @@ +GetDeltaOrdersFunctions | @paraswap/sdk

    Type Alias GetDeltaOrdersFunctions

    GetDeltaOrdersFunctions: {
        getDeltaOrderById: GetDeltaOrderById;
        getDeltaOrders: GetDeltaOrders;
    }
    diff --git a/docs/html/types/GetDeltaPriceFunctions.html b/docs/html/types/GetDeltaPriceFunctions.html new file mode 100644 index 00000000..5f131653 --- /dev/null +++ b/docs/html/types/GetDeltaPriceFunctions.html @@ -0,0 +1 @@ +GetDeltaPriceFunctions | @paraswap/sdk

    Type Alias GetDeltaPriceFunctions

    GetDeltaPriceFunctions: {
        getDeltaPrice: GetDeltaPrice;
    }
    diff --git a/docs/html/types/GetPartnerFeeFunctions.html b/docs/html/types/GetPartnerFeeFunctions.html new file mode 100644 index 00000000..7b96b0b1 --- /dev/null +++ b/docs/html/types/GetPartnerFeeFunctions.html @@ -0,0 +1 @@ +GetPartnerFeeFunctions | @paraswap/sdk

    Type Alias GetPartnerFeeFunctions

    GetPartnerFeeFunctions: {
        getPartnerFee: GetPartnerFee;
    }
    diff --git a/docs/html/types/GetQuoteFunctions.html b/docs/html/types/GetQuoteFunctions.html new file mode 100644 index 00000000..f960ea2e --- /dev/null +++ b/docs/html/types/GetQuoteFunctions.html @@ -0,0 +1 @@ +GetQuoteFunctions | @paraswap/sdk

    Type Alias GetQuoteFunctions

    GetQuoteFunctions: {
        getQuote: GetQuoteFunc;
    }
    diff --git a/docs/html/types/ParaswapDeltaAuction.html b/docs/html/types/ParaswapDeltaAuction.html new file mode 100644 index 00000000..65b6d336 --- /dev/null +++ b/docs/html/types/ParaswapDeltaAuction.html @@ -0,0 +1 @@ +ParaswapDeltaAuction | @paraswap/sdk

    Type Alias ParaswapDeltaAuction

    ParaswapDeltaAuction: {
        chainId: number;
        createdAt: string;
        deltaVersion: string;
        expiresAt: string;
        id: string;
        order: DeltaAuctionOrder;
        orderHash: string;
        partiallyFillable: boolean;
        partner: string;
        signature: string;
        status: DeltaAuctionStatus;
        transactions: DeltaAuctionTransaction[];
        updatedAt: string;
        user: string;
    }
    diff --git a/docs/html/types/PostDeltaOrderFunctions.html b/docs/html/types/PostDeltaOrderFunctions.html new file mode 100644 index 00000000..370817d8 --- /dev/null +++ b/docs/html/types/PostDeltaOrderFunctions.html @@ -0,0 +1 @@ +PostDeltaOrderFunctions | @paraswap/sdk

    Type Alias PostDeltaOrderFunctions

    PostDeltaOrderFunctions: {
        postDeltaOrder: PostDeltaOrder;
    }
    diff --git a/docs/html/types/PostDeltaOrderParams.html b/docs/html/types/PostDeltaOrderParams.html new file mode 100644 index 00000000..23704de8 --- /dev/null +++ b/docs/html/types/PostDeltaOrderParams.html @@ -0,0 +1 @@ +PostDeltaOrderParams | @paraswap/sdk

    Type Alias PostDeltaOrderParams

    PostDeltaOrderParams: Omit<DeltaOrderToPost, "chainId">
    diff --git a/docs/html/types/QuoteParams.html b/docs/html/types/QuoteParams.html new file mode 100644 index 00000000..0ae20cae --- /dev/null +++ b/docs/html/types/QuoteParams.html @@ -0,0 +1,10 @@ +QuoteParams | @paraswap/sdk

    Type Alias QuoteParams<M>

    QuoteParams<M>: {
        amount: string;
        destDecimals: number;
        destToken: string;
        mode: M;
        partner?: string;
        side: SwapSideUnion;
        srcDecimals: number;
        srcToken: string;
        userAddress?: string;
    }

    Type Parameters

    Type declaration

    • amount: string

      srcToken amount (in case of SELL) or destToken amount (in case of BUY), in wei

      +
    • destDecimals: number

      Destination Token Decimals

      +
    • destToken: string

      Destination Token Address

      +
    • mode: M

      Preferred mode for the trade. In case of "all", Delta pricing is returned, with Market as a fallback

      +
    • Optionalpartner?: string

      Partner string

      +
    • side: SwapSideUnion

      SELL or BUY

      +
    • srcDecimals: number

      Source Token Decimals.

      +
    • srcToken: string

      Source Token Address

      +
    • OptionaluserAddress?: string

      User's Wallet Address

      +
    diff --git a/docs/html/types/QuoteResponse.html b/docs/html/types/QuoteResponse.html new file mode 100644 index 00000000..1f64cd4d --- /dev/null +++ b/docs/html/types/QuoteResponse.html @@ -0,0 +1 @@ +QuoteResponse | @paraswap/sdk
    diff --git a/docs/html/types/QuoteWithDeltaPrice.html b/docs/html/types/QuoteWithDeltaPrice.html new file mode 100644 index 00000000..f05214d8 --- /dev/null +++ b/docs/html/types/QuoteWithDeltaPrice.html @@ -0,0 +1 @@ +QuoteWithDeltaPrice | @paraswap/sdk

    Type Alias QuoteWithDeltaPrice

    QuoteWithDeltaPrice: {
        delta: DeltaPrice;
    }
    diff --git a/docs/html/types/QuoteWithMarketPrice.html b/docs/html/types/QuoteWithMarketPrice.html new file mode 100644 index 00000000..9e3dc75a --- /dev/null +++ b/docs/html/types/QuoteWithMarketPrice.html @@ -0,0 +1 @@ +QuoteWithMarketPrice | @paraswap/sdk

    Type Alias QuoteWithMarketPrice

    QuoteWithMarketPrice: {
        market: OptimalRate;
    }
    diff --git a/docs/html/types/QuoteWithMarketPriceAsFallback.html b/docs/html/types/QuoteWithMarketPriceAsFallback.html new file mode 100644 index 00000000..f8650c9b --- /dev/null +++ b/docs/html/types/QuoteWithMarketPriceAsFallback.html @@ -0,0 +1 @@ +QuoteWithMarketPriceAsFallback | @paraswap/sdk

    Type Alias QuoteWithMarketPriceAsFallback

    QuoteWithMarketPriceAsFallback: QuoteWithMarketPrice & {
        fallbackReason: FallbackReason;
    }
    diff --git a/docs/html/types/SDKConfig.html b/docs/html/types/SDKConfig.html index e35ab47a..337e0041 100644 --- a/docs/html/types/SDKConfig.html +++ b/docs/html/types/SDKConfig.html @@ -1 +1 @@ -SDKConfig | @paraswap/sdk

    Type Alias SDKConfig<TxResponse>

    SDKConfig<TxResponse>: ConstructProviderFetchInput<TxResponse, "staticCall" | "transactCall" | "signTypedDataCall"> & ConstructFetchInput

    Type Parameters

    • TxResponse = any
    +SDKConfig | @paraswap/sdk

    Type Alias SDKConfig<TxResponse>

    SDKConfig<TxResponse>: ConstructProviderFetchInput<TxResponse, "staticCall" | "transactCall" | "signTypedDataCall"> & ConstructFetchInput

    Type Parameters

    • TxResponse = any
    diff --git a/docs/html/types/SignDeltaOrderFunctions.html b/docs/html/types/SignDeltaOrderFunctions.html new file mode 100644 index 00000000..00a1879a --- /dev/null +++ b/docs/html/types/SignDeltaOrderFunctions.html @@ -0,0 +1 @@ +SignDeltaOrderFunctions | @paraswap/sdk

    Type Alias SignDeltaOrderFunctions

    SignDeltaOrderFunctions: {
        signDeltaOrder: SignDeltaOrder;
    }
    diff --git a/docs/html/types/SignableDeltaOrderData.html b/docs/html/types/SignableDeltaOrderData.html new file mode 100644 index 00000000..9d6c796b --- /dev/null +++ b/docs/html/types/SignableDeltaOrderData.html @@ -0,0 +1 @@ +SignableDeltaOrderData | @paraswap/sdk

    Type Alias SignableDeltaOrderData

    SignableDeltaOrderData: {
        data: DeltaAuctionOrder;
        domain: Domain;
        types: {
            Order: typeof Order;
        };
    }
    diff --git a/docs/html/types/SimpleFetchSDK.html b/docs/html/types/SimpleFetchSDK.html index 61991863..7606eb13 100644 --- a/docs/html/types/SimpleFetchSDK.html +++ b/docs/html/types/SimpleFetchSDK.html @@ -1 +1 @@ -SimpleFetchSDK | @paraswap/sdk

    Type Alias SimpleFetchSDK

    SimpleFetchSDK: {
        limitOrders: LimitOrdersFetchMethods;
        nftOrders: NFTOrdersFetchMethods;
        swap: SwapFetchMethods;
    } & Required<ConstructBaseInput>
    +SimpleFetchSDK | @paraswap/sdk

    Type Alias SimpleFetchSDK

    SimpleFetchSDK: {
        delta: DeltaFetchMethods;
        limitOrders: LimitOrdersFetchMethods;
        nftOrders: NFTOrdersFetchMethods;
        quote: QuoteFetchMethods;
        swap: SwapFetchMethods;
    } & Required<ConstructBaseInput>
    diff --git a/docs/html/types/SimpleSDK.html b/docs/html/types/SimpleSDK.html index 8cd7ed5a..3c452a47 100644 --- a/docs/html/types/SimpleSDK.html +++ b/docs/html/types/SimpleSDK.html @@ -1 +1 @@ -SimpleSDK | @paraswap/sdk

    Type Alias SimpleSDK

    SimpleSDK: {
        limitOrders: LimitOrderHandlers<TxHash>;
        nftOrders: NFTOrderHandlers<TxHash>;
        swap: SwapSDKMethods<TxHash>;
    } & Required<ConstructBaseInput>
    +SimpleSDK | @paraswap/sdk

    Type Alias SimpleSDK

    SimpleSDK: {
        delta: DeltaOrderHandlers<TxHash>;
        limitOrders: LimitOrderHandlers<TxHash>;
        nftOrders: NFTOrderHandlers<TxHash>;
        quote: QuoteFetchMethods;
        swap: SwapSDKMethods<TxHash>;
    } & Required<ConstructBaseInput>
    diff --git a/docs/html/types/SimpleSDKProviderOptions.html b/docs/html/types/SimpleSDKProviderOptions.html index 7af459fa..f5119658 100644 --- a/docs/html/types/SimpleSDKProviderOptions.html +++ b/docs/html/types/SimpleSDKProviderOptions.html @@ -1 +1 @@ -SimpleSDKProviderOptions | @paraswap/sdk

    Type Alias SimpleSDKProviderOptions

    SimpleSDKProviderOptions: (EthersProviderDeps | {
        web3: Web3;
    } | {
        viemClient: MinViemClient;
    }) & {
        account: Address;
    }
    +SimpleSDKProviderOptions | @paraswap/sdk

    Type Alias SimpleSDKProviderOptions

    SimpleSDKProviderOptions: (EthersProviderDeps | {
        web3: Web3;
    } | {
        viemClient: MinViemClient;
    }) & {
        account: Address;
    }
    diff --git a/docs/html/types/SubmitDeltaOrderParams.html b/docs/html/types/SubmitDeltaOrderParams.html new file mode 100644 index 00000000..4a2be3aa --- /dev/null +++ b/docs/html/types/SubmitDeltaOrderParams.html @@ -0,0 +1,2 @@ +SubmitDeltaOrderParams | @paraswap/sdk

    Type Alias SubmitDeltaOrderParams

    SubmitDeltaOrderParams: BuildDeltaOrderDataParams & {
        partiallyFillable?: boolean;
    }

    Type declaration

    • OptionalpartiallyFillable?: boolean

      designates the Order as being able to partilly filled, as opposed to fill-or-kill

      +
    diff --git a/docs/html/types/_internal_.BuildDeltaOrder.html b/docs/html/types/_internal_.BuildDeltaOrder.html new file mode 100644 index 00000000..6c62400e --- /dev/null +++ b/docs/html/types/_internal_.BuildDeltaOrder.html @@ -0,0 +1 @@ +BuildDeltaOrder | @paraswap/sdk

    Type Alias BuildDeltaOrder

    BuildDeltaOrder: ((buildOrderParams: BuildDeltaOrderDataParams, signal?: AbortSignal) => Promise<SignableDeltaOrderData>)
    diff --git a/docs/html/types/_internal_.DeltaAuctionStatus.html b/docs/html/types/_internal_.DeltaAuctionStatus.html new file mode 100644 index 00000000..d76f2b8a --- /dev/null +++ b/docs/html/types/_internal_.DeltaAuctionStatus.html @@ -0,0 +1 @@ +DeltaAuctionStatus | @paraswap/sdk

    Type Alias DeltaAuctionStatus

    DeltaAuctionStatus:
        | "NOT_STARTED"
        | "POSTED"
        | "RUNNING"
        | "EXECUTING"
        | "EXECUTED"
        | "FAILED"
        | "EXPIRED"
    diff --git a/docs/html/types/_internal_.DeltaAuctionTransaction.html b/docs/html/types/_internal_.DeltaAuctionTransaction.html new file mode 100644 index 00000000..6adc8efd --- /dev/null +++ b/docs/html/types/_internal_.DeltaAuctionTransaction.html @@ -0,0 +1 @@ +DeltaAuctionTransaction | @paraswap/sdk

    Type Alias DeltaAuctionTransaction

    DeltaAuctionTransaction: {
        agent: string;
        auctionId: string;
        blobGasPrice: bigint;
        blobGasUsed: bigint;
        blockHash: string;
        blockNumber: number;
        filledPercent: number;
        from: string;
        gasPrice: bigint;
        gasUsed: bigint;
        hash: string;
        id: string;
        index: number;
        partnerFee: string;
        protocolFee: string;
        receivedAmount: string;
        spentAmount: string;
        status: number;
        to: string;
    }
    diff --git a/docs/html/types/_internal_.DeltaFetchMethods.html b/docs/html/types/_internal_.DeltaFetchMethods.html new file mode 100644 index 00000000..cdfddd38 --- /dev/null +++ b/docs/html/types/_internal_.DeltaFetchMethods.html @@ -0,0 +1 @@ +DeltaFetchMethods | @paraswap/sdk
    diff --git a/docs/html/types/_internal_.DeltaOrderApiResponse.html b/docs/html/types/_internal_.DeltaOrderApiResponse.html new file mode 100644 index 00000000..c4998fae --- /dev/null +++ b/docs/html/types/_internal_.DeltaOrderApiResponse.html @@ -0,0 +1 @@ +DeltaOrderApiResponse | @paraswap/sdk
    diff --git a/docs/html/types/_internal_.DeltaOrderToPost.html b/docs/html/types/_internal_.DeltaOrderToPost.html new file mode 100644 index 00000000..1627aacd --- /dev/null +++ b/docs/html/types/_internal_.DeltaOrderToPost.html @@ -0,0 +1,4 @@ +DeltaOrderToPost | @paraswap/sdk

    Type Alias DeltaOrderToPost

    DeltaOrderToPost: {
        chainId: number;
        order: DeltaAuctionOrder;
        partiallyFillable?: boolean;
        partner?: string;
        signature: string;
    }

    Type declaration

    • chainId: number
    • order: DeltaAuctionOrder
    • OptionalpartiallyFillable?: boolean

      designates the Order as being able to partilly filled, as opposed to fill-or-kill

      +
    • Optionalpartner?: string

      Partner string

      +
    • signature: string

      Signature of the order from order.owner address. EOA signatures must be submitted in ERC-2098 Compact Representation.

      +
    diff --git a/docs/html/types/_internal_.FallbackReason.html b/docs/html/types/_internal_.FallbackReason.html new file mode 100644 index 00000000..11c6af3a --- /dev/null +++ b/docs/html/types/_internal_.FallbackReason.html @@ -0,0 +1 @@ +FallbackReason | @paraswap/sdk

    Type Alias FallbackReason

    FallbackReason: {
        details: string;
        errorType: string;
    }
    diff --git a/docs/html/types/_internal_.FetcherOptions.html b/docs/html/types/_internal_.FetcherOptions.html index 5cc0ab2b..a33b2a2d 100644 --- a/docs/html/types/_internal_.FetcherOptions.html +++ b/docs/html/types/_internal_.FetcherOptions.html @@ -1 +1 @@ -FetcherOptions | @paraswap/sdk

    Type Alias FetcherOptions

    FetcherOptions: ({
        axios: AxiosRequirement;
    } | {
        fetch: typeof __type;
    } | {
        fetcher: FetcherFunction;
    }) & ExtraFetchParams
    +FetcherOptions | @paraswap/sdk

    Type Alias FetcherOptions

    FetcherOptions: ({
        axios: AxiosRequirement;
    } | {
        fetch: typeof __type;
    } | {
        fetcher: FetcherFunction;
    }) & ExtraFetchParams
    diff --git a/docs/html/types/_internal_.GetDeltaContract.html b/docs/html/types/_internal_.GetDeltaContract.html new file mode 100644 index 00000000..f119cb8a --- /dev/null +++ b/docs/html/types/_internal_.GetDeltaContract.html @@ -0,0 +1 @@ +GetDeltaContract | @paraswap/sdk

    Type Alias GetDeltaContract

    GetDeltaContract: ((signal?: AbortSignal) => Promise<Address | null>)
    diff --git a/docs/html/types/_internal_.GetDeltaOrderById.html b/docs/html/types/_internal_.GetDeltaOrderById.html new file mode 100644 index 00000000..ac1a4cdf --- /dev/null +++ b/docs/html/types/_internal_.GetDeltaOrderById.html @@ -0,0 +1 @@ +GetDeltaOrderById | @paraswap/sdk

    Type Alias GetDeltaOrderById

    GetDeltaOrderById: ((orderId: string, signal?: AbortSignal) => Promise<OrderFromAPI | null>)
    diff --git a/docs/html/types/_internal_.GetDeltaOrders.html b/docs/html/types/_internal_.GetDeltaOrders.html new file mode 100644 index 00000000..9a0bdf16 --- /dev/null +++ b/docs/html/types/_internal_.GetDeltaOrders.html @@ -0,0 +1 @@ +GetDeltaOrders | @paraswap/sdk

    Type Alias GetDeltaOrders

    GetDeltaOrders: ((options: OrdersFilter, signal?: AbortSignal) => Promise<OrderFromAPI[]>)
    diff --git a/docs/html/types/_internal_.GetDeltaPrice.html b/docs/html/types/_internal_.GetDeltaPrice.html new file mode 100644 index 00000000..5a3ad524 --- /dev/null +++ b/docs/html/types/_internal_.GetDeltaPrice.html @@ -0,0 +1 @@ +GetDeltaPrice | @paraswap/sdk

    Type Alias GetDeltaPrice

    GetDeltaPrice: ((options: DeltaPriceParams, signal?: AbortSignal) => Promise<DeltaPrice>)
    diff --git a/docs/html/types/_internal_.GetPartnerFee.html b/docs/html/types/_internal_.GetPartnerFee.html new file mode 100644 index 00000000..b75c54e1 --- /dev/null +++ b/docs/html/types/_internal_.GetPartnerFee.html @@ -0,0 +1 @@ +GetPartnerFee | @paraswap/sdk

    Type Alias GetPartnerFee

    GetPartnerFee: ((options: PartnerFeeQueryParams, signal?: AbortSignal) => Promise<PartnerFeeResponse>)
    diff --git a/docs/html/types/_internal_.InferWithTxResponse.html b/docs/html/types/_internal_.InferWithTxResponse.html index fcbbdd34..a2b05cdf 100644 --- a/docs/html/types/_internal_.InferWithTxResponse.html +++ b/docs/html/types/_internal_.InferWithTxResponse.html @@ -1 +1 @@ -InferWithTxResponse | @paraswap/sdk

    Type Alias InferWithTxResponse<Config, Funcs>

    InferWithTxResponse<Config, Funcs>: Config extends SDKConfig<infer TxResponse>
        ? IntersectionOfReturns<Funcs> extends Record<string, any>
            ? MergeExtendableRecursively<IntersectionOfReturns<Funcs>, [ApproveTokenFunctions<TxResponse>, CancelLimitOrderFunctions<TxResponse>, FillOrderDirectlyFunctions<TxResponse>, ApproveTokenForLimitOrderFunctions<TxResponse>, CancelNFTOrderFunctions<TxResponse>, ApproveTokenForNFTOrderFunctions<TxResponse>]>
            : IntersectionOfReturns<Funcs>
        : IntersectionOfReturns<Funcs>

    Type Parameters

    +InferWithTxResponse | @paraswap/sdk

    Type Alias InferWithTxResponse<Config, Funcs>

    InferWithTxResponse<Config, Funcs>: Config extends SDKConfig<infer TxResponse>
        ? IntersectionOfReturns<Funcs> extends Record<string, any>
            ? MergeExtendableRecursively<IntersectionOfReturns<Funcs>, [ApproveTokenFunctions<TxResponse>, CancelLimitOrderFunctions<TxResponse>, FillOrderDirectlyFunctions<TxResponse>, ApproveTokenForLimitOrderFunctions<TxResponse>, CancelNFTOrderFunctions<TxResponse>, ApproveTokenForNFTOrderFunctions<TxResponse>, ApproveTokenForDeltaFunctions<TxResponse>]>
            : IntersectionOfReturns<Funcs>
        : IntersectionOfReturns<Funcs>

    Type Parameters

    diff --git a/docs/html/types/_internal_.IntersectionOfReturns.html b/docs/html/types/_internal_.IntersectionOfReturns.html index b52f6650..4b3ce965 100644 --- a/docs/html/types/_internal_.IntersectionOfReturns.html +++ b/docs/html/types/_internal_.IntersectionOfReturns.html @@ -1 +1 @@ -IntersectionOfReturns | @paraswap/sdk

    Type Alias IntersectionOfReturns<Funcs>

    IntersectionOfReturns<Funcs>: UnionToIntersection<ReturnType<Funcs[number]>>

    Type Parameters

    +IntersectionOfReturns | @paraswap/sdk

    Type Alias IntersectionOfReturns<Funcs>

    IntersectionOfReturns<Funcs>: UnionToIntersection<ReturnType<Funcs[number]>>

    Type Parameters

    diff --git a/docs/html/types/_internal_.LimitOrdersFetchMethods.html b/docs/html/types/_internal_.LimitOrdersFetchMethods.html index 5738143c..99140345 100644 --- a/docs/html/types/_internal_.LimitOrdersFetchMethods.html +++ b/docs/html/types/_internal_.LimitOrdersFetchMethods.html @@ -1 +1 @@ -LimitOrdersFetchMethods | @paraswap/sdk
    +LimitOrdersFetchMethods | @paraswap/sdk
    diff --git a/docs/html/types/_internal_.MergeExtendableOnce.html b/docs/html/types/_internal_.MergeExtendableOnce.html index 498b2c4b..ff105275 100644 --- a/docs/html/types/_internal_.MergeExtendableOnce.html +++ b/docs/html/types/_internal_.MergeExtendableOnce.html @@ -1 +1 @@ -MergeExtendableOnce | @paraswap/sdk

    Type Alias MergeExtendableOnce<Accum, Replacement>

    MergeExtendableOnce<Accum, Replacement>: Accum extends Record<keyof Replacement, any>
        ? Merge<Accum, Replacement>
        : Accum

    Type Parameters

    • Accum extends Record<string, any>
    • Replacement extends Record<string, any>
    +MergeExtendableOnce | @paraswap/sdk

    Type Alias MergeExtendableOnce<Accum, Replacement>

    MergeExtendableOnce<Accum, Replacement>: Accum extends Record<keyof Replacement, any>
        ? Merge<Accum, Replacement>
        : Accum

    Type Parameters

    • Accum extends Record<string, any>
    • Replacement extends Record<string, any>
    diff --git a/docs/html/types/_internal_.MergeExtendableRecursively.html b/docs/html/types/_internal_.MergeExtendableRecursively.html index 45b80a54..c5016bee 100644 --- a/docs/html/types/_internal_.MergeExtendableRecursively.html +++ b/docs/html/types/_internal_.MergeExtendableRecursively.html @@ -1 +1 @@ -MergeExtendableRecursively | @paraswap/sdk

    Type Alias MergeExtendableRecursively<Accum, Replacements>

    MergeExtendableRecursively<Accum, Replacements>: Replacements extends [head: infer Head, tail: infer Tail]
        ? Tail extends Record<string, any>[]
            ? Head extends Record<string, any>
                ? MergeExtendableRecursively<MergeExtendableOnce<Accum, Head>, Tail>
                : Accum
            : Head extends Record<string, any>
                ? MergeExtendableOnce<Accum, Head>
                : Accum
        : Accum

    Type Parameters

    • Accum extends Record<string, any>
    • Replacements extends Record<string, any>[]
    +MergeExtendableRecursively | @paraswap/sdk

    Type Alias MergeExtendableRecursively<Accum, Replacements>

    MergeExtendableRecursively<Accum, Replacements>: Replacements extends [head: infer Head extends Record<string, any>, tail: infer Tail]
        ? Tail extends Record<string, any>[]
            ? MergeExtendableRecursively<MergeExtendableOnce<Accum, Head>, Tail>
            : MergeExtendableOnce<Accum, Head>
        : Accum

    Type Parameters

    • Accum extends Record<string, any>
    • Replacements extends Record<string, any>[]
    diff --git a/docs/html/types/_internal_.NFTOrdersFetchMethods.html b/docs/html/types/_internal_.NFTOrdersFetchMethods.html index 5542c685..4b6037c2 100644 --- a/docs/html/types/_internal_.NFTOrdersFetchMethods.html +++ b/docs/html/types/_internal_.NFTOrdersFetchMethods.html @@ -1 +1 @@ -NFTOrdersFetchMethods | @paraswap/sdk
    +NFTOrdersFetchMethods | @paraswap/sdk
    diff --git a/docs/html/types/_internal_.OrderFromAPI.html b/docs/html/types/_internal_.OrderFromAPI.html new file mode 100644 index 00000000..f9c41503 --- /dev/null +++ b/docs/html/types/_internal_.OrderFromAPI.html @@ -0,0 +1 @@ +OrderFromAPI | @paraswap/sdk
    diff --git a/docs/html/types/_internal_.OrdersFilter.html b/docs/html/types/_internal_.OrdersFilter.html new file mode 100644 index 00000000..89da3d90 --- /dev/null +++ b/docs/html/types/_internal_.OrdersFilter.html @@ -0,0 +1,4 @@ +OrdersFilter | @paraswap/sdk
    OrdersFilter: {
        limit?: number;
        page?: number;
        userAddress: Address;
    }

    Type declaration

    • Optionallimit?: number

      Pagination option, limit. Default 100

      +
    • Optionalpage?: number

      Pagination option, page. Default 1

      +
    • userAddress: Address

      Order.owner to fetch Delta Order for

      +
    diff --git a/docs/html/types/_internal_.PartnerFeeQueryParams.html b/docs/html/types/_internal_.PartnerFeeQueryParams.html new file mode 100644 index 00000000..0928b43c --- /dev/null +++ b/docs/html/types/_internal_.PartnerFeeQueryParams.html @@ -0,0 +1 @@ +PartnerFeeQueryParams | @paraswap/sdk

    Type Alias PartnerFeeQueryParams

    PartnerFeeQueryParams: {
        partner: string;
    }
    diff --git a/docs/html/types/_internal_.PartnerFeeResponse.html b/docs/html/types/_internal_.PartnerFeeResponse.html new file mode 100644 index 00000000..360b03fe --- /dev/null +++ b/docs/html/types/_internal_.PartnerFeeResponse.html @@ -0,0 +1 @@ +PartnerFeeResponse | @paraswap/sdk

    Type Alias PartnerFeeResponse

    PartnerFeeResponse: {
        partnerAddress: string;
        partnerFee: number;
        takeSurplus: boolean;
    }
    diff --git a/docs/html/types/_internal_.PostDeltaOrder.html b/docs/html/types/_internal_.PostDeltaOrder.html new file mode 100644 index 00000000..7be9e476 --- /dev/null +++ b/docs/html/types/_internal_.PostDeltaOrder.html @@ -0,0 +1 @@ +PostDeltaOrder | @paraswap/sdk

    Type Alias PostDeltaOrder

    PostDeltaOrder: ((postData: PostDeltaOrderParams, signal?: AbortSignal) => Promise<DeltaOrderApiResponse>)
    diff --git a/docs/html/types/_internal_.QuoteFetchMethods.html b/docs/html/types/_internal_.QuoteFetchMethods.html new file mode 100644 index 00000000..fbb3a09e --- /dev/null +++ b/docs/html/types/_internal_.QuoteFetchMethods.html @@ -0,0 +1 @@ +QuoteFetchMethods | @paraswap/sdk

    Type Alias QuoteFetchMethods

    QuoteFetchMethods: GetQuoteFunctions
    diff --git a/docs/html/types/_internal_.SDKFunction.html b/docs/html/types/_internal_.SDKFunction.html index 57f34602..53a2d5fd 100644 --- a/docs/html/types/_internal_.SDKFunction.html +++ b/docs/html/types/_internal_.SDKFunction.html @@ -1 +1 @@ -SDKFunction | @paraswap/sdk

    Type Alias SDKFunction<T>

    SDKFunction<T>: ((config: T) => Record<string, AnyFunction | Record<string, AnyFunction>>)

    Type Parameters

    +SDKFunction | @paraswap/sdk

    Type Alias SDKFunction<T>

    SDKFunction<T>: ((config: T) => Record<string, AnyFunction | Record<string, AnyFunction>>)

    Type Parameters

    diff --git a/docs/html/types/_internal_.SignDeltaOrder.html b/docs/html/types/_internal_.SignDeltaOrder.html new file mode 100644 index 00000000..141bae78 --- /dev/null +++ b/docs/html/types/_internal_.SignDeltaOrder.html @@ -0,0 +1 @@ +SignDeltaOrder | @paraswap/sdk

    Type Alias SignDeltaOrder

    SignDeltaOrder: ((signableOrderData: SignableDeltaOrderData) => Promise<string>)
    diff --git a/docs/html/types/_internal_.SimpleOptions.html b/docs/html/types/_internal_.SimpleOptions.html index 140405ef..628b45e5 100644 --- a/docs/html/types/_internal_.SimpleOptions.html +++ b/docs/html/types/_internal_.SimpleOptions.html @@ -1 +1 @@ -SimpleOptions | @paraswap/sdk
    +SimpleOptions | @paraswap/sdk
    diff --git a/docs/html/types/_internal_.SubmitDeltaOrder.html b/docs/html/types/_internal_.SubmitDeltaOrder.html new file mode 100644 index 00000000..347a627f --- /dev/null +++ b/docs/html/types/_internal_.SubmitDeltaOrder.html @@ -0,0 +1 @@ +SubmitDeltaOrder | @paraswap/sdk

    Type Alias SubmitDeltaOrder

    SubmitDeltaOrder: ((orderParams: SubmitDeltaOrderParams) => Promise<ParaswapDeltaAuction>)
    diff --git a/docs/html/types/_internal_.SubmitDeltaOrderFuncs.html b/docs/html/types/_internal_.SubmitDeltaOrderFuncs.html new file mode 100644 index 00000000..c5e2d318 --- /dev/null +++ b/docs/html/types/_internal_.SubmitDeltaOrderFuncs.html @@ -0,0 +1 @@ +SubmitDeltaOrderFuncs | @paraswap/sdk

    Type Alias SubmitDeltaOrderFuncs

    SubmitDeltaOrderFuncs: {
        submitDeltaOrder: SubmitDeltaOrder;
    }
    diff --git a/docs/html/types/_internal_.SwapFetchMethods.html b/docs/html/types/_internal_.SwapFetchMethods.html index 9dda7b3d..20288768 100644 --- a/docs/html/types/_internal_.SwapFetchMethods.html +++ b/docs/html/types/_internal_.SwapFetchMethods.html @@ -1 +1 @@ -SwapFetchMethods | @paraswap/sdk
    +SwapFetchMethods | @paraswap/sdk
    diff --git a/docs/html/types/_internal_.SwapSideUnion.html b/docs/html/types/_internal_.SwapSideUnion.html new file mode 100644 index 00000000..ffe3313a --- /dev/null +++ b/docs/html/types/_internal_.SwapSideUnion.html @@ -0,0 +1 @@ +SwapSideUnion | @paraswap/sdk
    diff --git a/docs/html/types/_internal_.TradeMode.html b/docs/html/types/_internal_.TradeMode.html new file mode 100644 index 00000000..66897e51 --- /dev/null +++ b/docs/html/types/_internal_.TradeMode.html @@ -0,0 +1 @@ +TradeMode | @paraswap/sdk
    TradeMode: "delta" | "market" | "all"
    diff --git a/docs/html/types/_internal_.WalletActions.html b/docs/html/types/_internal_.WalletActions.html index 0d6314b1..71cab36f 100644 --- a/docs/html/types/_internal_.WalletActions.html +++ b/docs/html/types/_internal_.WalletActions.html @@ -12,7 +12,7 @@
  • Docs: https://viem.sh/docs/contract/deployContract
  • Examples: https://stackblitz.com/github/wevm/viem/tree/main/examples/contracts/deploying-contracts
  • -
    import { createWalletClient, http } from 'viem'
    import { privateKeyToAccount } from 'viem/accounts'
    import { mainnet } from 'viem/chains'

    const client = createWalletClient({
    account: privateKeyToAccount('0x…'),
    chain: mainnet,
    transport: http(),
    })
    const hash = await client.deployContract({
    abi: [],
    account: '0x…,
    bytecode: '0x608060405260405161083e38038061083e833981016040819052610...',
    }) +
    import { createWalletClient, http } from 'viem'
    import { privateKeyToAccount } from 'viem/accounts'
    import { mainnet } from 'viem/chains'

    const client = createWalletClient({
    account: privateKeyToAccount('0x…'),
    chain: mainnet,
    transport: http(),
    })
    const hash = await client.deployContract({
    abi: [],
    account: '0x…,
    bytecode: '0x608060405260405161083e38038061083e833981016040819052610...',
    })
      • <const abi, chainOverride>(args): Promise<DeployContractReturnType>
      • Type Parameters

        • const abi extends Abi | readonly unknown[]
        • chainOverride extends Chain | undefined

        Parameters

        • args: DeployContractParameters<abi, chain, account, chainOverride>

          DeployContractParameters

          diff --git a/docs/html/variables/_internal_.Order-1.html b/docs/html/variables/_internal_.Order-1.html new file mode 100644 index 00000000..36d199da --- /dev/null +++ b/docs/html/variables/_internal_.Order-1.html @@ -0,0 +1 @@ +Order | @paraswap/sdk

          Variable OrderConst

          Order: {
              name: string;
              type: string;
          }[] = ...
          diff --git a/docs/md/-internal-/README.md b/docs/md/-internal-/README.md index 2130557f..4dcbad34 100644 --- a/docs/md/-internal-/README.md +++ b/docs/md/-internal-/README.md @@ -250,6 +250,7 @@ - [GenericHTMLFormElement](interfaces/GenericHTMLFormElement.md) - [GenesisBlockConfig](interfaces/GenesisBlockConfig.md) - [GethConfigOpts](interfaces/GethConfigOpts.md) +- [GetQuoteFunc](interfaces/GetQuoteFunc.md) - [HardforkConfig](interfaces/HardforkConfig.md) - [HeadersDefaults](interfaces/HeadersDefaults.md) - [Hexable](interfaces/Hexable.md) @@ -475,6 +476,7 @@ - [BlockTag](type-aliases/BlockTag.md) - [Branded](type-aliases/Branded.md) - [BufferEncoding](type-aliases/BufferEncoding.md) +- [BuildDeltaOrder](type-aliases/BuildDeltaOrder.md) - [BuildLimitOrder](type-aliases/BuildLimitOrder.md) - [BuildLimitOrdersTx](type-aliases/BuildLimitOrdersTx.md) - [BuildNFTOrder](type-aliases/BuildNFTOrder.md) @@ -571,6 +573,11 @@ - [DefaultEventParameterOptions](type-aliases/DefaultEventParameterOptions.md) - [DefaultRegister](type-aliases/DefaultRegister.md) - [Deferrable](type-aliases/Deferrable.md) +- [DeltaAuctionStatus](type-aliases/DeltaAuctionStatus.md) +- [DeltaAuctionTransaction](type-aliases/DeltaAuctionTransaction.md) +- [DeltaFetchMethods](type-aliases/DeltaFetchMethods.md) +- [DeltaOrderApiResponse](type-aliases/DeltaOrderApiResponse.md) +- [DeltaOrderToPost](type-aliases/DeltaOrderToPost.md) - [DeployContractParameters](type-aliases/DeployContractParameters.md) - [DeployContractReturnType](type-aliases/DeployContractReturnType.md) - [DeriveAccount](type-aliases/DeriveAccount.md) @@ -628,6 +635,7 @@ - [ExtractChainFormatterParameters](type-aliases/ExtractChainFormatterParameters.md) - [ExtractChainFormatterReturnType](type-aliases/ExtractChainFormatterReturnType.md) - [ExtraFetchParams](type-aliases/ExtraFetchParams.md) +- [FallbackReason](type-aliases/FallbackReason.md) - [FallbackTransport](type-aliases/FallbackTransport.md) - [FeeHistory](type-aliases/FeeHistory.md) - [FeeHistoryResultAPI](type-aliases/FeeHistoryResultAPI.md) @@ -684,6 +692,10 @@ - [GetContractEventsParameters](type-aliases/GetContractEventsParameters.md) - [GetContractEventsReturnType](type-aliases/GetContractEventsReturnType.md) - [GetContracts](type-aliases/GetContracts.md) +- [GetDeltaContract](type-aliases/GetDeltaContract.md) +- [GetDeltaOrderById](type-aliases/GetDeltaOrderById.md) +- [GetDeltaOrders](type-aliases/GetDeltaOrders.md) +- [GetDeltaPrice](type-aliases/GetDeltaPrice.md) - [GetEip712DomainParameters](type-aliases/GetEip712DomainParameters.md) - [GetEip712DomainReturnType](type-aliases/GetEip712DomainReturnType.md) - [GetEnsAddressParameters](type-aliases/GetEnsAddressParameters.md) @@ -716,6 +728,7 @@ - [GetNFTOrderByHash](type-aliases/GetNFTOrderByHash.md) - [GetNFTOrders](type-aliases/GetNFTOrders.md) - [GetNFTOrdersRate](type-aliases/GetNFTOrdersRate.md) +- [GetPartnerFee](type-aliases/GetPartnerFee.md) - [GetPermissionsReturnType](type-aliases/GetPermissionsReturnType.md) - [GetPollOptions](type-aliases/GetPollOptions.md) - [GetProofParameters](type-aliases/GetProofParameters.md) @@ -844,6 +857,8 @@ - [OptimalRoute](type-aliases/OptimalRoute.md) - [OptimalSwap](type-aliases/OptimalSwap.md) - [OptimalSwapExchange](type-aliases/OptimalSwapExchange.md) +- [OrderFromAPI](type-aliases/OrderFromAPI.md) +- [OrdersFilter](type-aliases/OrdersFilter.md) - [OrphanFilter](type-aliases/OrphanFilter.md) - [PaginationParams](type-aliases/PaginationParams.md) - [Parameters](type-aliases/Parameters.md) @@ -853,8 +868,11 @@ - [ParseAccount](type-aliases/ParseAccount.md) - [Partial](type-aliases/Partial.md) - [PartialBy](type-aliases/PartialBy.md) +- [PartnerFeeQueryParams](type-aliases/PartnerFeeQueryParams.md) +- [PartnerFeeResponse](type-aliases/PartnerFeeResponse.md) - [PaymasterRpcSchema](type-aliases/PaymasterRpcSchema.md) - [Pick](type-aliases/Pick.md) +- [PostDeltaOrder](type-aliases/PostDeltaOrder.md) - [PostfixOverrides](type-aliases/PostfixOverrides.md) - [PostLimitOrder](type-aliases/PostLimitOrder.md) - [PostNFTOrder](type-aliases/PostNFTOrder.md) @@ -873,6 +891,7 @@ - [PublicActions](type-aliases/PublicActions.md) - [PublicRpcSchema](type-aliases/PublicRpcSchema.md) - [Quantity](type-aliases/Quantity.md) +- [QuoteFetchMethods](type-aliases/QuoteFetchMethods.md) - [Range](type-aliases/Range.md) - [RateOptions](type-aliases/RateOptions.md) - [RawAxiosRequestHeaders](type-aliases/RawAxiosRequestHeaders.md) @@ -939,6 +958,7 @@ - [SignatureLike](type-aliases/SignatureLike.md) - [SignatureObject](type-aliases/SignatureObject.md) - [SignAuthorizationReturnType](type-aliases/SignAuthorizationReturnType.md) +- [SignDeltaOrder](type-aliases/SignDeltaOrder.md) - [SignedAuthorization](type-aliases/SignedAuthorization.md) - [SignedAuthorizationList](type-aliases/SignedAuthorizationList.md) - [SignMessageParameters](type-aliases/SignMessageParameters.md) @@ -981,6 +1001,8 @@ - [StaticContractCallerFn](type-aliases/StaticContractCallerFn.md) - [Status](type-aliases/Status.md) - [StorageProof](type-aliases/StorageProof.md) +- [SubmitDeltaOrder](type-aliases/SubmitDeltaOrder.md) +- [SubmitDeltaOrderFuncs](type-aliases/SubmitDeltaOrderFuncs.md) - [SubmitLimitOrder](type-aliases/SubmitLimitOrder.md) - [SubmitNFTOrder](type-aliases/SubmitNFTOrder.md) - [SubmitP2POrder](type-aliases/SubmitP2POrder.md) @@ -989,6 +1011,7 @@ - [SwapFetchMethods](type-aliases/SwapFetchMethods.md) - [SwapQueryParams](type-aliases/SwapQueryParams.md) - [SwapRateOptions](type-aliases/SwapRateOptions.md) +- [SwapSideUnion](type-aliases/SwapSideUnion.md) - [SwapTxInput](type-aliases/SwapTxInput.md) - [SwapTxInputFields](type-aliases/SwapTxInputFields.md) - [SwapTxInputListFields](type-aliases/SwapTxInputListFields.md) @@ -1004,6 +1027,7 @@ - [TokenType](type-aliases/TokenType.md) - [TopicFilter](type-aliases/TopicFilter.md) - [Topics](type-aliases/Topics.md) +- [TradeMode](type-aliases/TradeMode.md) - [Transaction](type-aliases/Transaction.md) - [TransactionBase](type-aliases/TransactionBase.md) - [TransactionBuilder](type-aliases/TransactionBuilder.md) @@ -1160,6 +1184,7 @@ - [NOT\_FOUND\_RESPONSE](variables/NOT_FOUND_RESPONSE.md) - [Object](variables/Object.md) - [Order](variables/Order.md) +- [Order](variables/Order.md) - [OrderNFT](variables/OrderNFT.md) - [ReadableByteStreamController](variables/ReadableByteStreamController.md) - [ReadableStream](variables/ReadableStream.md) diff --git a/docs/md/-internal-/interfaces/AdaptersContractsResult.md b/docs/md/-internal-/interfaces/AdaptersContractsResult.md index f2d7a1da..5d7dde33 100644 --- a/docs/md/-internal-/interfaces/AdaptersContractsResult.md +++ b/docs/md/-internal-/interfaces/AdaptersContractsResult.md @@ -28,6 +28,30 @@ *** +### Executors + +> **Executors**: `object` + +#### Index Signature + + \[`key`: \`Executor$\{number\}\`\]: `string` + +#### Defined in + +[src/methods/swap/spender.ts:19](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/swap/spender.ts#L19) + +*** + +### ParaswapDelta? + +> `optional` **ParaswapDelta**: `string` + +#### Defined in + +[src/methods/swap/spender.ts:22](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/swap/spender.ts#L22) + +*** + ### TokenTransferProxy > **TokenTransferProxy**: `string` diff --git a/docs/md/-internal-/interfaces/GetQuoteFunc.md b/docs/md/-internal-/interfaces/GetQuoteFunc.md new file mode 100644 index 00000000..dc7afde5 --- /dev/null +++ b/docs/md/-internal-/interfaces/GetQuoteFunc.md @@ -0,0 +1,71 @@ +[**@paraswap/sdk**](../../README.md) • **Docs** + +*** + +[@paraswap/sdk](../../globals.md) / [\](../README.md) / GetQuoteFunc + +# Interface: GetQuoteFunc() + +> **GetQuoteFunc**(`options`, `signal`?): `Promise`\<[`QuoteWithDeltaPrice`](../../type-aliases/QuoteWithDeltaPrice.md)\> + +## Parameters + +• **options**: [`QuoteParams`](../../type-aliases/QuoteParams.md)\<`"delta"`\> + +• **signal?**: `AbortSignal` + +## Returns + +`Promise`\<[`QuoteWithDeltaPrice`](../../type-aliases/QuoteWithDeltaPrice.md)\> + +## Defined in + +[src/methods/quote/getQuote.ts:62](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/quote/getQuote.ts#L62) + +> **GetQuoteFunc**(`options`, `signal`?): `Promise`\<[`QuoteWithMarketPrice`](../../type-aliases/QuoteWithMarketPrice.md)\> + +## Parameters + +• **options**: [`QuoteParams`](../../type-aliases/QuoteParams.md)\<`"market"`\> + +• **signal?**: `AbortSignal` + +## Returns + +`Promise`\<[`QuoteWithMarketPrice`](../../type-aliases/QuoteWithMarketPrice.md)\> + +## Defined in + +[src/methods/quote/getQuote.ts:66](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/quote/getQuote.ts#L66) + +> **GetQuoteFunc**(`options`, `signal`?): `Promise`\<[`QuoteWithDeltaPrice`](../../type-aliases/QuoteWithDeltaPrice.md) \| [`QuoteWithMarketPriceAsFallback`](../../type-aliases/QuoteWithMarketPriceAsFallback.md)\> + +## Parameters + +• **options**: [`QuoteParams`](../../type-aliases/QuoteParams.md)\<`"all"`\> + +• **signal?**: `AbortSignal` + +## Returns + +`Promise`\<[`QuoteWithDeltaPrice`](../../type-aliases/QuoteWithDeltaPrice.md) \| [`QuoteWithMarketPriceAsFallback`](../../type-aliases/QuoteWithMarketPriceAsFallback.md)\> + +## Defined in + +[src/methods/quote/getQuote.ts:70](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/quote/getQuote.ts#L70) + +> **GetQuoteFunc**(`options`, `signal`?): `Promise`\<[`QuoteResponse`](../../type-aliases/QuoteResponse.md)\> + +## Parameters + +• **options**: [`QuoteParams`](../../type-aliases/QuoteParams.md)\<[`TradeMode`](../type-aliases/TradeMode.md)\> + +• **signal?**: `AbortSignal` + +## Returns + +`Promise`\<[`QuoteResponse`](../../type-aliases/QuoteResponse.md)\> + +## Defined in + +[src/methods/quote/getQuote.ts:73](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/quote/getQuote.ts#L73) diff --git a/docs/md/-internal-/type-aliases/BuildDeltaOrder.md b/docs/md/-internal-/type-aliases/BuildDeltaOrder.md new file mode 100644 index 00000000..5472f0a3 --- /dev/null +++ b/docs/md/-internal-/type-aliases/BuildDeltaOrder.md @@ -0,0 +1,23 @@ +[**@paraswap/sdk**](../../README.md) • **Docs** + +*** + +[@paraswap/sdk](../../globals.md) / [\](../README.md) / BuildDeltaOrder + +# Type Alias: BuildDeltaOrder() + +> **BuildDeltaOrder**: (`buildOrderParams`, `signal`?) => `Promise`\<[`SignableDeltaOrderData`](../../type-aliases/SignableDeltaOrderData.md)\> + +## Parameters + +• **buildOrderParams**: [`BuildDeltaOrderDataParams`](../../type-aliases/BuildDeltaOrderDataParams.md) + +• **signal?**: `AbortSignal` + +## Returns + +`Promise`\<[`SignableDeltaOrderData`](../../type-aliases/SignableDeltaOrderData.md)\> + +## Defined in + +[src/methods/delta/buildDeltaOrder.ts:41](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/buildDeltaOrder.ts#L41) diff --git a/docs/md/-internal-/type-aliases/DeltaAuctionStatus.md b/docs/md/-internal-/type-aliases/DeltaAuctionStatus.md new file mode 100644 index 00000000..2c9463e5 --- /dev/null +++ b/docs/md/-internal-/type-aliases/DeltaAuctionStatus.md @@ -0,0 +1,13 @@ +[**@paraswap/sdk**](../../README.md) • **Docs** + +*** + +[@paraswap/sdk](../../globals.md) / [\](../README.md) / DeltaAuctionStatus + +# Type Alias: DeltaAuctionStatus + +> **DeltaAuctionStatus**: `"NOT_STARTED"` \| `"POSTED"` \| `"RUNNING"` \| `"EXECUTING"` \| `"EXECUTED"` \| `"FAILED"` \| `"EXPIRED"` + +## Defined in + +[src/methods/delta/helpers/types.ts:26](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/helpers/types.ts#L26) diff --git a/docs/md/-internal-/type-aliases/DeltaAuctionTransaction.md b/docs/md/-internal-/type-aliases/DeltaAuctionTransaction.md new file mode 100644 index 00000000..1f46bac7 --- /dev/null +++ b/docs/md/-internal-/type-aliases/DeltaAuctionTransaction.md @@ -0,0 +1,91 @@ +[**@paraswap/sdk**](../../README.md) • **Docs** + +*** + +[@paraswap/sdk](../../globals.md) / [\](../README.md) / DeltaAuctionTransaction + +# Type Alias: DeltaAuctionTransaction + +> **DeltaAuctionTransaction**: `object` + +## Type declaration + +### agent + +> **agent**: `string` + +### auctionId + +> **auctionId**: `string` + +### blobGasPrice + +> **blobGasPrice**: `bigint` + +### blobGasUsed + +> **blobGasUsed**: `bigint` + +### blockHash + +> **blockHash**: `string` + +### blockNumber + +> **blockNumber**: `number` + +### filledPercent + +> **filledPercent**: `number` + +### from + +> **from**: `string` + +### gasPrice + +> **gasPrice**: `bigint` + +### gasUsed + +> **gasUsed**: `bigint` + +### hash + +> **hash**: `string` + +### id + +> **id**: `string` + +### index + +> **index**: `number` + +### partnerFee + +> **partnerFee**: `string` + +### protocolFee + +> **protocolFee**: `string` + +### receivedAmount + +> **receivedAmount**: `string` + +### spentAmount + +> **spentAmount**: `string` + +### status + +> **status**: `number` + +### to + +> **to**: `string` + +## Defined in + +[src/methods/delta/helpers/types.ts:35](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/helpers/types.ts#L35) diff --git a/docs/md/-internal-/type-aliases/DeltaFetchMethods.md b/docs/md/-internal-/type-aliases/DeltaFetchMethods.md new file mode 100644 index 00000000..99ff4af5 --- /dev/null +++ b/docs/md/-internal-/type-aliases/DeltaFetchMethods.md @@ -0,0 +1,13 @@ +[**@paraswap/sdk**](../../README.md) • **Docs** + +*** + +[@paraswap/sdk](../../globals.md) / [\](../README.md) / DeltaFetchMethods + +# Type Alias: DeltaFetchMethods + +> **DeltaFetchMethods**: [`BuildDeltaOrderFunctions`](../../type-aliases/BuildDeltaOrderFunctions.md) & [`GetDeltaOrdersFunctions`](../../type-aliases/GetDeltaOrdersFunctions.md) & [`GetDeltaPriceFunctions`](../../type-aliases/GetDeltaPriceFunctions.md) & [`GetDeltaContractFunctions`](../../type-aliases/GetDeltaContractFunctions.md) & [`GetPartnerFeeFunctions`](../../type-aliases/GetPartnerFeeFunctions.md) & [`PostDeltaOrderFunctions`](../../type-aliases/PostDeltaOrderFunctions.md) + +## Defined in + +[src/sdk/simple.ts:152](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/simple.ts#L152) diff --git a/docs/md/-internal-/type-aliases/DeltaOrderApiResponse.md b/docs/md/-internal-/type-aliases/DeltaOrderApiResponse.md new file mode 100644 index 00000000..034e6682 --- /dev/null +++ b/docs/md/-internal-/type-aliases/DeltaOrderApiResponse.md @@ -0,0 +1,13 @@ +[**@paraswap/sdk**](../../README.md) • **Docs** + +*** + +[@paraswap/sdk](../../globals.md) / [\](../README.md) / DeltaOrderApiResponse + +# Type Alias: DeltaOrderApiResponse + +> **DeltaOrderApiResponse**: [`ParaswapDeltaAuction`](../../type-aliases/ParaswapDeltaAuction.md) + +## Defined in + +[src/methods/delta/postDeltaOrder.ts:18](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/postDeltaOrder.ts#L18) diff --git a/docs/md/-internal-/type-aliases/DeltaOrderToPost.md b/docs/md/-internal-/type-aliases/DeltaOrderToPost.md new file mode 100644 index 00000000..c0132a43 --- /dev/null +++ b/docs/md/-internal-/type-aliases/DeltaOrderToPost.md @@ -0,0 +1,47 @@ +[**@paraswap/sdk**](../../README.md) • **Docs** + +*** + +[@paraswap/sdk](../../globals.md) / [\](../README.md) / DeltaOrderToPost + +# Type Alias: DeltaOrderToPost + +> **DeltaOrderToPost**: `object` + +## Type declaration + +### chainId + +> **chainId**: `number` + +### order + +> **order**: [`DeltaAuctionOrder`](../../type-aliases/DeltaAuctionOrder.md) + +### partiallyFillable? + +> `optional` **partiallyFillable**: `boolean` + +#### Description + +designates the Order as being able to partilly filled, as opposed to fill-or-kill + +### partner? + +> `optional` **partner**: `string` + +#### Description + +Partner string + +### signature + +> **signature**: `string` + +#### Description + +Signature of the order from order.owner address. EOA signatures must be submitted in ERC-2098 Compact Representation. + +## Defined in + +[src/methods/delta/postDeltaOrder.ts:5](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/postDeltaOrder.ts#L5) diff --git a/docs/md/-internal-/type-aliases/FallbackReason.md b/docs/md/-internal-/type-aliases/FallbackReason.md new file mode 100644 index 00000000..c88e3019 --- /dev/null +++ b/docs/md/-internal-/type-aliases/FallbackReason.md @@ -0,0 +1,23 @@ +[**@paraswap/sdk**](../../README.md) • **Docs** + +*** + +[@paraswap/sdk](../../globals.md) / [\](../README.md) / FallbackReason + +# Type Alias: FallbackReason + +> **FallbackReason**: `object` + +## Type declaration + +### details + +> **details**: `string` + +### errorType + +> **errorType**: `string` + +## Defined in + +[src/methods/quote/getQuote.ts:39](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/quote/getQuote.ts#L39) diff --git a/docs/md/-internal-/type-aliases/FetcherOptions.md b/docs/md/-internal-/type-aliases/FetcherOptions.md index a6300b70..1a28d8ea 100644 --- a/docs/md/-internal-/type-aliases/FetcherOptions.md +++ b/docs/md/-internal-/type-aliases/FetcherOptions.md @@ -10,4 +10,4 @@ ## Defined in -[src/sdk/simple.ts:132](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/simple.ts#L132) +[src/sdk/simple.ts:177](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/simple.ts#L177) diff --git a/docs/md/-internal-/type-aliases/GetDeltaContract.md b/docs/md/-internal-/type-aliases/GetDeltaContract.md new file mode 100644 index 00000000..56c34633 --- /dev/null +++ b/docs/md/-internal-/type-aliases/GetDeltaContract.md @@ -0,0 +1,21 @@ +[**@paraswap/sdk**](../../README.md) • **Docs** + +*** + +[@paraswap/sdk](../../globals.md) / [\](../README.md) / GetDeltaContract + +# Type Alias: GetDeltaContract() + +> **GetDeltaContract**: (`signal`?) => `Promise`\<[`Address`](../../type-aliases/Address.md) \| `null`\> + +## Parameters + +• **signal?**: `AbortSignal` + +## Returns + +`Promise`\<[`Address`](../../type-aliases/Address.md) \| `null`\> + +## Defined in + +[src/methods/delta/getDeltaContract.ts:4](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/getDeltaContract.ts#L4) diff --git a/docs/md/-internal-/type-aliases/GetDeltaOrderById.md b/docs/md/-internal-/type-aliases/GetDeltaOrderById.md new file mode 100644 index 00000000..1ef1caa3 --- /dev/null +++ b/docs/md/-internal-/type-aliases/GetDeltaOrderById.md @@ -0,0 +1,23 @@ +[**@paraswap/sdk**](../../README.md) • **Docs** + +*** + +[@paraswap/sdk](../../globals.md) / [\](../README.md) / GetDeltaOrderById + +# Type Alias: GetDeltaOrderById() + +> **GetDeltaOrderById**: (`orderId`, `signal`?) => `Promise`\<[`OrderFromAPI`](OrderFromAPI.md) \| `null`\> + +## Parameters + +• **orderId**: `string` + +• **signal?**: `AbortSignal` + +## Returns + +`Promise`\<[`OrderFromAPI`](OrderFromAPI.md) \| `null`\> + +## Defined in + +[src/methods/delta/getDeltaOrders.ts:8](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/getDeltaOrders.ts#L8) diff --git a/docs/md/-internal-/type-aliases/GetDeltaOrders.md b/docs/md/-internal-/type-aliases/GetDeltaOrders.md new file mode 100644 index 00000000..094ba168 --- /dev/null +++ b/docs/md/-internal-/type-aliases/GetDeltaOrders.md @@ -0,0 +1,23 @@ +[**@paraswap/sdk**](../../README.md) • **Docs** + +*** + +[@paraswap/sdk](../../globals.md) / [\](../README.md) / GetDeltaOrders + +# Type Alias: GetDeltaOrders() + +> **GetDeltaOrders**: (`options`, `signal`?) => `Promise`\<[`OrderFromAPI`](OrderFromAPI.md)[]\> + +## Parameters + +• **options**: [`OrdersFilter`](OrdersFilter.md) + +• **signal?**: `AbortSignal` + +## Returns + +`Promise`\<[`OrderFromAPI`](OrderFromAPI.md)[]\> + +## Defined in + +[src/methods/delta/getDeltaOrders.ts:23](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/getDeltaOrders.ts#L23) diff --git a/docs/md/-internal-/type-aliases/GetDeltaPrice.md b/docs/md/-internal-/type-aliases/GetDeltaPrice.md new file mode 100644 index 00000000..439916e5 --- /dev/null +++ b/docs/md/-internal-/type-aliases/GetDeltaPrice.md @@ -0,0 +1,23 @@ +[**@paraswap/sdk**](../../README.md) • **Docs** + +*** + +[@paraswap/sdk](../../globals.md) / [\](../README.md) / GetDeltaPrice + +# Type Alias: GetDeltaPrice() + +> **GetDeltaPrice**: (`options`, `signal`?) => `Promise`\<[`DeltaPrice`](../../type-aliases/DeltaPrice.md)\> + +## Parameters + +• **options**: [`DeltaPriceParams`](../../type-aliases/DeltaPriceParams.md) + +• **signal?**: `AbortSignal` + +## Returns + +`Promise`\<[`DeltaPrice`](../../type-aliases/DeltaPrice.md)\> + +## Defined in + +[src/methods/delta/getDeltaPrice.ts:49](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/getDeltaPrice.ts#L49) diff --git a/docs/md/-internal-/type-aliases/GetPartnerFee.md b/docs/md/-internal-/type-aliases/GetPartnerFee.md new file mode 100644 index 00000000..2644a229 --- /dev/null +++ b/docs/md/-internal-/type-aliases/GetPartnerFee.md @@ -0,0 +1,23 @@ +[**@paraswap/sdk**](../../README.md) • **Docs** + +*** + +[@paraswap/sdk](../../globals.md) / [\](../README.md) / GetPartnerFee + +# Type Alias: GetPartnerFee() + +> **GetPartnerFee**: (`options`, `signal`?) => `Promise`\<[`PartnerFeeResponse`](PartnerFeeResponse.md)\> + +## Parameters + +• **options**: [`PartnerFeeQueryParams`](PartnerFeeQueryParams.md) + +• **signal?**: `AbortSignal` + +## Returns + +`Promise`\<[`PartnerFeeResponse`](PartnerFeeResponse.md)\> + +## Defined in + +[src/methods/delta/getPartnerFee.ts:15](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/getPartnerFee.ts#L15) diff --git a/docs/md/-internal-/type-aliases/InferWithTxResponse.md b/docs/md/-internal-/type-aliases/InferWithTxResponse.md index 077467e2..c67279c2 100644 --- a/docs/md/-internal-/type-aliases/InferWithTxResponse.md +++ b/docs/md/-internal-/type-aliases/InferWithTxResponse.md @@ -6,7 +6,7 @@ # Type Alias: InferWithTxResponse\ -> **InferWithTxResponse**\<`Config`, `Funcs`\>: `Config` *extends* [`SDKConfig`](../../type-aliases/SDKConfig.md)\ ? [`IntersectionOfReturns`](IntersectionOfReturns.md)\<`Funcs`\> *extends* [`Record`](Record.md)\<`string`, `any`\> ? [`MergeExtendableRecursively`](MergeExtendableRecursively.md)\<[`IntersectionOfReturns`](IntersectionOfReturns.md)\<`Funcs`\>, [[`ApproveTokenFunctions`](../../type-aliases/ApproveTokenFunctions.md)\<`TxResponse`\>, [`CancelLimitOrderFunctions`](../../type-aliases/CancelLimitOrderFunctions.md)\<`TxResponse`\>, [`FillOrderDirectlyFunctions`](../../type-aliases/FillOrderDirectlyFunctions.md)\<`TxResponse`\>, [`ApproveTokenForLimitOrderFunctions`](../../type-aliases/ApproveTokenForLimitOrderFunctions.md)\<`TxResponse`\>, [`CancelNFTOrderFunctions`](../../type-aliases/CancelNFTOrderFunctions.md)\<`TxResponse`\>, [`ApproveTokenForNFTOrderFunctions`](../../type-aliases/ApproveTokenForNFTOrderFunctions.md)\<`TxResponse`\>]\> : [`IntersectionOfReturns`](IntersectionOfReturns.md)\<`Funcs`\> : [`IntersectionOfReturns`](IntersectionOfReturns.md)\<`Funcs`\> +> **InferWithTxResponse**\<`Config`, `Funcs`\>: `Config` *extends* [`SDKConfig`](../../type-aliases/SDKConfig.md)\ ? [`IntersectionOfReturns`](IntersectionOfReturns.md)\<`Funcs`\> *extends* [`Record`](Record.md)\<`string`, `any`\> ? [`MergeExtendableRecursively`](MergeExtendableRecursively.md)\<[`IntersectionOfReturns`](IntersectionOfReturns.md)\<`Funcs`\>, [[`ApproveTokenFunctions`](../../type-aliases/ApproveTokenFunctions.md)\<`TxResponse`\>, [`CancelLimitOrderFunctions`](../../type-aliases/CancelLimitOrderFunctions.md)\<`TxResponse`\>, [`FillOrderDirectlyFunctions`](../../type-aliases/FillOrderDirectlyFunctions.md)\<`TxResponse`\>, [`ApproveTokenForLimitOrderFunctions`](../../type-aliases/ApproveTokenForLimitOrderFunctions.md)\<`TxResponse`\>, [`CancelNFTOrderFunctions`](../../type-aliases/CancelNFTOrderFunctions.md)\<`TxResponse`\>, [`ApproveTokenForNFTOrderFunctions`](../../type-aliases/ApproveTokenForNFTOrderFunctions.md)\<`TxResponse`\>, [`ApproveTokenForDeltaFunctions`](../../type-aliases/ApproveTokenForDeltaFunctions.md)\<`TxResponse`\>]\> : [`IntersectionOfReturns`](IntersectionOfReturns.md)\<`Funcs`\> : [`IntersectionOfReturns`](IntersectionOfReturns.md)\<`Funcs`\> ## Type Parameters @@ -16,4 +16,4 @@ ## Defined in -[src/sdk/partial.ts:35](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/partial.ts#L35) +[src/sdk/partial.ts:36](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/partial.ts#L36) diff --git a/docs/md/-internal-/type-aliases/IntersectionOfReturns.md b/docs/md/-internal-/type-aliases/IntersectionOfReturns.md index 16966422..2f8451c5 100644 --- a/docs/md/-internal-/type-aliases/IntersectionOfReturns.md +++ b/docs/md/-internal-/type-aliases/IntersectionOfReturns.md @@ -14,4 +14,4 @@ ## Defined in -[src/sdk/partial.ts:26](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/partial.ts#L26) +[src/sdk/partial.ts:27](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/partial.ts#L27) diff --git a/docs/md/-internal-/type-aliases/LimitOrdersFetchMethods.md b/docs/md/-internal-/type-aliases/LimitOrdersFetchMethods.md index 6bff6c8f..a95774b9 100644 --- a/docs/md/-internal-/type-aliases/LimitOrdersFetchMethods.md +++ b/docs/md/-internal-/type-aliases/LimitOrdersFetchMethods.md @@ -10,4 +10,4 @@ ## Defined in -[src/sdk/simple.ts:108](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/simple.ts#L108) +[src/sdk/simple.ts:140](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/simple.ts#L140) diff --git a/docs/md/-internal-/type-aliases/MergeExtendableOnce.md b/docs/md/-internal-/type-aliases/MergeExtendableOnce.md index 0da7342e..ca53951c 100644 --- a/docs/md/-internal-/type-aliases/MergeExtendableOnce.md +++ b/docs/md/-internal-/type-aliases/MergeExtendableOnce.md @@ -16,4 +16,4 @@ ## Defined in -[src/sdk/partial.ts:60](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/partial.ts#L60) +[src/sdk/partial.ts:62](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/partial.ts#L62) diff --git a/docs/md/-internal-/type-aliases/MergeExtendableRecursively.md b/docs/md/-internal-/type-aliases/MergeExtendableRecursively.md index b20d11f7..423b331f 100644 --- a/docs/md/-internal-/type-aliases/MergeExtendableRecursively.md +++ b/docs/md/-internal-/type-aliases/MergeExtendableRecursively.md @@ -6,7 +6,7 @@ # Type Alias: MergeExtendableRecursively\ -> **MergeExtendableRecursively**\<`Accum`, `Replacements`\>: `Replacements` *extends* [infer Head, infer Tail] ? `Tail` *extends* [`Record`](Record.md)\<`string`, `any`\>[] ? `Head` *extends* [`Record`](Record.md)\<`string`, `any`\> ? [`MergeExtendableRecursively`](MergeExtendableRecursively.md)\<[`MergeExtendableOnce`](MergeExtendableOnce.md)\<`Accum`, `Head`\>, `Tail`\> : `Accum` : `Head` *extends* [`Record`](Record.md)\<`string`, `any`\> ? [`MergeExtendableOnce`](MergeExtendableOnce.md)\<`Accum`, `Head`\> : `Accum` : `Accum` +> **MergeExtendableRecursively**\<`Accum`, `Replacements`\>: `Replacements` *extends* [infer Head, infer Tail] ? `Tail` *extends* [`Record`](Record.md)\<`string`, `any`\>[] ? [`MergeExtendableRecursively`](MergeExtendableRecursively.md)\<[`MergeExtendableOnce`](MergeExtendableOnce.md)\<`Accum`, `Head`\>, `Tail`\> : [`MergeExtendableOnce`](MergeExtendableOnce.md)\<`Accum`, `Head`\> : `Accum` ## Type Parameters @@ -16,4 +16,4 @@ ## Defined in -[src/sdk/partial.ts:69](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/partial.ts#L69) +[src/sdk/partial.ts:71](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/partial.ts#L71) diff --git a/docs/md/-internal-/type-aliases/NFTOrdersFetchMethods.md b/docs/md/-internal-/type-aliases/NFTOrdersFetchMethods.md index 26fcce35..85e2c9ef 100644 --- a/docs/md/-internal-/type-aliases/NFTOrdersFetchMethods.md +++ b/docs/md/-internal-/type-aliases/NFTOrdersFetchMethods.md @@ -10,4 +10,4 @@ ## Defined in -[src/sdk/simple.ts:114](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/simple.ts#L114) +[src/sdk/simple.ts:146](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/simple.ts#L146) diff --git a/docs/md/-internal-/type-aliases/OrderFromAPI.md b/docs/md/-internal-/type-aliases/OrderFromAPI.md new file mode 100644 index 00000000..97bab07a --- /dev/null +++ b/docs/md/-internal-/type-aliases/OrderFromAPI.md @@ -0,0 +1,13 @@ +[**@paraswap/sdk**](../../README.md) • **Docs** + +*** + +[@paraswap/sdk](../../globals.md) / [\](../README.md) / OrderFromAPI + +# Type Alias: OrderFromAPI + +> **OrderFromAPI**: [`Omit`](Omit.md)\<[`ParaswapDeltaAuction`](../../type-aliases/ParaswapDeltaAuction.md), `"signature"`\> + +## Defined in + +[src/methods/delta/getDeltaOrders.ts:6](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/getDeltaOrders.ts#L6) diff --git a/docs/md/-internal-/type-aliases/OrdersFilter.md b/docs/md/-internal-/type-aliases/OrdersFilter.md new file mode 100644 index 00000000..f1052bb2 --- /dev/null +++ b/docs/md/-internal-/type-aliases/OrdersFilter.md @@ -0,0 +1,39 @@ +[**@paraswap/sdk**](../../README.md) • **Docs** + +*** + +[@paraswap/sdk](../../globals.md) / [\](../README.md) / OrdersFilter + +# Type Alias: OrdersFilter + +> **OrdersFilter**: `object` + +## Type declaration + +### limit? + +> `optional` **limit**: `number` + +#### Description + +Pagination option, limit. Default 100 + +### page? + +> `optional` **page**: `number` + +#### Description + +Pagination option, page. Default 1 + +### userAddress + +> **userAddress**: [`Address`](../../type-aliases/Address.md) + +#### Description + +Order.owner to fetch Delta Order for + +## Defined in + +[src/methods/delta/getDeltaOrders.ts:13](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/getDeltaOrders.ts#L13) diff --git a/docs/md/-internal-/type-aliases/PartnerFeeQueryParams.md b/docs/md/-internal-/type-aliases/PartnerFeeQueryParams.md new file mode 100644 index 00000000..d0b9efc5 --- /dev/null +++ b/docs/md/-internal-/type-aliases/PartnerFeeQueryParams.md @@ -0,0 +1,19 @@ +[**@paraswap/sdk**](../../README.md) • **Docs** + +*** + +[@paraswap/sdk](../../globals.md) / [\](../README.md) / PartnerFeeQueryParams + +# Type Alias: PartnerFeeQueryParams + +> **PartnerFeeQueryParams**: `object` + +## Type declaration + +### partner + +> **partner**: `string` + +## Defined in + +[src/methods/delta/getPartnerFee.ts:11](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/getPartnerFee.ts#L11) diff --git a/docs/md/-internal-/type-aliases/PartnerFeeResponse.md b/docs/md/-internal-/type-aliases/PartnerFeeResponse.md new file mode 100644 index 00000000..eea99f13 --- /dev/null +++ b/docs/md/-internal-/type-aliases/PartnerFeeResponse.md @@ -0,0 +1,27 @@ +[**@paraswap/sdk**](../../README.md) • **Docs** + +*** + +[@paraswap/sdk](../../globals.md) / [\](../README.md) / PartnerFeeResponse + +# Type Alias: PartnerFeeResponse + +> **PartnerFeeResponse**: `object` + +## Type declaration + +### partnerAddress + +> **partnerAddress**: `string` + +### partnerFee + +> **partnerFee**: `number` + +### takeSurplus + +> **takeSurplus**: `boolean` + +## Defined in + +[src/methods/delta/getPartnerFee.ts:5](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/getPartnerFee.ts#L5) diff --git a/docs/md/-internal-/type-aliases/PostDeltaOrder.md b/docs/md/-internal-/type-aliases/PostDeltaOrder.md new file mode 100644 index 00000000..b39ae0e2 --- /dev/null +++ b/docs/md/-internal-/type-aliases/PostDeltaOrder.md @@ -0,0 +1,23 @@ +[**@paraswap/sdk**](../../README.md) • **Docs** + +*** + +[@paraswap/sdk](../../globals.md) / [\](../README.md) / PostDeltaOrder + +# Type Alias: PostDeltaOrder() + +> **PostDeltaOrder**: (`postData`, `signal`?) => `Promise`\<[`DeltaOrderApiResponse`](DeltaOrderApiResponse.md)\> + +## Parameters + +• **postData**: [`PostDeltaOrderParams`](../../type-aliases/PostDeltaOrderParams.md) + +• **signal?**: `AbortSignal` + +## Returns + +`Promise`\<[`DeltaOrderApiResponse`](DeltaOrderApiResponse.md)\> + +## Defined in + +[src/methods/delta/postDeltaOrder.ts:20](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/postDeltaOrder.ts#L20) diff --git a/docs/md/-internal-/type-aliases/QuoteFetchMethods.md b/docs/md/-internal-/type-aliases/QuoteFetchMethods.md new file mode 100644 index 00000000..5ada397c --- /dev/null +++ b/docs/md/-internal-/type-aliases/QuoteFetchMethods.md @@ -0,0 +1,13 @@ +[**@paraswap/sdk**](../../README.md) • **Docs** + +*** + +[@paraswap/sdk](../../globals.md) / [\](../README.md) / QuoteFetchMethods + +# Type Alias: QuoteFetchMethods + +> **QuoteFetchMethods**: [`GetQuoteFunctions`](../../type-aliases/GetQuoteFunctions.md) + +## Defined in + +[src/sdk/simple.ts:167](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/simple.ts#L167) diff --git a/docs/md/-internal-/type-aliases/SDKFunction.md b/docs/md/-internal-/type-aliases/SDKFunction.md index 9ded8072..b1977336 100644 --- a/docs/md/-internal-/type-aliases/SDKFunction.md +++ b/docs/md/-internal-/type-aliases/SDKFunction.md @@ -22,4 +22,4 @@ ## Defined in -[src/sdk/partial.ts:22](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/partial.ts#L22) +[src/sdk/partial.ts:23](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/partial.ts#L23) diff --git a/docs/md/-internal-/type-aliases/SignDeltaOrder.md b/docs/md/-internal-/type-aliases/SignDeltaOrder.md new file mode 100644 index 00000000..3b783580 --- /dev/null +++ b/docs/md/-internal-/type-aliases/SignDeltaOrder.md @@ -0,0 +1,21 @@ +[**@paraswap/sdk**](../../README.md) • **Docs** + +*** + +[@paraswap/sdk](../../globals.md) / [\](../README.md) / SignDeltaOrder + +# Type Alias: SignDeltaOrder() + +> **SignDeltaOrder**: (`signableOrderData`) => `Promise`\<`string`\> + +## Parameters + +• **signableOrderData**: [`SignableDeltaOrderData`](../../type-aliases/SignableDeltaOrderData.md) + +## Returns + +`Promise`\<`string`\> + +## Defined in + +[src/methods/delta/signDeltaOrder.ts:12](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/signDeltaOrder.ts#L12) diff --git a/docs/md/-internal-/type-aliases/SimpleOptions.md b/docs/md/-internal-/type-aliases/SimpleOptions.md index 5908ae12..fd117a12 100644 --- a/docs/md/-internal-/type-aliases/SimpleOptions.md +++ b/docs/md/-internal-/type-aliases/SimpleOptions.md @@ -10,4 +10,4 @@ ## Defined in -[src/sdk/simple.ts:141](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/simple.ts#L141) +[src/sdk/simple.ts:186](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/simple.ts#L186) diff --git a/docs/md/-internal-/type-aliases/SubmitDeltaOrder.md b/docs/md/-internal-/type-aliases/SubmitDeltaOrder.md new file mode 100644 index 00000000..bef115bc --- /dev/null +++ b/docs/md/-internal-/type-aliases/SubmitDeltaOrder.md @@ -0,0 +1,21 @@ +[**@paraswap/sdk**](../../README.md) • **Docs** + +*** + +[@paraswap/sdk](../../globals.md) / [\](../README.md) / SubmitDeltaOrder + +# Type Alias: SubmitDeltaOrder() + +> **SubmitDeltaOrder**: (`orderParams`) => `Promise`\<[`ParaswapDeltaAuction`](../../type-aliases/ParaswapDeltaAuction.md)\> + +## Parameters + +• **orderParams**: [`SubmitDeltaOrderParams`](../../type-aliases/SubmitDeltaOrderParams.md) + +## Returns + +`Promise`\<[`ParaswapDeltaAuction`](../../type-aliases/ParaswapDeltaAuction.md)\> + +## Defined in + +[src/methods/delta/index.ts:42](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/index.ts#L42) diff --git a/docs/md/-internal-/type-aliases/SubmitDeltaOrderFuncs.md b/docs/md/-internal-/type-aliases/SubmitDeltaOrderFuncs.md new file mode 100644 index 00000000..0a657f11 --- /dev/null +++ b/docs/md/-internal-/type-aliases/SubmitDeltaOrderFuncs.md @@ -0,0 +1,19 @@ +[**@paraswap/sdk**](../../README.md) • **Docs** + +*** + +[@paraswap/sdk](../../globals.md) / [\](../README.md) / SubmitDeltaOrderFuncs + +# Type Alias: SubmitDeltaOrderFuncs + +> **SubmitDeltaOrderFuncs**: `object` + +## Type declaration + +### submitDeltaOrder + +> **submitDeltaOrder**: [`SubmitDeltaOrder`](SubmitDeltaOrder.md) + +## Defined in + +[src/methods/delta/index.ts:46](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/index.ts#L46) diff --git a/docs/md/-internal-/type-aliases/SwapFetchMethods.md b/docs/md/-internal-/type-aliases/SwapFetchMethods.md index a7906186..17b8778b 100644 --- a/docs/md/-internal-/type-aliases/SwapFetchMethods.md +++ b/docs/md/-internal-/type-aliases/SwapFetchMethods.md @@ -10,4 +10,4 @@ ## Defined in -[src/sdk/simple.ts:100](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/simple.ts#L100) +[src/sdk/simple.ts:132](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/simple.ts#L132) diff --git a/docs/md/-internal-/type-aliases/SwapSideUnion.md b/docs/md/-internal-/type-aliases/SwapSideUnion.md new file mode 100644 index 00000000..ed1719d4 --- /dev/null +++ b/docs/md/-internal-/type-aliases/SwapSideUnion.md @@ -0,0 +1,13 @@ +[**@paraswap/sdk**](../../README.md) • **Docs** + +*** + +[@paraswap/sdk](../../globals.md) / [\](../README.md) / SwapSideUnion + +# Type Alias: SwapSideUnion + +> **SwapSideUnion**: [`EnumerateLiteral`](EnumerateLiteral.md)\<*typeof* [`SwapSide`](../../enumerations/SwapSide.md)\> + +## Defined in + +[src/methods/quote/getQuote.ts:12](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/quote/getQuote.ts#L12) diff --git a/docs/md/-internal-/type-aliases/TradeMode.md b/docs/md/-internal-/type-aliases/TradeMode.md new file mode 100644 index 00000000..25419c92 --- /dev/null +++ b/docs/md/-internal-/type-aliases/TradeMode.md @@ -0,0 +1,13 @@ +[**@paraswap/sdk**](../../README.md) • **Docs** + +*** + +[@paraswap/sdk](../../globals.md) / [\](../README.md) / TradeMode + +# Type Alias: TradeMode + +> **TradeMode**: `"delta"` \| `"market"` \| `"all"` + +## Defined in + +[src/methods/quote/getQuote.ts:10](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/quote/getQuote.ts#L10) diff --git a/docs/md/-internal-/variables/Order.md b/docs/md/-internal-/variables/Order.md index 836f953c..60ac1631 100644 --- a/docs/md/-internal-/variables/Order.md +++ b/docs/md/-internal-/variables/Order.md @@ -10,4 +10,4 @@ ## Defined in -[src/methods/limitOrders/helpers/buildOrderData.ts:10](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/limitOrders/helpers/buildOrderData.ts#L10) +[src/methods/delta/helpers/buildDeltaOrderData.ts:8](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/helpers/buildDeltaOrderData.ts#L8) diff --git a/docs/md/README.md b/docs/md/README.md index 8536855d..cc10cad6 100644 --- a/docs/md/README.md +++ b/docs/md/README.md @@ -86,13 +86,20 @@ Can be created by providing `chainId` and either `axios` or `window.fetch` (or a If optional `providerOptions` is provided as the second parameter, then the resulting SDK will also be able to approve Tokens for swap. ```ts - // with ethers.js - const providerOptionsEther = { + // with ethers@5 + const providerOptionsEtherV5 = { ethersProviderOrSigner: provider, // JsonRpcProvider EthersContract: ethers.Contract, account: senderAddress, }; + // with ethers@6 + const providerOptionsEtherV6 = { + ethersV6ProviderOrSigner: provider, // JsonRpcProvider + EthersV6Contract: ethers.Contract, + account: senderAddress, + }; + // or with viem (from wagmi or standalone) const providerOptionsViem = { viemClient, // made with createWalletClient() @@ -105,7 +112,7 @@ If optional `providerOptions` is provided as the second parameter, then the resu account: senderAddress, }; - const paraSwap = constructSimpleSDK({chainId: 1, axios}, providerOptionsEther); + const paraSwap = constructSimpleSDK({chainId: 1, axios}, providerOptionsEtherV5); // approve token through sdk const txHash = await paraSwap.approveToken(amountInWei, DAI); @@ -153,6 +160,105 @@ const priceRoute = await minParaSwap.getRate(params); const allowance = await minParaSwap.getAllowance(userAddress, tokenAddress); ``` +### Basic usage + +The easiest way to make a trade is to rely on Quote method that communicates with [/quote API endpoint](https://developers.paraswap.network/api/paraswap-delta/retrieve-delta-price-with-fallback-to-market-quote) + +```typescript +import axios from 'axios'; +import { ethers } from 'ethersV5'; +import { constructSimpleSDK } from '@paraswap/sdk'; + +const ethersProvider = new ethers.providers.Web3Provider(window.ethereum); + +const accounts = await ethersProvider.listAccounts(); +const account = accounts[0]!; +const signer = ethersProvider.getSigner(account); + +const simpleSDK = constructSimpleSDK( + { chainId: 1, axios }, + { + ethersProviderOrSigner: signer, + EthersContract: ethers.Contract, + account, + } +); + +const amount = '1000000000000'; // wei +const Token1 = '0x1234...' +const Token2 = '0xabcde...' + +const quote = await simpleSDK.quote.getQuote({ + srcToken: Token1, + destToken: Token2, + amount, + userAddress: account, + srcDecimals: 18, + destDecimals: 18, + mode: 'all', // Delta quote if possible, with fallback to Market price + side: 'SELL', + // partner: "..." // if available +}); + +if ('delta' in quote) { + const deltaPrice = quote.delta; + + const DeltaContract = await simpleSDK.delta.getDeltaContract(); + + // or sign a Permit1 or Permit2 TransferFrom for DeltaContract + await simpleSDK.delta.approveTokenForDelta(amount, Token1); + + const slippagePercent = 0.5; + const destAmountAfterSlippage = BigInt( + // get rid of exponential notation + + +(+deltaPrice.destAmount * (1 - slippagePercent / 100)).toFixed(0) + // get rid of decimals + ).toString(10); + + const deltaAuction = await simpleSDK.delta.submitDeltaOrder({ + deltaPrice, + owner: account, + // beneficiary: anotherAccount, // if need to send destToken to another account + // permit: "0x1234...", // if signed a Permit1 or Permit2 TransferFrom for DeltaContract + srcToken: Token1, + destToken: Token2, + srcAmount: amount, + destAmount: destAmountAfterSlippage, // minimum acceptable destAmount + }); + + // poll if necessary + const auction = await simpleSDK.delta.getDeltaOrderById(deltaAuction.id); + if (auction?.status === 'EXECUTED') { + console.log('Auction was executed'); + } +} else { + console.log( + `Delta Quote failed: ${quote.fallbackReason.errorType} - ${quote.fallbackReason.details}` + ); + const priceRoute = quote.market; + + const TokenTransferProxy = await simpleSDK.swap.getSpender(); + + // or sign a Permit1 or Permit2 TransferFrom for TokenTransferProxy + const approveTxHash = simpleSDK.swap.approveToken(amount, Token1); + + const txParams = await simpleSDK.swap.buildTx({ + srcToken: Token1, + destToken: Token2, + srcAmount: amount, + slippage: 250, // 2.5% + priceRoute, + userAddress: account, + // partner: '...' // if available + }); + + const swapTx = await signer.sendTransaction(txParams); +} +``` + +#### For Delta protocol usage refer to [DELTA.md](_media/DELTA.md) + ### Legacy The `ParaSwap` class is exposed for backwards compatibility with previous versions of the SDK. @@ -207,4 +313,4 @@ Refer to [SDK API documentation](docs/md/modules.md) for detailed documentation To run `yarn test` it is necessary to provide `PROVIDER_URL=` environment variable. If it is necessary to run tests against a different API endpoint, provide `API_URL=url_to_API` environment variable. - + diff --git a/docs/md/_media/DELTA.md b/docs/md/_media/DELTA.md new file mode 100644 index 00000000..5cee9647 --- /dev/null +++ b/docs/md/_media/DELTA.md @@ -0,0 +1,89 @@ +**ParaSwap Delta** is an intent-based protocol that enables a ParaSwap user to make gasless swaps where multiple agents compete to execute the trade at the best price possible. +This way the user doesn't need to make a transaction themselve but only to sign a Delta Order. +The easiest way to make use of the Delta Order is to use the SDK following these steps: + +### 1. Construct an SDK object + +```ts +const account = userAddress; +const paraSwap = constructSimpleSDK( + {chainId: 1, axios}, + { + ethersProviderOrSigner: provider, // JsonRpcProvider + EthersContract: ethers.Contract, + account, + }); + // for usage with different web3 provider libraries refer to the main [README](./README.md) +``` + +### 2. Request prices for a Token pair + +```ts +const DAI_TOKEN = '0x6b175474e89094c44da98b954eedeac495271d0f'; +const PSP_TOKEN = '0xcafe001067cdef266afb7eb5a286dcfd277f3de5'; +const amount = '1000000000000'; // in wei + +const deltaPrice = await deltaSDK.getDeltaPrice({ + srcToken: DAI_TOKEN, + destToken: PSP_TOKEN, + amount, + userAddress: account, + srcDecimals: 18, + destDecimals: 18, + // partner: "..." // if available +}); +``` + + +### 3. Approve srcToken for DeltaContract + +```ts +const tx = await deltaSDK.approveTokenForDelta(amount, DAI_TOKEN); +await tx.wait(); +``` + +Alternatively sign Permit (DAI or Permit1) or Permit2 TransferFrom with DeltaContract as the verifyingContract + +```ts +const DeltaContract = await deltaSDK.getDeltaContract(); + +// values depend on the Permit type and the srcToken +const signature = await signer._signTypedData(domain, types, message); +``` + +See more on accepted Permit variants in [ParaSwap documentation](https://developers.paraswap.network/api/paraswap-delta/build-and-sign-a-delta-order#supported-permits) + + +### 4. Sign and submit a Delta Order + +```ts +// calculate acceptable destAmount +const slippagePercent = 0.5; + const destAmountAfterSlippage = ( + +deltaPrice.destAmount * + (1 - slippagePercent / 100) + ).toString(10); + +const signableOrderData = await deltaSDK.buildDeltaOrder({ + deltaPrice, + owner: account, + // beneficiary: anotherAccount, // if need to send destToken to another account + // permit: "0x1234...", // if signed a Permit1 or Permit2 TransferFrom for DeltaContract + srcToken: DAI_TOKEN, + destToken: PSP_TOKEN, + srcAmount: amount, + destAmount: destAmountAfterSlippage, // minimum acceptable destAmount +}); +``` + +### 5. Wait for Delta Order execution + +```ts +// poll if necessary +const auction = await deltaSDK.getDeltaOrderById(deltaAuction.id); +if (auction?.status === 'EXECUTED') { + console.log('Auction was executed'); +} +``` + +#### A more detailed example of Delta Order usage can be found in [examples/delta](./src/examples/delta.ts) \ No newline at end of file diff --git a/docs/md/_media/passed_tests.png b/docs/md/_media/passed_tests.png new file mode 100644 index 0000000000000000000000000000000000000000..cdf08a6eb8e65044828b810a4e7924caf83ab436 GIT binary patch literal 80339 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 DN>PH3 literal 0 HcmV?d00001 diff --git a/docs/md/functions/constructAllDeltaOrdersHandlers.md b/docs/md/functions/constructAllDeltaOrdersHandlers.md new file mode 100644 index 00000000..8ccccb80 --- /dev/null +++ b/docs/md/functions/constructAllDeltaOrdersHandlers.md @@ -0,0 +1,29 @@ +[**@paraswap/sdk**](../README.md) • **Docs** + +*** + +[@paraswap/sdk](../globals.md) / constructAllDeltaOrdersHandlers + +# Function: constructAllDeltaOrdersHandlers() + +> **constructAllDeltaOrdersHandlers**\<`TxResponse`\>(`options`): [`DeltaOrderHandlers`](../type-aliases/DeltaOrderHandlers.md)\<`TxResponse`\> + +## Type Parameters + +• **TxResponse** + +## Parameters + +• **options**: [`ConstructProviderFetchInput`](../interfaces/ConstructProviderFetchInput.md)\<`TxResponse`, `"transactCall"` \| `"signTypedDataCall"`\> + +## Returns + +[`DeltaOrderHandlers`](../type-aliases/DeltaOrderHandlers.md)\<`TxResponse`\> + +## Description + +construct SDK with every Delta Order-related method, fetching from API and Order signing + +## Defined in + +[src/methods/delta/index.ts:85](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/index.ts#L85) diff --git a/docs/md/functions/constructApproveTokenForDelta.md b/docs/md/functions/constructApproveTokenForDelta.md new file mode 100644 index 00000000..3b2ba8b9 --- /dev/null +++ b/docs/md/functions/constructApproveTokenForDelta.md @@ -0,0 +1,25 @@ +[**@paraswap/sdk**](../README.md) • **Docs** + +*** + +[@paraswap/sdk](../globals.md) / constructApproveTokenForDelta + +# Function: constructApproveTokenForDelta() + +> **constructApproveTokenForDelta**\<`T`\>(`options`): [`ApproveTokenForDeltaFunctions`](../type-aliases/ApproveTokenForDeltaFunctions.md)\<`T`\> + +## Type Parameters + +• **T** + +## Parameters + +• **options**: [`ConstructProviderFetchInput`](../interfaces/ConstructProviderFetchInput.md)\<`T`, `"transactCall"`\> + +## Returns + +[`ApproveTokenForDeltaFunctions`](../type-aliases/ApproveTokenForDeltaFunctions.md)\<`T`\> + +## Defined in + +[src/methods/delta/approveForDelta.ts:12](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/approveForDelta.ts#L12) diff --git a/docs/md/functions/constructBuildDeltaOrder.md b/docs/md/functions/constructBuildDeltaOrder.md new file mode 100644 index 00000000..c88fe0ae --- /dev/null +++ b/docs/md/functions/constructBuildDeltaOrder.md @@ -0,0 +1,21 @@ +[**@paraswap/sdk**](../README.md) • **Docs** + +*** + +[@paraswap/sdk](../globals.md) / constructBuildDeltaOrder + +# Function: constructBuildDeltaOrder() + +> **constructBuildDeltaOrder**(`options`): [`BuildDeltaOrderFunctions`](../type-aliases/BuildDeltaOrderFunctions.md) + +## Parameters + +• **options**: [`ConstructFetchInput`](../interfaces/ConstructFetchInput.md) + +## Returns + +[`BuildDeltaOrderFunctions`](../type-aliases/BuildDeltaOrderFunctions.md) + +## Defined in + +[src/methods/delta/buildDeltaOrder.ts:51](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/buildDeltaOrder.ts#L51) diff --git a/docs/md/functions/constructFullSDK.md b/docs/md/functions/constructFullSDK.md index dfaf746f..562f8f7f 100644 --- a/docs/md/functions/constructFullSDK.md +++ b/docs/md/functions/constructFullSDK.md @@ -26,4 +26,4 @@ construct SDK with every method, for swap and limitOrders ## Defined in -[src/sdk/full.ts:19](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/full.ts#L19) +[src/sdk/full.ts:31](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/full.ts#L31) diff --git a/docs/md/functions/constructGetDeltaContract.md b/docs/md/functions/constructGetDeltaContract.md new file mode 100644 index 00000000..e4d4fa14 --- /dev/null +++ b/docs/md/functions/constructGetDeltaContract.md @@ -0,0 +1,21 @@ +[**@paraswap/sdk**](../README.md) • **Docs** + +*** + +[@paraswap/sdk](../globals.md) / constructGetDeltaContract + +# Function: constructGetDeltaContract() + +> **constructGetDeltaContract**(`options`): [`GetDeltaContractFunctions`](../type-aliases/GetDeltaContractFunctions.md) + +## Parameters + +• **options**: [`ConstructFetchInput`](../interfaces/ConstructFetchInput.md) + +## Returns + +[`GetDeltaContractFunctions`](../type-aliases/GetDeltaContractFunctions.md) + +## Defined in + +[src/methods/delta/getDeltaContract.ts:10](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/getDeltaContract.ts#L10) diff --git a/docs/md/functions/constructGetDeltaOrders.md b/docs/md/functions/constructGetDeltaOrders.md new file mode 100644 index 00000000..dd6d93d9 --- /dev/null +++ b/docs/md/functions/constructGetDeltaOrders.md @@ -0,0 +1,21 @@ +[**@paraswap/sdk**](../README.md) • **Docs** + +*** + +[@paraswap/sdk](../globals.md) / constructGetDeltaOrders + +# Function: constructGetDeltaOrders() + +> **constructGetDeltaOrders**(`__namedParameters`): [`GetDeltaOrdersFunctions`](../type-aliases/GetDeltaOrdersFunctions.md) + +## Parameters + +• **\_\_namedParameters**: [`ConstructFetchInput`](../interfaces/ConstructFetchInput.md) + +## Returns + +[`GetDeltaOrdersFunctions`](../type-aliases/GetDeltaOrdersFunctions.md) + +## Defined in + +[src/methods/delta/getDeltaOrders.ts:33](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/getDeltaOrders.ts#L33) diff --git a/docs/md/functions/constructGetDeltaPrice.md b/docs/md/functions/constructGetDeltaPrice.md new file mode 100644 index 00000000..ae2e7569 --- /dev/null +++ b/docs/md/functions/constructGetDeltaPrice.md @@ -0,0 +1,21 @@ +[**@paraswap/sdk**](../README.md) • **Docs** + +*** + +[@paraswap/sdk](../globals.md) / constructGetDeltaPrice + +# Function: constructGetDeltaPrice() + +> **constructGetDeltaPrice**(`__namedParameters`): [`GetDeltaPriceFunctions`](../type-aliases/GetDeltaPriceFunctions.md) + +## Parameters + +• **\_\_namedParameters**: [`ConstructFetchInput`](../interfaces/ConstructFetchInput.md) + +## Returns + +[`GetDeltaPriceFunctions`](../type-aliases/GetDeltaPriceFunctions.md) + +## Defined in + +[src/methods/delta/getDeltaPrice.ts:58](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/getDeltaPrice.ts#L58) diff --git a/docs/md/functions/constructGetPartnerFee.md b/docs/md/functions/constructGetPartnerFee.md new file mode 100644 index 00000000..c1601c8e --- /dev/null +++ b/docs/md/functions/constructGetPartnerFee.md @@ -0,0 +1,21 @@ +[**@paraswap/sdk**](../README.md) • **Docs** + +*** + +[@paraswap/sdk](../globals.md) / constructGetPartnerFee + +# Function: constructGetPartnerFee() + +> **constructGetPartnerFee**(`__namedParameters`): [`GetPartnerFeeFunctions`](../type-aliases/GetPartnerFeeFunctions.md) + +## Parameters + +• **\_\_namedParameters**: [`ConstructFetchInput`](../interfaces/ConstructFetchInput.md) + +## Returns + +[`GetPartnerFeeFunctions`](../type-aliases/GetPartnerFeeFunctions.md) + +## Defined in + +[src/methods/delta/getPartnerFee.ts:24](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/getPartnerFee.ts#L24) diff --git a/docs/md/functions/constructGetQuote.md b/docs/md/functions/constructGetQuote.md new file mode 100644 index 00000000..df93c604 --- /dev/null +++ b/docs/md/functions/constructGetQuote.md @@ -0,0 +1,21 @@ +[**@paraswap/sdk**](../README.md) • **Docs** + +*** + +[@paraswap/sdk](../globals.md) / constructGetQuote + +# Function: constructGetQuote() + +> **constructGetQuote**(`__namedParameters`): [`GetQuoteFunctions`](../type-aliases/GetQuoteFunctions.md) + +## Parameters + +• **\_\_namedParameters**: [`ConstructFetchInput`](../interfaces/ConstructFetchInput.md) + +## Returns + +[`GetQuoteFunctions`](../type-aliases/GetQuoteFunctions.md) + +## Defined in + +[src/methods/quote/getQuote.ts:80](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/quote/getQuote.ts#L80) diff --git a/docs/md/functions/constructGetSpender.md b/docs/md/functions/constructGetSpender.md index 2a8bc863..ef0a3d25 100644 --- a/docs/md/functions/constructGetSpender.md +++ b/docs/md/functions/constructGetSpender.md @@ -18,4 +18,4 @@ ## Defined in -[src/methods/swap/spender.ts:21](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/swap/spender.ts#L21) +[src/methods/swap/spender.ts:25](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/swap/spender.ts#L25) diff --git a/docs/md/functions/constructPartialSDK.md b/docs/md/functions/constructPartialSDK.md index 8df297bd..2f1e4031 100644 --- a/docs/md/functions/constructPartialSDK.md +++ b/docs/md/functions/constructPartialSDK.md @@ -30,4 +30,4 @@ construct composable SDK with methods you choose yourself ## Defined in -[src/sdk/partial.ts:83](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/partial.ts#L83) +[src/sdk/partial.ts:84](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/partial.ts#L84) diff --git a/docs/md/functions/constructPostDeltaOrder.md b/docs/md/functions/constructPostDeltaOrder.md new file mode 100644 index 00000000..fc712ae5 --- /dev/null +++ b/docs/md/functions/constructPostDeltaOrder.md @@ -0,0 +1,21 @@ +[**@paraswap/sdk**](../README.md) • **Docs** + +*** + +[@paraswap/sdk](../globals.md) / constructPostDeltaOrder + +# Function: constructPostDeltaOrder() + +> **constructPostDeltaOrder**(`__namedParameters`): [`PostDeltaOrderFunctions`](../type-aliases/PostDeltaOrderFunctions.md) + +## Parameters + +• **\_\_namedParameters**: [`ConstructFetchInput`](../interfaces/ConstructFetchInput.md) + +## Returns + +[`PostDeltaOrderFunctions`](../type-aliases/PostDeltaOrderFunctions.md) + +## Defined in + +[src/methods/delta/postDeltaOrder.ts:29](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/postDeltaOrder.ts#L29) diff --git a/docs/md/functions/constructSignDeltaOrder.md b/docs/md/functions/constructSignDeltaOrder.md new file mode 100644 index 00000000..c27ab23f --- /dev/null +++ b/docs/md/functions/constructSignDeltaOrder.md @@ -0,0 +1,21 @@ +[**@paraswap/sdk**](../README.md) • **Docs** + +*** + +[@paraswap/sdk](../globals.md) / constructSignDeltaOrder + +# Function: constructSignDeltaOrder() + +> **constructSignDeltaOrder**(`options`): [`SignDeltaOrderFunctions`](../type-aliases/SignDeltaOrderFunctions.md) + +## Parameters + +• **options**: [`Pick`](../-internal-/type-aliases/Pick.md)\<[`ConstructProviderFetchInput`](../interfaces/ConstructProviderFetchInput.md)\<`any`, `"signTypedDataCall"`\>, `"contractCaller"`\> + +## Returns + +[`SignDeltaOrderFunctions`](../type-aliases/SignDeltaOrderFunctions.md) + +## Defined in + +[src/methods/delta/signDeltaOrder.ts:22](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/signDeltaOrder.ts#L22) diff --git a/docs/md/functions/constructSimpleSDK.md b/docs/md/functions/constructSimpleSDK.md index 9cd60029..e2553409 100644 --- a/docs/md/functions/constructSimpleSDK.md +++ b/docs/md/functions/constructSimpleSDK.md @@ -24,7 +24,7 @@ construct SDK with methods that fetch from API and optionally with blockchain pr ### Defined in -[src/sdk/simple.ts:169](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/simple.ts#L169) +[src/sdk/simple.ts:214](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/simple.ts#L214) ## constructSimpleSDK(options, providerOptions) @@ -42,4 +42,4 @@ construct SDK with methods that fetch from API and optionally with blockchain pr ### Defined in -[src/sdk/simple.ts:171](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/simple.ts#L171) +[src/sdk/simple.ts:216](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/simple.ts#L216) diff --git a/docs/md/functions/constructSubmitDeltaOrder.md b/docs/md/functions/constructSubmitDeltaOrder.md new file mode 100644 index 00000000..835579b6 --- /dev/null +++ b/docs/md/functions/constructSubmitDeltaOrder.md @@ -0,0 +1,21 @@ +[**@paraswap/sdk**](../README.md) • **Docs** + +*** + +[@paraswap/sdk](../globals.md) / constructSubmitDeltaOrder + +# Function: constructSubmitDeltaOrder() + +> **constructSubmitDeltaOrder**(`options`): [`SubmitDeltaOrderFuncs`](../-internal-/type-aliases/SubmitDeltaOrderFuncs.md) + +## Parameters + +• **options**: [`ConstructProviderFetchInput`](../interfaces/ConstructProviderFetchInput.md)\<`any`, `"signTypedDataCall"`\> + +## Returns + +[`SubmitDeltaOrderFuncs`](../-internal-/type-aliases/SubmitDeltaOrderFuncs.md) + +## Defined in + +[src/methods/delta/index.ts:50](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/index.ts#L50) diff --git a/docs/md/globals.md b/docs/md/globals.md index 8a6230ac..06a61397 100644 --- a/docs/md/globals.md +++ b/docs/md/globals.md @@ -44,10 +44,13 @@ Renames and re-exports [constructEthersContractCaller](functions/constructEthers - [Address](type-aliases/Address.md) - [AddressOrSymbol](type-aliases/AddressOrSymbol.md) - [AllSDKMethods](type-aliases/AllSDKMethods.md) +- [ApproveTokenForDeltaFunctions](type-aliases/ApproveTokenForDeltaFunctions.md) - [ApproveTokenForLimitOrderFunctions](type-aliases/ApproveTokenForLimitOrderFunctions.md) - [ApproveTokenForNFTOrderFunctions](type-aliases/ApproveTokenForNFTOrderFunctions.md) - [ApproveTokenFunctions](type-aliases/ApproveTokenFunctions.md) - [AssetTypeVariant](type-aliases/AssetTypeVariant.md) +- [BuildDeltaOrderDataParams](type-aliases/BuildDeltaOrderDataParams.md) +- [BuildDeltaOrderFunctions](type-aliases/BuildDeltaOrderFunctions.md) - [BuildLimitOrderFunctions](type-aliases/BuildLimitOrderFunctions.md) - [BuildLimitOrderInput](type-aliases/BuildLimitOrderInput.md) - [BuildLimitOrdersTxFunctions](type-aliases/BuildLimitOrdersTxFunctions.md) @@ -68,15 +71,24 @@ Renames and re-exports [constructEthersContractCaller](functions/constructEthers - [CancelLimitOrderFunctions](type-aliases/CancelLimitOrderFunctions.md) - [CancelNFTOrderFunctions](type-aliases/CancelNFTOrderFunctions.md) - [ContractMethod](type-aliases/ContractMethod.md) +- [DeltaAuctionOrder](type-aliases/DeltaAuctionOrder.md) +- [DeltaOrderHandlers](type-aliases/DeltaOrderHandlers.md) +- [DeltaPrice](type-aliases/DeltaPrice.md) +- [DeltaPriceParams](type-aliases/DeltaPriceParams.md) - [EthersProviderDeps](type-aliases/EthersProviderDeps.md) - [FetcherFunction](type-aliases/FetcherFunction.md) - [FillOrderDirectlyFunctions](type-aliases/FillOrderDirectlyFunctions.md) - [GetAdaptersFunctions](type-aliases/GetAdaptersFunctions.md) - [GetBalancesFunctions](type-aliases/GetBalancesFunctions.md) +- [GetDeltaContractFunctions](type-aliases/GetDeltaContractFunctions.md) +- [GetDeltaOrdersFunctions](type-aliases/GetDeltaOrdersFunctions.md) +- [GetDeltaPriceFunctions](type-aliases/GetDeltaPriceFunctions.md) - [GetLimitOrdersContractFunctions](type-aliases/GetLimitOrdersContractFunctions.md) - [GetLimitOrdersFunctions](type-aliases/GetLimitOrdersFunctions.md) - [GetNFTOrdersContractFunctions](type-aliases/GetNFTOrdersContractFunctions.md) - [GetNFTOrdersFunctions](type-aliases/GetNFTOrdersFunctions.md) +- [GetPartnerFeeFunctions](type-aliases/GetPartnerFeeFunctions.md) +- [GetQuoteFunctions](type-aliases/GetQuoteFunctions.md) - [GetRateFunctions](type-aliases/GetRateFunctions.md) - [GetSpenderFunctions](type-aliases/GetSpenderFunctions.md) - [GetSwapTxFunctions](type-aliases/GetSwapTxFunctions.md) @@ -106,19 +118,30 @@ Renames and re-exports [constructEthersContractCaller](functions/constructEthers - [OptimalRate](type-aliases/OptimalRate.md) - [OptionalRate](type-aliases/OptionalRate.md) - [OrderData](type-aliases/OrderData.md) +- [ParaswapDeltaAuction](type-aliases/ParaswapDeltaAuction.md) - [ParaSwapVersion](type-aliases/ParaSwapVersion.md) +- [PostDeltaOrderFunctions](type-aliases/PostDeltaOrderFunctions.md) +- [PostDeltaOrderParams](type-aliases/PostDeltaOrderParams.md) - [PostLimitOrderFunctions](type-aliases/PostLimitOrderFunctions.md) - [PostNFTOrderFunctions](type-aliases/PostNFTOrderFunctions.md) - [PriceString](type-aliases/PriceString.md) +- [QuoteParams](type-aliases/QuoteParams.md) +- [QuoteResponse](type-aliases/QuoteResponse.md) +- [QuoteWithDeltaPrice](type-aliases/QuoteWithDeltaPrice.md) +- [QuoteWithMarketPrice](type-aliases/QuoteWithMarketPrice.md) +- [QuoteWithMarketPriceAsFallback](type-aliases/QuoteWithMarketPriceAsFallback.md) - [SDKConfig](type-aliases/SDKConfig.md) +- [SignableDeltaOrderData](type-aliases/SignableDeltaOrderData.md) - [SignableNFTOrderData](type-aliases/SignableNFTOrderData.md) - [SignableOrderData](type-aliases/SignableOrderData.md) - [SignableTypedData](type-aliases/SignableTypedData.md) +- [SignDeltaOrderFunctions](type-aliases/SignDeltaOrderFunctions.md) - [SignLimitOrderFunctions](type-aliases/SignLimitOrderFunctions.md) - [SignNFTOrderFunctions](type-aliases/SignNFTOrderFunctions.md) - [SimpleFetchSDK](type-aliases/SimpleFetchSDK.md) - [SimpleSDK](type-aliases/SimpleSDK.md) - [SimpleSDKProviderOptions](type-aliases/SimpleSDKProviderOptions.md) +- [SubmitDeltaOrderParams](type-aliases/SubmitDeltaOrderParams.md) - [SubmitLimitOrderFuncs](type-aliases/SubmitLimitOrderFuncs.md) - [SubmitNFTOrderFuncs](type-aliases/SubmitNFTOrderFuncs.md) - [SwappableNFTOrder](type-aliases/SwappableNFTOrder.md) @@ -137,12 +160,15 @@ Renames and re-exports [constructEthersContractCaller](functions/constructEthers ## Functions +- [constructAllDeltaOrdersHandlers](functions/constructAllDeltaOrdersHandlers.md) - [constructAllLimitOrdersHandlers](functions/constructAllLimitOrdersHandlers.md) - [constructAllNFTOrdersHandlers](functions/constructAllNFTOrdersHandlers.md) - [constructApproveToken](functions/constructApproveToken.md) +- [constructApproveTokenForDelta](functions/constructApproveTokenForDelta.md) - [constructApproveTokenForLimitOrder](functions/constructApproveTokenForLimitOrder.md) - [constructApproveTokenForNFTOrder](functions/constructApproveTokenForNFTOrder.md) - [constructAxiosFetcher](functions/constructAxiosFetcher.md) +- [constructBuildDeltaOrder](functions/constructBuildDeltaOrder.md) - [constructBuildLimitOrder](functions/constructBuildLimitOrder.md) - [constructBuildLimitOrderTx](functions/constructBuildLimitOrderTx.md) - [constructBuildNFTOrder](functions/constructBuildNFTOrder.md) @@ -157,19 +183,27 @@ Renames and re-exports [constructEthersContractCaller](functions/constructEthers - [constructFullSDK](functions/constructFullSDK.md) - [constructGetAdapters](functions/constructGetAdapters.md) - [constructGetBalances](functions/constructGetBalances.md) +- [constructGetDeltaContract](functions/constructGetDeltaContract.md) +- [constructGetDeltaOrders](functions/constructGetDeltaOrders.md) +- [constructGetDeltaPrice](functions/constructGetDeltaPrice.md) - [constructGetLimitOrders](functions/constructGetLimitOrders.md) - [constructGetLimitOrdersContract](functions/constructGetLimitOrdersContract.md) - [constructGetNFTOrders](functions/constructGetNFTOrders.md) - [constructGetNFTOrdersContract](functions/constructGetNFTOrdersContract.md) +- [constructGetPartnerFee](functions/constructGetPartnerFee.md) +- [constructGetQuote](functions/constructGetQuote.md) - [constructGetRate](functions/constructGetRate.md) - [constructGetSpender](functions/constructGetSpender.md) - [constructGetTokens](functions/constructGetTokens.md) - [constructPartialSDK](functions/constructPartialSDK.md) +- [constructPostDeltaOrder](functions/constructPostDeltaOrder.md) - [constructPostLimitOrder](functions/constructPostLimitOrder.md) - [constructPostNFTOrder](functions/constructPostNFTOrder.md) +- [constructSignDeltaOrder](functions/constructSignDeltaOrder.md) - [constructSignLimitOrder](functions/constructSignLimitOrder.md) - [constructSignNFTOrder](functions/constructSignNFTOrder.md) - [constructSimpleSDK](functions/constructSimpleSDK.md) +- [constructSubmitDeltaOrder](functions/constructSubmitDeltaOrder.md) - [constructSubmitLimitOrder](functions/constructSubmitLimitOrder.md) - [constructSubmitNFTOrder](functions/constructSubmitNFTOrder.md) - [constructSwapSDK](functions/constructSwapSDK.md) diff --git a/docs/md/type-aliases/AllSDKMethods.md b/docs/md/type-aliases/AllSDKMethods.md index e91b7d39..d52245c9 100644 --- a/docs/md/type-aliases/AllSDKMethods.md +++ b/docs/md/type-aliases/AllSDKMethods.md @@ -6,13 +6,13 @@ # Type Alias: AllSDKMethods\ -> **AllSDKMethods**\<`TxResponse`\>: `object` +> **AllSDKMethods**\<`TxResponse`\>: `object` & [`Required`](../-internal-/type-aliases/Required.md)\<[`ConstructBaseInput`](../-internal-/interfaces/ConstructBaseInput.md)\> -## Type Parameters +## Type declaration -• **TxResponse** +### delta -## Type declaration +> **delta**: [`DeltaOrderHandlers`](DeltaOrderHandlers.md)\<`TxResponse`\> ### limitOrders @@ -22,10 +22,18 @@ > **nftOrders**: [`NFTOrderHandlers`](NFTOrderHandlers.md)\<`TxResponse`\> +### quote + +> **quote**: [`GetQuoteFunctions`](GetQuoteFunctions.md) + ### swap > **swap**: [`SwapSDKMethods`](SwapSDKMethods.md)\<`TxResponse`\> +## Type Parameters + +• **TxResponse** + ## Defined in -[src/sdk/full.ts:12](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/full.ts#L12) +[src/sdk/full.ts:22](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/full.ts#L22) diff --git a/docs/md/type-aliases/ApproveTokenForDeltaFunctions.md b/docs/md/type-aliases/ApproveTokenForDeltaFunctions.md new file mode 100644 index 00000000..7d1e4e0e --- /dev/null +++ b/docs/md/type-aliases/ApproveTokenForDeltaFunctions.md @@ -0,0 +1,27 @@ +[**@paraswap/sdk**](../README.md) • **Docs** + +*** + +[@paraswap/sdk](../globals.md) / ApproveTokenForDeltaFunctions + +# Type Alias: ApproveTokenForDeltaFunctions\ + +> **ApproveTokenForDeltaFunctions**\<`T`\>: `object` + +## Type Parameters + +• **T** + +## Type declaration + +### approveTokenForDelta + +> **approveTokenForDelta**: [`ApproveToken`](../-internal-/type-aliases/ApproveToken.md)\<`T`\> + +#### Description + +approving ParaswapDelta as spender for Token + +## Defined in + +[src/methods/delta/approveForDelta.ts:5](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/approveForDelta.ts#L5) diff --git a/docs/md/type-aliases/BuildDeltaOrderDataParams.md b/docs/md/type-aliases/BuildDeltaOrderDataParams.md new file mode 100644 index 00000000..a7fc7a8e --- /dev/null +++ b/docs/md/type-aliases/BuildDeltaOrderDataParams.md @@ -0,0 +1,103 @@ +[**@paraswap/sdk**](../README.md) • **Docs** + +*** + +[@paraswap/sdk](../globals.md) / BuildDeltaOrderDataParams + +# Type Alias: BuildDeltaOrderDataParams + +> **BuildDeltaOrderDataParams**: `object` & [`Partial`](../-internal-/type-aliases/Partial.md)\<[`PartnerFeeResponse`](../-internal-/type-aliases/PartnerFeeResponse.md)\> + +## Type declaration + +### beneficiary? + +> `optional` **beneficiary**: `string` + +#### Description + +The address of the order beneficiary + +### deadline? + +> `optional` **deadline**: `number` + +#### Description + +The deadline for the order + +### deltaPrice + +> **deltaPrice**: [`Pick`](../-internal-/type-aliases/Pick.md)\<[`DeltaPrice`](DeltaPrice.md), `"destAmount"` \| `"partner"` \| `"partnerFee"`\> + +#### Description + +price response received from /delta/prices (getDeltaPrice method) + +### destAmount + +> **destAmount**: `string` + +#### Description + +The minimum amount of dest token to receive + +### destToken + +> **destToken**: `string` + +#### Description + +The address of the dest token + +### nonce? + +> `optional` **nonce**: `number` \| `string` + +#### Description + +The nonce of the order + +### owner + +> **owner**: `string` + +#### Description + +The address of the order owner + +### partner? + +> `optional` **partner**: `string` + +#### Description + +Partner string. + +### permit? + +> `optional` **permit**: `string` + +#### Description + +Optional permit signature for the src token https://developers.paraswap.network/api/paraswap-delta/build-and-sign-a-delta-order#supported-permits + +### srcAmount + +> **srcAmount**: `string` + +#### Description + +The amount of src token to swap + +### srcToken + +> **srcToken**: `string` + +#### Description + +The address of the src token + +## Defined in + +[src/methods/delta/buildDeltaOrder.ts:15](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/buildDeltaOrder.ts#L15) diff --git a/docs/md/type-aliases/BuildDeltaOrderFunctions.md b/docs/md/type-aliases/BuildDeltaOrderFunctions.md new file mode 100644 index 00000000..6093fd8e --- /dev/null +++ b/docs/md/type-aliases/BuildDeltaOrderFunctions.md @@ -0,0 +1,23 @@ +[**@paraswap/sdk**](../README.md) • **Docs** + +*** + +[@paraswap/sdk](../globals.md) / BuildDeltaOrderFunctions + +# Type Alias: BuildDeltaOrderFunctions + +> **BuildDeltaOrderFunctions**: `object` + +## Type declaration + +### buildDeltaOrder + +> **buildDeltaOrder**: [`BuildDeltaOrder`](../-internal-/type-aliases/BuildDeltaOrder.md) + +#### Description + +Build Orders to be posted to Delta API for execution + +## Defined in + +[src/methods/delta/buildDeltaOrder.ts:46](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/buildDeltaOrder.ts#L46) diff --git a/docs/md/type-aliases/DeltaAuctionOrder.md b/docs/md/type-aliases/DeltaAuctionOrder.md new file mode 100644 index 00000000..0e6c0bb3 --- /dev/null +++ b/docs/md/type-aliases/DeltaAuctionOrder.md @@ -0,0 +1,103 @@ +[**@paraswap/sdk**](../README.md) • **Docs** + +*** + +[@paraswap/sdk](../globals.md) / DeltaAuctionOrder + +# Type Alias: DeltaAuctionOrder + +> **DeltaAuctionOrder**: `object` + +## Type declaration + +### beneficiary + +> **beneficiary**: `string` + +#### Description + +The address of the order beneficiary + +### deadline + +> **deadline**: `number` + +#### Description + +The deadline for the order + +### destAmount + +> **destAmount**: `string` + +#### Description + +The minimum amount of dest token to receive + +### destToken + +> **destToken**: `string` + +#### Description + +The address of the dest token + +### expectedDestAmount + +> **expectedDestAmount**: `string` + +#### Description + +The expected amount of dest token to receive + +### nonce + +> **nonce**: `string` + +#### Description + +The nonce of the order + +### owner + +> **owner**: `string` + +#### Description + +The address of the order owner + +### partnerAndFee + +> **partnerAndFee**: `string` + +#### Description + +Encoded partner address, fee bps, and flags for the order. partnerAndFee = (partner << 96) | (partnerTakesSurplus << 8) | fee in bps (max fee is 2%) + +### permit + +> **permit**: `string` + +#### Description + +Optional permit signature for the src token + +### srcAmount + +> **srcAmount**: `string` + +#### Description + +The amount of src token to swap + +### srcToken + +> **srcToken**: `string` + +#### Description + +The address of the src token + +## Defined in + +[src/methods/delta/helpers/types.ts:1](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/helpers/types.ts#L1) diff --git a/docs/md/type-aliases/DeltaOrderHandlers.md b/docs/md/type-aliases/DeltaOrderHandlers.md new file mode 100644 index 00000000..27a248ec --- /dev/null +++ b/docs/md/type-aliases/DeltaOrderHandlers.md @@ -0,0 +1,17 @@ +[**@paraswap/sdk**](../README.md) • **Docs** + +*** + +[@paraswap/sdk](../globals.md) / DeltaOrderHandlers + +# Type Alias: DeltaOrderHandlers\ + +> **DeltaOrderHandlers**\<`T`\>: [`SubmitDeltaOrderFuncs`](../-internal-/type-aliases/SubmitDeltaOrderFuncs.md) & [`ApproveTokenForDeltaFunctions`](ApproveTokenForDeltaFunctions.md)\<`T`\> & [`BuildDeltaOrderFunctions`](BuildDeltaOrderFunctions.md) & [`GetDeltaOrdersFunctions`](GetDeltaOrdersFunctions.md) & [`GetDeltaPriceFunctions`](GetDeltaPriceFunctions.md) & [`GetDeltaContractFunctions`](GetDeltaContractFunctions.md) & [`GetPartnerFeeFunctions`](GetPartnerFeeFunctions.md) & [`PostDeltaOrderFunctions`](PostDeltaOrderFunctions.md) & [`SignDeltaOrderFunctions`](SignDeltaOrderFunctions.md) + +## Type Parameters + +• **T** + +## Defined in + +[src/methods/delta/index.ts:74](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/index.ts#L74) diff --git a/docs/md/type-aliases/DeltaPrice.md b/docs/md/type-aliases/DeltaPrice.md new file mode 100644 index 00000000..914299bf --- /dev/null +++ b/docs/md/type-aliases/DeltaPrice.md @@ -0,0 +1,71 @@ +[**@paraswap/sdk**](../README.md) • **Docs** + +*** + +[@paraswap/sdk](../globals.md) / DeltaPrice + +# Type Alias: DeltaPrice + +> **DeltaPrice**: `object` + +## Type declaration + +### destAmount + +> **destAmount**: `string` + +### destAmountBeforeFee + +> **destAmountBeforeFee**: `string` + +### destToken + +> **destToken**: `string` + +### destUSD + +> **destUSD**: `string` + +### destUSDBeforeFee + +> **destUSDBeforeFee**: `string` + +### gasCost + +> **gasCost**: `string` + +### gasCostBeforeFee + +> **gasCostBeforeFee**: `string` + +### gasCostUSD + +> **gasCostUSD**: `string` + +### gasCostUSDBeforeFee + +> **gasCostUSDBeforeFee**: `string` + +### partner + +> **partner**: `string` + +### partnerFee + +> **partnerFee**: `number` + +### srcAmount + +> **srcAmount**: `string` + +### srcToken + +> **srcToken**: `string` + +### srcUSD + +> **srcUSD**: `string` + +## Defined in + +[src/methods/delta/getDeltaPrice.ts:28](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/getDeltaPrice.ts#L28) diff --git a/docs/md/type-aliases/DeltaPriceParams.md b/docs/md/type-aliases/DeltaPriceParams.md new file mode 100644 index 00000000..a5311e59 --- /dev/null +++ b/docs/md/type-aliases/DeltaPriceParams.md @@ -0,0 +1,71 @@ +[**@paraswap/sdk**](../README.md) • **Docs** + +*** + +[@paraswap/sdk](../globals.md) / DeltaPriceParams + +# Type Alias: DeltaPriceParams + +> **DeltaPriceParams**: `object` + +## Type declaration + +### amount + +> **amount**: `string` + +#### Description + +srcToken amount in wei + +### destDecimals + +> **destDecimals**: `number` + +#### Description + +Destination Token Decimals + +### destToken + +> **destToken**: `string` + +#### Description + +Destination Token Address + +### partner? + +> `optional` **partner**: `string` + +#### Description + +Partner string. + +### srcDecimals + +> **srcDecimals**: `number` + +#### Description + +Source Token Decimals + +### srcToken + +> **srcToken**: `string` + +#### Description + +Source Token Address. Not Native Token + +### userAddress? + +> `optional` **userAddress**: `string` + +#### Description + +User's Wallet Address + +## Defined in + +[src/methods/delta/getDeltaPrice.ts:5](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/getDeltaPrice.ts#L5) diff --git a/docs/md/type-aliases/GetDeltaContractFunctions.md b/docs/md/type-aliases/GetDeltaContractFunctions.md new file mode 100644 index 00000000..ad195488 --- /dev/null +++ b/docs/md/type-aliases/GetDeltaContractFunctions.md @@ -0,0 +1,23 @@ +[**@paraswap/sdk**](../README.md) • **Docs** + +*** + +[@paraswap/sdk](../globals.md) / GetDeltaContractFunctions + +# Type Alias: GetDeltaContractFunctions + +> **GetDeltaContractFunctions**: `object` + +## Type declaration + +### getDeltaContract + +> **getDeltaContract**: [`GetDeltaContract`](../-internal-/type-aliases/GetDeltaContract.md) + +#### Description + +returns ParaswapDelta contract address when Delta is available on current chain + +## Defined in + +[src/methods/delta/getDeltaContract.ts:5](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/getDeltaContract.ts#L5) diff --git a/docs/md/type-aliases/GetDeltaOrdersFunctions.md b/docs/md/type-aliases/GetDeltaOrdersFunctions.md new file mode 100644 index 00000000..849810a1 --- /dev/null +++ b/docs/md/type-aliases/GetDeltaOrdersFunctions.md @@ -0,0 +1,23 @@ +[**@paraswap/sdk**](../README.md) • **Docs** + +*** + +[@paraswap/sdk](../globals.md) / GetDeltaOrdersFunctions + +# Type Alias: GetDeltaOrdersFunctions + +> **GetDeltaOrdersFunctions**: `object` + +## Type declaration + +### getDeltaOrderById + +> **getDeltaOrderById**: [`GetDeltaOrderById`](../-internal-/type-aliases/GetDeltaOrderById.md) + +### getDeltaOrders + +> **getDeltaOrders**: [`GetDeltaOrders`](../-internal-/type-aliases/GetDeltaOrders.md) + +## Defined in + +[src/methods/delta/getDeltaOrders.ts:28](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/getDeltaOrders.ts#L28) diff --git a/docs/md/type-aliases/GetDeltaPriceFunctions.md b/docs/md/type-aliases/GetDeltaPriceFunctions.md new file mode 100644 index 00000000..2ef95df5 --- /dev/null +++ b/docs/md/type-aliases/GetDeltaPriceFunctions.md @@ -0,0 +1,19 @@ +[**@paraswap/sdk**](../README.md) • **Docs** + +*** + +[@paraswap/sdk](../globals.md) / GetDeltaPriceFunctions + +# Type Alias: GetDeltaPriceFunctions + +> **GetDeltaPriceFunctions**: `object` + +## Type declaration + +### getDeltaPrice + +> **getDeltaPrice**: [`GetDeltaPrice`](../-internal-/type-aliases/GetDeltaPrice.md) + +## Defined in + +[src/methods/delta/getDeltaPrice.ts:54](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/getDeltaPrice.ts#L54) diff --git a/docs/md/type-aliases/GetPartnerFeeFunctions.md b/docs/md/type-aliases/GetPartnerFeeFunctions.md new file mode 100644 index 00000000..3712f2c5 --- /dev/null +++ b/docs/md/type-aliases/GetPartnerFeeFunctions.md @@ -0,0 +1,19 @@ +[**@paraswap/sdk**](../README.md) • **Docs** + +*** + +[@paraswap/sdk](../globals.md) / GetPartnerFeeFunctions + +# Type Alias: GetPartnerFeeFunctions + +> **GetPartnerFeeFunctions**: `object` + +## Type declaration + +### getPartnerFee + +> **getPartnerFee**: [`GetPartnerFee`](../-internal-/type-aliases/GetPartnerFee.md) + +## Defined in + +[src/methods/delta/getPartnerFee.ts:20](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/getPartnerFee.ts#L20) diff --git a/docs/md/type-aliases/GetQuoteFunctions.md b/docs/md/type-aliases/GetQuoteFunctions.md new file mode 100644 index 00000000..103fd892 --- /dev/null +++ b/docs/md/type-aliases/GetQuoteFunctions.md @@ -0,0 +1,19 @@ +[**@paraswap/sdk**](../README.md) • **Docs** + +*** + +[@paraswap/sdk](../globals.md) / GetQuoteFunctions + +# Type Alias: GetQuoteFunctions + +> **GetQuoteFunctions**: `object` + +## Type declaration + +### getQuote + +> **getQuote**: [`GetQuoteFunc`](../-internal-/interfaces/GetQuoteFunc.md) + +## Defined in + +[src/methods/quote/getQuote.ts:76](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/quote/getQuote.ts#L76) diff --git a/docs/md/type-aliases/ParaswapDeltaAuction.md b/docs/md/type-aliases/ParaswapDeltaAuction.md new file mode 100644 index 00000000..acf847dd --- /dev/null +++ b/docs/md/type-aliases/ParaswapDeltaAuction.md @@ -0,0 +1,71 @@ +[**@paraswap/sdk**](../README.md) • **Docs** + +*** + +[@paraswap/sdk](../globals.md) / ParaswapDeltaAuction + +# Type Alias: ParaswapDeltaAuction + +> **ParaswapDeltaAuction**: `object` + +## Type declaration + +### chainId + +> **chainId**: `number` + +### createdAt + +> **createdAt**: `string` + +### deltaVersion + +> **deltaVersion**: `string` + +### expiresAt + +> **expiresAt**: `string` + +### id + +> **id**: `string` + +### order + +> **order**: [`DeltaAuctionOrder`](DeltaAuctionOrder.md) + +### orderHash + +> **orderHash**: `string` + +### partiallyFillable + +> **partiallyFillable**: `boolean` + +### partner + +> **partner**: `string` + +### signature + +> **signature**: `string` + +### status + +> **status**: [`DeltaAuctionStatus`](../-internal-/type-aliases/DeltaAuctionStatus.md) + +### transactions + +> **transactions**: [`DeltaAuctionTransaction`](../-internal-/type-aliases/DeltaAuctionTransaction.md)[] + +### updatedAt + +> **updatedAt**: `string` + +### user + +> **user**: `string` + +## Defined in + +[src/methods/delta/helpers/types.ts:57](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/helpers/types.ts#L57) diff --git a/docs/md/type-aliases/PostDeltaOrderFunctions.md b/docs/md/type-aliases/PostDeltaOrderFunctions.md new file mode 100644 index 00000000..a39266b1 --- /dev/null +++ b/docs/md/type-aliases/PostDeltaOrderFunctions.md @@ -0,0 +1,19 @@ +[**@paraswap/sdk**](../README.md) • **Docs** + +*** + +[@paraswap/sdk](../globals.md) / PostDeltaOrderFunctions + +# Type Alias: PostDeltaOrderFunctions + +> **PostDeltaOrderFunctions**: `object` + +## Type declaration + +### postDeltaOrder + +> **postDeltaOrder**: [`PostDeltaOrder`](../-internal-/type-aliases/PostDeltaOrder.md) + +## Defined in + +[src/methods/delta/postDeltaOrder.ts:25](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/postDeltaOrder.ts#L25) diff --git a/docs/md/type-aliases/PostDeltaOrderParams.md b/docs/md/type-aliases/PostDeltaOrderParams.md new file mode 100644 index 00000000..708e7b3a --- /dev/null +++ b/docs/md/type-aliases/PostDeltaOrderParams.md @@ -0,0 +1,13 @@ +[**@paraswap/sdk**](../README.md) • **Docs** + +*** + +[@paraswap/sdk](../globals.md) / PostDeltaOrderParams + +# Type Alias: PostDeltaOrderParams + +> **PostDeltaOrderParams**: [`Omit`](../-internal-/type-aliases/Omit.md)\<[`DeltaOrderToPost`](../-internal-/type-aliases/DeltaOrderToPost.md), `"chainId"`\> + +## Defined in + +[src/methods/delta/postDeltaOrder.ts:16](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/postDeltaOrder.ts#L16) diff --git a/docs/md/type-aliases/QuoteParams.md b/docs/md/type-aliases/QuoteParams.md new file mode 100644 index 00000000..74e6189c --- /dev/null +++ b/docs/md/type-aliases/QuoteParams.md @@ -0,0 +1,91 @@ +[**@paraswap/sdk**](../README.md) • **Docs** + +*** + +[@paraswap/sdk](../globals.md) / QuoteParams + +# Type Alias: QuoteParams\ + +> **QuoteParams**\<`M`\>: `object` + +## Type Parameters + +• **M** *extends* [`TradeMode`](../-internal-/type-aliases/TradeMode.md) = [`TradeMode`](../-internal-/type-aliases/TradeMode.md) + +## Type declaration + +### amount + +> **amount**: `string` + +#### Description + +srcToken amount (in case of SELL) or destToken amount (in case of BUY), in wei + +### destDecimals + +> **destDecimals**: `number` + +#### Description + +Destination Token Decimals + +### destToken + +> **destToken**: `string` + +#### Description + +Destination Token Address + +### mode + +> **mode**: `M` + +#### Description + +Preferred mode for the trade. In case of "all", Delta pricing is returned, with Market as a fallback + +### partner? + +> `optional` **partner**: `string` + +#### Description + +Partner string + +### side + +> **side**: [`SwapSideUnion`](../-internal-/type-aliases/SwapSideUnion.md) + +#### Description + +SELL or BUY + +### srcDecimals + +> **srcDecimals**: `number` + +#### Description + +Source Token Decimals. + +### srcToken + +> **srcToken**: `string` + +#### Description + +Source Token Address + +### userAddress? + +> `optional` **userAddress**: `string` + +#### Description + +User's Wallet Address + +## Defined in + +[src/methods/quote/getQuote.ts:14](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/quote/getQuote.ts#L14) diff --git a/docs/md/type-aliases/QuoteResponse.md b/docs/md/type-aliases/QuoteResponse.md new file mode 100644 index 00000000..55deff75 --- /dev/null +++ b/docs/md/type-aliases/QuoteResponse.md @@ -0,0 +1,13 @@ +[**@paraswap/sdk**](../README.md) • **Docs** + +*** + +[@paraswap/sdk](../globals.md) / QuoteResponse + +# Type Alias: QuoteResponse + +> **QuoteResponse**: [`QuoteWithDeltaPrice`](QuoteWithDeltaPrice.md) \| [`QuoteWithMarketPrice`](QuoteWithMarketPrice.md) \| [`QuoteWithMarketPriceAsFallback`](QuoteWithMarketPriceAsFallback.md) + +## Defined in + +[src/methods/quote/getQuote.ts:56](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/quote/getQuote.ts#L56) diff --git a/docs/md/type-aliases/QuoteWithDeltaPrice.md b/docs/md/type-aliases/QuoteWithDeltaPrice.md new file mode 100644 index 00000000..e37da00b --- /dev/null +++ b/docs/md/type-aliases/QuoteWithDeltaPrice.md @@ -0,0 +1,19 @@ +[**@paraswap/sdk**](../README.md) • **Docs** + +*** + +[@paraswap/sdk](../globals.md) / QuoteWithDeltaPrice + +# Type Alias: QuoteWithDeltaPrice + +> **QuoteWithDeltaPrice**: `object` + +## Type declaration + +### delta + +> **delta**: [`DeltaPrice`](DeltaPrice.md) + +## Defined in + +[src/methods/quote/getQuote.ts:48](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/quote/getQuote.ts#L48) diff --git a/docs/md/type-aliases/QuoteWithMarketPrice.md b/docs/md/type-aliases/QuoteWithMarketPrice.md new file mode 100644 index 00000000..2a1d41a8 --- /dev/null +++ b/docs/md/type-aliases/QuoteWithMarketPrice.md @@ -0,0 +1,19 @@ +[**@paraswap/sdk**](../README.md) • **Docs** + +*** + +[@paraswap/sdk](../globals.md) / QuoteWithMarketPrice + +# Type Alias: QuoteWithMarketPrice + +> **QuoteWithMarketPrice**: `object` + +## Type declaration + +### market + +> **market**: [`OptimalRate`](OptimalRate.md) + +## Defined in + +[src/methods/quote/getQuote.ts:44](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/quote/getQuote.ts#L44) diff --git a/docs/md/type-aliases/QuoteWithMarketPriceAsFallback.md b/docs/md/type-aliases/QuoteWithMarketPriceAsFallback.md new file mode 100644 index 00000000..336f0cc1 --- /dev/null +++ b/docs/md/type-aliases/QuoteWithMarketPriceAsFallback.md @@ -0,0 +1,19 @@ +[**@paraswap/sdk**](../README.md) • **Docs** + +*** + +[@paraswap/sdk](../globals.md) / QuoteWithMarketPriceAsFallback + +# Type Alias: QuoteWithMarketPriceAsFallback + +> **QuoteWithMarketPriceAsFallback**: [`QuoteWithMarketPrice`](QuoteWithMarketPrice.md) & `object` + +## Type declaration + +### fallbackReason + +> **fallbackReason**: [`FallbackReason`](../-internal-/type-aliases/FallbackReason.md) + +## Defined in + +[src/methods/quote/getQuote.ts:52](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/quote/getQuote.ts#L52) diff --git a/docs/md/type-aliases/SDKConfig.md b/docs/md/type-aliases/SDKConfig.md index 844ee5a2..d2e979ce 100644 --- a/docs/md/type-aliases/SDKConfig.md +++ b/docs/md/type-aliases/SDKConfig.md @@ -14,4 +14,4 @@ ## Defined in -[src/sdk/partial.ts:16](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/partial.ts#L16) +[src/sdk/partial.ts:17](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/partial.ts#L17) diff --git a/docs/md/type-aliases/SignDeltaOrderFunctions.md b/docs/md/type-aliases/SignDeltaOrderFunctions.md new file mode 100644 index 00000000..10fa82e1 --- /dev/null +++ b/docs/md/type-aliases/SignDeltaOrderFunctions.md @@ -0,0 +1,19 @@ +[**@paraswap/sdk**](../README.md) • **Docs** + +*** + +[@paraswap/sdk](../globals.md) / SignDeltaOrderFunctions + +# Type Alias: SignDeltaOrderFunctions + +> **SignDeltaOrderFunctions**: `object` + +## Type declaration + +### signDeltaOrder + +> **signDeltaOrder**: [`SignDeltaOrder`](../-internal-/type-aliases/SignDeltaOrder.md) + +## Defined in + +[src/methods/delta/signDeltaOrder.ts:16](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/signDeltaOrder.ts#L16) diff --git a/docs/md/type-aliases/SignableDeltaOrderData.md b/docs/md/type-aliases/SignableDeltaOrderData.md new file mode 100644 index 00000000..5aef6b9a --- /dev/null +++ b/docs/md/type-aliases/SignableDeltaOrderData.md @@ -0,0 +1,31 @@ +[**@paraswap/sdk**](../README.md) • **Docs** + +*** + +[@paraswap/sdk](../globals.md) / SignableDeltaOrderData + +# Type Alias: SignableDeltaOrderData + +> **SignableDeltaOrderData**: `object` + +## Type declaration + +### data + +> **data**: [`DeltaAuctionOrder`](DeltaAuctionOrder.md) + +### domain + +> **domain**: [`Domain`](../-internal-/type-aliases/Domain.md) + +### types + +> **types**: `object` + +### types.Order + +> **Order**: *typeof* [`Order`](../-internal-/variables/Order.md) + +## Defined in + +[src/methods/delta/helpers/buildDeltaOrderData.ts:22](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/helpers/buildDeltaOrderData.ts#L22) diff --git a/docs/md/type-aliases/SimpleFetchSDK.md b/docs/md/type-aliases/SimpleFetchSDK.md index 63d3887f..526fa0b1 100644 --- a/docs/md/type-aliases/SimpleFetchSDK.md +++ b/docs/md/type-aliases/SimpleFetchSDK.md @@ -10,6 +10,10 @@ ## Type declaration +### delta + +> **delta**: [`DeltaFetchMethods`](../-internal-/type-aliases/DeltaFetchMethods.md) + ### limitOrders > **limitOrders**: [`LimitOrdersFetchMethods`](../-internal-/type-aliases/LimitOrdersFetchMethods.md) @@ -18,10 +22,14 @@ > **nftOrders**: [`NFTOrdersFetchMethods`](../-internal-/type-aliases/NFTOrdersFetchMethods.md) +### quote + +> **quote**: [`QuoteFetchMethods`](../-internal-/type-aliases/QuoteFetchMethods.md) + ### swap > **swap**: [`SwapFetchMethods`](../-internal-/type-aliases/SwapFetchMethods.md) ## Defined in -[src/sdk/simple.ts:120](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/simple.ts#L120) +[src/sdk/simple.ts:159](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/simple.ts#L159) diff --git a/docs/md/type-aliases/SimpleSDK.md b/docs/md/type-aliases/SimpleSDK.md index 723071ff..c9ba9c8f 100644 --- a/docs/md/type-aliases/SimpleSDK.md +++ b/docs/md/type-aliases/SimpleSDK.md @@ -10,6 +10,10 @@ ## Type declaration +### delta + +> **delta**: [`DeltaOrderHandlers`](DeltaOrderHandlers.md)\<[`TxHash`](TxHash.md)\> + ### limitOrders > **limitOrders**: [`LimitOrderHandlers`](LimitOrderHandlers.md)\<[`TxHash`](TxHash.md)\> @@ -18,10 +22,14 @@ > **nftOrders**: [`NFTOrderHandlers`](NFTOrderHandlers.md)\<[`TxHash`](TxHash.md)\> +### quote + +> **quote**: [`QuoteFetchMethods`](../-internal-/type-aliases/QuoteFetchMethods.md) + ### swap > **swap**: [`SwapSDKMethods`](SwapSDKMethods.md)\<[`TxHash`](TxHash.md)\> ## Defined in -[src/sdk/simple.ts:126](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/simple.ts#L126) +[src/sdk/simple.ts:169](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/simple.ts#L169) diff --git a/docs/md/type-aliases/SimpleSDKProviderOptions.md b/docs/md/type-aliases/SimpleSDKProviderOptions.md index 39f04830..8de0c363 100644 --- a/docs/md/type-aliases/SimpleSDKProviderOptions.md +++ b/docs/md/type-aliases/SimpleSDKProviderOptions.md @@ -16,4 +16,4 @@ ## Defined in -[src/sdk/simple.ts:143](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/simple.ts#L143) +[src/sdk/simple.ts:188](https://github.com/paraswap/paraswap-sdk/blob/master/src/sdk/simple.ts#L188) diff --git a/docs/md/type-aliases/SubmitDeltaOrderParams.md b/docs/md/type-aliases/SubmitDeltaOrderParams.md new file mode 100644 index 00000000..9142b70a --- /dev/null +++ b/docs/md/type-aliases/SubmitDeltaOrderParams.md @@ -0,0 +1,23 @@ +[**@paraswap/sdk**](../README.md) • **Docs** + +*** + +[@paraswap/sdk](../globals.md) / SubmitDeltaOrderParams + +# Type Alias: SubmitDeltaOrderParams + +> **SubmitDeltaOrderParams**: [`BuildDeltaOrderDataParams`](BuildDeltaOrderDataParams.md) & `object` + +## Type declaration + +### partiallyFillable? + +> `optional` **partiallyFillable**: `boolean` + +#### Description + +designates the Order as being able to partilly filled, as opposed to fill-or-kill + +## Defined in + +[src/methods/delta/index.ts:37](https://github.com/paraswap/paraswap-sdk/blob/master/src/methods/delta/index.ts#L37)