@1inch/fusion-sdk 0.1.14 → 1.0.1-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/LICENSE +7 -0
- package/README.md +2 -2
- package/{abi/AggregationRouterV5.abi.json → dist/abi/AggregationRouterV6.abi.json} +318 -773
- package/{api → dist/api}/fusion-api.js +1 -1
- package/{api → dist/api}/fusion-api.js.map +1 -1
- package/dist/api/index.js +21 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/orders/index.js +20 -0
- package/dist/api/orders/index.js.map +1 -0
- package/dist/api/orders/order-api.spec.d.ts +1 -0
- package/dist/api/orders/order-api.spec.js +412 -0
- package/dist/api/orders/order-api.spec.js.map +1 -0
- package/dist/api/orders/orders.api.js +42 -0
- package/dist/api/orders/orders.api.js.map +1 -0
- package/{api → dist/api}/orders/orders.request.js +1 -3
- package/dist/api/orders/orders.request.js.map +1 -0
- package/{api → dist/api}/orders/types.d.ts +13 -13
- package/{api → dist/api}/pagination.d.ts +1 -1
- package/dist/api/pagination.spec.d.ts +1 -0
- package/dist/api/pagination.spec.js +28 -0
- package/dist/api/pagination.spec.js.map +1 -0
- package/dist/api/quoter/index.js +23 -0
- package/dist/api/quoter/index.js.map +1 -0
- package/dist/api/quoter/preset.d.ts +23 -0
- package/dist/api/quoter/preset.js +42 -0
- package/dist/api/quoter/preset.js.map +1 -0
- package/dist/api/quoter/quote/index.js +20 -0
- package/{api → dist/api}/quoter/quote/index.js.map +1 -1
- package/{api → dist/api}/quoter/quote/order-params.d.ts +6 -4
- package/{api → dist/api}/quoter/quote/order-params.js +4 -3
- package/dist/api/quoter/quote/order-params.js.map +1 -0
- package/{api → dist/api}/quoter/quote/quote.d.ts +8 -10
- package/dist/api/quoter/quote/quote.js +90 -0
- package/dist/api/quoter/quote/quote.js.map +1 -0
- package/dist/api/quoter/quote/types.d.ts +13 -0
- package/{api → dist/api}/quoter/quoter-custom-preset.request.js +4 -5
- package/dist/api/quoter/quoter-custom-preset.request.js.map +1 -0
- package/dist/api/quoter/quoter-custom-preset.request.spec.d.ts +1 -0
- package/dist/api/quoter/quoter-custom-preset.request.spec.js +94 -0
- package/dist/api/quoter/quoter-custom-preset.request.spec.js.map +1 -0
- package/dist/api/quoter/quoter.api.js +34 -0
- package/dist/api/quoter/quoter.api.js.map +1 -0
- package/dist/api/quoter/quoter.api.spec.d.ts +1 -0
- package/dist/api/quoter/quoter.api.spec.js +162 -0
- package/dist/api/quoter/quoter.api.spec.js.map +1 -0
- package/{api → dist/api}/quoter/quoter.request.d.ts +4 -4
- package/dist/api/quoter/quoter.request.js +49 -0
- package/dist/api/quoter/quoter.request.js.map +1 -0
- package/dist/api/quoter/quoter.request.spec.d.ts +1 -0
- package/dist/api/quoter/quoter.request.spec.js +68 -0
- package/dist/api/quoter/quoter.request.spec.js.map +1 -0
- package/{api → dist/api}/quoter/types.d.ts +17 -10
- package/{api → dist/api}/quoter/types.js.map +1 -1
- package/dist/api/relayer/index.js +20 -0
- package/dist/api/relayer/index.js.map +1 -0
- package/{api → dist/api}/relayer/relayer.api.js.map +1 -1
- package/dist/api/relayer/relayer.api.spec.d.ts +1 -0
- package/dist/api/relayer/relayer.api.spec.js +78 -0
- package/dist/api/relayer/relayer.api.spec.js.map +1 -0
- package/{api → dist/api}/relayer/relayer.request.d.ts +2 -2
- package/dist/api/relayer/types.d.ts +12 -0
- package/{api → dist/api}/types.d.ts +3 -3
- package/dist/auction-calculator/auction-calculator.d.ts +13 -0
- package/dist/auction-calculator/auction-calculator.js +55 -0
- package/dist/auction-calculator/auction-calculator.js.map +1 -0
- package/dist/auction-calculator/auction-calculator.spec.d.ts +1 -0
- package/dist/auction-calculator/auction-calculator.spec.js +32 -0
- package/dist/auction-calculator/auction-calculator.spec.js.map +1 -0
- package/dist/auction-calculator/calc.d.ts +1 -0
- package/dist/auction-calculator/calc.js +14 -0
- package/dist/auction-calculator/calc.js.map +1 -0
- package/dist/auction-calculator/constants.d.ts +1 -0
- package/{auction-calculator → dist/auction-calculator}/constants.js +1 -1
- package/{auction-calculator → dist/auction-calculator}/constants.js.map +1 -1
- package/dist/auction-calculator/index.js +20 -0
- package/dist/auction-calculator/index.js.map +1 -0
- package/{connector → dist/connector}/blockchain/blockchain-provider.connector.d.ts +1 -1
- package/dist/connector/blockchain/index.js +20 -0
- package/{connector → dist/connector}/blockchain/index.js.map +1 -1
- package/{connector → dist/connector}/blockchain/private-key-provider.connector.d.ts +4 -4
- package/{connector → dist/connector}/blockchain/private-key-provider.connector.js +0 -2
- package/dist/connector/blockchain/private-key-provider.connector.js.map +1 -0
- package/dist/connector/blockchain/private-key-provider.connector.spec.d.ts +1 -0
- package/dist/connector/blockchain/private-key-provider.connector.spec.js +44 -0
- package/dist/connector/blockchain/private-key-provider.connector.spec.js.map +1 -0
- package/dist/connector/blockchain/web3-provider-connector.d.ts +19 -0
- package/dist/connector/blockchain/web3-provider-connector.js.map +1 -0
- package/dist/connector/blockchain/web3-provider.connector.spec.d.ts +1 -0
- package/dist/connector/blockchain/web3-provider.connector.spec.js +47 -0
- package/dist/connector/blockchain/web3-provider.connector.spec.js.map +1 -0
- package/dist/connector/http/axios-provider.connector.js +71 -0
- package/dist/connector/http/axios-provider.connector.js.map +1 -0
- package/dist/connector/http/axios-provider.connector.spec.d.ts +1 -0
- package/dist/connector/http/axios-provider.connector.spec.js +39 -0
- package/dist/connector/http/axios-provider.connector.spec.js.map +1 -0
- package/dist/connector/http/index.js +19 -0
- package/dist/connector/http/index.js.map +1 -0
- package/dist/connector/index.js +20 -0
- package/dist/connector/index.js.map +1 -0
- package/dist/connector/ws/index.js +20 -0
- package/dist/connector/ws/index.js.map +1 -0
- package/dist/connector/ws/types.d.ts +9 -0
- package/{connector → dist/connector}/ws/websocket-client.connector.js +4 -4
- package/dist/connector/ws/websocket-client.connector.js.map +1 -0
- package/dist/constants.d.ts +19 -0
- package/dist/constants.js +24 -0
- package/dist/constants.js.map +1 -0
- package/dist/fusion-order/auction-details/auction-details.d.ts +20 -0
- package/dist/fusion-order/auction-details/auction-details.js +70 -0
- package/dist/fusion-order/auction-details/auction-details.js.map +1 -0
- package/dist/fusion-order/auction-details/auction-details.spec.d.ts +1 -0
- package/dist/fusion-order/auction-details/auction-details.spec.js +24 -0
- package/dist/fusion-order/auction-details/auction-details.spec.js.map +1 -0
- package/dist/fusion-order/auction-details/index.d.ts +2 -0
- package/dist/fusion-order/auction-details/index.js +18 -0
- package/dist/fusion-order/auction-details/index.js.map +1 -0
- package/dist/fusion-order/auction-details/types.d.ts +8 -0
- package/dist/fusion-order/auction-details/types.js.map +1 -0
- package/dist/fusion-order/fusion-extension.d.ts +10 -0
- package/dist/fusion-order/fusion-extension.js +21 -0
- package/dist/fusion-order/fusion-extension.js.map +1 -0
- package/dist/fusion-order/fusion-order.d.ts +33 -0
- package/dist/fusion-order/fusion-order.js +114 -0
- package/dist/fusion-order/fusion-order.js.map +1 -0
- package/dist/fusion-order/fusion-order.spec.d.ts +1 -0
- package/dist/fusion-order/fusion-order.spec.js +82 -0
- package/dist/fusion-order/fusion-order.spec.js.map +1 -0
- package/dist/fusion-order/index.d.ts +3 -0
- package/dist/fusion-order/index.js +20 -0
- package/dist/fusion-order/index.js.map +1 -0
- package/dist/fusion-order/settlement-post-interaction-data/index.d.ts +2 -0
- package/dist/fusion-order/settlement-post-interaction-data/index.js +19 -0
- package/dist/fusion-order/settlement-post-interaction-data/index.js.map +1 -0
- package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.d.ts +16 -0
- package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.js +106 -0
- package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.js.map +1 -0
- package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.spec.d.ts +1 -0
- package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.spec.js +33 -0
- package/dist/fusion-order/settlement-post-interaction-data/settlement-post-interaction-data.spec.js.map +1 -0
- package/dist/fusion-order/settlement-post-interaction-data/types.d.ts +15 -0
- package/dist/fusion-order/settlement-post-interaction-data/types.js.map +1 -0
- package/{index.d.ts → dist/index.d.ts} +3 -4
- package/dist/index.js +31 -0
- package/dist/index.js.map +1 -0
- package/dist/limit-order-contract/index.d.ts +1 -0
- package/dist/limit-order-contract/index.js +6 -0
- package/dist/limit-order-contract/index.js.map +1 -0
- package/dist/sdk/encoders/cancel-order.encoder.d.ts +2 -0
- package/dist/sdk/encoders/cancel-order.encoder.js +20 -0
- package/dist/sdk/encoders/cancel-order.encoder.js.map +1 -0
- package/dist/sdk/encoders/index.js +18 -0
- package/dist/sdk/encoders/index.js.map +1 -0
- package/{sdk → dist/sdk}/index.d.ts +1 -0
- package/dist/sdk/index.js +21 -0
- package/dist/sdk/index.js.map +1 -0
- package/{sdk → dist/sdk}/sdk.d.ts +1 -2
- package/dist/sdk/sdk.js +133 -0
- package/dist/sdk/sdk.js.map +1 -0
- package/dist/sdk/sdk.spec.d.ts +1 -0
- package/dist/sdk/sdk.spec.js +82 -0
- package/dist/sdk/sdk.spec.js.map +1 -0
- package/{sdk → dist/sdk}/types.d.ts +12 -12
- package/dist/sdk/utils.d.ts +2 -0
- package/dist/sdk/utils.js +15 -0
- package/dist/sdk/utils.js.map +1 -0
- package/dist/utils/amounts.d.ts +2 -0
- package/dist/utils/amounts.js +13 -0
- package/dist/utils/amounts.js.map +1 -0
- package/dist/utils/bytes/bit-mask.d.ts +7 -0
- package/dist/utils/bytes/bit-mask.js +22 -0
- package/dist/utils/bytes/bit-mask.js.map +1 -0
- package/dist/utils/bytes/bit-mask.spec.d.ts +1 -0
- package/dist/utils/bytes/bit-mask.spec.js +16 -0
- package/dist/utils/bytes/bit-mask.spec.js.map +1 -0
- package/dist/utils/bytes/bn.d.ts +20 -0
- package/dist/utils/bytes/bn.js +68 -0
- package/dist/utils/bytes/bn.js.map +1 -0
- package/dist/utils/bytes/bn.spec.d.ts +1 -0
- package/dist/utils/bytes/bn.spec.js +19 -0
- package/dist/utils/bytes/bn.spec.js.map +1 -0
- package/dist/utils/bytes/bytes-iter.d.ts +12 -0
- package/dist/utils/bytes/bytes-iter.js +47 -0
- package/dist/utils/bytes/bytes-iter.js.map +1 -0
- package/{utils.d.ts → dist/utils.d.ts} +3 -3
- package/dist/utils.js +47 -0
- package/dist/utils.js.map +1 -0
- package/dist/validations.d.ts +4 -0
- package/dist/validations.js +28 -0
- package/dist/validations.js.map +1 -0
- package/{ws-api → dist/ws-api}/active-websocket-orders-api.js.map +1 -1
- package/dist/ws-api/index.js +19 -0
- package/dist/ws-api/index.js.map +1 -0
- package/{ws-api → dist/ws-api}/rpc-websocket-api.js.map +1 -1
- package/dist/ws-api/types.d.ts +61 -0
- package/{ws-api → dist/ws-api}/ws-api.js +2 -2
- package/dist/ws-api/ws-api.js.map +1 -0
- package/dist/ws-api/ws.spec.d.ts +1 -0
- package/dist/ws-api/ws.spec.js +687 -0
- package/dist/ws-api/ws.spec.js.map +1 -0
- package/package.json +44 -53
- package/api/index.js +0 -8
- package/api/index.js.map +0 -1
- package/api/orders/index.js +0 -7
- package/api/orders/index.js.map +0 -1
- package/api/orders/orders.api.js +0 -49
- package/api/orders/orders.api.js.map +0 -1
- package/api/orders/orders.request.js.map +0 -1
- package/api/quoter/index.js +0 -10
- package/api/quoter/index.js.map +0 -1
- package/api/quoter/preset.d.ts +0 -15
- package/api/quoter/preset.js +0 -31
- package/api/quoter/preset.js.map +0 -1
- package/api/quoter/quote/index.js +0 -7
- package/api/quoter/quote/order-params.js.map +0 -1
- package/api/quoter/quote/quote.js +0 -100
- package/api/quoter/quote/quote.js.map +0 -1
- package/api/quoter/quote/types.d.ts +0 -13
- package/api/quoter/quoter-custom-preset.request.js.map +0 -1
- package/api/quoter/quoter.api.js +0 -47
- package/api/quoter/quoter.api.js.map +0 -1
- package/api/quoter/quoter.request.js +0 -63
- package/api/quoter/quoter.request.js.map +0 -1
- package/api/relayer/index.js +0 -7
- package/api/relayer/index.js.map +0 -1
- package/api/relayer/types.d.ts +0 -12
- package/auction-calculator/auction-calculator.d.ts +0 -19
- package/auction-calculator/auction-calculator.js +0 -71
- package/auction-calculator/auction-calculator.js.map +0 -1
- package/auction-calculator/calc.d.ts +0 -10
- package/auction-calculator/calc.js +0 -22
- package/auction-calculator/calc.js.map +0 -1
- package/auction-calculator/constants.d.ts +0 -1
- package/auction-calculator/index.js +0 -7
- package/auction-calculator/index.js.map +0 -1
- package/auction-salt/auction-salt.d.ts +0 -11
- package/auction-salt/auction-salt.js +0 -40
- package/auction-salt/auction-salt.js.map +0 -1
- package/auction-salt/index.d.ts +0 -3
- package/auction-salt/index.js +0 -7
- package/auction-salt/index.js.map +0 -1
- package/auction-salt/parser/constants.d.ts +0 -10
- package/auction-salt/parser/constants.js +0 -14
- package/auction-salt/parser/constants.js.map +0 -1
- package/auction-salt/parser/index.d.ts +0 -2
- package/auction-salt/parser/index.js +0 -6
- package/auction-salt/parser/index.js.map +0 -1
- package/auction-salt/parser/parser.d.ts +0 -6
- package/auction-salt/parser/parser.js +0 -34
- package/auction-salt/parser/parser.js.map +0 -1
- package/auction-salt/rand.d.ts +0 -1
- package/auction-salt/rand.js +0 -25
- package/auction-salt/rand.js.map +0 -1
- package/auction-salt/types.d.ts +0 -7
- package/auction-salt/types.js.map +0 -1
- package/auction-suffix/auction-suffix.d.ts +0 -11
- package/auction-suffix/auction-suffix.js +0 -41
- package/auction-suffix/auction-suffix.js.map +0 -1
- package/auction-suffix/constants.d.ts +0 -1
- package/auction-suffix/constants.js +0 -5
- package/auction-suffix/constants.js.map +0 -1
- package/auction-suffix/encoder.d.ts +0 -6
- package/auction-suffix/encoder.js +0 -45
- package/auction-suffix/encoder.js.map +0 -1
- package/auction-suffix/index.d.ts +0 -5
- package/auction-suffix/index.js +0 -9
- package/auction-suffix/index.js.map +0 -1
- package/auction-suffix/parser/constants.d.ts +0 -13
- package/auction-suffix/parser/constants.js +0 -17
- package/auction-suffix/parser/constants.js.map +0 -1
- package/auction-suffix/parser/errors.d.ts +0 -2
- package/auction-suffix/parser/errors.js +0 -7
- package/auction-suffix/parser/errors.js.map +0 -1
- package/auction-suffix/parser/index.d.ts +0 -4
- package/auction-suffix/parser/index.js +0 -8
- package/auction-suffix/parser/index.js.map +0 -1
- package/auction-suffix/parser/parser.d.ts +0 -17
- package/auction-suffix/parser/parser.js +0 -170
- package/auction-suffix/parser/parser.js.map +0 -1
- package/auction-suffix/parser/types.d.ts +0 -29
- package/auction-suffix/parser/types.js.map +0 -1
- package/auction-suffix/types.d.ts +0 -18
- package/auction-suffix/types.js.map +0 -1
- package/connector/blockchain/index.js +0 -7
- package/connector/blockchain/private-key-provider.connector.js.map +0 -1
- package/connector/blockchain/web3-provider-connector.d.ts +0 -9
- package/connector/blockchain/web3-provider-connector.js.map +0 -1
- package/connector/http/axios-provider.connector.js +0 -55
- package/connector/http/axios-provider.connector.js.map +0 -1
- package/connector/http/index.js +0 -6
- package/connector/http/index.js.map +0 -1
- package/connector/index.js +0 -7
- package/connector/index.js.map +0 -1
- package/connector/ws/index.js +0 -7
- package/connector/ws/index.js.map +0 -1
- package/connector/ws/types.d.ts +0 -9
- package/connector/ws/websocket-client.connector.js.map +0 -1
- package/constants.d.ts +0 -19
- package/constants.js +0 -54
- package/constants.js.map +0 -1
- package/fusion-order/fusion-order.d.ts +0 -9
- package/fusion-order/fusion-order.js +0 -19
- package/fusion-order/fusion-order.js.map +0 -1
- package/fusion-order/index.d.ts +0 -1
- package/fusion-order/index.js +0 -5
- package/fusion-order/index.js.map +0 -1
- package/index.js +0 -17
- package/index.js.map +0 -1
- package/limit-order/eip712/domain.d.ts +0 -11
- package/limit-order/eip712/domain.js +0 -26
- package/limit-order/eip712/domain.js.map +0 -1
- package/limit-order/eip712/eip712.types.d.ts +0 -24
- package/limit-order/eip712/eip712.types.js +0 -3
- package/limit-order/eip712/eip712.types.js.map +0 -1
- package/limit-order/eip712/index.d.ts +0 -3
- package/limit-order/eip712/index.js +0 -7
- package/limit-order/eip712/index.js.map +0 -1
- package/limit-order/eip712/order-typed-data-builder.d.ts +0 -6
- package/limit-order/eip712/order-typed-data-builder.js +0 -36
- package/limit-order/eip712/order-typed-data-builder.js.map +0 -1
- package/limit-order/index.d.ts +0 -4
- package/limit-order/index.js +0 -8
- package/limit-order/index.js.map +0 -1
- package/limit-order/interactions-factory.d.ts +0 -3
- package/limit-order/interactions-factory.js +0 -15
- package/limit-order/interactions-factory.js.map +0 -1
- package/limit-order/limit-order.d.ts +0 -27
- package/limit-order/limit-order.js +0 -89
- package/limit-order/limit-order.js.map +0 -1
- package/limit-order/parser/constants.d.ts +0 -10
- package/limit-order/parser/constants.js +0 -14
- package/limit-order/parser/constants.js.map +0 -1
- package/limit-order/parser/index.d.ts +0 -3
- package/limit-order/parser/index.js +0 -7
- package/limit-order/parser/index.js.map +0 -1
- package/limit-order/parser/parser.d.ts +0 -2
- package/limit-order/parser/parser.js +0 -29
- package/limit-order/parser/parser.js.map +0 -1
- package/limit-order/parser/types.d.ts +0 -3
- package/limit-order/parser/types.js.map +0 -1
- package/limit-order/predicate-factory.d.ts +0 -25
- package/limit-order/predicate-factory.js +0 -60
- package/limit-order/predicate-factory.js.map +0 -1
- package/limit-order/types.d.ts +0 -36
- package/limit-order/types.js +0 -3
- package/limit-order/types.js.map +0 -1
- package/limit-order/utils.d.ts +0 -1
- package/limit-order/utils.js +0 -8
- package/limit-order/utils.js.map +0 -1
- package/nonce-manager/constants.d.ts +0 -1
- package/nonce-manager/constants.js +0 -5
- package/nonce-manager/constants.js.map +0 -1
- package/nonce-manager/nonce-manager.d.ts +0 -10
- package/nonce-manager/nonce-manager.js +0 -26
- package/nonce-manager/nonce-manager.js.map +0 -1
- package/nonce-manager/types.d.ts +0 -8
- package/nonce-manager/types.js +0 -8
- package/nonce-manager/types.js.map +0 -1
- package/nonce-manager/utils.d.ts +0 -2
- package/nonce-manager/utils.js +0 -16
- package/nonce-manager/utils.js.map +0 -1
- package/sdk/encoders/cancel-order.encoder.d.ts +0 -2
- package/sdk/encoders/cancel-order.encoder.js +0 -14
- package/sdk/encoders/cancel-order.encoder.js.map +0 -1
- package/sdk/encoders/index.js +0 -5
- package/sdk/encoders/index.js.map +0 -1
- package/sdk/index.js +0 -7
- package/sdk/index.js.map +0 -1
- package/sdk/sdk.js +0 -185
- package/sdk/sdk.js.map +0 -1
- package/sdk/types.js +0 -3
- package/sdk/utils.d.ts +0 -1
- package/sdk/utils.js +0 -13
- package/sdk/utils.js.map +0 -1
- package/settlement/encoders/constants.d.ts +0 -1
- package/settlement/encoders/constants.js +0 -5
- package/settlement/encoders/constants.js.map +0 -1
- package/settlement/encoders/fill-order.encoder.d.ts +0 -2
- package/settlement/encoders/fill-order.encoder.js +0 -17
- package/settlement/encoders/fill-order.encoder.js.map +0 -1
- package/settlement/encoders/index.d.ts +0 -3
- package/settlement/encoders/index.js +0 -7
- package/settlement/encoders/index.js.map +0 -1
- package/settlement/encoders/settlement.encoder.d.ts +0 -5
- package/settlement/encoders/settlement.encoder.js +0 -44
- package/settlement/encoders/settlement.encoder.js.map +0 -1
- package/settlement/index.d.ts +0 -4
- package/settlement/index.js +0 -8
- package/settlement/index.js.map +0 -1
- package/settlement/settlement.d.ts +0 -8
- package/settlement/settlement.js +0 -32
- package/settlement/settlement.js.map +0 -1
- package/settlement/signature-patcher.d.ts +0 -1
- package/settlement/signature-patcher.js +0 -29
- package/settlement/signature-patcher.js.map +0 -1
- package/settlement/types.d.ts +0 -16
- package/settlement/types.js +0 -3
- package/settlement/types.js.map +0 -1
- package/utils.js +0 -51
- package/utils.js.map +0 -1
- package/validations.d.ts +0 -2
- package/validations.js +0 -21
- package/validations.js.map +0 -1
- package/ws-api/index.js +0 -6
- package/ws-api/index.js.map +0 -1
- package/ws-api/types.d.ts +0 -61
- package/ws-api/types.js +0 -3
- package/ws-api/ws-api.js.map +0 -1
- package/{api → dist/api}/fusion-api.d.ts +0 -0
- package/{api → dist/api}/index.d.ts +0 -0
- package/{api → dist/api}/orders/index.d.ts +0 -0
- package/{api → dist/api}/orders/orders.api.d.ts +1 -1
- package/{api → dist/api}/orders/orders.request.d.ts +0 -0
- package/{api → dist/api}/orders/types.js +0 -0
- package/{api → dist/api}/orders/types.js.map +0 -0
- package/{api → dist/api}/pagination.js +0 -0
- package/{api → dist/api}/pagination.js.map +0 -0
- package/{api → dist/api}/params.d.ts +0 -0
- package/{api → dist/api}/params.js +0 -0
- package/{api → dist/api}/params.js.map +0 -0
- package/{api → dist/api}/quoter/index.d.ts +0 -0
- package/{api → dist/api}/quoter/quote/index.d.ts +0 -0
- package/{api → dist/api}/quoter/quote/types.js +0 -0
- package/{api → dist/api}/quoter/quote/types.js.map +0 -0
- package/{api → dist/api}/quoter/quoter-custom-preset.request.d.ts +0 -0
- package/{api → dist/api}/quoter/quoter.api.d.ts +1 -1
- package/{api → dist/api}/quoter/types.js +0 -0
- package/{api → dist/api}/relayer/index.d.ts +0 -0
- package/{api → dist/api}/relayer/relayer.api.d.ts +1 -1
- package/{api → dist/api}/relayer/relayer.api.js +0 -0
- package/{api → dist/api}/relayer/relayer.request.js +0 -0
- package/{api → dist/api}/relayer/relayer.request.js.map +0 -0
- package/{api → dist/api}/relayer/types.js +0 -0
- package/{api → dist/api}/relayer/types.js.map +0 -0
- package/{api → dist/api}/types.js +0 -0
- package/{api → dist/api}/types.js.map +0 -0
- package/{auction-calculator → dist/auction-calculator}/index.d.ts +0 -0
- package/{connector → dist/connector}/blockchain/blockchain-provider.connector.js +0 -0
- package/{connector → dist/connector}/blockchain/blockchain-provider.connector.js.map +0 -0
- package/{connector → dist/connector}/blockchain/index.d.ts +0 -0
- package/{connector → dist/connector}/blockchain/web3-provider-connector.js +0 -0
- package/{connector → dist/connector}/http/axios-provider.connector.d.ts +0 -0
- package/{connector → dist/connector}/http/http-provider.connector.d.ts +0 -0
- package/{connector → dist/connector}/http/http-provider.connector.js +0 -0
- package/{connector → dist/connector}/http/http-provider.connector.js.map +0 -0
- package/{connector → dist/connector}/http/index.d.ts +0 -0
- package/{connector → dist/connector}/index.d.ts +0 -0
- package/{connector → dist/connector}/ws/index.d.ts +0 -0
- package/{auction-salt → dist/connector/ws}/types.js +0 -0
- package/{connector → dist/connector}/ws/types.js.map +0 -0
- package/{connector → dist/connector}/ws/websocket-client.connector.d.ts +0 -0
- package/{connector → dist/connector}/ws/websocket-provider.connector.d.ts +0 -0
- package/{connector → dist/connector}/ws/websocket-provider.connector.js +0 -0
- package/{connector → dist/connector}/ws/websocket-provider.connector.js.map +0 -0
- package/{errors.d.ts → dist/errors.d.ts} +0 -0
- package/{errors.js → dist/errors.js} +0 -0
- package/{errors.js.map → dist/errors.js.map} +0 -0
- package/{auction-suffix/parser → dist/fusion-order/auction-details}/types.js +0 -0
- package/{auction-suffix → dist/fusion-order/settlement-post-interaction-data}/types.js +0 -0
- package/{sdk → dist/sdk}/encoders/index.d.ts +0 -0
- package/{connector/ws → dist/sdk}/types.js +0 -0
- package/{sdk → dist/sdk}/types.js.map +0 -0
- package/{ws-api → dist/ws-api}/active-websocket-orders-api.d.ts +1 -1
- package/{ws-api → dist/ws-api}/active-websocket-orders-api.js +0 -0
- package/{ws-api → dist/ws-api}/constants.d.ts +0 -0
- package/{ws-api → dist/ws-api}/constants.js +0 -0
- package/{ws-api → dist/ws-api}/constants.js.map +0 -0
- package/{ws-api → dist/ws-api}/index.d.ts +0 -0
- package/{ws-api → dist/ws-api}/rpc-websocket-api.d.ts +1 -1
- package/{ws-api → dist/ws-api}/rpc-websocket-api.js +0 -0
- package/{limit-order/parser → dist/ws-api}/types.js +0 -0
- package/{ws-api → dist/ws-api}/types.js.map +0 -0
- package/{ws-api → dist/ws-api}/url.d.ts +0 -0
- package/{ws-api → dist/ws-api}/url.js +0 -0
- package/{ws-api → dist/ws-api}/url.js.map +0 -0
- package/{ws-api → dist/ws-api}/ws-api.d.ts +1 -1
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const quoter_api_1 = require("./quoter.api");
|
|
4
|
+
const quoter_request_1 = require("./quoter.request");
|
|
5
|
+
const quote_1 = require("./quote");
|
|
6
|
+
const types_1 = require("./types");
|
|
7
|
+
const quoter_custom_preset_request_1 = require("./quoter-custom-preset.request");
|
|
8
|
+
describe('Quoter API', () => {
|
|
9
|
+
let httpProvider;
|
|
10
|
+
beforeEach(() => {
|
|
11
|
+
httpProvider = {
|
|
12
|
+
get: jest.fn().mockImplementationOnce(() => {
|
|
13
|
+
return Promise.resolve(ResponseMock);
|
|
14
|
+
}),
|
|
15
|
+
post: jest.fn().mockImplementation(() => {
|
|
16
|
+
return Promise.resolve(ResponseMock);
|
|
17
|
+
})
|
|
18
|
+
};
|
|
19
|
+
});
|
|
20
|
+
const params = quoter_request_1.QuoterRequest.new({
|
|
21
|
+
fromTokenAddress: '0x6b175474e89094c44da98b954eedeac495271d0f',
|
|
22
|
+
toTokenAddress: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
|
|
23
|
+
amount: '1000000000000000000000',
|
|
24
|
+
walletAddress: '0x00000000219ab540356cbb839cbe05303d7705fa'
|
|
25
|
+
});
|
|
26
|
+
const ResponseMock = {
|
|
27
|
+
fromTokenAmount: '1000000000000000000000',
|
|
28
|
+
recommended_preset: types_1.PresetEnum.medium,
|
|
29
|
+
feeToken: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
|
|
30
|
+
presets: {
|
|
31
|
+
fast: {
|
|
32
|
+
auctionDuration: 180,
|
|
33
|
+
startAuctionIn: 36,
|
|
34
|
+
bankFee: '0',
|
|
35
|
+
initialRateBump: 200461,
|
|
36
|
+
auctionStartAmount: '626771998563995046',
|
|
37
|
+
auctionEndAmount: '614454580595911348',
|
|
38
|
+
tokenFee: '9183588477842300',
|
|
39
|
+
points: [
|
|
40
|
+
{
|
|
41
|
+
delay: 24,
|
|
42
|
+
coefficient: 50461
|
|
43
|
+
}
|
|
44
|
+
],
|
|
45
|
+
allowPartialFills: true,
|
|
46
|
+
allowMultipleFills: true
|
|
47
|
+
},
|
|
48
|
+
medium: {
|
|
49
|
+
auctionDuration: 180,
|
|
50
|
+
startAuctionIn: 12,
|
|
51
|
+
bankFee: '0',
|
|
52
|
+
initialRateBump: 210661,
|
|
53
|
+
auctionStartAmount: '627398742236202876',
|
|
54
|
+
auctionEndAmount: '614454580595911348',
|
|
55
|
+
tokenFee: '9183588477842300',
|
|
56
|
+
points: [
|
|
57
|
+
{
|
|
58
|
+
delay: 24,
|
|
59
|
+
coefficient: 50461
|
|
60
|
+
}
|
|
61
|
+
],
|
|
62
|
+
allowPartialFills: true,
|
|
63
|
+
allowMultipleFills: true
|
|
64
|
+
},
|
|
65
|
+
slow: {
|
|
66
|
+
auctionDuration: 600,
|
|
67
|
+
startAuctionIn: 12,
|
|
68
|
+
bankFee: '0',
|
|
69
|
+
initialRateBump: 302466,
|
|
70
|
+
auctionStartAmount: '633039742513363640',
|
|
71
|
+
auctionEndAmount: '614454580595911348',
|
|
72
|
+
tokenFee: '9183588477842300',
|
|
73
|
+
points: [
|
|
74
|
+
{
|
|
75
|
+
delay: 24,
|
|
76
|
+
coefficient: 50461
|
|
77
|
+
}
|
|
78
|
+
],
|
|
79
|
+
allowPartialFills: true,
|
|
80
|
+
allowMultipleFills: true
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
toTokenAmount: '626772029219852913',
|
|
84
|
+
prices: {
|
|
85
|
+
usd: {
|
|
86
|
+
fromToken: '0.99326233048693179928',
|
|
87
|
+
toToken: '1618.25668999999970765202'
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
volume: {
|
|
91
|
+
usd: {
|
|
92
|
+
fromToken: '993.26233048693179928',
|
|
93
|
+
toToken: '1014.278029389902274042'
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
quoteId: null,
|
|
97
|
+
settlementAddress: '0xa88800cd213da5ae406ce248380802bd53b47647',
|
|
98
|
+
whitelist: [
|
|
99
|
+
'0x84d99aa569d93a9ca187d83734c8c4a519c4e9b1',
|
|
100
|
+
'0xcfa62f77920d6383be12c91c71bd403599e1116f'
|
|
101
|
+
],
|
|
102
|
+
bankFee: 0
|
|
103
|
+
};
|
|
104
|
+
const QuoterResponseMock = new quote_1.Quote(params, ResponseMock);
|
|
105
|
+
it('should get quote with disabled estimate', async () => {
|
|
106
|
+
const quoter = quoter_api_1.QuoterApi.new({
|
|
107
|
+
url: 'https://test.com/quoter',
|
|
108
|
+
network: 1
|
|
109
|
+
}, httpProvider);
|
|
110
|
+
const res = await quoter.getQuote(params);
|
|
111
|
+
expect(res).toStrictEqual(QuoterResponseMock);
|
|
112
|
+
expect(httpProvider.get).toHaveBeenCalledWith('https://test.com/quoter/v1.0/1/quote/receive/?fromTokenAddress=0x6b175474e89094c44da98b954eedeac495271d0f&toTokenAddress=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&amount=1000000000000000000000&walletAddress=0x00000000219ab540356cbb839cbe05303d7705fa&source=sdk');
|
|
113
|
+
});
|
|
114
|
+
it('should not throw error with fee and source added', async () => {
|
|
115
|
+
const quoter = quoter_api_1.QuoterApi.new({
|
|
116
|
+
url: 'https://test.com/quoter',
|
|
117
|
+
network: 1
|
|
118
|
+
}, httpProvider);
|
|
119
|
+
const params = quoter_request_1.QuoterRequest.new({
|
|
120
|
+
fromTokenAddress: '0x6b175474e89094c44da98b954eedeac495271d0f',
|
|
121
|
+
toTokenAddress: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
|
|
122
|
+
amount: '1000000000000000000000',
|
|
123
|
+
walletAddress: '0x00000000219ab540356cbb839cbe05303d7705fa',
|
|
124
|
+
fee: 1,
|
|
125
|
+
source: '0x6b175474e89094c44da98b954eedeac495271d0f'
|
|
126
|
+
});
|
|
127
|
+
const QuoterResponseMock = new quote_1.Quote(params, ResponseMock);
|
|
128
|
+
const res = await quoter.getQuote(params);
|
|
129
|
+
expect(res).toStrictEqual(QuoterResponseMock);
|
|
130
|
+
expect(httpProvider.get).toHaveBeenCalledWith('https://test.com/quoter/v1.0/1/quote/receive/?fromTokenAddress=0x6b175474e89094c44da98b954eedeac495271d0f&toTokenAddress=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&amount=1000000000000000000000&walletAddress=0x00000000219ab540356cbb839cbe05303d7705fa&fee=1&source=0x6b175474e89094c44da98b954eedeac495271d0f');
|
|
131
|
+
});
|
|
132
|
+
it('getQuoteWithCustomPreset', async () => {
|
|
133
|
+
const quoter = quoter_api_1.QuoterApi.new({
|
|
134
|
+
url: 'https://test.com/quoter',
|
|
135
|
+
network: 1
|
|
136
|
+
}, httpProvider);
|
|
137
|
+
const params = quoter_request_1.QuoterRequest.new({
|
|
138
|
+
fromTokenAddress: '0x6b175474e89094c44da98b954eedeac495271d0f',
|
|
139
|
+
toTokenAddress: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
|
|
140
|
+
amount: '1000000000000000000000',
|
|
141
|
+
walletAddress: '0x00000000219ab540356cbb839cbe05303d7705fa',
|
|
142
|
+
fee: 1,
|
|
143
|
+
source: '0x6b175474e89094c44da98b954eedeac495271d0f'
|
|
144
|
+
});
|
|
145
|
+
const body = quoter_custom_preset_request_1.QuoterCustomPresetRequest.new({
|
|
146
|
+
customPreset: {
|
|
147
|
+
auctionDuration: 180,
|
|
148
|
+
auctionStartAmount: '100000',
|
|
149
|
+
auctionEndAmount: '50000',
|
|
150
|
+
points: [
|
|
151
|
+
{ toTokenAmount: '90000', delay: 20 },
|
|
152
|
+
{ toTokenAmount: '70000', delay: 40 }
|
|
153
|
+
]
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
const QuoterResponseMock = new quote_1.Quote(params, ResponseMock);
|
|
157
|
+
const res = await quoter.getQuoteWithCustomPreset(params, body);
|
|
158
|
+
expect(res).toStrictEqual(QuoterResponseMock);
|
|
159
|
+
expect(httpProvider.post).toHaveBeenCalledWith('https://test.com/quoter/v1.0/1/quote/receive/?fromTokenAddress=0x6b175474e89094c44da98b954eedeac495271d0f&toTokenAddress=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&amount=1000000000000000000000&walletAddress=0x00000000219ab540356cbb839cbe05303d7705fa&fee=1&source=0x6b175474e89094c44da98b954eedeac495271d0f', body.build());
|
|
160
|
+
});
|
|
161
|
+
});
|
|
162
|
+
//# sourceMappingURL=quoter.api.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quoter.api.spec.js","sourceRoot":"","sources":["../../../src/api/quoter/quoter.api.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
+
import { Address } from '@1inch/limit-order-sdk';
|
|
1
2
|
import { QuoterRequestParams } from './types';
|
|
2
3
|
export declare class QuoterRequest {
|
|
3
|
-
readonly fromTokenAddress:
|
|
4
|
-
readonly toTokenAddress:
|
|
4
|
+
readonly fromTokenAddress: Address;
|
|
5
|
+
readonly toTokenAddress: Address;
|
|
5
6
|
readonly amount: string;
|
|
6
|
-
readonly walletAddress:
|
|
7
|
+
readonly walletAddress: Address;
|
|
7
8
|
readonly enableEstimate: boolean;
|
|
8
9
|
readonly permit: string | undefined;
|
|
9
10
|
readonly fee: number | undefined;
|
|
10
11
|
readonly source: string;
|
|
11
12
|
constructor(params: QuoterRequestParams);
|
|
12
13
|
static new(params: QuoterRequestParams): QuoterRequest;
|
|
13
|
-
validate(): string | null;
|
|
14
14
|
build(): QuoterRequestParams;
|
|
15
15
|
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.QuoterRequest = void 0;
|
|
4
|
+
const limit_order_sdk_1 = require("@1inch/limit-order-sdk");
|
|
5
|
+
const validations_1 = require("../../validations");
|
|
6
|
+
class QuoterRequest {
|
|
7
|
+
constructor(params) {
|
|
8
|
+
this.fromTokenAddress = new limit_order_sdk_1.Address(params.fromTokenAddress);
|
|
9
|
+
this.toTokenAddress = new limit_order_sdk_1.Address(params.toTokenAddress);
|
|
10
|
+
this.amount = params.amount;
|
|
11
|
+
this.walletAddress = new limit_order_sdk_1.Address(params.walletAddress);
|
|
12
|
+
this.enableEstimate = params.enableEstimate || false;
|
|
13
|
+
this.permit = params.permit;
|
|
14
|
+
this.fee = params.fee;
|
|
15
|
+
this.source = params.source || 'sdk';
|
|
16
|
+
if (this.fromTokenAddress.isNative()) {
|
|
17
|
+
throw new Error(`cannot swap ${limit_order_sdk_1.Address.NATIVE_CURRENCY}: wrap native currency to it's wrapper fist`);
|
|
18
|
+
}
|
|
19
|
+
if (this.fromTokenAddress.isZero() || this.toTokenAddress.isZero()) {
|
|
20
|
+
throw new Error(`replace ${limit_order_sdk_1.Address.ZERO_ADDRESS} with ${limit_order_sdk_1.Address.NATIVE_CURRENCY}`);
|
|
21
|
+
}
|
|
22
|
+
if (this.fromTokenAddress.equal(this.toTokenAddress)) {
|
|
23
|
+
throw new Error('fromTokenAddress and toTokenAddress should be different');
|
|
24
|
+
}
|
|
25
|
+
if (!(0, validations_1.isValidAmount)(this.amount)) {
|
|
26
|
+
throw new Error(`${this.amount} is invalid amount`);
|
|
27
|
+
}
|
|
28
|
+
if (this.fee && this.source === 'sdk') {
|
|
29
|
+
throw new Error('cannot use fee without source');
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
static new(params) {
|
|
33
|
+
return new QuoterRequest(params);
|
|
34
|
+
}
|
|
35
|
+
build() {
|
|
36
|
+
return {
|
|
37
|
+
fromTokenAddress: this.fromTokenAddress.toString(),
|
|
38
|
+
toTokenAddress: this.toTokenAddress.toString(),
|
|
39
|
+
amount: this.amount,
|
|
40
|
+
walletAddress: this.walletAddress.toString(),
|
|
41
|
+
enableEstimate: this.enableEstimate,
|
|
42
|
+
permit: this.permit,
|
|
43
|
+
fee: this.fee,
|
|
44
|
+
source: this.source
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.QuoterRequest = QuoterRequest;
|
|
49
|
+
//# sourceMappingURL=quoter.request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quoter.request.js","sourceRoot":"","sources":["../../../src/api/quoter/quoter.request.ts"],"names":[],"mappings":";;;AAAA,4DAA8C;AAE9C,mDAA+C;AAE/C,MAAa,aAAa;IAiBtB,YAAY,MAA2B;QACnC,IAAI,CAAC,gBAAgB,GAAG,IAAI,yBAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;QAC5D,IAAI,CAAC,cAAc,GAAG,IAAI,yBAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;QACxD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,yBAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QACtD,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,KAAK,CAAA;QACpD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAC3B,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,KAAK,CAAA;QAEpC,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE;YAClC,MAAM,IAAI,KAAK,CACX,eAAe,yBAAO,CAAC,eAAe,6CAA6C,CACtF,CAAA;SACJ;QAED,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE;YAChE,MAAM,IAAI,KAAK,CACX,WAAW,yBAAO,CAAC,YAAY,SAAS,yBAAO,CAAC,eAAe,EAAE,CACpE,CAAA;SACJ;QAED,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;YAClD,MAAM,IAAI,KAAK,CACX,yDAAyD,CAC5D,CAAA;SACJ;QAED,IAAI,CAAC,IAAA,2BAAa,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC7B,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,oBAAoB,CAAC,CAAA;SACtD;QAED,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;SACnD;IACL,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,MAA2B;QAClC,OAAO,IAAI,aAAa,CAAC,MAAM,CAAC,CAAA;IACpC,CAAC;IAED,KAAK;QACD,OAAO;YACH,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE;YAClD,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;YAC9C,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;YAC5C,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM,EAAE,IAAI,CAAC,MAAM;SACtB,CAAA;IACL,CAAC;CACJ;AAtED,sCAsEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const limit_order_sdk_1 = require("@1inch/limit-order-sdk");
|
|
4
|
+
const quoter_request_1 = require("./quoter.request");
|
|
5
|
+
describe(__filename, () => {
|
|
6
|
+
it('should return error if native currency', () => {
|
|
7
|
+
expect(() => quoter_request_1.QuoterRequest.new({
|
|
8
|
+
fromTokenAddress: limit_order_sdk_1.Address.NATIVE_CURRENCY.toString(),
|
|
9
|
+
toTokenAddress: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
|
|
10
|
+
amount: '1000000000000000000000',
|
|
11
|
+
walletAddress: '0x00000000219ab540356cbb839cbe05303d7705fa',
|
|
12
|
+
fee: 1
|
|
13
|
+
})).toThrow(/wrap native currency/);
|
|
14
|
+
});
|
|
15
|
+
it('returns error fromTokenAddress or toTokenAddress equals ZERO_ADDRESS', () => {
|
|
16
|
+
expect(() => quoter_request_1.QuoterRequest.new({
|
|
17
|
+
fromTokenAddress: limit_order_sdk_1.Address.ZERO_ADDRESS.toString(),
|
|
18
|
+
toTokenAddress: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
|
|
19
|
+
amount: '1000000000000000000000',
|
|
20
|
+
walletAddress: '0x00000000219ab540356cbb839cbe05303d7705fa',
|
|
21
|
+
fee: 1
|
|
22
|
+
})).toThrow(/replace/);
|
|
23
|
+
expect(() => quoter_request_1.QuoterRequest.new({
|
|
24
|
+
fromTokenAddress: '0x6b175474e89094c44da98b954eedeac495271d0f',
|
|
25
|
+
toTokenAddress: limit_order_sdk_1.Address.ZERO_ADDRESS.toString(),
|
|
26
|
+
amount: '1000000000000000000000',
|
|
27
|
+
walletAddress: '0x00000000219ab540356cbb839cbe05303d7705fa',
|
|
28
|
+
fee: 1
|
|
29
|
+
})).toThrow(/replace/);
|
|
30
|
+
});
|
|
31
|
+
it('returns error fromTokenAddress equals toTokenAddress', () => {
|
|
32
|
+
expect(() => quoter_request_1.QuoterRequest.new({
|
|
33
|
+
fromTokenAddress: '0x6b175474e89094c44da98b954eedeac495271d0f',
|
|
34
|
+
toTokenAddress: '0x6b175474e89094c44da98b954eedeac495271d0f',
|
|
35
|
+
amount: '1000000000000000000000',
|
|
36
|
+
walletAddress: '0x00000000219ab540356cbb839cbe05303d7705fa',
|
|
37
|
+
fee: 1
|
|
38
|
+
})).toThrow(/fromTokenAddress and toTokenAddress should be different/);
|
|
39
|
+
});
|
|
40
|
+
it('returns error if walletAddress invalid', () => {
|
|
41
|
+
expect(() => quoter_request_1.QuoterRequest.new({
|
|
42
|
+
fromTokenAddress: '0x6b175474e89094c44da98b954eedeac495271d0f',
|
|
43
|
+
toTokenAddress: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
|
|
44
|
+
amount: '1000000000000000000000',
|
|
45
|
+
walletAddress: '0x0000000019ab540356cbb839be05303d7705fa1',
|
|
46
|
+
fee: 1
|
|
47
|
+
})).toThrow(/Invalid address/);
|
|
48
|
+
});
|
|
49
|
+
it('returns error if amount is invalid', () => {
|
|
50
|
+
expect(() => quoter_request_1.QuoterRequest.new({
|
|
51
|
+
fromTokenAddress: '0x6b175474e89094c44da98b954eedeac495271d0f',
|
|
52
|
+
toTokenAddress: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
|
|
53
|
+
amount: 'dasdad',
|
|
54
|
+
walletAddress: '0x00000000219ab540356cbb839cbe05303d7705fa',
|
|
55
|
+
fee: 1
|
|
56
|
+
})).toThrow(/is invalid amount/);
|
|
57
|
+
});
|
|
58
|
+
it('returns error if fee is provided and source not', () => {
|
|
59
|
+
expect(() => quoter_request_1.QuoterRequest.new({
|
|
60
|
+
fromTokenAddress: '0x6b175474e89094c44da98b954eedeac495271d0f',
|
|
61
|
+
toTokenAddress: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
|
|
62
|
+
amount: '1000000',
|
|
63
|
+
walletAddress: '0x00000000219ab540356cbb839cbe05303d7705fa',
|
|
64
|
+
fee: 1
|
|
65
|
+
})).toThrow(/cannot use fee without source/);
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
//# sourceMappingURL=quoter.request.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quoter.request.spec.js","sourceRoot":"","sources":["../../../src/api/quoter/quoter.request.spec.ts"],"names":[],"mappings":";;AAAA,4DAA8C;AAC9C,qDAA8C;AAE9C,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACtB,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,GAAG,EAAE,CACR,8BAAa,CAAC,GAAG,CAAC;YACd,gBAAgB,EAAE,yBAAO,CAAC,eAAe,CAAC,QAAQ,EAAE;YACpD,cAAc,EAAE,4CAA4C;YAC5D,MAAM,EAAE,wBAAwB;YAChC,aAAa,EAAE,4CAA4C;YAC3D,GAAG,EAAE,CAAC;SACT,CAAC,CACL,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC5E,MAAM,CAAC,GAAG,EAAE,CACR,8BAAa,CAAC,GAAG,CAAC;YACd,gBAAgB,EAAE,yBAAO,CAAC,YAAY,CAAC,QAAQ,EAAE;YACjD,cAAc,EAAE,4CAA4C;YAC5D,MAAM,EAAE,wBAAwB;YAChC,aAAa,EAAE,4CAA4C;YAC3D,GAAG,EAAE,CAAC;SACT,CAAC,CACL,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACpB,MAAM,CAAC,GAAG,EAAE,CACR,8BAAa,CAAC,GAAG,CAAC;YACd,gBAAgB,EAAE,4CAA4C;YAC9D,cAAc,EAAE,yBAAO,CAAC,YAAY,CAAC,QAAQ,EAAE;YAC/C,MAAM,EAAE,wBAAwB;YAChC,aAAa,EAAE,4CAA4C;YAC3D,GAAG,EAAE,CAAC;SACT,CAAC,CACL,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACxB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC5D,MAAM,CAAC,GAAG,EAAE,CACR,8BAAa,CAAC,GAAG,CAAC;YACd,gBAAgB,EAAE,4CAA4C;YAC9D,cAAc,EAAE,4CAA4C;YAC5D,MAAM,EAAE,wBAAwB;YAChC,aAAa,EAAE,4CAA4C;YAC3D,GAAG,EAAE,CAAC;SACT,CAAC,CACL,CAAC,OAAO,CAAC,yDAAyD,CAAC,CAAA;IACxE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,GAAG,EAAE,CACR,8BAAa,CAAC,GAAG,CAAC;YACd,gBAAgB,EAAE,4CAA4C;YAC9D,cAAc,EAAE,4CAA4C;YAC5D,MAAM,EAAE,wBAAwB;YAChC,aAAa,EAAE,2CAA2C;YAC1D,GAAG,EAAE,CAAC;SACT,CAAC,CACL,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAChC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,GAAG,EAAE,CACR,8BAAa,CAAC,GAAG,CAAC;YACd,gBAAgB,EAAE,4CAA4C;YAC9D,cAAc,EAAE,4CAA4C;YAC5D,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,4CAA4C;YAC3D,GAAG,EAAE,CAAC;SACT,CAAC,CACL,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QACxD,MAAM,CAAC,GAAG,EAAE,CACR,8BAAa,CAAC,GAAG,CAAC;YACd,gBAAgB,EAAE,4CAA4C;YAC9D,cAAc,EAAE,4CAA4C;YAC5D,MAAM,EAAE,SAAS;YACjB,aAAa,EAAE,4CAA4C;YAC3D,GAAG,EAAE,CAAC;SACT,CAAC,CACL,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { NetworkEnum } from '../../constants';
|
|
2
|
-
export
|
|
2
|
+
export type QuoterRequestParams = {
|
|
3
3
|
fromTokenAddress: string;
|
|
4
4
|
toTokenAddress: string;
|
|
5
5
|
amount: string;
|
|
@@ -9,15 +9,15 @@ export declare type QuoterRequestParams = {
|
|
|
9
9
|
fee?: number;
|
|
10
10
|
source?: string;
|
|
11
11
|
};
|
|
12
|
-
export
|
|
12
|
+
export type QuoterCustomPresetRequestParams = {
|
|
13
13
|
customPreset: CustomPreset;
|
|
14
14
|
};
|
|
15
|
-
export
|
|
15
|
+
export type QuoterApiConfig = {
|
|
16
16
|
network: NetworkEnum;
|
|
17
17
|
url: string;
|
|
18
18
|
authKey?: string;
|
|
19
19
|
};
|
|
20
|
-
export
|
|
20
|
+
export type QuoterResponse = {
|
|
21
21
|
fromTokenAmount: string;
|
|
22
22
|
feeToken: string;
|
|
23
23
|
presets: QuoterPresets;
|
|
@@ -29,13 +29,13 @@ export declare type QuoterResponse = {
|
|
|
29
29
|
whitelist: string[];
|
|
30
30
|
quoteId: string | null;
|
|
31
31
|
};
|
|
32
|
-
export
|
|
32
|
+
export type QuoterPresets = {
|
|
33
33
|
fast: PresetData;
|
|
34
34
|
medium: PresetData;
|
|
35
35
|
slow: PresetData;
|
|
36
36
|
custom?: PresetData;
|
|
37
37
|
};
|
|
38
|
-
export
|
|
38
|
+
export type PresetData = {
|
|
39
39
|
auctionDuration: number;
|
|
40
40
|
startAuctionIn: number;
|
|
41
41
|
bankFee: string;
|
|
@@ -44,12 +44,19 @@ export declare type PresetData = {
|
|
|
44
44
|
auctionEndAmount: string;
|
|
45
45
|
tokenFee: string;
|
|
46
46
|
points: AuctionPoint[];
|
|
47
|
+
allowPartialFills: boolean;
|
|
48
|
+
allowMultipleFills: boolean;
|
|
49
|
+
gasCost?: {
|
|
50
|
+
gasBumpEstimate: string;
|
|
51
|
+
gasPriceEstimate: string;
|
|
52
|
+
};
|
|
53
|
+
exclusiveResolver?: string;
|
|
47
54
|
};
|
|
48
|
-
export
|
|
55
|
+
export type AuctionPoint = {
|
|
49
56
|
delay: number;
|
|
50
57
|
coefficient: number;
|
|
51
58
|
};
|
|
52
|
-
export
|
|
59
|
+
export type Cost = {
|
|
53
60
|
usd: {
|
|
54
61
|
fromToken: string;
|
|
55
62
|
toToken: string;
|
|
@@ -61,13 +68,13 @@ export declare enum PresetEnum {
|
|
|
61
68
|
slow = "slow",
|
|
62
69
|
custom = "custom"
|
|
63
70
|
}
|
|
64
|
-
export
|
|
71
|
+
export type CustomPreset = {
|
|
65
72
|
auctionDuration: number;
|
|
66
73
|
auctionStartAmount: string;
|
|
67
74
|
auctionEndAmount: string;
|
|
68
75
|
points?: CustomPresetPoint[];
|
|
69
76
|
};
|
|
70
|
-
export
|
|
77
|
+
export type CustomPresetPoint = {
|
|
71
78
|
toTokenAmount: string;
|
|
72
79
|
delay: number;
|
|
73
80
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/api/quoter/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/api/quoter/types.ts"],"names":[],"mappings":";;;AAyEA,IAAY,UAKX;AALD,WAAY,UAAU;IAClB,2BAAa,CAAA;IACb,+BAAiB,CAAA;IACjB,2BAAa,CAAA;IACb,+BAAiB,CAAA;AACrB,CAAC,EALW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAKrB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./relayer.request"), exports);
|
|
18
|
+
__exportStar(require("./relayer.api"), exports);
|
|
19
|
+
__exportStar(require("./types"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/relayer/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAiC;AACjC,gDAA6B;AAC7B,0CAAuB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relayer.api.js","sourceRoot":"","sources":["../../../src/api/relayer/relayer.api.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"relayer.api.js","sourceRoot":"","sources":["../../../src/api/relayer/relayer.api.ts"],"names":[],"mappings":";;;AAEA,+CAA6E;AAE7E,MAAa,UAAU;IACnB,YACqB,MAAwB,EACxB,UAAiC;QADjC,WAAM,GAAN,MAAM,CAAkB;QACxB,eAAU,GAAV,UAAU,CAAuB;IACnD,CAAC;IAEJ,MAAM,CAAC,GAAG,CACN,MAAwB,EACxB,aAAoC,IAAI,kCAAsB,CAC1D,MAAM,CAAC,OAAO,CACjB;QAED,OAAO,IAAI,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAC7C,CAAC;IAED,MAAM,CAAC,MAAsB;QACzB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,SAAS,IAAI,CAAC,MAAM,CAAC,OAAO,eAAe,CAAA;QAEzE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAC5C,CAAC;IAED,WAAW,CAAC,MAAwB;QAChC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,SAAS,IAAI,CAAC,MAAM,CAAC,OAAO,oBAAoB,CAAA;QAE9E,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAC5C,CAAC;CACJ;AA1BD,gCA0BC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const relayer_api_1 = require("./relayer.api");
|
|
4
|
+
const relayer_request_1 = require("./relayer.request");
|
|
5
|
+
describe('Relayer API', () => {
|
|
6
|
+
const httpProvider = {
|
|
7
|
+
get: jest.fn().mockImplementationOnce(() => {
|
|
8
|
+
return Promise.resolve();
|
|
9
|
+
}),
|
|
10
|
+
post: jest.fn().mockImplementation(() => {
|
|
11
|
+
return Promise.resolve();
|
|
12
|
+
})
|
|
13
|
+
};
|
|
14
|
+
it('should submit one order', async () => {
|
|
15
|
+
const quoter = relayer_api_1.RelayerApi.new({
|
|
16
|
+
url: 'https://test.com/relayer',
|
|
17
|
+
network: 1
|
|
18
|
+
}, httpProvider);
|
|
19
|
+
const orderData = {
|
|
20
|
+
order: {
|
|
21
|
+
maker: '0x00000000219ab540356cbb839cbe05303d7705fa',
|
|
22
|
+
makerAsset: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
|
|
23
|
+
makingAmount: '1000000000000000000',
|
|
24
|
+
receiver: '0x0000000000000000000000000000000000000000',
|
|
25
|
+
salt: '45118768841948961586167738353692277076075522015101619148498725069326976558864',
|
|
26
|
+
takerAsset: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
|
|
27
|
+
takingAmount: '1420000000',
|
|
28
|
+
makerTraits: '0'
|
|
29
|
+
},
|
|
30
|
+
signature: '0x123signature-here789',
|
|
31
|
+
quoteId: '9a43c86d-f3d7-45b9-8cb6-803d2bdfa08b'
|
|
32
|
+
};
|
|
33
|
+
const params = relayer_request_1.RelayerRequest.new(orderData);
|
|
34
|
+
await quoter.submit(params);
|
|
35
|
+
expect(httpProvider.post).toHaveBeenCalledWith('https://test.com/relayer/v1.0/1/order/submit', orderData);
|
|
36
|
+
});
|
|
37
|
+
it('should submit two orders order', async () => {
|
|
38
|
+
const quoter = relayer_api_1.RelayerApi.new({
|
|
39
|
+
url: 'https://test.com/relayer',
|
|
40
|
+
network: 1
|
|
41
|
+
}, httpProvider);
|
|
42
|
+
const orderData1 = {
|
|
43
|
+
order: {
|
|
44
|
+
maker: '0x00000000219ab540356cbb839cbe05303d7705fa',
|
|
45
|
+
makerAsset: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
|
|
46
|
+
makingAmount: '1000000000000000000',
|
|
47
|
+
receiver: '0x0000000000000000000000000000000000000000',
|
|
48
|
+
salt: '45118768841948961586167738353692277076075522015101619148498725069326976558864',
|
|
49
|
+
takerAsset: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
|
|
50
|
+
takingAmount: '1420000000',
|
|
51
|
+
makerTraits: '0'
|
|
52
|
+
},
|
|
53
|
+
signature: '0x123signature-here789',
|
|
54
|
+
quoteId: '9a43c86d-f3d7-45b9-8cb6-803d2bdfa08b'
|
|
55
|
+
};
|
|
56
|
+
const orderData2 = {
|
|
57
|
+
order: {
|
|
58
|
+
maker: '0x12345678219ab540356cbb839cbe05303d771111',
|
|
59
|
+
makerAsset: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
|
|
60
|
+
makingAmount: '1000000000000000000',
|
|
61
|
+
receiver: '0x0000000000000000000000000000000000000000',
|
|
62
|
+
salt: '45118768841948961586167738353692277076075522015101619148498725069326976558864',
|
|
63
|
+
takerAsset: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
|
|
64
|
+
takingAmount: '1420000000',
|
|
65
|
+
makerTraits: '0'
|
|
66
|
+
},
|
|
67
|
+
signature: '0x123signature-2-here789',
|
|
68
|
+
quoteId: '1a36c861-ffd7-45b9-1cb6-403d3bdfa084'
|
|
69
|
+
};
|
|
70
|
+
const params = [
|
|
71
|
+
relayer_request_1.RelayerRequest.new(orderData1),
|
|
72
|
+
relayer_request_1.RelayerRequest.new(orderData2)
|
|
73
|
+
];
|
|
74
|
+
await quoter.submitBatch(params);
|
|
75
|
+
expect(httpProvider.post).toHaveBeenCalledWith('https://test.com/relayer/v1.0/1/order/submit/many', params);
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
//# sourceMappingURL=relayer.api.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relayer.api.spec.js","sourceRoot":"","sources":["../../../src/api/relayer/relayer.api.spec.ts"],"names":[],"mappings":";;AAAA,+CAAwC;AACxC,uDAAgD;AAIhD,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IACzB,MAAM,YAAY,GAA0B;QACxC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,GAAG,EAAE;YACvC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;QAC5B,CAAC,CAAC;QACF,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE;YACpC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;QAC5B,CAAC,CAAC;KACL,CAAA;IAED,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,MAAM,GAAG,wBAAU,CAAC,GAAG,CACzB;YACI,GAAG,EAAE,0BAA0B;YAC/B,OAAO,EAAE,CAAC;SACb,EACD,YAAY,CACf,CAAA;QAED,MAAM,SAAS,GAAyB;YACpC,KAAK,EAAE;gBACH,KAAK,EAAE,4CAA4C;gBACnD,UAAU,EAAE,4CAA4C;gBACxD,YAAY,EAAE,qBAAqB;gBACnC,QAAQ,EAAE,4CAA4C;gBACtD,IAAI,EAAE,+EAA+E;gBACrF,UAAU,EAAE,4CAA4C;gBACxD,YAAY,EAAE,YAAY;gBAC1B,WAAW,EAAE,GAAG;aACnB;YACD,SAAS,EAAE,wBAAwB;YACnC,OAAO,EAAE,sCAAsC;SAClD,CAAA;QAED,MAAM,MAAM,GAAG,gCAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAE5C,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAE3B,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAC1C,8CAA8C,EAC9C,SAAS,CACZ,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,MAAM,GAAG,wBAAU,CAAC,GAAG,CACzB;YACI,GAAG,EAAE,0BAA0B;YAC/B,OAAO,EAAE,CAAC;SACb,EACD,YAAY,CACf,CAAA;QAED,MAAM,UAAU,GAAyB;YACrC,KAAK,EAAE;gBACH,KAAK,EAAE,4CAA4C;gBACnD,UAAU,EAAE,4CAA4C;gBACxD,YAAY,EAAE,qBAAqB;gBACnC,QAAQ,EAAE,4CAA4C;gBACtD,IAAI,EAAE,+EAA+E;gBACrF,UAAU,EAAE,4CAA4C;gBACxD,YAAY,EAAE,YAAY;gBAC1B,WAAW,EAAE,GAAG;aACnB;YACD,SAAS,EAAE,wBAAwB;YACnC,OAAO,EAAE,sCAAsC;SAClD,CAAA;QAED,MAAM,UAAU,GAAyB;YACrC,KAAK,EAAE;gBACH,KAAK,EAAE,4CAA4C;gBACnD,UAAU,EAAE,4CAA4C;gBACxD,YAAY,EAAE,qBAAqB;gBACnC,QAAQ,EAAE,4CAA4C;gBACtD,IAAI,EAAE,+EAA+E;gBACrF,UAAU,EAAE,4CAA4C;gBACxD,YAAY,EAAE,YAAY;gBAC1B,WAAW,EAAE,GAAG;aACnB;YACD,SAAS,EAAE,0BAA0B;YACrC,OAAO,EAAE,sCAAsC;SAClD,CAAA;QAED,MAAM,MAAM,GAAG;YACX,gCAAc,CAAC,GAAG,CAAC,UAAU,CAAC;YAC9B,gCAAc,CAAC,GAAG,CAAC,UAAU,CAAC;SACjC,CAAA;QAED,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QAEhC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAC1C,mDAAmD,EACnD,MAAM,CACT,CAAA;IACL,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { LimitOrderV4Struct } from '@1inch/limit-order-sdk';
|
|
1
2
|
import { RelayerRequestParams } from './types';
|
|
2
|
-
import { LimitOrderV3Struct } from '../../limit-order';
|
|
3
3
|
export declare class RelayerRequest {
|
|
4
|
-
readonly order:
|
|
4
|
+
readonly order: LimitOrderV4Struct;
|
|
5
5
|
readonly signature: string;
|
|
6
6
|
readonly quoteId: string;
|
|
7
7
|
constructor(params: RelayerRequestParams);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { LimitOrderV4Struct } from '@1inch/limit-order-sdk';
|
|
2
|
+
import { NetworkEnum } from '../../constants';
|
|
3
|
+
export type RelayerRequestParams = {
|
|
4
|
+
order: LimitOrderV4Struct;
|
|
5
|
+
signature: string;
|
|
6
|
+
quoteId: string;
|
|
7
|
+
};
|
|
8
|
+
export type RelayerApiConfig = {
|
|
9
|
+
network: NetworkEnum;
|
|
10
|
+
url: string;
|
|
11
|
+
authKey?: string;
|
|
12
|
+
};
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { NetworkEnum } from '../constants';
|
|
2
2
|
import { HttpProviderConnector } from '../connector';
|
|
3
|
-
export
|
|
3
|
+
export type FusionApiConfig = {
|
|
4
4
|
url: string;
|
|
5
5
|
network: NetworkEnum;
|
|
6
6
|
authKey?: string;
|
|
7
7
|
httpProvider?: HttpProviderConnector;
|
|
8
8
|
};
|
|
9
|
-
export
|
|
9
|
+
export type PaginationMeta = {
|
|
10
10
|
totalItems: number;
|
|
11
11
|
itemsPerPage: number;
|
|
12
12
|
totalPages: number;
|
|
13
13
|
currentPage: number;
|
|
14
14
|
};
|
|
15
|
-
export
|
|
15
|
+
export type PaginationOutput<T extends Record<string, any> = Record<string, any>> = {
|
|
16
16
|
meta: PaginationMeta;
|
|
17
17
|
items: T[];
|
|
18
18
|
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { SettlementPostInteractionData } from '../fusion-order/settlement-post-interaction-data';
|
|
2
|
+
import { AuctionDetails, AuctionPoint } from '../fusion-order/auction-details';
|
|
3
|
+
export declare class AuctionCalculator {
|
|
4
|
+
private readonly startTime;
|
|
5
|
+
private readonly duration;
|
|
6
|
+
private readonly initialRateBump;
|
|
7
|
+
private readonly points;
|
|
8
|
+
private readonly takerFeeRatio;
|
|
9
|
+
constructor(startTime: bigint, duration: bigint, initialRateBump: bigint, points: AuctionPoint[], takerFeeRatio: bigint);
|
|
10
|
+
static fromAuctionData(data: SettlementPostInteractionData, details: AuctionDetails): AuctionCalculator;
|
|
11
|
+
calcAuctionTakingAmount(takingAmount: string, rate: number): string;
|
|
12
|
+
calcRateBump(time: number): number;
|
|
13
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AuctionCalculator = void 0;
|
|
4
|
+
const calc_1 = require("./calc");
|
|
5
|
+
const constants_1 = require("./constants");
|
|
6
|
+
const sdk_1 = require("../sdk");
|
|
7
|
+
class AuctionCalculator {
|
|
8
|
+
constructor(startTime, duration, initialRateBump, points, takerFeeRatio) {
|
|
9
|
+
this.startTime = startTime;
|
|
10
|
+
this.duration = duration;
|
|
11
|
+
this.initialRateBump = initialRateBump;
|
|
12
|
+
this.points = points;
|
|
13
|
+
this.takerFeeRatio = takerFeeRatio;
|
|
14
|
+
}
|
|
15
|
+
static fromAuctionData(data, details) {
|
|
16
|
+
return new AuctionCalculator(data.auctionStartTime, details.duration, details.initialRateBump, details.points, data.integratorFee?.ratio || 0n);
|
|
17
|
+
}
|
|
18
|
+
calcAuctionTakingAmount(takingAmount, rate) {
|
|
19
|
+
const auctionTakingAmount = (BigInt(takingAmount) * (BigInt(rate) + constants_1.RATE_BUMP_DENOMINATOR)) /
|
|
20
|
+
constants_1.RATE_BUMP_DENOMINATOR;
|
|
21
|
+
if (this.takerFeeRatio === 0n) {
|
|
22
|
+
return auctionTakingAmount.toString();
|
|
23
|
+
}
|
|
24
|
+
return (0, sdk_1.addRatioToAmount)(auctionTakingAmount, this.takerFeeRatio).toString();
|
|
25
|
+
}
|
|
26
|
+
calcRateBump(time) {
|
|
27
|
+
let cumulativeTime = BigInt(this.startTime);
|
|
28
|
+
const lastTime = BigInt(this.duration) + cumulativeTime;
|
|
29
|
+
const startBump = BigInt(this.initialRateBump);
|
|
30
|
+
const currentTime = BigInt(time);
|
|
31
|
+
if (currentTime <= cumulativeTime) {
|
|
32
|
+
return Number(this.initialRateBump);
|
|
33
|
+
}
|
|
34
|
+
else if (currentTime >= lastTime) {
|
|
35
|
+
return 0;
|
|
36
|
+
}
|
|
37
|
+
let prevCoefficient = startBump;
|
|
38
|
+
let prevCumulativeTime = cumulativeTime;
|
|
39
|
+
for (let i = this.points.length - 1; i >= 0; i--) {
|
|
40
|
+
const { coefficient, delay } = this.points[i];
|
|
41
|
+
cumulativeTime = cumulativeTime + BigInt(delay);
|
|
42
|
+
const coefficientBN = BigInt(coefficient);
|
|
43
|
+
if (cumulativeTime >= currentTime) {
|
|
44
|
+
const rate = (0, calc_1.linearInterpolation)(prevCumulativeTime, cumulativeTime, prevCoefficient, coefficientBN, currentTime);
|
|
45
|
+
return Number(rate);
|
|
46
|
+
}
|
|
47
|
+
prevCumulativeTime = cumulativeTime;
|
|
48
|
+
prevCoefficient = coefficientBN;
|
|
49
|
+
}
|
|
50
|
+
const rate = (0, calc_1.linearInterpolation)(prevCumulativeTime, lastTime, prevCoefficient, 0n, currentTime);
|
|
51
|
+
return Number(rate);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.AuctionCalculator = AuctionCalculator;
|
|
55
|
+
//# sourceMappingURL=auction-calculator.js.map
|