@1inch/fusion-sdk 2.3.4 → 2.3.6-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/amount-calculator/amount-calculator.js +274 -78
- package/dist/cjs/amount-calculator/amount-calculator.spec.js +66 -0
- package/dist/cjs/amount-calculator/auction-calculator/README.md +59 -0
- package/dist/cjs/amount-calculator/auction-calculator/auction-calculator.js +183 -77
- package/dist/cjs/amount-calculator/auction-calculator/auction-calculator.spec.js +57 -0
- package/dist/cjs/amount-calculator/auction-calculator/index.js +17 -4
- package/dist/cjs/amount-calculator/index.js +34 -9
- package/dist/cjs/api/fusion-api.js +119 -48
- package/dist/cjs/api/index.js +24 -11
- package/dist/cjs/api/orders/index.js +19 -6
- package/dist/cjs/api/orders/order-api.spec.js +746 -0
- package/dist/cjs/api/orders/orders.api.js +245 -36
- package/dist/cjs/api/orders/orders.request.js +159 -63
- package/dist/cjs/api/orders/types.js +14 -6
- package/dist/cjs/api/ordersVersion.js +12 -6
- package/dist/cjs/api/pagination.js +62 -15
- package/dist/cjs/api/pagination.spec.js +29 -0
- package/dist/cjs/api/params.js +27 -21
- package/dist/cjs/api/quoter/index.js +22 -9
- package/dist/cjs/api/quoter/preset.js +87 -28
- package/dist/cjs/api/quoter/quote/index.js +19 -6
- package/dist/cjs/api/quoter/quote/order-params.js +63 -14
- package/dist/cjs/api/quoter/quote/quote.js +158 -94
- package/dist/cjs/api/quoter/quote/types.js +3 -2
- package/dist/cjs/api/quoter/quoter-custom-preset.request.js +118 -56
- package/dist/cjs/api/quoter/quoter-custom-preset.request.spec.js +131 -0
- package/dist/cjs/api/quoter/quoter.api.js +241 -28
- package/dist/cjs/api/quoter/quoter.api.spec.js +365 -0
- package/dist/cjs/api/quoter/quoter.request.js +94 -34
- package/dist/cjs/api/quoter/quoter.request.spec.js +111 -0
- package/dist/cjs/api/quoter/types.js +16 -6
- package/dist/cjs/api/relayer/index.js +19 -6
- package/dist/cjs/api/relayer/relayer.api.js +73 -18
- package/dist/cjs/api/relayer/relayer.api.spec.js +234 -0
- package/dist/cjs/api/relayer/relayer.request.js +71 -18
- package/dist/cjs/api/relayer/types.js +3 -2
- package/dist/cjs/api/types.js +3 -2
- package/dist/cjs/api-ext.js +17 -4
- package/dist/cjs/connector/blockchain/blockchain-provider.connector.js +3 -2
- package/dist/cjs/connector/blockchain/index.js +19 -6
- package/dist/cjs/connector/blockchain/private-key-provider.connector.js +85 -19
- package/dist/cjs/connector/blockchain/private-key-provider.connector.spec.js +183 -0
- package/dist/cjs/connector/blockchain/web3-provider-connector.js +71 -22
- package/dist/cjs/connector/blockchain/web3-provider.connector.spec.js +186 -0
- package/dist/cjs/connector/http/axios-provider.connector.js +298 -39
- package/dist/cjs/connector/http/axios-provider.connector.spec.js +208 -0
- package/dist/cjs/connector/http/http-provider.connector.js +3 -2
- package/dist/cjs/connector/http/index.js +18 -5
- package/dist/cjs/connector/index.js +19 -6
- package/dist/cjs/connector/ws/index.js +19 -6
- package/dist/cjs/connector/ws/types.js +3 -2
- package/dist/cjs/connector/ws/websocket-client.connector.js +155 -71
- package/dist/cjs/connector/ws/websocket-provider.connector.js +3 -2
- package/dist/cjs/constants.js +53 -15
- package/dist/cjs/errors.js +123 -7
- package/dist/cjs/fusion-order/README.md +58 -0
- package/dist/cjs/fusion-order/auction-details/README.md +85 -0
- package/dist/cjs/fusion-order/auction-details/auction-details.js +182 -67
- package/dist/cjs/fusion-order/auction-details/auction-details.spec.js +25 -0
- package/dist/cjs/fusion-order/auction-details/index.js +18 -5
- package/dist/cjs/fusion-order/auction-details/types.js +3 -2
- package/dist/cjs/fusion-order/constants.js +26 -20
- package/dist/cjs/fusion-order/fees/fees.js +93 -27
- package/dist/cjs/fusion-order/fees/index.js +23 -9
- package/dist/cjs/fusion-order/fees/integrator-fee.js +54 -25
- package/dist/cjs/fusion-order/fees/resolver-fee.js +55 -20
- package/dist/cjs/fusion-order/fusion-extension.js +259 -155
- package/dist/cjs/fusion-order/fusion-extension.spec.js +78 -0
- package/dist/cjs/fusion-order/fusion-order.js +502 -199
- package/dist/cjs/fusion-order/fusion-order.spec.js +298 -0
- package/dist/cjs/fusion-order/index.js +29 -13
- package/dist/cjs/fusion-order/source-track.js +18 -12
- package/dist/cjs/fusion-order/surplus-params.js +80 -20
- package/dist/cjs/fusion-order/whitelist/README.md +54 -0
- package/dist/cjs/fusion-order/whitelist/index.js +18 -5
- package/dist/cjs/fusion-order/whitelist/types.js +3 -2
- package/dist/cjs/fusion-order/whitelist/whitelist.js +253 -109
- package/dist/cjs/fusion-order/whitelist/whitelist.spec.js +68 -0
- package/dist/cjs/index.js +91 -35
- package/dist/cjs/sdk/README.md +264 -0
- package/dist/cjs/sdk/encoders/cancel-order.encoder.js +20 -10
- package/dist/cjs/sdk/encoders/index.js +17 -4
- package/dist/cjs/sdk/index.js +20 -7
- package/dist/cjs/sdk/sdk.js +484 -129
- package/dist/cjs/sdk/sdk.spec.js +235 -0
- package/dist/cjs/sdk/types.js +3 -2
- package/dist/cjs/sdk/utils.js +21 -8
- package/dist/cjs/utils/amounts.js +35 -9
- package/dist/cjs/utils/time.js +9 -3
- package/dist/cjs/utils/types.js +3 -2
- package/dist/cjs/utils.js +17 -4
- package/dist/cjs/validations.js +32 -13
- package/dist/cjs/ws-api/README.md +627 -0
- package/dist/cjs/ws-api/active-websocket-orders-api.js +114 -50
- package/dist/cjs/ws-api/constants.js +10 -4
- package/dist/cjs/ws-api/index.js +21 -8
- package/dist/cjs/ws-api/rpc-websocket-api.js +110 -38
- package/dist/cjs/ws-api/types.js +3 -2
- package/dist/cjs/ws-api/url.js +9 -3
- package/dist/cjs/ws-api/ws-api.js +165 -48
- package/dist/cjs/ws-api/ws.spec.js +832 -0
- package/dist/esm/amount-calculator/amount-calculator.js +265 -75
- package/dist/esm/amount-calculator/amount-calculator.spec.js +62 -0
- package/dist/esm/amount-calculator/auction-calculator/README.md +59 -0
- package/dist/esm/amount-calculator/auction-calculator/auction-calculator.js +173 -73
- package/dist/esm/amount-calculator/auction-calculator/auction-calculator.spec.js +53 -0
- package/dist/esm/amount-calculator/auction-calculator/index.js +1 -2
- package/dist/esm/amount-calculator/index.js +4 -4
- package/dist/esm/api/fusion-api.js +107 -42
- package/dist/esm/api/index.js +8 -9
- package/dist/esm/api/orders/index.js +3 -4
- package/dist/esm/api/orders/order-api.spec.js +742 -0
- package/dist/esm/api/orders/orders.api.js +236 -33
- package/dist/esm/api/orders/orders.request.js +139 -58
- package/dist/esm/api/orders/types.js +5 -4
- package/dist/esm/api/ordersVersion.js +3 -4
- package/dist/esm/api/pagination.js +53 -12
- package/dist/esm/api/pagination.spec.js +25 -0
- package/dist/esm/api/params.js +18 -19
- package/dist/esm/api/quoter/index.js +6 -7
- package/dist/esm/api/quoter/preset.js +77 -24
- package/dist/esm/api/quoter/quote/index.js +3 -4
- package/dist/esm/api/quoter/quote/order-params.js +53 -10
- package/dist/esm/api/quoter/quote/quote.js +143 -85
- package/dist/esm/api/quoter/quote/types.js +12 -2
- package/dist/esm/api/quoter/quoter-custom-preset.request.js +110 -54
- package/dist/esm/api/quoter/quoter-custom-preset.request.spec.js +127 -0
- package/dist/esm/api/quoter/quoter.api.js +232 -25
- package/dist/esm/api/quoter/quoter.api.spec.js +361 -0
- package/dist/esm/api/quoter/quoter.request.js +80 -26
- package/dist/esm/api/quoter/quoter.request.spec.js +107 -0
- package/dist/esm/api/quoter/types.js +7 -4
- package/dist/esm/api/relayer/index.js +3 -4
- package/dist/esm/api/relayer/relayer.api.js +65 -16
- package/dist/esm/api/relayer/relayer.api.spec.js +230 -0
- package/dist/esm/api/relayer/relayer.request.js +62 -15
- package/dist/esm/api/relayer/types.js +1 -2
- package/dist/esm/api/types.js +1 -2
- package/dist/esm/api-ext.js +1 -2
- package/dist/esm/connector/blockchain/blockchain-provider.connector.js +1 -2
- package/dist/esm/connector/blockchain/index.js +3 -4
- package/dist/esm/connector/blockchain/private-key-provider.connector.js +76 -16
- package/dist/esm/connector/blockchain/private-key-provider.connector.spec.js +179 -0
- package/dist/esm/connector/blockchain/web3-provider-connector.js +62 -19
- package/dist/esm/connector/blockchain/web3-provider.connector.spec.js +182 -0
- package/dist/esm/connector/http/axios-provider.connector.js +249 -36
- package/dist/esm/connector/http/axios-provider.connector.spec.js +199 -0
- package/dist/esm/connector/http/http-provider.connector.js +1 -2
- package/dist/esm/connector/http/index.js +2 -3
- package/dist/esm/connector/index.js +3 -4
- package/dist/esm/connector/ws/index.js +3 -4
- package/dist/esm/connector/ws/types.js +1 -2
- package/dist/esm/connector/ws/websocket-client.connector.js +140 -66
- package/dist/esm/connector/ws/websocket-provider.connector.js +1 -2
- package/dist/esm/constants.js +12 -13
- package/dist/esm/errors.js +114 -4
- package/dist/esm/fusion-order/README.md +58 -0
- package/dist/esm/fusion-order/auction-details/README.md +85 -0
- package/dist/esm/fusion-order/auction-details/auction-details.js +160 -55
- package/dist/esm/fusion-order/auction-details/auction-details.spec.js +21 -0
- package/dist/esm/fusion-order/auction-details/index.js +2 -3
- package/dist/esm/fusion-order/auction-details/types.js +12 -2
- package/dist/esm/fusion-order/constants.js +16 -17
- package/dist/esm/fusion-order/fees/fees.js +75 -19
- package/dist/esm/fusion-order/fees/index.js +3 -4
- package/dist/esm/fusion-order/fees/integrator-fee.js +44 -21
- package/dist/esm/fusion-order/fees/resolver-fee.js +40 -15
- package/dist/esm/fusion-order/fusion-extension.js +243 -149
- package/dist/esm/fusion-order/fusion-extension.spec.js +74 -0
- package/dist/esm/fusion-order/fusion-order.js +485 -192
- package/dist/esm/fusion-order/fusion-order.spec.js +294 -0
- package/dist/esm/fusion-order/index.js +7 -8
- package/dist/esm/fusion-order/source-track.js +4 -5
- package/dist/esm/fusion-order/surplus-params.js +63 -13
- package/dist/esm/fusion-order/whitelist/README.md +54 -0
- package/dist/esm/fusion-order/whitelist/index.js +2 -3
- package/dist/esm/fusion-order/whitelist/types.js +6 -2
- package/dist/esm/fusion-order/whitelist/whitelist.js +236 -102
- package/dist/esm/fusion-order/whitelist/whitelist.spec.js +64 -0
- package/dist/esm/index.js +12 -13
- package/dist/esm/package.json +1 -0
- package/dist/esm/sdk/README.md +264 -0
- package/dist/esm/sdk/encoders/cancel-order.encoder.js +5 -4
- package/dist/esm/sdk/encoders/index.js +1 -2
- package/dist/esm/sdk/index.js +4 -5
- package/dist/esm/sdk/sdk.js +476 -127
- package/dist/esm/sdk/sdk.spec.js +231 -0
- package/dist/esm/sdk/types.js +12 -2
- package/dist/esm/sdk/utils.js +4 -5
- package/dist/esm/utils/amounts.js +18 -6
- package/dist/esm/utils/time.js +0 -1
- package/dist/esm/utils/types.js +1 -2
- package/dist/esm/utils.js +0 -1
- package/dist/esm/validations.js +7 -6
- package/dist/esm/ws-api/README.md +627 -0
- package/dist/esm/ws-api/active-websocket-orders-api.js +105 -47
- package/dist/esm/ws-api/constants.js +1 -2
- package/dist/esm/ws-api/index.js +5 -6
- package/dist/esm/ws-api/rpc-websocket-api.js +102 -36
- package/dist/esm/ws-api/types.js +1 -2
- package/dist/esm/ws-api/url.js +0 -1
- package/dist/esm/ws-api/ws-api.js +154 -43
- package/dist/esm/ws-api/ws.spec.js +828 -0
- package/dist/types/src/amount-calculator/amount-calculator.d.ts +4 -5
- package/dist/types/src/amount-calculator/auction-calculator/auction-calculator.d.ts +1 -1
- package/dist/types/src/amount-calculator/auction-calculator/index.d.ts +1 -1
- package/dist/types/src/amount-calculator/index.d.ts +4 -3
- package/dist/types/src/api/fusion-api.d.ts +5 -5
- package/dist/types/src/api/index.d.ts +8 -8
- package/dist/types/src/api/orders/index.d.ts +3 -3
- package/dist/types/src/api/orders/orders.api.d.ts +4 -4
- package/dist/types/src/api/orders/orders.request.d.ts +2 -2
- package/dist/types/src/api/orders/types.d.ts +4 -4
- package/dist/types/src/api/params.d.ts +1 -1
- package/dist/types/src/api/quoter/index.d.ts +6 -6
- package/dist/types/src/api/quoter/preset.d.ts +2 -2
- package/dist/types/src/api/quoter/quote/index.d.ts +3 -3
- package/dist/types/src/api/quoter/quote/order-params.d.ts +2 -2
- package/dist/types/src/api/quoter/quote/quote.d.ts +5 -5
- package/dist/types/src/api/quoter/quote/types.d.ts +2 -2
- package/dist/types/src/api/quoter/quoter-custom-preset.request.d.ts +1 -1
- package/dist/types/src/api/quoter/quoter.api.d.ts +5 -5
- package/dist/types/src/api/quoter/quoter.request.d.ts +2 -2
- package/dist/types/src/api/quoter/types.d.ts +2 -2
- package/dist/types/src/api/relayer/index.d.ts +3 -3
- package/dist/types/src/api/relayer/relayer.api.d.ts +3 -3
- package/dist/types/src/api/relayer/relayer.request.d.ts +1 -1
- package/dist/types/src/api/relayer/types.d.ts +1 -1
- package/dist/types/src/api/types.d.ts +2 -2
- package/dist/types/src/api-ext.d.ts +1 -1
- package/dist/types/src/connector/blockchain/index.d.ts +3 -3
- package/dist/types/src/connector/blockchain/private-key-provider.connector.d.ts +2 -2
- package/dist/types/src/connector/blockchain/web3-provider-connector.d.ts +1 -1
- package/dist/types/src/connector/http/axios-provider.connector.d.ts +1 -1
- package/dist/types/src/connector/http/index.d.ts +2 -2
- package/dist/types/src/connector/index.d.ts +3 -3
- package/dist/types/src/connector/ws/index.d.ts +3 -3
- package/dist/types/src/connector/ws/websocket-client.connector.d.ts +2 -2
- package/dist/types/src/connector/ws/websocket-provider.connector.d.ts +1 -1
- package/dist/types/src/fusion-order/auction-details/auction-details.d.ts +1 -1
- package/dist/types/src/fusion-order/auction-details/index.d.ts +2 -2
- package/dist/types/src/fusion-order/fees/fees.d.ts +2 -2
- package/dist/types/src/fusion-order/fees/index.d.ts +3 -3
- package/dist/types/src/fusion-order/fusion-extension.d.ts +7 -6
- package/dist/types/src/fusion-order/fusion-order.d.ts +7 -7
- package/dist/types/src/fusion-order/index.d.ts +7 -7
- package/dist/types/src/fusion-order/whitelist/index.d.ts +2 -2
- package/dist/types/src/fusion-order/whitelist/whitelist.d.ts +1 -1
- package/dist/types/src/index.d.ts +13 -13
- package/dist/types/src/sdk/encoders/index.d.ts +1 -1
- package/dist/types/src/sdk/index.d.ts +4 -4
- package/dist/types/src/sdk/sdk.d.ts +4 -4
- package/dist/types/src/sdk/types.d.ts +4 -4
- package/dist/types/src/ws-api/active-websocket-orders-api.d.ts +2 -2
- package/dist/types/src/ws-api/constants.d.ts +1 -1
- package/dist/types/src/ws-api/index.d.ts +5 -5
- package/dist/types/src/ws-api/rpc-websocket-api.d.ts +3 -3
- package/dist/types/src/ws-api/types.d.ts +4 -4
- package/dist/types/src/ws-api/ws-api.d.ts +4 -4
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/package.json +6 -4
- package/dist/cjs/amount-calculator/amount-calculator.js.map +0 -1
- package/dist/cjs/amount-calculator/auction-calculator/auction-calculator.js.map +0 -1
- package/dist/cjs/amount-calculator/auction-calculator/index.js.map +0 -1
- package/dist/cjs/amount-calculator/index.js.map +0 -1
- package/dist/cjs/api/fusion-api.js.map +0 -1
- package/dist/cjs/api/index.js.map +0 -1
- package/dist/cjs/api/orders/index.js.map +0 -1
- package/dist/cjs/api/orders/orders.api.js.map +0 -1
- package/dist/cjs/api/orders/orders.request.js.map +0 -1
- package/dist/cjs/api/orders/types.js.map +0 -1
- package/dist/cjs/api/ordersVersion.js.map +0 -1
- package/dist/cjs/api/pagination.js.map +0 -1
- package/dist/cjs/api/params.js.map +0 -1
- package/dist/cjs/api/quoter/index.js.map +0 -1
- package/dist/cjs/api/quoter/preset.js.map +0 -1
- package/dist/cjs/api/quoter/quote/index.js.map +0 -1
- package/dist/cjs/api/quoter/quote/order-params.js.map +0 -1
- package/dist/cjs/api/quoter/quote/quote.js.map +0 -1
- package/dist/cjs/api/quoter/quote/types.js.map +0 -1
- package/dist/cjs/api/quoter/quoter-custom-preset.request.js.map +0 -1
- package/dist/cjs/api/quoter/quoter.api.js.map +0 -1
- package/dist/cjs/api/quoter/quoter.request.js.map +0 -1
- package/dist/cjs/api/quoter/types.js.map +0 -1
- package/dist/cjs/api/relayer/index.js.map +0 -1
- package/dist/cjs/api/relayer/relayer.api.js.map +0 -1
- package/dist/cjs/api/relayer/relayer.request.js.map +0 -1
- package/dist/cjs/api/relayer/types.js.map +0 -1
- package/dist/cjs/api/types.js.map +0 -1
- package/dist/cjs/api-ext.js.map +0 -1
- package/dist/cjs/connector/blockchain/blockchain-provider.connector.js.map +0 -1
- package/dist/cjs/connector/blockchain/index.js.map +0 -1
- package/dist/cjs/connector/blockchain/private-key-provider.connector.js.map +0 -1
- package/dist/cjs/connector/blockchain/web3-provider-connector.js.map +0 -1
- package/dist/cjs/connector/http/axios-provider.connector.js.map +0 -1
- package/dist/cjs/connector/http/http-provider.connector.js.map +0 -1
- package/dist/cjs/connector/http/index.js.map +0 -1
- package/dist/cjs/connector/index.js.map +0 -1
- package/dist/cjs/connector/ws/index.js.map +0 -1
- package/dist/cjs/connector/ws/types.js.map +0 -1
- package/dist/cjs/connector/ws/websocket-client.connector.js.map +0 -1
- package/dist/cjs/connector/ws/websocket-provider.connector.js.map +0 -1
- package/dist/cjs/constants.js.map +0 -1
- package/dist/cjs/errors.js.map +0 -1
- package/dist/cjs/fusion-order/auction-details/auction-details.js.map +0 -1
- package/dist/cjs/fusion-order/auction-details/index.js.map +0 -1
- package/dist/cjs/fusion-order/auction-details/types.js.map +0 -1
- package/dist/cjs/fusion-order/constants.js.map +0 -1
- package/dist/cjs/fusion-order/fees/fees.js.map +0 -1
- package/dist/cjs/fusion-order/fees/index.js.map +0 -1
- package/dist/cjs/fusion-order/fees/integrator-fee.js.map +0 -1
- package/dist/cjs/fusion-order/fees/resolver-fee.js.map +0 -1
- package/dist/cjs/fusion-order/fusion-extension.js.map +0 -1
- package/dist/cjs/fusion-order/fusion-order.js.map +0 -1
- package/dist/cjs/fusion-order/index.js.map +0 -1
- package/dist/cjs/fusion-order/source-track.js.map +0 -1
- package/dist/cjs/fusion-order/surplus-params.js.map +0 -1
- package/dist/cjs/fusion-order/whitelist/index.js.map +0 -1
- package/dist/cjs/fusion-order/whitelist/types.js.map +0 -1
- package/dist/cjs/fusion-order/whitelist/whitelist.js.map +0 -1
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/sdk/encoders/cancel-order.encoder.js.map +0 -1
- package/dist/cjs/sdk/encoders/index.js.map +0 -1
- package/dist/cjs/sdk/index.js.map +0 -1
- package/dist/cjs/sdk/sdk.js.map +0 -1
- package/dist/cjs/sdk/types.js.map +0 -1
- package/dist/cjs/sdk/utils.js.map +0 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +0 -1
- package/dist/cjs/utils/amounts.js.map +0 -1
- package/dist/cjs/utils/time.js.map +0 -1
- package/dist/cjs/utils/types.js.map +0 -1
- package/dist/cjs/utils.js.map +0 -1
- package/dist/cjs/validations.js.map +0 -1
- package/dist/cjs/ws-api/active-websocket-orders-api.js.map +0 -1
- package/dist/cjs/ws-api/constants.js.map +0 -1
- package/dist/cjs/ws-api/index.js.map +0 -1
- package/dist/cjs/ws-api/rpc-websocket-api.js.map +0 -1
- package/dist/cjs/ws-api/types.js.map +0 -1
- package/dist/cjs/ws-api/url.js.map +0 -1
- package/dist/cjs/ws-api/ws-api.js.map +0 -1
- package/dist/esm/amount-calculator/amount-calculator.js.map +0 -1
- package/dist/esm/amount-calculator/auction-calculator/auction-calculator.js.map +0 -1
- package/dist/esm/amount-calculator/auction-calculator/index.js.map +0 -1
- package/dist/esm/amount-calculator/index.js.map +0 -1
- package/dist/esm/api/fusion-api.js.map +0 -1
- package/dist/esm/api/index.js.map +0 -1
- package/dist/esm/api/orders/index.js.map +0 -1
- package/dist/esm/api/orders/orders.api.js.map +0 -1
- package/dist/esm/api/orders/orders.request.js.map +0 -1
- package/dist/esm/api/orders/types.js.map +0 -1
- package/dist/esm/api/ordersVersion.js.map +0 -1
- package/dist/esm/api/pagination.js.map +0 -1
- package/dist/esm/api/params.js.map +0 -1
- package/dist/esm/api/quoter/index.js.map +0 -1
- package/dist/esm/api/quoter/preset.js.map +0 -1
- package/dist/esm/api/quoter/quote/index.js.map +0 -1
- package/dist/esm/api/quoter/quote/order-params.js.map +0 -1
- package/dist/esm/api/quoter/quote/quote.js.map +0 -1
- package/dist/esm/api/quoter/quote/types.js.map +0 -1
- package/dist/esm/api/quoter/quoter-custom-preset.request.js.map +0 -1
- package/dist/esm/api/quoter/quoter.api.js.map +0 -1
- package/dist/esm/api/quoter/quoter.request.js.map +0 -1
- package/dist/esm/api/quoter/types.js.map +0 -1
- package/dist/esm/api/relayer/index.js.map +0 -1
- package/dist/esm/api/relayer/relayer.api.js.map +0 -1
- package/dist/esm/api/relayer/relayer.request.js.map +0 -1
- package/dist/esm/api/relayer/types.js.map +0 -1
- package/dist/esm/api/types.js.map +0 -1
- package/dist/esm/api-ext.js.map +0 -1
- package/dist/esm/connector/blockchain/blockchain-provider.connector.js.map +0 -1
- package/dist/esm/connector/blockchain/index.js.map +0 -1
- package/dist/esm/connector/blockchain/private-key-provider.connector.js.map +0 -1
- package/dist/esm/connector/blockchain/web3-provider-connector.js.map +0 -1
- package/dist/esm/connector/http/axios-provider.connector.js.map +0 -1
- package/dist/esm/connector/http/http-provider.connector.js.map +0 -1
- package/dist/esm/connector/http/index.js.map +0 -1
- package/dist/esm/connector/index.js.map +0 -1
- package/dist/esm/connector/ws/index.js.map +0 -1
- package/dist/esm/connector/ws/types.js.map +0 -1
- package/dist/esm/connector/ws/websocket-client.connector.js.map +0 -1
- package/dist/esm/connector/ws/websocket-provider.connector.js.map +0 -1
- package/dist/esm/constants.js.map +0 -1
- package/dist/esm/errors.js.map +0 -1
- package/dist/esm/fusion-order/auction-details/auction-details.js.map +0 -1
- package/dist/esm/fusion-order/auction-details/index.js.map +0 -1
- package/dist/esm/fusion-order/auction-details/types.js.map +0 -1
- package/dist/esm/fusion-order/constants.js.map +0 -1
- package/dist/esm/fusion-order/fees/fees.js.map +0 -1
- package/dist/esm/fusion-order/fees/index.js.map +0 -1
- package/dist/esm/fusion-order/fees/integrator-fee.js.map +0 -1
- package/dist/esm/fusion-order/fees/resolver-fee.js.map +0 -1
- package/dist/esm/fusion-order/fusion-extension.js.map +0 -1
- package/dist/esm/fusion-order/fusion-order.js.map +0 -1
- package/dist/esm/fusion-order/index.js.map +0 -1
- package/dist/esm/fusion-order/source-track.js.map +0 -1
- package/dist/esm/fusion-order/surplus-params.js.map +0 -1
- package/dist/esm/fusion-order/whitelist/index.js.map +0 -1
- package/dist/esm/fusion-order/whitelist/types.js.map +0 -1
- package/dist/esm/fusion-order/whitelist/whitelist.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/sdk/encoders/cancel-order.encoder.js.map +0 -1
- package/dist/esm/sdk/encoders/index.js.map +0 -1
- package/dist/esm/sdk/index.js.map +0 -1
- package/dist/esm/sdk/sdk.js.map +0 -1
- package/dist/esm/sdk/types.js.map +0 -1
- package/dist/esm/sdk/utils.js.map +0 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +0 -1
- package/dist/esm/utils/amounts.js.map +0 -1
- package/dist/esm/utils/time.js.map +0 -1
- package/dist/esm/utils/types.js.map +0 -1
- package/dist/esm/utils.js.map +0 -1
- package/dist/esm/validations.js.map +0 -1
- package/dist/esm/ws-api/active-websocket-orders-api.js.map +0 -1
- package/dist/esm/ws-api/constants.js.map +0 -1
- package/dist/esm/ws-api/index.js.map +0 -1
- package/dist/esm/ws-api/rpc-websocket-api.js.map +0 -1
- package/dist/esm/ws-api/types.js.map +0 -1
- package/dist/esm/ws-api/url.js.map +0 -1
- package/dist/esm/ws-api/ws-api.js.map +0 -1
|
@@ -1,85 +1,281 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
constructor(auctionCalculator, feeCalculator, surplus = fusion_order_1.SurplusParams.NO_FEE) {
|
|
10
|
-
this.auctionCalculator = auctionCalculator;
|
|
11
|
-
this.feeCalculator = feeCalculator;
|
|
12
|
-
this.surplus = surplus;
|
|
13
|
-
}
|
|
14
|
-
static fromExtension(ext) {
|
|
15
|
-
return new AmountCalculator(auction_calculator_1.AuctionCalculator.fromAuctionData(ext.auctionDetails), ext.extra?.fees
|
|
16
|
-
? new limit_order_sdk_1.FeeTakerExt.FeeCalculator(ext.extra?.fees, ext.whitelist)
|
|
17
|
-
: undefined, ext.surplus);
|
|
18
|
-
}
|
|
19
|
-
static calcAuctionTakingAmount(baseTakingAmount, rate, fee = limit_order_sdk_1.Bps.ZERO) {
|
|
20
|
-
const withoutFee = auction_calculator_1.AuctionCalculator.calcAuctionTakingAmount(baseTakingAmount, rate);
|
|
21
|
-
if (fee.isZero()) {
|
|
22
|
-
return withoutFee;
|
|
23
|
-
}
|
|
24
|
-
const numerator = fee_taker_1.Fees.BASE_1E5 + BigInt(fee.toFraction(fee_taker_1.Fees.BASE_1E5));
|
|
25
|
-
return (withoutFee * numerator) / fee_taker_1.Fees.BASE_1E5;
|
|
26
|
-
}
|
|
27
|
-
static extractFeeAmount(requiredTakingAmount, fee) {
|
|
28
|
-
return (requiredTakingAmount -
|
|
29
|
-
(0, limit_order_sdk_1.mulDiv)(requiredTakingAmount, fee_taker_1.Fees.BASE_1E5, fee_taker_1.Fees.BASE_1E5 + BigInt(fee.toFraction(fee_taker_1.Fees.BASE_1E5)), limit_order_sdk_1.Rounding.Ceil));
|
|
30
|
-
}
|
|
31
|
-
getRequiredTakingAmount(taker, takingAmount, time, blockBaseFee = 0n) {
|
|
32
|
-
const withFee = this.feeCalculator?.getTakingAmount(taker, takingAmount) ??
|
|
33
|
-
takingAmount;
|
|
34
|
-
return this.getAuctionBumpedAmount(withFee, time, blockBaseFee);
|
|
35
|
-
}
|
|
36
|
-
getRequiredMakingAmount(taker, makingAmount, time, blockBaseFee = 0n) {
|
|
37
|
-
const withFee = this.feeCalculator?.getMakingAmount(taker, makingAmount) ??
|
|
38
|
-
makingAmount;
|
|
39
|
-
const rateBump = this.auctionCalculator.calcRateBump(time, blockBaseFee);
|
|
40
|
-
return auction_calculator_1.AuctionCalculator.calcAuctionMakingAmount(withFee, rateBump);
|
|
41
|
-
}
|
|
42
|
-
getTotalFee(taker, takingAmount, time, blockBaseFee = 0n) {
|
|
43
|
-
return (this.getIntegratorFee(taker, takingAmount, time, blockBaseFee) +
|
|
44
|
-
this.getProtocolFee(taker, takingAmount, time, blockBaseFee));
|
|
45
|
-
}
|
|
46
|
-
getUserTakingAmount(taker, makingAmount, takingAmount, orderMakingAmount, time, blockBaseFee = 0n) {
|
|
47
|
-
const whole = this.getRequiredTakingAmount(taker, takingAmount, time, blockBaseFee);
|
|
48
|
-
const preSurplus = whole - this.getTotalFee(taker, takingAmount, time, blockBaseFee);
|
|
49
|
-
const surplusFee = this._getSurplusFee(preSurplus, makingAmount, orderMakingAmount);
|
|
50
|
-
return preSurplus - surplusFee;
|
|
51
|
-
}
|
|
52
|
-
getSurplusFee(taker, makingAmount, takingAmount, orderMakingAmount, time, blockBaseFee = 0n) {
|
|
53
|
-
const whole = this.getRequiredTakingAmount(taker, takingAmount, time, blockBaseFee);
|
|
54
|
-
const preSurplus = whole - this.getTotalFee(taker, takingAmount, time, blockBaseFee);
|
|
55
|
-
return this._getSurplusFee(preSurplus, makingAmount, orderMakingAmount);
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "AmountCalculator", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return AmountCalculator;
|
|
56
9
|
}
|
|
57
|
-
|
|
58
|
-
|
|
10
|
+
});
|
|
11
|
+
var _limitordersdk = require("@1inch/limit-order-sdk");
|
|
12
|
+
var _index = require("./auction-calculator/index.js");
|
|
13
|
+
var _index1 = require("../fusion-order/index.js");
|
|
14
|
+
var _index2 = require("../fusion-order/fees/index.js");
|
|
15
|
+
function _class_call_check(instance, Constructor) {
|
|
16
|
+
if (!(instance instanceof Constructor)) {
|
|
17
|
+
throw new TypeError("Cannot call a class as a function");
|
|
59
18
|
}
|
|
60
|
-
|
|
61
|
-
|
|
19
|
+
}
|
|
20
|
+
function _defineProperties(target, props) {
|
|
21
|
+
for(var i = 0; i < props.length; i++){
|
|
22
|
+
var descriptor = props[i];
|
|
23
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
24
|
+
descriptor.configurable = true;
|
|
25
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
26
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
62
27
|
}
|
|
63
|
-
|
|
64
|
-
|
|
28
|
+
}
|
|
29
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
30
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
31
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
32
|
+
return Constructor;
|
|
33
|
+
}
|
|
34
|
+
function _define_property(obj, key, value) {
|
|
35
|
+
if (key in obj) {
|
|
36
|
+
Object.defineProperty(obj, key, {
|
|
37
|
+
value: value,
|
|
38
|
+
enumerable: true,
|
|
39
|
+
configurable: true,
|
|
40
|
+
writable: true
|
|
41
|
+
});
|
|
42
|
+
} else {
|
|
43
|
+
obj[key] = value;
|
|
65
44
|
}
|
|
66
|
-
|
|
67
|
-
|
|
45
|
+
return obj;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Calculates fees/amount with accounting to auction
|
|
49
|
+
*
|
|
50
|
+
* @see FusionOrder
|
|
51
|
+
*/ var AmountCalculator = /*#__PURE__*/ function() {
|
|
52
|
+
"use strict";
|
|
53
|
+
function AmountCalculator(auctionCalculator, feeCalculator) {
|
|
54
|
+
var surplus = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : _index1.SurplusParams.NO_FEE;
|
|
55
|
+
_class_call_check(this, AmountCalculator);
|
|
56
|
+
_define_property(this, "auctionCalculator", void 0);
|
|
57
|
+
_define_property(this, "feeCalculator", void 0);
|
|
58
|
+
_define_property(this, "surplus", void 0);
|
|
59
|
+
this.auctionCalculator = auctionCalculator;
|
|
60
|
+
this.feeCalculator = feeCalculator;
|
|
61
|
+
this.surplus = surplus;
|
|
68
62
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
63
|
+
_create_class(AmountCalculator, [
|
|
64
|
+
{
|
|
65
|
+
key: "getRequiredTakingAmount",
|
|
66
|
+
value: /**
|
|
67
|
+
* Returns adjusted taking amount with included fees and auction bump
|
|
68
|
+
*
|
|
69
|
+
* @param taker address which fill order
|
|
70
|
+
* @param takingAmount base taking amount without auction and fee
|
|
71
|
+
* @param time block time at which order will be filled
|
|
72
|
+
* @param blockBaseFee base fee of block at which order will be filled
|
|
73
|
+
*/ function getRequiredTakingAmount(taker, takingAmount, time) {
|
|
74
|
+
var blockBaseFee = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 0n;
|
|
75
|
+
var _this_feeCalculator;
|
|
76
|
+
var _this_feeCalculator_getTakingAmount;
|
|
77
|
+
var withFee = (_this_feeCalculator_getTakingAmount = (_this_feeCalculator = this.feeCalculator) === null || _this_feeCalculator === void 0 ? void 0 : _this_feeCalculator.getTakingAmount(taker, takingAmount)) !== null && _this_feeCalculator_getTakingAmount !== void 0 ? _this_feeCalculator_getTakingAmount : takingAmount;
|
|
78
|
+
return this.getAuctionBumpedAmount(withFee, time, blockBaseFee);
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
key: "getRequiredMakingAmount",
|
|
83
|
+
value: /**
|
|
84
|
+
* Returns adjusted making amount with accounting of fees and auction bump
|
|
85
|
+
*
|
|
86
|
+
* @param taker address which fill order
|
|
87
|
+
* @param makingAmount base making amount without auction and fee
|
|
88
|
+
* @param time block time at which order will be filled
|
|
89
|
+
* @param blockBaseFee base fee of block at which order will be filled
|
|
90
|
+
*/ function getRequiredMakingAmount(taker, makingAmount, time) {
|
|
91
|
+
var blockBaseFee = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 0n;
|
|
92
|
+
var _this_feeCalculator;
|
|
93
|
+
var _this_feeCalculator_getMakingAmount;
|
|
94
|
+
var withFee = (_this_feeCalculator_getMakingAmount = (_this_feeCalculator = this.feeCalculator) === null || _this_feeCalculator === void 0 ? void 0 : _this_feeCalculator.getMakingAmount(taker, makingAmount)) !== null && _this_feeCalculator_getMakingAmount !== void 0 ? _this_feeCalculator_getMakingAmount : makingAmount;
|
|
95
|
+
var rateBump = this.auctionCalculator.calcRateBump(time, blockBaseFee);
|
|
96
|
+
return _index.AuctionCalculator.calcAuctionMakingAmount(withFee, rateBump);
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
key: "getTotalFee",
|
|
101
|
+
value: /**
|
|
102
|
+
* Returns total fee = integrator + protocol
|
|
103
|
+
*
|
|
104
|
+
* @param taker
|
|
105
|
+
* @param takingAmount base taking amount without auction and fee
|
|
106
|
+
* @param time block time at which order will be filled
|
|
107
|
+
* @param blockBaseFee base fee of block at which order will be filled
|
|
108
|
+
*/ function getTotalFee(taker, takingAmount, time) {
|
|
109
|
+
var blockBaseFee = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 0n;
|
|
110
|
+
return this.getIntegratorFee(taker, takingAmount, time, blockBaseFee) + this.getProtocolFee(taker, takingAmount, time, blockBaseFee);
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
key: "getUserTakingAmount",
|
|
115
|
+
value: /**
|
|
116
|
+
* Returns amount which will receive user
|
|
117
|
+
*
|
|
118
|
+
* @param taker
|
|
119
|
+
* @param makingAmount amount to be filled
|
|
120
|
+
* @param takingAmount base taking amount without auction and fee
|
|
121
|
+
* @param orderMakingAmount full order making amount
|
|
122
|
+
* @param time block time at which order will be filled
|
|
123
|
+
* @param blockBaseFee base fee of block at which order will be filled
|
|
124
|
+
*/ function getUserTakingAmount(taker, makingAmount, takingAmount, orderMakingAmount, time) {
|
|
125
|
+
var blockBaseFee = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : 0n;
|
|
126
|
+
var whole = this.getRequiredTakingAmount(taker, takingAmount, time, blockBaseFee);
|
|
127
|
+
var preSurplus = whole - this.getTotalFee(taker, takingAmount, time, blockBaseFee);
|
|
128
|
+
var surplusFee = this._getSurplusFee(preSurplus, makingAmount, orderMakingAmount);
|
|
129
|
+
return preSurplus - surplusFee;
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
key: "getSurplusFee",
|
|
134
|
+
value: /**
|
|
135
|
+
* Returns amount in taker asset which sent to protocol as part of surplus share
|
|
136
|
+
*
|
|
137
|
+
* @param taker
|
|
138
|
+
* @param makingAmount amount to be filled
|
|
139
|
+
* @param takingAmount base taking amount without auction and fee
|
|
140
|
+
* @param orderMakingAmount full order making amount
|
|
141
|
+
* @param time block time at which order will be filled
|
|
142
|
+
* @param blockBaseFee base fee of block at which order will be filled
|
|
143
|
+
*/ function getSurplusFee(taker, makingAmount, takingAmount, orderMakingAmount, time) {
|
|
144
|
+
var blockBaseFee = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : 0n;
|
|
145
|
+
var whole = this.getRequiredTakingAmount(taker, takingAmount, time, blockBaseFee);
|
|
146
|
+
var preSurplus = whole - this.getTotalFee(taker, takingAmount, time, blockBaseFee);
|
|
147
|
+
return this._getSurplusFee(preSurplus, makingAmount, orderMakingAmount);
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
key: "getResolverFee",
|
|
152
|
+
value: /**
|
|
153
|
+
* Fee in `takerAsset` which resolver pays to resolver fee receiver
|
|
154
|
+
*
|
|
155
|
+
* @param taker who will fill order
|
|
156
|
+
* @param takingAmount taking amount to calculate fee from, must be without fees/auction adjustments
|
|
157
|
+
* @param time block time at which order will be filled
|
|
158
|
+
* @param blockBaseFee base fee of block at which order will be filled
|
|
159
|
+
*/ function getResolverFee(taker, takingAmount, time) {
|
|
160
|
+
var blockBaseFee = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 0n;
|
|
161
|
+
var _this_feeCalculator;
|
|
162
|
+
var _this_feeCalculator_getResolverFee;
|
|
163
|
+
return (_this_feeCalculator_getResolverFee = (_this_feeCalculator = this.feeCalculator) === null || _this_feeCalculator === void 0 ? void 0 : _this_feeCalculator.getResolverFee(taker, this.getAuctionBumpedAmount(takingAmount, time, blockBaseFee))) !== null && _this_feeCalculator_getResolverFee !== void 0 ? _this_feeCalculator_getResolverFee : 0n;
|
|
164
|
+
}
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
key: "getIntegratorFee",
|
|
168
|
+
value: /**
|
|
169
|
+
* Fee in `takerAsset` which integrator gets to integrator wallet
|
|
170
|
+
*
|
|
171
|
+
* @param taker who will fill order
|
|
172
|
+
* @param takingAmount taking amount to calculate fee from, must be without fees/auction adjustments
|
|
173
|
+
* @param time block time at which order will be filled
|
|
174
|
+
* @param blockBaseFee base fee of block at which order will be filled
|
|
175
|
+
*/ function getIntegratorFee(taker, takingAmount, time) {
|
|
176
|
+
var blockBaseFee = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 0n;
|
|
177
|
+
var _this_feeCalculator;
|
|
178
|
+
var _this_feeCalculator_getIntegratorFee;
|
|
179
|
+
return (_this_feeCalculator_getIntegratorFee = (_this_feeCalculator = this.feeCalculator) === null || _this_feeCalculator === void 0 ? void 0 : _this_feeCalculator.getIntegratorFee(taker, this.getAuctionBumpedAmount(takingAmount, time, blockBaseFee))) !== null && _this_feeCalculator_getIntegratorFee !== void 0 ? _this_feeCalculator_getIntegratorFee : 0n;
|
|
180
|
+
}
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
key: "getProtocolShareOfIntegratorFee",
|
|
184
|
+
value: /**
|
|
185
|
+
* Fee in `takerAsset` which protocol gets as share from integrator fee
|
|
186
|
+
*
|
|
187
|
+
* @param taker who will fill order
|
|
188
|
+
* @param takingAmount taking amount to calculate fee from, must be without fees/auction adjustments
|
|
189
|
+
* @param time block time at which order will be filled
|
|
190
|
+
* @param blockBaseFee base fee of block at which order will be filled
|
|
191
|
+
*/ function getProtocolShareOfIntegratorFee(taker, takingAmount, time) {
|
|
192
|
+
var blockBaseFee = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 0n;
|
|
193
|
+
var _this_feeCalculator;
|
|
194
|
+
var _this_feeCalculator_getProtocolShareOfIntegratorFee;
|
|
195
|
+
return (_this_feeCalculator_getProtocolShareOfIntegratorFee = (_this_feeCalculator = this.feeCalculator) === null || _this_feeCalculator === void 0 ? void 0 : _this_feeCalculator.getProtocolShareOfIntegratorFee(taker, this.getAuctionBumpedAmount(takingAmount, time, blockBaseFee))) !== null && _this_feeCalculator_getProtocolShareOfIntegratorFee !== void 0 ? _this_feeCalculator_getProtocolShareOfIntegratorFee : 0n;
|
|
196
|
+
}
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
key: "getProtocolFee",
|
|
200
|
+
value: /**
|
|
201
|
+
* Fee in `takerAsset` which protocol gets
|
|
202
|
+
* It equals to `share from integrator fee plus resolver fee`
|
|
203
|
+
*
|
|
204
|
+
* @param taker who will fill order
|
|
205
|
+
* @param takingAmount taking amount to calculate fee from, must be without fees/auction adjustments
|
|
206
|
+
* @param time block time at which order will be filled
|
|
207
|
+
* @param blockBaseFee base fee of block at which order will be filled
|
|
208
|
+
*/ function getProtocolFee(taker, takingAmount, time) {
|
|
209
|
+
var blockBaseFee = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 0n;
|
|
210
|
+
var _this_feeCalculator;
|
|
211
|
+
var _this_feeCalculator_getProtocolFee;
|
|
212
|
+
return (_this_feeCalculator_getProtocolFee = (_this_feeCalculator = this.feeCalculator) === null || _this_feeCalculator === void 0 ? void 0 : _this_feeCalculator.getProtocolFee(taker, this.getAuctionBumpedAmount(takingAmount, time, blockBaseFee))) !== null && _this_feeCalculator_getProtocolFee !== void 0 ? _this_feeCalculator_getProtocolFee : 0n;
|
|
213
|
+
}
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
key: "_getSurplusFee",
|
|
217
|
+
value: /**
|
|
218
|
+
* Calculates surplus fee. It will be sent to the same address as `protocolFee`
|
|
219
|
+
*
|
|
220
|
+
* @param userTakingAmount how much user would receive without surplus
|
|
221
|
+
* @param makingAmount making amount to be filled
|
|
222
|
+
* @param orderMakingAmount full order making amount
|
|
223
|
+
*/ function _getSurplusFee(userTakingAmount, makingAmount, orderMakingAmount) {
|
|
224
|
+
var estimatedTakingAmount = (0, _limitordersdk.mulDiv)(this.surplus.estimatedTakerAmount, makingAmount, orderMakingAmount);
|
|
225
|
+
if (userTakingAmount > estimatedTakingAmount) {
|
|
226
|
+
var surplusFee = (userTakingAmount - estimatedTakingAmount) * BigInt(this.surplus.protocolFee.toPercent()) / 100n;
|
|
227
|
+
return surplusFee;
|
|
228
|
+
}
|
|
229
|
+
return 0n;
|
|
230
|
+
}
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
key: "getAuctionBumpedAmount",
|
|
234
|
+
value: function getAuctionBumpedAmount(takingAmount, time) {
|
|
235
|
+
var blockBaseFee = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0n;
|
|
236
|
+
var rateBump = this.auctionCalculator.calcRateBump(time, blockBaseFee);
|
|
237
|
+
return _index.AuctionCalculator.calcAuctionTakingAmount(takingAmount, rateBump);
|
|
238
|
+
}
|
|
76
239
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
|
|
240
|
+
], [
|
|
241
|
+
{
|
|
242
|
+
key: "fromExtension",
|
|
243
|
+
value: function fromExtension(ext) {
|
|
244
|
+
var _ext_extra, _ext_extra1;
|
|
245
|
+
return new AmountCalculator(_index.AuctionCalculator.fromAuctionData(ext.auctionDetails), ((_ext_extra = ext.extra) === null || _ext_extra === void 0 ? void 0 : _ext_extra.fees) ? new _limitordersdk.FeeTakerExt.FeeCalculator((_ext_extra1 = ext.extra) === null || _ext_extra1 === void 0 ? void 0 : _ext_extra1.fees, ext.whitelist) : undefined, ext.surplus);
|
|
246
|
+
}
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
key: "calcAuctionTakingAmount",
|
|
250
|
+
value: /**
|
|
251
|
+
* Returns amount with applied rate bump and fees
|
|
252
|
+
*
|
|
253
|
+
* @param baseTakingAmount base amount to apply bump to
|
|
254
|
+
* @param rate auction rate bump
|
|
255
|
+
* @param fee all fees applied to amount
|
|
256
|
+
*
|
|
257
|
+
* @see AuctionCalculator.calcInitialRateBump
|
|
258
|
+
*/ function calcAuctionTakingAmount(baseTakingAmount, rate) {
|
|
259
|
+
var fee = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : _limitordersdk.Bps.ZERO;
|
|
260
|
+
var withoutFee = _index.AuctionCalculator.calcAuctionTakingAmount(baseTakingAmount, rate);
|
|
261
|
+
if (fee.isZero()) {
|
|
262
|
+
return withoutFee;
|
|
263
|
+
}
|
|
264
|
+
var numerator = _index2.Fees.BASE_1E5 + BigInt(fee.toFraction(_index2.Fees.BASE_1E5));
|
|
265
|
+
return withoutFee * numerator / _index2.Fees.BASE_1E5;
|
|
266
|
+
}
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
key: "extractFeeAmount",
|
|
270
|
+
value: /**
|
|
271
|
+
* Return fee amount in taker asset which is included in `requiredTakingAmount`
|
|
272
|
+
*
|
|
273
|
+
* @param requiredTakingAmount must already contain fee
|
|
274
|
+
* @param fee to extract
|
|
275
|
+
*/ function extractFeeAmount(requiredTakingAmount, fee) {
|
|
276
|
+
return requiredTakingAmount - (0, _limitordersdk.mulDiv)(requiredTakingAmount, _index2.Fees.BASE_1E5, _index2.Fees.BASE_1E5 + BigInt(fee.toFraction(_index2.Fees.BASE_1E5)), _limitordersdk.Rounding.Ceil);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
]);
|
|
280
|
+
return AmountCalculator;
|
|
281
|
+
}();
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
var _limitordersdk = require("@1inch/limit-order-sdk");
|
|
6
|
+
var _amountcalculator = require("./amount-calculator.js");
|
|
7
|
+
var _index = require("./auction-calculator/index.js");
|
|
8
|
+
var _index1 = require("../fusion-order/index.js");
|
|
9
|
+
var _time = require("../utils/time.js");
|
|
10
|
+
var _index2 = require("../fusion-order/fees/index.js");
|
|
11
|
+
describe('AmountCalculator', function() {
|
|
12
|
+
it('should correct extract fee', function() {
|
|
13
|
+
var integratorFeeBps = new _limitordersdk.Bps(6n);
|
|
14
|
+
// 60% from 10bps
|
|
15
|
+
var calculator = new _amountcalculator.AmountCalculator(new _index.AuctionCalculator(1738650250n, 180n, 1218519n, [
|
|
16
|
+
{
|
|
17
|
+
coefficient: 609353,
|
|
18
|
+
delay: 180
|
|
19
|
+
}
|
|
20
|
+
], {
|
|
21
|
+
gasBumpEstimate: 609353n,
|
|
22
|
+
gasPriceEstimate: 1526n
|
|
23
|
+
}), new _limitordersdk.FeeTakerExt.FeeCalculator(_index2.Fees.integratorFee(new _index2.IntegratorFee(new _limitordersdk.Address('0x8e097e5e0493de033270a01b324caf31f464dc67'), new _limitordersdk.Address('0x90cbe4bdd538d6e9b379bff5fe72c3d67a521de5'), new _limitordersdk.Bps(10n), new _limitordersdk.Bps(6000n))), _index1.Whitelist.new(1738650226n, [
|
|
24
|
+
{
|
|
25
|
+
address: _limitordersdk.Address.fromBigInt(1n),
|
|
26
|
+
allowFrom: 0n
|
|
27
|
+
}
|
|
28
|
+
])));
|
|
29
|
+
var takingAmount = 100000n;
|
|
30
|
+
var requiredTakingAmount = calculator.getRequiredTakingAmount(_limitordersdk.Address.ZERO_ADDRESS, takingAmount, (0, _time.now)(), 10n);
|
|
31
|
+
var integratorFee = calculator.getIntegratorFee(_limitordersdk.Address.ZERO_ADDRESS, takingAmount, (0, _time.now)(), 10n);
|
|
32
|
+
expect(_amountcalculator.AmountCalculator.extractFeeAmount(requiredTakingAmount, integratorFeeBps)).toEqual(integratorFee);
|
|
33
|
+
});
|
|
34
|
+
it('should apply surplus', function() {
|
|
35
|
+
var startTime = 1738650250n;
|
|
36
|
+
var execTime = startTime + 180n;
|
|
37
|
+
// end of auction
|
|
38
|
+
var auction = new _index.AuctionCalculator(startTime, 180n, 1218519n, [
|
|
39
|
+
{
|
|
40
|
+
coefficient: 609353,
|
|
41
|
+
delay: 180
|
|
42
|
+
}
|
|
43
|
+
], {
|
|
44
|
+
gasBumpEstimate: 609353n,
|
|
45
|
+
gasPriceEstimate: 1526n
|
|
46
|
+
});
|
|
47
|
+
var taker = _limitordersdk.Address.fromBigInt(1n);
|
|
48
|
+
var feeCalculator = new _limitordersdk.FeeTakerExt.FeeCalculator(_index2.Fees.integratorFee(new _index2.IntegratorFee(new _limitordersdk.Address('0x8e097e5e0493de033270a01b324caf31f464dc67'), new _limitordersdk.Address('0x90cbe4bdd538d6e9b379bff5fe72c3d67a521de5'), new _limitordersdk.Bps(10n), new _limitordersdk.Bps(6000n))), _index1.Whitelist.new(1738650226n, [
|
|
49
|
+
{
|
|
50
|
+
address: taker,
|
|
51
|
+
allowFrom: 0n
|
|
52
|
+
}
|
|
53
|
+
]));
|
|
54
|
+
var calculatorNoSurplusFee = new _amountcalculator.AmountCalculator(auction, feeCalculator);
|
|
55
|
+
var takingAmount = 100000n;
|
|
56
|
+
var makingAmount = 1000n;
|
|
57
|
+
var surplus = takingAmount / 3n;
|
|
58
|
+
var estimatedTakingAmount = takingAmount - surplus;
|
|
59
|
+
var calculator = new _amountcalculator.AmountCalculator(auction, feeCalculator, new _index1.SurplusParams(estimatedTakingAmount, _limitordersdk.Bps.fromPercent(50)));
|
|
60
|
+
var userAmount = calculatorNoSurplusFee.getUserTakingAmount(taker, makingAmount, takingAmount, makingAmount, execTime);
|
|
61
|
+
var userAmountWithChargedSurplus = calculator.getUserTakingAmount(taker, makingAmount, takingAmount, makingAmount, execTime);
|
|
62
|
+
expect(userAmount).toBeGreaterThan(userAmountWithChargedSurplus);
|
|
63
|
+
expect(userAmount - userAmountWithChargedSurplus).toEqual(surplus / 2n);
|
|
64
|
+
});
|
|
65
|
+
}) // fee is 50%
|
|
66
|
+
;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
## AuctionCalculator
|
|
2
|
+
|
|
3
|
+
**Description:** used to calculate taker amount and auction rate
|
|
4
|
+
|
|
5
|
+
### Real world example
|
|
6
|
+
|
|
7
|
+
```typescript
|
|
8
|
+
import {
|
|
9
|
+
AuctionCalculator,
|
|
10
|
+
SettlementPostInteractionData,
|
|
11
|
+
AuctionDetails,
|
|
12
|
+
Address,
|
|
13
|
+
bpsToRatioFormat
|
|
14
|
+
} from '@1inch/fusion-sdk'
|
|
15
|
+
|
|
16
|
+
const startTime = 1673548149n
|
|
17
|
+
const settlementData = SettlementPostInteractionData.new({
|
|
18
|
+
bankFee: 0n,
|
|
19
|
+
auctionStartTime: startTime,
|
|
20
|
+
whitelist: [
|
|
21
|
+
{
|
|
22
|
+
address: new Address('0x111111111117dc0aa78b770fa6a738034120c302'),
|
|
23
|
+
delay: 0n
|
|
24
|
+
}
|
|
25
|
+
],
|
|
26
|
+
integratorFee: {
|
|
27
|
+
receiver: new Address('0x111111111117dc0aa78b770fa6a738034120c302'),
|
|
28
|
+
ratio: bpsToRatioFormat(10)
|
|
29
|
+
}
|
|
30
|
+
})
|
|
31
|
+
const details = new AuctionDetails({
|
|
32
|
+
duration: 180n, // in seconds,
|
|
33
|
+
startTime, // unix timestamp (in sec),
|
|
34
|
+
initialRateBump: 50000,
|
|
35
|
+
points: [
|
|
36
|
+
{
|
|
37
|
+
delay: 10, // relative to auction start time
|
|
38
|
+
coefficient: 40000
|
|
39
|
+
},
|
|
40
|
+
|
|
41
|
+
{
|
|
42
|
+
delay: 10, // relative to previous point
|
|
43
|
+
coefficient: 40000
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
})
|
|
47
|
+
const calculator = AuctionCalculator.fromAuctionData(settlementData, details) // #=> AuctionCalculator instance
|
|
48
|
+
|
|
49
|
+
const rate = calculator.calcRateBump(startTime + 11n)
|
|
50
|
+
// #=> 40000
|
|
51
|
+
|
|
52
|
+
const auctionTakingAmount = calculator.calcAuctionTakingAmount(
|
|
53
|
+
1420000000n,
|
|
54
|
+
rate
|
|
55
|
+
)
|
|
56
|
+
// #=> 1427105680
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
|